52
Subject Handler, Ms.K.Esther Rani ,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Embed Size (px)

Citation preview

Page 1: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Subject Handler, Ms.K.Esther

Rani ,AP Department of IT

CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Page 2: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

OBJECTIVES

To learn basic OO analysis and design skills through an elaborate case study.

To use the UML design diagramsTo apply the appropriate design patterns

Page 3: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYLLABUS

Page 4: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYLLABUS

Page 5: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

LESSON PLAN

UnitLecture

No. Topics Book & page no. used for teaching

Topic No.

UNIT I

1 Introduction to OOAD T1 & 1.1 1.02 Unified process T1 & 1.6-1.9 1.33 UML diagrams

T1 & 1.4 – 1.61.2

4 Use case T2 & 61 - 69 65 Class diagrams T1 & 3.36-3.61 3.5

6 Interaction diagrams T1 & 3.62-3.94 3.6

7 State diagrams T1 & 5.1-5.7 5.1

8 Activity diagrams T1 & 2.48-2.55 2.10

9Package, component and deployment diagrams

T1 &5.14-5.19 5.3

Page 6: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

LESSON PLAN

UNIT II

10 GRASP: designing objects with responsibilities T1 & 4.1-4.7 4.1

11 Creator & information expert T1 & 4.8-4.12 4.2&4.3

12 Low coupling & Controller T1 & 4.13-4.25 4.4 & 4.5

13 High cohesion T1 & 4.26-4.29 4.6

14 Design patterns -creational T2 & 403 - 406 23

15 Factory method T2 & 440 - 442 26

16 Structural NET17 Bridge -adapter T2 & 436-438 26

18 Behavioral NET19 Strategy - observer T2 & 447 - 470 26

Unit Lecture No. Topics Book & page no. used

for teachingTopic No.

Page 7: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

LESSON PLAN

UnitLecture

No. Topics Book & page no. used for teaching

Topic No.

UNIT III 20 Case study – the Next Gen POS system

T1 & 1.9-1.101.4

21 Inception T1 & 1.10-1.12 1.5

22 Use case Modeling T1 & 1.16-1.32 1.7

23 Relating Use cases – include, extend and generalization T1 & 1.33-1.36

1.8

24

Elaboration T1 & 2.1-2.2 2.1

Domain Models T1 & 2.2-2.5 2.2

25 Finding conceptual classes and description classes T1 & 2.5-2.12

2.3&2.4

26 Associations & Attributes T1 & 2.13 -26 2.5&2.6

27 Domain model refinement T1 & 2.28-2.29 2.8

28 Finding conceptual class Hierarchies T1 & 2.30-2.37 2.9

Page 8: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

LESSON PLANUnit Lecture No. Topics

Book & page no. used for teaching

Topic No.

UNIT IV

29System sequence diagrams T1 & 3.1-3.4 3.1

30

Relationship between sequence diagrams and use cases

T1 & 3.5-3.7 3.2

31,32

Logical architecture and UML package diagram T1 & 3.8-3.20

3.3

33,34

Logical architecture refinement T1 & 3.21-3.36 3.4

35,36UML class diagrams T1 & 3.36-3.61 3.5

37,38UML interaction diagrams T1 & 3.62-3.94 3.6

39,40Applying GoF design patterns T1 & 4.34-4.48 4.8

Page 9: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

LESSON PLAN

Unit Lecture No. TopicsBook & page no. used for teaching

Topic No.

UNIT V

41,42 Mapping design to code T1 &5.20-5.41 5.4

43 Testing: Issues in OO Testing T2 & 385 - 389 26

44,45 Class Testing NET

46,47 OO Integration Testing NET

48 GUI Testing NET

49,50 OO System Testing NET

Page 10: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYNOPSIS

Highlights of the UNIT - 1 :

UP PHASESACTIVITY DIAGRAMUML STATE DIAGRAMS UML DEPLOYMENT AND COMPONENT DIAGRAMS

Page 11: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYNOPSIS

Highlights of the UNIT - 2 :

GRASP: PATTERNSGOF DESIGN PATTERNS

Page 12: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYNOPSIS

Highlights of the UNIT - 3 :

NEXTGEN PoS SYSTEMUSE CASE DIAGRAMCONCEPTUAL CLASSASSOCIATION & AGGREGATION

Page 13: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYNOPSIS

Highlights of the UNIT - 4 :

LOGICAL ARCHITECTUREUML CLASS DIAGRAMS UML INTERACTION DIAGRAMS

Page 14: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SYNOPSIS

Highlights of the UNIT - 5 :

TESTING OO CODECLASS TESTING PROCESSTESTING TOOLSTESTING LIFE CYCLE

Page 15: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT I

UP PHASES The unified process phases are • Inception• Elaboration• Construction• Transition

Page 16: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

ACTIVITY DIAGRAM It shows the flow of events with our system & what is going on inside a use case or among several classes . It can be used to model an entire business process.

Start state Start state shows the beginning of a workflow on an activity diagram . A start state is represented by a solid circle.

End state An end state represents a final or terminal state on an activity diagram. A end state is represented by a bull’s eye.

State transition A state transition shows what activity follows after another . It is represented by a solid line with an arrow.

Page 17: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Cont..Activity

It represents the performance of a task within the workflow . Activity is represented by a round box (horizontal top and bottom with convex sides)

Decision

A decision is a point in an activity diagram where guard conditions(UML calls) are used to indicate different possible transitions. It is represented by a diamond symbol.

Synchronization bar

A synchronization bar allows to show concurrent threads in a work flow of a use case . It is represented by a thick horizontal or vertical line.

Page 18: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM (ISSUE BOOK )

Page 19: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

STATE CHART DIAGRAM

It describes the behaviour of system.

Basic elements with notations:Initial state ( Solid circle)State ( Rounded rectangle)Transition ( Arrow labeled with event/action)Final state ( Bull’s eye )

Page 20: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM ( BOOK)

Page 21: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

COMPONENT DIAGRAM

It describes the organization of physical components and shows the physical aspect of the object oriented software system.

Basic symbols with notations:

Component ( Rectangle with two tabs at left side)Interface ( )Dependency (Dashed arrow )

Page 22: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR BOOK BANK SYSTEM

Page 23: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

DEPLOYMENT DIAGRAM It describes run time configuration of processing nodes among components of the system.

Basic elements with notations:Node ( Cube )Connection (Solid line / Dashed arrow) TWO types of node:1.Device node – Example: Computer , Mobile Phone2.Execution Environment Node – Example: OS , DB engine,

Web browser and technologies.

Page 24: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT II GRASP PATTERNS

GRASP-General Responsibility Assignment Software Pattern

Creator - Creating objects for OO systemInformation expert – Delegating responsibilities on classesLow coupling – Making low dependency between classesController- Responsible for receiving and handling a system

messageHigh cohesion – Used to keep objects focused , manageable &

understandable .

Page 25: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

GOF DESIGN PATTERN

It is a foundation of all other patterns.

1.Adaptor – convert programming interface of one class to other2.Singleton – Single instance is created for one class3.Factory – Implement the concept of factory4.Observer – Software design pattern to denote the dependents.

Page 26: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

NEXTGEN POS SYSTEM

It is a computerized application to record sales and handle payments

It is used in retail storeIt includes hardware components such as computer, bar

code scanner and the software to run the system.It supports multiple client side terminals

UNIT III

Page 27: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

USE CASE DIAGRAM It shows a set of use cases and actors and their relationships .

The functionality of system is described in a no of different use cases each of which represents a specific flow of events in the system.

Actor It is the user (or) someone / something outside the system

that interacts with the system (it must be a noun) & it is represented by a stickman.

Use case It represents a sequence of actions (it must be a verb) & it is

represented by an oval (ellipse) Eg: Borrow book is the one of the functionalities in Library system.

Borrow Book

Page 28: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Cont..Relationships 1.communication –solid path connection between actor &usecase.

Unidirectional & Bi-directional 2.uses-relationship between usecases is shown by generalization arrow from usecase. 3.extends-it is used when one usecase is similar to other usecase.

Types of usecase Actor’s name and use case names should follow the capitalization.

Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no initiation actors but

is used by a concrete use case, which does interact with actors.

Page 29: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM

Page 30: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

CONCEPTUAL CLASSIt is an object , thing or idea to understand the real world

situation

THREE strategies to find conceptual class1. Reuse or modify existing models2. Use a category list3. Identify noun phrases

Page 31: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

ASSOCIATION AND AGGREGATIONASSOCIATION

It is a relationship between two or more classes to indicate connections between them.

Examples: 1 has 1

1 belongs to 1

Customer Account

Student Class

Page 32: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Cont..AGGREGATION

It is a special type of association used to model a whole part relationship

Example:

Engine Radio

Car

Carburetor

Page 33: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

UNIT IVLOGICAL ARCHITECTURE

It is the organization of software classes into packages, systems and Layers.

THREE layers:1.UI2.Domain Objects3.Technical services

Page 34: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

CLASS DIAGRAMClass is a set of objects that share the same attributes, operations

& relationships. It is represented by a compartmented rectangle. It shows the structure of software. It has 3 compartmentsTop shows class nameMiddle shows class attributesBottom shows class operation(behavior)

Attributes It defines the characteristics or structure of a class. It is

displayed in the middle of the compartmentalized rectangle.Operation

It shows the service provided by the class . It is displayed in the bottom of the compartmentalized rectangle.

Page 35: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE CLASS DIAGRAM FOR ATM

Client

PinNoAmount W/dCurrencyFormatCurrentBalance

InsertCard()SpecifyPin()SpecifyAmt()RetrieveCash()RemoveCard()

ATM m/c

PinNoPinStatusAmountDispensedCurrentBalance

ValidatePin()SetPinStatus()GetCurrencyFormat()GetAmountDispensed()GetCurrentBalance()PrintTransactionDetails()

**

Page 36: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

INTERACTION DIAGRAMSEQUENCE DIAGRAM

Dimensions1.Vertical dimension represents time2.Horizontal dimension represents different objects. Life line -Vertical line is called the object’s life line. It represents the

object’s existence during the interaction.Objects -Objects are shown as a box at the top of dashed vertical line.

The object role is shown as a vertical dashed line, the life line.Message - Each message is labeled with the message name.Each

message is represented by an arrow between the life lines of 2 objects.

Focus of control - A focus of control shows the period of time during which an object is performing an action. It represented by a tall, thin rectangle.

Page 37: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR PASSPORT SYSTEM

Page 38: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

COLLABORATION DIAGRAM

Collaboration diagram represents a collaboration which is a set of objects related in particular context, and interaction , which is a set of messages exchanged among the objects to achieve a desired outcome.

It is made up of the following basic elementsActorsObjectsLinksMessages

Page 39: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

EXAMPLE DIAGRAM FOR PASSPORT SYSTEM

Page 40: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

TESTING OO CODEClass testsClass tests IntegrationIntegration

teststests

ValidationValidationteststests

SystemSystemteststests

UNIT V

Page 41: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

CLASS TESTING PROCESS

classclassto beto be

testedtested

test casestest cases

resultsresults

softwaresoftwareengineerengineer

How to test?How to test?

Why a Why a loop?loop?

Page 42: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

TESTING TOOLSStatic analyzers Code inspectors Standard enforcers

Coverage analyzers (execution verifiers) Output comparators Test file/ data generators Test harnesses Test archiving systems

Page 43: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

TESTING LIFE CYCLE

1. Requirements stage2. Test Plan3. Test Design.4. Design Reviews5. Code Reviews6. Test Cases preparation.7. Test Execution8. Test Reports.9. Bugs Reporting10.Reworking on patches.11.Release to production.

Page 44: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

APPLICATION

The concepts of Object Oriented Analysis and Design ( OOAD ) are used in Software Development Process for analyzing requirements and designing UML diagrams.

Page 45: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Text Book

Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”,Third Edition, Pearson Education, 2005.

Thenkalvi.B ”Object oriented analysis and design”, 3rd Edition, Lakshmi Publications, 2013.

Page 46: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

ASSIGNMENT TOPICS

Case study-the NextGen POS systemUML activity diagram and modelingRelationship between sequence diagrams and use casesApplying GoF design patternsUML Component diagram

Page 47: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

SEMINAR TOPICS

Use case modelingInceptionRelating Use casesDomain modelsDomain model refinementFinding conceptual classesUML package diagramLogical architecture refinementSystem sequence diagramsGRASP : Designing objects with responsibilitiesUML deployment and component diagrams

Page 48: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

URL’Shttp://www.uml-diagrams.orghttp://www.manyppt.comhttp://www.slideshare.nethttp://cederling.net/PAA006/L4.htmlhttp://www.visual-paradigm.comhttp://www.sparxsystems.comhttp://www.tutorialspoint.comhttp://www.powershow.comhttp://www.blackwasp.co.uk/GofPatterns.aspxhttp://www.smartdraw.com

Page 49: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

VIDEO LINKSIntroduction to OOAD https://www.youtube.com/watch?

v=33HN8do2D5YIntroduction to UML https://www.youtube.com/watch?

v=FkRwbVUVFvEIntroduction to Association, Aggregation & Composition

www.youtube.com/watch?v=6cQs1JkUrY0Activity diagram https://www.youtube.com/watch?

v=yAihwmczqskSequence diagram https://www.youtube.com/watch?

v=18_kVlQMavE

Page 50: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN

Cont..Interaction diagram https://www.youtube.com/watch?

v=CJUc2crmrMsPackage diagram https://www.youtube.com/watch?

v=BgvwzJnUt4AClass diagram https://www.youtube.com/watch?

v=9ECRzQqUxdQIntroduction to GRASP www.youtube.com/watch?

v=56zNJ_eizC0State diagramwww.youtube.com/watch?v=rrqgM9Ch29Q

Page 51: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN
Page 52: Subject Handler, Ms.K.Esther Rani,AP Department of IT CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN