SlideShare a Scribd company logo
Module-2 PPT.ppt
2
Object-Oriented Analysis and Design with the Unified Process
(i) Detailed Object-Oriented
Requirements Definitions
System requirements captured with OO models
“Divide and conquer” strategy toward complexity
Two subsets of OO modeling approach
Use case driven extending four specific models
◘Use case diagrams, use case descriptions, activity
diagrams, system sequence diagrams
Object driven extending statechart diagram
3
Object-Oriented Analysis and Design with the Unified Process
Figure 6-1
Requirements Diagrams With UML Models
4
Object-Oriented Analysis and Design with the Unified Process
Detailed Object-Oriented
Requirements Definitions
(continued)
Use case diagram: table of contents for business events
System sequence diagrams (SSDs)
Define and order sequence of inputs and outputs
Information flows referred to as messages
Class diagrams
Identify real-world “things”
Determine the structure of the programming classes
Statechart diagram describes collection of object states
5
Object-Oriented Analysis and Design with the Unified Process
(ii) System Processes—A Use
Case/Scenario View
Define use cases into two tiers:
Overview level derived from:
◘Event table and use case diagrams
Detailed level derived from combination of:
◘Use case description
◘Activity diagram
◘Sequence diagram
6
Object-Oriented Analysis and Design with the Unified Process
Use Cases and Actors
Source
Person or thing initiating the business event
Must be external to the system
Actor
Person or thing that touches the system
Lies outside of automation boundary
Identifying actors at the right level of detail
Assume actors (even non-human types) have hands
Use case is a goal that the actor wants to achieve
7
Object-Oriented Analysis and Design with the Unified Process
The Use Case Diagram
Notation for use case diagrams
Simple stick figure represents an actor
Actor’s hands indicate direct system access
Use case itself symbolized by an oval
Connecting lines match actors to use cases
Actors may also be other system interfaces
May be represented with stick figure or rectangle
8
Object-Oriented Analysis and Design with the Unified Process
Figure 6-2
A Simple Use Case with an Actor
9
Object-Oriented Analysis and Design with the Unified Process
Automation Boundary and
Organization
Expand use case diagrams with other actors and use
cases
Relationship line: allows each actor to interact with
each use case
Automation boundary
Line drawn around the entire set of use cases
Defines interface between actors and computer system
10
Object-Oriented Analysis and Design with the Unified Process
Figure 6-3
A Use Case Diagram of the Order-Entry Subsystem for RMO,
Showing a System Boundary
11
Object-Oriented Analysis and Design with the Unified Process
Figure 6-4
A Use Case Diagram of the Customer Support System (by Subsystem)
12
Object-Oriented Analysis and Design with the Unified Process
« Includes » Relationships
«includes» or «uses» relationship
Use case calling services of common subroutine
Common subroutine itself becomes additional use case
Examples: “Validate customer account” and “Look
Up Item Availability”
Notation
Relationship denoted by connecting line with arrow
Direction of the arrow indicates major/minor cases
13
Object-Oriented Analysis and Design with the Unified Process
Figure 6-6
An Example of the Order-entry Subsystem With «Includes» Use Cases
14
Object-Oriented Analysis and Design with the Unified Process
Developing a Use Case
Diagram
Two ways to identify additional use cases
Divide one large use case into two
Define another use case based on a common subroutine
Distinguish between temporal and state events
Iterative process translates business events to use cases
[1] Identify the actors and roles for each use case
[2] Extract system response to business events
Data of system stabilizes after completion of the goal
15
Object-Oriented Analysis and Design with the Unified Process
Use Case Detailed Descriptions
Use cases have internal complexity
Sequence of steps to execute business process
Several variations may exist within single use case
◘Valid variation known as scenario
Example: “Create new order” varies from phone to
Internet order
Work with variety of diagrams and descriptions
for each use case
16
Object-Oriented Analysis and Design with the Unified Process
Use Case Detailed Descriptions
(continued)
Use case descriptions written at (3) levels of detail
Brief description
◘Summary statement conjoined to activity diagram
Intermediate description
◘Expands brief description with internal flow of activities
Fully Developed Description
◘Expands intermediate description for richer view
17
Object-Oriented Analysis and Design with the Unified Process
Figure 6-7
Brief Description of Create New Order Use Case
18
Object-Oriented Analysis and Design with the Unified Process
Figure 6-8
Intermediate Description of Telephone Order Scenario for Create
New Order Use Case
19
Object-Oriented Analysis and Design with the Unified Process
Use Case Detailed Descriptions
(continued)
Fully developed use case description
Superset of intermediate and brief descriptions
Consists of eleven compartments
User, actor, stakeholder, EBP, and conditions
identified
Activity Diagram Description
Document the workflows of business processes
Document flow of activities for use case scenarios
Form basis of system sequence diagrams (SSDs)
20
Object-Oriented Analysis and Design with the Unified Process
Figure 6-10
Fully Developed Description of Telephone Order Scenario for
Create New Order Use Case
21
Object-Oriented Analysis and Design with the Unified Process
Figure 6-12
Activity Diagram of the Telephone Order Scenario
22
Object-Oriented Analysis and Design with the Unified Process
(iii) Identifying Inputs and
Outputs—the System Sequence
Diagram
System sequence diagram (SSD)
Describes flow of information
Identifies interaction between actors and system
Message oriented
23
Object-Oriented Analysis and Design with the Unified Process
SSD Notation
Actor “interacts” with the system via input/output
SSDs use object notation
Box (rectangle) refers to individual object
Name of the object underlined
Messages sent/received by objects, not classes
Lifeline
Extension of object or actor for duration of the SSD
Indicates sequence of the messages sent/received
24
Object-Oriented Analysis and Design with the Unified Process
Figure 6-14
Sample System Sequence Diagram
25
Object-Oriented Analysis and Design with the Unified Process
SSD Notation (continued)
Message syntax can take several forms
Depends on send/return direction
Message semantics: actions (like commands)
invoked on destination object
Complete message notation:*[true/false condition]
return-value := message-name (parameter-list)
26
Object-Oriented Analysis and Design with the Unified Process
Figure 6-15
Repeating Message (A) Detailed Notation (B) Alternate Notation
27
Object-Oriented Analysis and Design with the Unified Process
Developing a System Sequence
Diagram
Begin with detailed description of use case
Fully developed form
Activity diagrams
(4) step process for turning activity diagram into SSD
[1] Identify the input messages
[2] Describe messages from external actor to system
[3] Identify/apply special conditions to input messages
[4] Identify and add the output return messages
28
Object-Oriented Analysis and Design with the Unified Process
Figure 6-16
A Simplified Diagram of the Telephone Order Scenario
29
Object-Oriented Analysis and Design with the Unified Process
Developing a System Sequence
Diagram (continued)
Names of messages reflect services performed
Important principle for identifying data parameters
Base the list on the class diagram
Attributes from the classes listed as parameters
Iteratively define input/output parameters around
workflows
Objective: discovery and understanding
30
Object-Oriented Analysis and Design with the Unified Process
Figure 6-17
An SSD of the Simplified Telephone Order Scenario for the Create New
Order Use Case
31
Object-Oriented Analysis and Design with the Unified Process
(iv) Identifying the Object
BehaviorStatechart Diagram
A state is an abstraction of the values and links of an
object.
UML notation for state- a rounded box Containing an
optional state name, list the state name in boldface, center
the name near the top of the box, capitalize the fist letter.
A state in a statechart similar to status condition
Spans many business events
Developed for complex problem domain classes
32
Object-Oriented Analysis and Design with the Unified Process
Figure 6-19
Simple Statechart for a Printer
Statechart diagram Composed of ovals representing status of
object and Arrows represent transitions
33
Object-Oriented Analysis and Design with the Unified Process
Identifying the Object
Behaviorthe Statechart
Diagram (continued)
Guidelines to help identify states
Check naming convention for status conditions
Simple states reflect simple conditions such as “On”
Complex states labeled with verb phrases
◘Example: “Being shipped”
Active states usually not labeled with nouns
Describe only states of being of the object itself
Status conditions reported to management/customers
◘Example: “Shipped”
34
Object-Oriented Analysis and Design with the Unified Process
Nested States And
Concurrency
Concurrency: condition of being in more than one
state at a time
Two modes of representation
Use synchronization bars and concurrent paths
Nest low-level states inside higher-level states
Higher-level states also called composite states
Complex structure of sets of states and transitions
Represent a higher level of abstraction
35
Object-Oriented Analysis and Design with the Unified Process
Figure 6-20
Sample Composite States for the Printer Object
36
Object-Oriented Analysis and Design with the Unified Process
Figure 6-21
Concurrent Paths for the Printer in the On State
37
Object-Oriented Analysis and Design with the Unified Process
Rules for Developing
Statecharts
[1] Select the classes that will require statecharts
[2] List all the status conditions for each group
[3] Specify transitions that cause object to leave
the identified state
[4] Sequence state-transition combinations in
correct order
38
Object-Oriented Analysis and Design with the Unified Process
Rules for Developing
Statecharts (continued)
[5] Identify concurrent paths.
[6] Look for additional transitions
[7] Expand each transition as appropriate
[8] Review and test each statechart
39
Object-Oriented Analysis and Design with the Unified Process
Developing RMO Statecharts
Review the domain class diagram
Select classes with status conditions that need to
be tracked
Candidates: Order, OrderItem, InventoryItem,
Shipment, Customer
Choose Order and OrderItem
Simplicity
Location in the class hierarchy
40
Object-Oriented Analysis and Design with the Unified Process
Developing The Order Item
State Chart
Identify possible status conditions of interest
“Ready to be shipped”
“On back order”
“Shipped”
Continue developing statechart according to eight rules
41
Object-Oriented Analysis and Design with the Unified Process
Figure 6-22
States and Exit Transitions for Orderitem
42
Object-Oriented Analysis and Design with the Unified Process
Figure 6-24
Final Statechart for Orderitem
43
Object-Oriented Analysis and Design with the Unified Process
Developing the Order State
Chart
States mirror the life cycle of an order
Application of rules leads to greater complexity
Concurrent states
New transitions
Benefits of developing a statechart for an object
Captures and clarifies business rules
Gain true understanding of system requirements
44
Object-Oriented Analysis and Design with the Unified Process
Figure 6-25
States and Exit Transitions for Order
45
Object-Oriented Analysis and Design with the Unified Process
Figure 6-27
Second-cut Statechart for Order
46
Object-Oriented Analysis and Design with the Unified Process
(v) Integrating Object-Oriented
Models
Primary (or source) models
Use case diagram
Problem domain class diagram
CRUD(Create, Read, Update, Delete) analysis
validates model completeness
Construction of one model depends on another
Models capturing processes of new system
Use case diagram and models to lower left
Models capturing information about classes
Class diagrams and dependencies
47
Object-Oriented Analysis and Design with the Unified Process
Figure 6-28
Relationships among OO Requirements Models
48
Object-Oriented Analysis and Design with the Unified Process
Summary
OOA family of models documents users’ needs and
defines system requirements
Use case detailed models (descriptive or activity)
Sequence diagrams (SSDs)
Domain model class diagrams
Statechart diagrams
49
Object-Oriented Analysis and Design with the Unified Process
Summary (continued)
Use case: single system function responding to an
event
Actors: human users or system interfaces that initiate
system response
System function decomposed into workflows
SSDs, domain models, statecharts emulate routines
and object interaction
Software engineering terms signal transition into
design phase

More Related Content

PPT
itec315_lecture 9 about object oriented analysis and design
PPT
Kelis king - requirements analysis and the unified process
PPT
OOAD UNIT I UML DIAGRAMS
PPT
Chapter02
PPTX
Chapter 6 Object Modeling .pptxInformation Technology Project Management
PDF
chapter06-120827115400-phpapp01.pdf
PPT
Use Case Diagram
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
itec315_lecture 9 about object oriented analysis and design
Kelis king - requirements analysis and the unified process
OOAD UNIT I UML DIAGRAMS
Chapter02
Chapter 6 Object Modeling .pptxInformation Technology Project Management
chapter06-120827115400-phpapp01.pdf
Use Case Diagram
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt

Similar to Module-2 PPT.ppt (20)

PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PDF
CS8592-OOAD Lecture Notes Unit-1
DOCX
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
PPT
OOAD-Unit1.ppt
PPT
unit 3 software requirement and analysis-1.ppt
PPT
Rational Unified Process
PPT
Unit-1 object oriented systems(OOSD) .ppt
PPTX
conversion-gate02.pptx
PDF
Unit-1_Notes(OOAD).pdf
PPTX
1.3 Unified Process in Object Oriented Analysis and Design.pptx
PPT
Chapter06
PPTX
OOSD_UNIT1 (1).pptx
PDF
CS8592 Object Oriented Analysis & Design - UNIT I
PPT
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
PPT
The Object-Oriented Approach to Requirements
PPT
object modeling chapter 4 for students a
PDF
Chapter01 : The world of the modern systems analyst
PPT
Object-Oriented Analysis and Design
PPS
04 ooad uml-04
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
CS8592-OOAD Lecture Notes Unit-1
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
OOAD-Unit1.ppt
unit 3 software requirement and analysis-1.ppt
Rational Unified Process
Unit-1 object oriented systems(OOSD) .ppt
conversion-gate02.pptx
Unit-1_Notes(OOAD).pdf
1.3 Unified Process in Object Oriented Analysis and Design.pptx
Chapter06
OOSD_UNIT1 (1).pptx
CS8592 Object Oriented Analysis & Design - UNIT I
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
The Object-Oriented Approach to Requirements
object modeling chapter 4 for students a
Chapter01 : The world of the modern systems analyst
Object-Oriented Analysis and Design
04 ooad uml-04
Ad

Recently uploaded (20)

PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PPTX
introduction to high performance computing
PDF
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
Analyzing Impact of Pakistan Economic Corridor on Import and Export in Pakist...
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPT
introduction to datamining and warehousing
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
Abrasive, erosive and cavitation wear.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
introduction to high performance computing
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
Visual Aids for Exploratory Data Analysis.pdf
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Analyzing Impact of Pakistan Economic Corridor on Import and Export in Pakist...
Fundamentals of safety and accident prevention -final (1).pptx
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
737-MAX_SRG.pdf student reference guides
Information Storage and Retrieval Techniques Unit III
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
introduction to datamining and warehousing
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Abrasive, erosive and cavitation wear.pdf
UNIT 4 Total Quality Management .pptx
III.4.1.2_The_Space_Environment.p pdffdf
Automation-in-Manufacturing-Chapter-Introduction.pdf
Ad

Module-2 PPT.ppt

  • 2. 2 Object-Oriented Analysis and Design with the Unified Process (i) Detailed Object-Oriented Requirements Definitions System requirements captured with OO models “Divide and conquer” strategy toward complexity Two subsets of OO modeling approach Use case driven extending four specific models ◘Use case diagrams, use case descriptions, activity diagrams, system sequence diagrams Object driven extending statechart diagram
  • 3. 3 Object-Oriented Analysis and Design with the Unified Process Figure 6-1 Requirements Diagrams With UML Models
  • 4. 4 Object-Oriented Analysis and Design with the Unified Process Detailed Object-Oriented Requirements Definitions (continued) Use case diagram: table of contents for business events System sequence diagrams (SSDs) Define and order sequence of inputs and outputs Information flows referred to as messages Class diagrams Identify real-world “things” Determine the structure of the programming classes Statechart diagram describes collection of object states
  • 5. 5 Object-Oriented Analysis and Design with the Unified Process (ii) System Processes—A Use Case/Scenario View Define use cases into two tiers: Overview level derived from: ◘Event table and use case diagrams Detailed level derived from combination of: ◘Use case description ◘Activity diagram ◘Sequence diagram
  • 6. 6 Object-Oriented Analysis and Design with the Unified Process Use Cases and Actors Source Person or thing initiating the business event Must be external to the system Actor Person or thing that touches the system Lies outside of automation boundary Identifying actors at the right level of detail Assume actors (even non-human types) have hands Use case is a goal that the actor wants to achieve
  • 7. 7 Object-Oriented Analysis and Design with the Unified Process The Use Case Diagram Notation for use case diagrams Simple stick figure represents an actor Actor’s hands indicate direct system access Use case itself symbolized by an oval Connecting lines match actors to use cases Actors may also be other system interfaces May be represented with stick figure or rectangle
  • 8. 8 Object-Oriented Analysis and Design with the Unified Process Figure 6-2 A Simple Use Case with an Actor
  • 9. 9 Object-Oriented Analysis and Design with the Unified Process Automation Boundary and Organization Expand use case diagrams with other actors and use cases Relationship line: allows each actor to interact with each use case Automation boundary Line drawn around the entire set of use cases Defines interface between actors and computer system
  • 10. 10 Object-Oriented Analysis and Design with the Unified Process Figure 6-3 A Use Case Diagram of the Order-Entry Subsystem for RMO, Showing a System Boundary
  • 11. 11 Object-Oriented Analysis and Design with the Unified Process Figure 6-4 A Use Case Diagram of the Customer Support System (by Subsystem)
  • 12. 12 Object-Oriented Analysis and Design with the Unified Process « Includes » Relationships «includes» or «uses» relationship Use case calling services of common subroutine Common subroutine itself becomes additional use case Examples: “Validate customer account” and “Look Up Item Availability” Notation Relationship denoted by connecting line with arrow Direction of the arrow indicates major/minor cases
  • 13. 13 Object-Oriented Analysis and Design with the Unified Process Figure 6-6 An Example of the Order-entry Subsystem With «Includes» Use Cases
  • 14. 14 Object-Oriented Analysis and Design with the Unified Process Developing a Use Case Diagram Two ways to identify additional use cases Divide one large use case into two Define another use case based on a common subroutine Distinguish between temporal and state events Iterative process translates business events to use cases [1] Identify the actors and roles for each use case [2] Extract system response to business events Data of system stabilizes after completion of the goal
  • 15. 15 Object-Oriented Analysis and Design with the Unified Process Use Case Detailed Descriptions Use cases have internal complexity Sequence of steps to execute business process Several variations may exist within single use case ◘Valid variation known as scenario Example: “Create new order” varies from phone to Internet order Work with variety of diagrams and descriptions for each use case
  • 16. 16 Object-Oriented Analysis and Design with the Unified Process Use Case Detailed Descriptions (continued) Use case descriptions written at (3) levels of detail Brief description ◘Summary statement conjoined to activity diagram Intermediate description ◘Expands brief description with internal flow of activities Fully Developed Description ◘Expands intermediate description for richer view
  • 17. 17 Object-Oriented Analysis and Design with the Unified Process Figure 6-7 Brief Description of Create New Order Use Case
  • 18. 18 Object-Oriented Analysis and Design with the Unified Process Figure 6-8 Intermediate Description of Telephone Order Scenario for Create New Order Use Case
  • 19. 19 Object-Oriented Analysis and Design with the Unified Process Use Case Detailed Descriptions (continued) Fully developed use case description Superset of intermediate and brief descriptions Consists of eleven compartments User, actor, stakeholder, EBP, and conditions identified Activity Diagram Description Document the workflows of business processes Document flow of activities for use case scenarios Form basis of system sequence diagrams (SSDs)
  • 20. 20 Object-Oriented Analysis and Design with the Unified Process Figure 6-10 Fully Developed Description of Telephone Order Scenario for Create New Order Use Case
  • 21. 21 Object-Oriented Analysis and Design with the Unified Process Figure 6-12 Activity Diagram of the Telephone Order Scenario
  • 22. 22 Object-Oriented Analysis and Design with the Unified Process (iii) Identifying Inputs and Outputs—the System Sequence Diagram System sequence diagram (SSD) Describes flow of information Identifies interaction between actors and system Message oriented
  • 23. 23 Object-Oriented Analysis and Design with the Unified Process SSD Notation Actor “interacts” with the system via input/output SSDs use object notation Box (rectangle) refers to individual object Name of the object underlined Messages sent/received by objects, not classes Lifeline Extension of object or actor for duration of the SSD Indicates sequence of the messages sent/received
  • 24. 24 Object-Oriented Analysis and Design with the Unified Process Figure 6-14 Sample System Sequence Diagram
  • 25. 25 Object-Oriented Analysis and Design with the Unified Process SSD Notation (continued) Message syntax can take several forms Depends on send/return direction Message semantics: actions (like commands) invoked on destination object Complete message notation:*[true/false condition] return-value := message-name (parameter-list)
  • 26. 26 Object-Oriented Analysis and Design with the Unified Process Figure 6-15 Repeating Message (A) Detailed Notation (B) Alternate Notation
  • 27. 27 Object-Oriented Analysis and Design with the Unified Process Developing a System Sequence Diagram Begin with detailed description of use case Fully developed form Activity diagrams (4) step process for turning activity diagram into SSD [1] Identify the input messages [2] Describe messages from external actor to system [3] Identify/apply special conditions to input messages [4] Identify and add the output return messages
  • 28. 28 Object-Oriented Analysis and Design with the Unified Process Figure 6-16 A Simplified Diagram of the Telephone Order Scenario
  • 29. 29 Object-Oriented Analysis and Design with the Unified Process Developing a System Sequence Diagram (continued) Names of messages reflect services performed Important principle for identifying data parameters Base the list on the class diagram Attributes from the classes listed as parameters Iteratively define input/output parameters around workflows Objective: discovery and understanding
  • 30. 30 Object-Oriented Analysis and Design with the Unified Process Figure 6-17 An SSD of the Simplified Telephone Order Scenario for the Create New Order Use Case
  • 31. 31 Object-Oriented Analysis and Design with the Unified Process (iv) Identifying the Object BehaviorStatechart Diagram A state is an abstraction of the values and links of an object. UML notation for state- a rounded box Containing an optional state name, list the state name in boldface, center the name near the top of the box, capitalize the fist letter. A state in a statechart similar to status condition Spans many business events Developed for complex problem domain classes
  • 32. 32 Object-Oriented Analysis and Design with the Unified Process Figure 6-19 Simple Statechart for a Printer Statechart diagram Composed of ovals representing status of object and Arrows represent transitions
  • 33. 33 Object-Oriented Analysis and Design with the Unified Process Identifying the Object Behaviorthe Statechart Diagram (continued) Guidelines to help identify states Check naming convention for status conditions Simple states reflect simple conditions such as “On” Complex states labeled with verb phrases ◘Example: “Being shipped” Active states usually not labeled with nouns Describe only states of being of the object itself Status conditions reported to management/customers ◘Example: “Shipped”
  • 34. 34 Object-Oriented Analysis and Design with the Unified Process Nested States And Concurrency Concurrency: condition of being in more than one state at a time Two modes of representation Use synchronization bars and concurrent paths Nest low-level states inside higher-level states Higher-level states also called composite states Complex structure of sets of states and transitions Represent a higher level of abstraction
  • 35. 35 Object-Oriented Analysis and Design with the Unified Process Figure 6-20 Sample Composite States for the Printer Object
  • 36. 36 Object-Oriented Analysis and Design with the Unified Process Figure 6-21 Concurrent Paths for the Printer in the On State
  • 37. 37 Object-Oriented Analysis and Design with the Unified Process Rules for Developing Statecharts [1] Select the classes that will require statecharts [2] List all the status conditions for each group [3] Specify transitions that cause object to leave the identified state [4] Sequence state-transition combinations in correct order
  • 38. 38 Object-Oriented Analysis and Design with the Unified Process Rules for Developing Statecharts (continued) [5] Identify concurrent paths. [6] Look for additional transitions [7] Expand each transition as appropriate [8] Review and test each statechart
  • 39. 39 Object-Oriented Analysis and Design with the Unified Process Developing RMO Statecharts Review the domain class diagram Select classes with status conditions that need to be tracked Candidates: Order, OrderItem, InventoryItem, Shipment, Customer Choose Order and OrderItem Simplicity Location in the class hierarchy
  • 40. 40 Object-Oriented Analysis and Design with the Unified Process Developing The Order Item State Chart Identify possible status conditions of interest “Ready to be shipped” “On back order” “Shipped” Continue developing statechart according to eight rules
  • 41. 41 Object-Oriented Analysis and Design with the Unified Process Figure 6-22 States and Exit Transitions for Orderitem
  • 42. 42 Object-Oriented Analysis and Design with the Unified Process Figure 6-24 Final Statechart for Orderitem
  • 43. 43 Object-Oriented Analysis and Design with the Unified Process Developing the Order State Chart States mirror the life cycle of an order Application of rules leads to greater complexity Concurrent states New transitions Benefits of developing a statechart for an object Captures and clarifies business rules Gain true understanding of system requirements
  • 44. 44 Object-Oriented Analysis and Design with the Unified Process Figure 6-25 States and Exit Transitions for Order
  • 45. 45 Object-Oriented Analysis and Design with the Unified Process Figure 6-27 Second-cut Statechart for Order
  • 46. 46 Object-Oriented Analysis and Design with the Unified Process (v) Integrating Object-Oriented Models Primary (or source) models Use case diagram Problem domain class diagram CRUD(Create, Read, Update, Delete) analysis validates model completeness Construction of one model depends on another Models capturing processes of new system Use case diagram and models to lower left Models capturing information about classes Class diagrams and dependencies
  • 47. 47 Object-Oriented Analysis and Design with the Unified Process Figure 6-28 Relationships among OO Requirements Models
  • 48. 48 Object-Oriented Analysis and Design with the Unified Process Summary OOA family of models documents users’ needs and defines system requirements Use case detailed models (descriptive or activity) Sequence diagrams (SSDs) Domain model class diagrams Statechart diagrams
  • 49. 49 Object-Oriented Analysis and Design with the Unified Process Summary (continued) Use case: single system function responding to an event Actors: human users or system interfaces that initiate system response System function decomposed into workflows SSDs, domain models, statecharts emulate routines and object interaction Software engineering terms signal transition into design phase