SlideShare a Scribd company logo
1 of 51
7
Systems Analysis and Design in a
Changing World, Fourth Edition
7
2
Learning Objectives
Develop use case diagrams
Write use case and scenario descriptions
Develop activity diagrams and system sequence
diagrams
Develop state machine diagrams to model object
behavior
Explain how UML diagrams work together to
define functional requirements for the object-
oriented approach
7
3
Overview
Objective of requirements definition is
understanding users’ needs, business processes,
and system to support business processes
Understand and define requirements for a new
system using object-oriented analysis models
and techniques
Line between object-oriented analysis and object-
oriented design is somewhat fuzzy
Iterative approach to development
Models built in analysis are refined during design
7
4
Object-Oriented Requirements
Object-oriented modeling notation is Unified
Modeling Language (UML 2.0)
UML was accepted by Object Management
Group (OMG) as standard modeling technique
Purpose of Object Management Group
Promote theory and practice of object-oriented
technology for development of distributed systems
Provide common architectural framework for OO
7
5
Object-Oriented Requirements (continued)
Object-oriented system requirements are
specified and documented through process of
building models
Modeling process starts with identification of use
cases and problem domain classes (things in
users’ work environment)
Business events trigger elementary business
processes (EBP) that new system must address
as use cases
Use cases define functional requirements
7
6
Object-Oriented Requirements Models
Use case diagrams – identify actors and their use
cases (goals)
Use case descriptions – include details of a use case
and how actors use the system
Systems sequence diagrams (SSDs) – define
inputs and outputs and sequence of interactions between
user and system for a use case
Activity diagrams – describe user and system activities
for a use case
State machine diagrams – describe states of each
object
7
7
Requirements Models—Traditional versus OO
(Figure 7-1)
7
8
The System Activities—
A Use Case/Scenario View
Use case analysis used to identify and define all
business processes that system must support
Use case – an activity a system carried out,
usually in response to a user request
Actor
Role played by user
Outside automation boundary
7
9
Techniques for Identifying Use Cases
(Review from Chapter 5)
Identify user goals
Each goal at the elementary business process (EBP)
level is a use case
EBP – task performed by one user in one place and in
response to business event that adds measurable
business value, and leaves system and data in
consistent state
Event decomposition technique (event table)
CRUD analysis technique (create, read/report,
update, delete) to ensure coverage
7
10
Use Case Diagram
Graphical UML diagram that summarizes
information about actors and use cases
Simple diagram shows overview of functional
requirements
Can have multiple use case diagrams
By subsystem
By actor
7
11
Simple Use Case with an Actor (Figure 7-2)
7
12
Use Case Diagram with Automation Boundary
and Alternate Actor Notation (Figure 7-3)
7
13
All Use Cases Involving Customer as Actor (Figure 7-4)
7
14
Use Cases of RMO Order Entry Subsystem
(Partial Figure 7-5 with package symbol)
7
15
<<Includes>> Relationship
Documents situation in which one use case
requires the services of a common subroutine
Another use case is developed for this common
subroutine
A common use case can be reused by multiple
use cases
7
16
Example of Order-Entry Subsystem with
<<Includes>> Use Cases (Figure 7-6)
7
17
CRUD Analysis for Identifying/Confirming
Use Cases
CRUD – create, read/report, update, delete
Information Engineering (IE) technique to identify
event table or directly develop use case diagram
Compares identified use cases with domain
model class diagram
Every class in class diagram must have use
cases to support creating, reading, reporting,
updating, and deleting object instances
Confirms system integration requirements
7
18
Use Case Description
Use case description provides details of preconditions,
postconditions, sequence of activities, and exception
conditions in use case
Describes actor interacting with computer system step-by-
step to carry out business activity
May have several scenarios for a use case, each a
specific use case instance
Three levels of detail: brief, intermediate, and fully
developed description
Many analysts prefer to write narrative descriptions of use
cases instead of drawing activity diagrams
7
19
Brief Description of Create New Order
Use Case (Figure 7-7)
7
20
Intermediate Description of the Telephone Order
Scenario for Create New Order Use Case (Figure 7-8)
7
21
Intermediate Description of the Web
Order Scenario for Create New Order (Figure 7-9)
7
22
Fully
Developed
Description
of
Telephone
Order
Scenario for
Create New
Order Use
Case
(Figure 7-10)
7
23
Top Detail from Fully Developed Use Case
Description (Figure 7-10)
7
24
Middle Detail from Fully Developed Use
Case Description (Figure 7-10)
7
25
Bottom Detail from Fully Developed Use
Case Description (Figure 7-10)
7
26
Use Case Description Components
Use case name/scenario name
Actors/stakeholders
Related use cases
Preconditions – set of criteria that must be true
prior to initiation of the use case
Postconditions – set of criteria that must be true
upon completion of the use case
Flow of activities (steps in one column or two)
Exception conditions
7
27
Activity Diagrams
Used to document workflow of business process
activities for each use case or scenario
Standard UML 2.0 diagram as seen in Chapter 4
Can support any level of use case description; a
supplement to use case descriptions
Helpful in developing system sequence diagrams
7
28
Activity
Diagram—
Telephone
Order
Scenario
(Figure 7-12)
7
29
Activity
Diagram—
Web Order
Scenario
(Figure 7-13)
7
30
Identifying Inputs and Outputs—
The System Sequence Diagram
System sequence diagram (SSD) is type of UML
2.0 interaction diagram
Used to model input and output messaging
requirements for a use case or scenario
Shows actor interacting with system
Shows sequence of interactions as messages
during flow of activities
System is shown as one object: a “black box”
7
31
System Sequence Diagram (SSD)
Notation (Figure 7-14)
7
32
SSD Notation
Actor represented by a stick figure – a person (or
role) that interacts with system by entering input
data and receiving output data
Object is a rectangle with name of object
underlined – shows individual object and not
class of all similar objects ( :System for SSD )
Lifeline or object lifeline is a vertical line under
object or actor to show passage of time for object
Message is labeled on arrows to show messages
sent to or received by actor or system
7
33
SSD Lifelines
Vertical line under object or actor
Shows passage of time
If vertical line dashed
Creation and destruction of thing is not important
for scenario
Long narrow rectangles
Activation lifelines emphasize that object is active
only during part of scenario
7
34
SSD Messages
Internal events identified by the flow of objects in
a scenario
Requests from one actor or object to another to
do some action
Invoke a particular method
7
35
Repeating
Message
(Figure 7-15)
7
36
Developing a System Sequence Diagram
Begin with detailed description of use case from
fully developed form or activity diagram
Identify input messages
Describe message from external actor to system
using message notation
Identify and add any special conditions on input
message, including iteration and true/false
conditions
Identify and add output return messages
7
37
Activity Diagram and Resulting SSD for
Telephone Order Scenario (Figures 7-16 and 7-17)
7
38
SSD of the
Web Order
Scenario for
the Create
New Order
Use Case
(Figure 7-18)
7
39
Identifying Object Behavior—
The State Machine Diagram
State machine diagram is UML 2.0 diagram that
models object states and transitions
Complex problem domain classes can be modeled
State of an object
A condition that occurs during its life when it satisfies some
criterion, performs some action, or waits for an event
Each state has unique name and is a semipermanent
condition or status
Transition
The movement of an object from one state to another state
7
40
Simple State Machine Diagram for a Printer
(Figure 7-19)
7
41
State Machine Terminology
Pseudo state – the starting point of a state machine,
indicated by a black dot
Origin state – the original state of an object from which
the transition occurs
Destination state – the state to which an object moves
after the completion of a transition
Message event – the trigger for a transition, which causes
the object to leave the origin state
Guard condition – a true/false test to see whether a
transition can fire
Action expression – a description of the activities
performed as part of a transition
7
42
RMO State Machine Diagram for
OrderItem Problem Domain Class
7
43
Composite States and Concurrency—
States within a State
7
44
Concurrent Paths for Printer in the On State
(Figure 7-21)
7
45
Rules for Developing State Machine Diagram
Review domain class diagram, select important
ones, and list all state and exit conditions
Begin building state machine diagram fragments
for each class
Sequence fragments in correct order and review
for independent and concurrent paths
Expand each transition with message event,
guard-condition, and action-expression
Review and test each state machine diagram
7
46
Order Domain Class for RMO—
States and Exit Transitions (Figure 7-25)
7
47
First-Cut State Machine Diagram for Order
(Figure 7-26)
7
48
Second-Cut State Machine Diagram for Order
(Figure 7-26)
7
49
Integrating Object-Oriented Models
Complete use case diagram is needed to
understand total scope of new system
Domain model class diagrams should also be as
complete as possible for entire system
With iterative approach, only construct use case
descriptions, activity diagrams, and system
sequence diagrams for use cases in iteration
Development of a new diagram often helps refine
and correct previous diagrams
7
50
Relationships Between OO
Requirements Models (Figure 7-28)
7
51
Summary
Object-oriented approach has complete set of
diagrams that define system requirements
Requirements specified using following models
Domain model class diagram (Chapter 5)
Use case diagrams (Chapter 7)
Use case detailed models, either descriptive
formats or activity diagrams (Chapter 7)
System sequence diagrams (Chapter 7)
State machine diagrams (Chapter 7)

More Related Content

What's hot

Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Context model
Context modelContext model
Context modelUbaid423
 
Software Engineering - Chapter 4 - Requirements engineering
Software Engineering - Chapter 4 - Requirements engineering  Software Engineering - Chapter 4 - Requirements engineering
Software Engineering - Chapter 4 - Requirements engineering Ra'Fat Al-Msie'deen
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architectureHimanshu
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its typesSyed Hassan Ali
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochSorina Chirilă
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Use case point ( Software Estimation Technique)
Use case point ( Software Estimation Technique)Use case point ( Software Estimation Technique)
Use case point ( Software Estimation Technique)Punjab University
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
 
Object oriented and function oriented design
Object oriented and function oriented designObject oriented and function oriented design
Object oriented and function oriented designNaveen Sagayaselvaraj
 

What's hot (20)

Unified process model
Unified process modelUnified process model
Unified process model
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Context model
Context modelContext model
Context model
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Software Engineering - Chapter 4 - Requirements engineering
Software Engineering - Chapter 4 - Requirements engineering  Software Engineering - Chapter 4 - Requirements engineering
Software Engineering - Chapter 4 - Requirements engineering
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architecture
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its types
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Ch21 real time software engineering
Ch21 real time software engineeringCh21 real time software engineering
Ch21 real time software engineering
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Use case point ( Software Estimation Technique)
Use case point ( Software Estimation Technique)Use case point ( Software Estimation Technique)
Use case point ( Software Estimation Technique)
 
Color Models
Color ModelsColor Models
Color Models
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Object oriented and function oriented design
Object oriented and function oriented designObject oriented and function oriented design
Object oriented and function oriented design
 

Similar to The Object-Oriented Approach to Requirements (20)

07 si(systems analysis and design )
07 si(systems analysis and design )07 si(systems analysis and design )
07 si(systems analysis and design )
 
Chapter06
Chapter06Chapter06
Chapter06
 
Module-2 PPT.ppt
Module-2 PPT.pptModule-2 PPT.ppt
Module-2 PPT.ppt
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Bridge
BridgeBridge
Bridge
 
UML Unit 01
UML Unit 01UML Unit 01
UML Unit 01
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
 
Week 5
Week 5Week 5
Week 5
 
Chapter05
Chapter05Chapter05
Chapter05
 
ch07.ppt
ch07.pptch07.ppt
ch07.ppt
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
Jar chapter 4_part_ii
Jar chapter 4_part_iiJar chapter 4_part_ii
Jar chapter 4_part_ii
 
Ch7
Ch7Ch7
Ch7
 
Ch7
Ch7Ch7
Ch7
 
10.1.1.135.9447
10.1.1.135.944710.1.1.135.9447
10.1.1.135.9447
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 

More from Henhen Lukmana

Evaluating Alternatives for Requirements, Envireonment, and Implemetation
Evaluating Alternatives for Requirements, Envireonment, and ImplemetationEvaluating Alternatives for Requirements, Envireonment, and Implemetation
Evaluating Alternatives for Requirements, Envireonment, and ImplemetationHenhen Lukmana
 
The Traditional Approach to Requirement
The Traditional Approach to RequirementThe Traditional Approach to Requirement
The Traditional Approach to RequirementHenhen Lukmana
 
Modeling System Requirement
Modeling System RequirementModeling System Requirement
Modeling System RequirementHenhen Lukmana
 
Begining The Analysys Invetigating System Requirement
Begining The Analysys Invetigating System RequirementBegining The Analysys Invetigating System Requirement
Begining The Analysys Invetigating System RequirementHenhen Lukmana
 
The Analysyst As A Project Manager
The Analysyst As A Project ManagerThe Analysyst As A Project Manager
The Analysyst As A Project ManagerHenhen Lukmana
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System DevelopmentHenhen Lukmana
 

More from Henhen Lukmana (8)

Moving to Design
Moving to DesignMoving to Design
Moving to Design
 
Evaluating Alternatives for Requirements, Envireonment, and Implemetation
Evaluating Alternatives for Requirements, Envireonment, and ImplemetationEvaluating Alternatives for Requirements, Envireonment, and Implemetation
Evaluating Alternatives for Requirements, Envireonment, and Implemetation
 
The Traditional Approach to Requirement
The Traditional Approach to RequirementThe Traditional Approach to Requirement
The Traditional Approach to Requirement
 
Modeling System Requirement
Modeling System RequirementModeling System Requirement
Modeling System Requirement
 
Begining The Analysys Invetigating System Requirement
Begining The Analysys Invetigating System RequirementBegining The Analysys Invetigating System Requirement
Begining The Analysys Invetigating System Requirement
 
The Analysyst As A Project Manager
The Analysyst As A Project ManagerThe Analysyst As A Project Manager
The Analysyst As A Project Manager
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System Development
 
probability theory
probability theoryprobability theory
probability theory
 

Recently uploaded

JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 

Recently uploaded (20)

JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 

The Object-Oriented Approach to Requirements

  • 1. 7 Systems Analysis and Design in a Changing World, Fourth Edition
  • 2. 7 2 Learning Objectives Develop use case diagrams Write use case and scenario descriptions Develop activity diagrams and system sequence diagrams Develop state machine diagrams to model object behavior Explain how UML diagrams work together to define functional requirements for the object- oriented approach
  • 3. 7 3 Overview Objective of requirements definition is understanding users’ needs, business processes, and system to support business processes Understand and define requirements for a new system using object-oriented analysis models and techniques Line between object-oriented analysis and object- oriented design is somewhat fuzzy Iterative approach to development Models built in analysis are refined during design
  • 4. 7 4 Object-Oriented Requirements Object-oriented modeling notation is Unified Modeling Language (UML 2.0) UML was accepted by Object Management Group (OMG) as standard modeling technique Purpose of Object Management Group Promote theory and practice of object-oriented technology for development of distributed systems Provide common architectural framework for OO
  • 5. 7 5 Object-Oriented Requirements (continued) Object-oriented system requirements are specified and documented through process of building models Modeling process starts with identification of use cases and problem domain classes (things in users’ work environment) Business events trigger elementary business processes (EBP) that new system must address as use cases Use cases define functional requirements
  • 6. 7 6 Object-Oriented Requirements Models Use case diagrams – identify actors and their use cases (goals) Use case descriptions – include details of a use case and how actors use the system Systems sequence diagrams (SSDs) – define inputs and outputs and sequence of interactions between user and system for a use case Activity diagrams – describe user and system activities for a use case State machine diagrams – describe states of each object
  • 8. 7 8 The System Activities— A Use Case/Scenario View Use case analysis used to identify and define all business processes that system must support Use case – an activity a system carried out, usually in response to a user request Actor Role played by user Outside automation boundary
  • 9. 7 9 Techniques for Identifying Use Cases (Review from Chapter 5) Identify user goals Each goal at the elementary business process (EBP) level is a use case EBP – task performed by one user in one place and in response to business event that adds measurable business value, and leaves system and data in consistent state Event decomposition technique (event table) CRUD analysis technique (create, read/report, update, delete) to ensure coverage
  • 10. 7 10 Use Case Diagram Graphical UML diagram that summarizes information about actors and use cases Simple diagram shows overview of functional requirements Can have multiple use case diagrams By subsystem By actor
  • 11. 7 11 Simple Use Case with an Actor (Figure 7-2)
  • 12. 7 12 Use Case Diagram with Automation Boundary and Alternate Actor Notation (Figure 7-3)
  • 13. 7 13 All Use Cases Involving Customer as Actor (Figure 7-4)
  • 14. 7 14 Use Cases of RMO Order Entry Subsystem (Partial Figure 7-5 with package symbol)
  • 15. 7 15 <<Includes>> Relationship Documents situation in which one use case requires the services of a common subroutine Another use case is developed for this common subroutine A common use case can be reused by multiple use cases
  • 16. 7 16 Example of Order-Entry Subsystem with <<Includes>> Use Cases (Figure 7-6)
  • 17. 7 17 CRUD Analysis for Identifying/Confirming Use Cases CRUD – create, read/report, update, delete Information Engineering (IE) technique to identify event table or directly develop use case diagram Compares identified use cases with domain model class diagram Every class in class diagram must have use cases to support creating, reading, reporting, updating, and deleting object instances Confirms system integration requirements
  • 18. 7 18 Use Case Description Use case description provides details of preconditions, postconditions, sequence of activities, and exception conditions in use case Describes actor interacting with computer system step-by- step to carry out business activity May have several scenarios for a use case, each a specific use case instance Three levels of detail: brief, intermediate, and fully developed description Many analysts prefer to write narrative descriptions of use cases instead of drawing activity diagrams
  • 19. 7 19 Brief Description of Create New Order Use Case (Figure 7-7)
  • 20. 7 20 Intermediate Description of the Telephone Order Scenario for Create New Order Use Case (Figure 7-8)
  • 21. 7 21 Intermediate Description of the Web Order Scenario for Create New Order (Figure 7-9)
  • 23. 7 23 Top Detail from Fully Developed Use Case Description (Figure 7-10)
  • 24. 7 24 Middle Detail from Fully Developed Use Case Description (Figure 7-10)
  • 25. 7 25 Bottom Detail from Fully Developed Use Case Description (Figure 7-10)
  • 26. 7 26 Use Case Description Components Use case name/scenario name Actors/stakeholders Related use cases Preconditions – set of criteria that must be true prior to initiation of the use case Postconditions – set of criteria that must be true upon completion of the use case Flow of activities (steps in one column or two) Exception conditions
  • 27. 7 27 Activity Diagrams Used to document workflow of business process activities for each use case or scenario Standard UML 2.0 diagram as seen in Chapter 4 Can support any level of use case description; a supplement to use case descriptions Helpful in developing system sequence diagrams
  • 30. 7 30 Identifying Inputs and Outputs— The System Sequence Diagram System sequence diagram (SSD) is type of UML 2.0 interaction diagram Used to model input and output messaging requirements for a use case or scenario Shows actor interacting with system Shows sequence of interactions as messages during flow of activities System is shown as one object: a “black box”
  • 31. 7 31 System Sequence Diagram (SSD) Notation (Figure 7-14)
  • 32. 7 32 SSD Notation Actor represented by a stick figure – a person (or role) that interacts with system by entering input data and receiving output data Object is a rectangle with name of object underlined – shows individual object and not class of all similar objects ( :System for SSD ) Lifeline or object lifeline is a vertical line under object or actor to show passage of time for object Message is labeled on arrows to show messages sent to or received by actor or system
  • 33. 7 33 SSD Lifelines Vertical line under object or actor Shows passage of time If vertical line dashed Creation and destruction of thing is not important for scenario Long narrow rectangles Activation lifelines emphasize that object is active only during part of scenario
  • 34. 7 34 SSD Messages Internal events identified by the flow of objects in a scenario Requests from one actor or object to another to do some action Invoke a particular method
  • 36. 7 36 Developing a System Sequence Diagram Begin with detailed description of use case from fully developed form or activity diagram Identify input messages Describe message from external actor to system using message notation Identify and add any special conditions on input message, including iteration and true/false conditions Identify and add output return messages
  • 37. 7 37 Activity Diagram and Resulting SSD for Telephone Order Scenario (Figures 7-16 and 7-17)
  • 38. 7 38 SSD of the Web Order Scenario for the Create New Order Use Case (Figure 7-18)
  • 39. 7 39 Identifying Object Behavior— The State Machine Diagram State machine diagram is UML 2.0 diagram that models object states and transitions Complex problem domain classes can be modeled State of an object A condition that occurs during its life when it satisfies some criterion, performs some action, or waits for an event Each state has unique name and is a semipermanent condition or status Transition The movement of an object from one state to another state
  • 40. 7 40 Simple State Machine Diagram for a Printer (Figure 7-19)
  • 41. 7 41 State Machine Terminology Pseudo state – the starting point of a state machine, indicated by a black dot Origin state – the original state of an object from which the transition occurs Destination state – the state to which an object moves after the completion of a transition Message event – the trigger for a transition, which causes the object to leave the origin state Guard condition – a true/false test to see whether a transition can fire Action expression – a description of the activities performed as part of a transition
  • 42. 7 42 RMO State Machine Diagram for OrderItem Problem Domain Class
  • 43. 7 43 Composite States and Concurrency— States within a State
  • 44. 7 44 Concurrent Paths for Printer in the On State (Figure 7-21)
  • 45. 7 45 Rules for Developing State Machine Diagram Review domain class diagram, select important ones, and list all state and exit conditions Begin building state machine diagram fragments for each class Sequence fragments in correct order and review for independent and concurrent paths Expand each transition with message event, guard-condition, and action-expression Review and test each state machine diagram
  • 46. 7 46 Order Domain Class for RMO— States and Exit Transitions (Figure 7-25)
  • 47. 7 47 First-Cut State Machine Diagram for Order (Figure 7-26)
  • 48. 7 48 Second-Cut State Machine Diagram for Order (Figure 7-26)
  • 49. 7 49 Integrating Object-Oriented Models Complete use case diagram is needed to understand total scope of new system Domain model class diagrams should also be as complete as possible for entire system With iterative approach, only construct use case descriptions, activity diagrams, and system sequence diagrams for use cases in iteration Development of a new diagram often helps refine and correct previous diagrams
  • 51. 7 51 Summary Object-oriented approach has complete set of diagrams that define system requirements Requirements specified using following models Domain model class diagram (Chapter 5) Use case diagrams (Chapter 7) Use case detailed models, either descriptive formats or activity diagrams (Chapter 7) System sequence diagrams (Chapter 7) State machine diagrams (Chapter 7)