SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Chapter 5

Systems Analysis and Design in a Changing World, 6t
1
Extending the
Requirements Models

Chapter 5
Systems Analysis and Design
in a Changing World 6th Ed
Satzinger, Jackson & Burd
Chapter 5 Outline
 Use

Case Descriptions
 Activity Diagrams for Use Cases
 The System Sequence Diagram—
Identifying Inputs and Outputs
 The State Machine Diagram—Identifying
Object Behavior
 Integrating Requirements Models

Systems Analysis and Design in a Changing World, 6t
3
Learning Objectives
 Write

fully developed use case descriptions
 Develop activity diagrams to model flow of
activities
 Develop system sequence diagrams
 Develop state machine diagrams to model
object behavior
 Explain how use case descriptions and UML
diagrams work together to define functional
requirements

Systems Analysis and Design in a Changing World, 6t
4
Overview








Chapters 3 and 4 identified and modeled the two primary
aspects of functional requirements: use cases and
domain classes
This chapter focuses on additional techniques and
models to extend the requirements models to show more
detail
Fully developed use case descriptions provide
information about each use case, including actors,
stakeholders, preconditions, post conditions, the flow of
activities and exceptions conditions
Activity diagrams (first shown in Chapter 2) can also be
used to show the flow of activities for a use case

Systems Analysis and Design in a Changing World, 6t
5
Overview (continued)










System sequence diagrams (SSDs) show the inputs and
outputs for each use case as messages
State machine diagrams show the states an object can
be in over time between use cases
Use cases are modeled in more detail using fully
developed use case descriptions, activity diagrams, and
system sequence diagrams
Domain classes are modeled in more detail using state
machine diagrams
Not all use cases and domain classes are modeled at
this level of detail. Only model when there is complexity
and a need to communicate details

Systems Analysis and Design in a Changing World, 6t
6
Use Case Descriptions


Write a brief description as shown in Chapter 3
for most use cases.

Systems Analysis and Design in a Changing World, 6t
7
Use Case Descriptions



Write a fully developed use case description for more
complex use cases
Typical use case description templates include:












Use case name
Scenario (if needed)
Triggering event
Brief description
Actors
Related use cases (<<includes>>)
Stakeholders
Preconditions
Post conditions
Flow of activities
Exception conditions

Systems Analysis and Design in a Changing World, 6t
8
Fully
Developed
Use Case
Description
Use case: Create
customer
account

Systems Analysis and Design in a Changing World, 6t
9
Fully Developed Use Case Description
Create customer account (part 1 )

Systems Analysis and Design in a Changing World, 6t
10
Fully Developed Use Case Description
Create customer account (part 2 )

Systems Analysis and Design in a Changing World, 6t
11
Use Case Description Details


Related use cases <<includes>>




Stakeholders






What must be true when the use case is completed
Use for planning test case expected results

Flow of activities




What must be true before the use case begins

Post conditions




Anyone with an interest in the use case

Preconditions




If one use case invokes or includes another

The activities that go on between actor and the system

Exception conditions


Where and what can go wrong

Systems Analysis and Design in a Changing World, 6t
12
Use Case Description Details


Use case name




Scenario (if needed)




Based on event decomposition technique

Brief description




A use case can have more than one scenario
(special case or more specific path)

Triggering event




Verb-noun

Written previously when use case was identified

Actors


One or more users from use case diagrams

Systems Analysis and Design in a Changing World, 6t
13
Another
Fully
Developed
Use Case
Description
Example
Use case
Ship items

Systems Analysis and Design in a Changing World, 6t
14
Fully Developed Use Case Description
Ship items (part 1 )

Systems Analysis and Design in a Changing World, 6t
15
Fully Developed Use Case Description
Ship items (part 2 )

Systems Analysis and Design in a Changing World, 6t
16
UML
Activity
Diagram for
Use Case
Create
Customer
Account
Note: this
shows flow of
activities only

Systems Analysis and Design in a Changing World, 6t
17
UML Activity
Diagram for
Use Case
Fill shopping
cart
Note: this shows
use case with
<<includes>>
reltionship

Systems Analysis and Design in a Changing World, 6t
18
System Sequence Diagram (SSD)
A

UML sequence diagram
 Special case for a sequence diagram




Only shows actor and one object
The one object represents the complete system
Shows input & output messaging requirements
for a use case

 Actor,

:System, object lifeline
 Messages

Systems Analysis and Design in a Changing World, 6t
19
System Sequence Diagram (SSD)
Notation

Systems Analysis and Design in a Changing World, 6t
20
Message Notation

Systems Analysis and Design in a Changing World, 6t
21
SSD
Message
Examples
with Loop
Frame

Systems Analysis and Design in a Changing World, 6t
22
SSD
Message
Examples
Opt Frame
(optional)
Alt Frame
(if-else)

Systems Analysis and Design in a Changing World, 6t
23
Steps for Developing SSD
1.

Identify input message


2.

Describe the message from the external actor to
the system using the message notation



3.

Name it verb-noun: what the system is asked to do
Consider parameters the system will need

Identify any special conditions on input messages



4.

See use case flow of activities or activity diagram

Iteration/loop frame
Opt or Alt frame

Identify and add output return values



On message itself: aValue:= getValue(valueID)
As explicit return on separate dashed line

Systems Analysis and Design in a Changing World, 6t
24
SSD for Create customer account
Use case

Systems Analysis and Design in a Changing World, 6t
25
SSD for
Ship items
Use Case

Systems Analysis and Design in a Changing World, 6t
26
State Machine Diagram


State machine diagram




State




A condition during an object’s life when it satisfies some
criterion, performs some action, or waits for an event

Transition




A UML diagram showing the life of an object in states
and transitions

The movement of an object from one state to another
state

Action Expression


A description of activities performed as part of a transition

Systems Analysis and Design in a Changing World, 6t
27
State Machine Diagram (continued)


Pseudo state




Origin state




The original state of an object before transition

Destination state




The starting point of a state machine diagram (black dot)

The state to which the object moves after the transition

Guard condition


A true false test to see whether a transition can fire

Systems Analysis and Design in a Changing World, 6t
28
State Machine Diagram
for a Printer

Systems Analysis and Design in a Changing World, 6t
29
Composite States



State containing other states and transitions
Printer can be On and either Idle or Working

Systems Analysis and Design in a Changing World, 6t
30
Concurrent Paths



Multiple paths in composite state
Printer On paths are independent

Systems Analysis and Design in a Changing World, 6t
31
Steps for Developing State
Machine Diagram
1.
2.
3.

4.
5.

Review the class diagram and select classes that
might require state machine diagrams
For each class, make a list of status conditions
(states) you can identify
Begin building diagram fragments by identifying
transitions that cause an object to leave the
identified state
Sequence these states in the correct order and
aggregate combinations into larger fragments
Review paths and look for independent,
concurrent paths

Systems Analysis and Design in a Changing World, 6t
32
Steps for Developing State
Machine Diagram (continued)
6.
7.
8.

Look for additional transitions and test both
directions
Expand each transition with appropriate message
event, guard condition, and action expression
Review and test the state machine diagram for
the class





Make sure state are really state for the object in the
class
Follow the life cycle of an object coming into existence
and being deleted
Be sure the diagram covers all exception condition
Look again for concurrent paths and composite states

Systems Analysis and Design in a Changing World, 6t
33
RMO Domain Class States for
SaleItem Object

Systems Analysis and Design in a Changing World, 6t
34
Final State Machine Diagram for
SaleItem Object



addItem() and archive() transitions added
markBackOrdered() transition added

Systems Analysis and Design in a Changing World, 6t
35
RMO Domain Class States for
Sale Object

Systems Analysis and Design in a Changing World, 6t
36
Initial State Machine Diagram for
RMO Sale Object

Systems Analysis and Design in a Changing World, 6t
37
Final State Machine Diagram for
Sale Object

Systems Analysis and Design in a Changing World, 6t
38
Extending and Integrating
Requirements Models
 Use


cases

Use case diagram
Use case description
 Activity diagram
 System sequence diagram (SSD)


 Domain


Classes

Domain model class diagram


State machine diagram

Systems Analysis and Design in a Changing World, 6t
39
Integrating Requirements Models

Systems Analysis and Design in a Changing World, 6t
40
Summary








Chapters 3 and 4 identified and modeled the two primary
aspects of functional requirements: use cases and
domain classes
This chapter focuses on additional techniques and
models to extend the requirements models to show more
detail
Fully developed use case descriptions provide
information about each use case, including actors,
stakeholders, preconditions, post conditions, the flow of
activities and exceptions conditions
Activity diagrams (first shown in Chapter 2) can also be
used to show the flow of activities for a use case

Systems Analysis and Design in a Changing World, 6t
41
Summary (continued)










System sequence diagrams (SSDs) show the inputs and
outputs for each use case as messages
State machine diagrams show the states an object can
be in over time between use cases
Use cases are modeled in more detail using fully
developed use case descriptions, activity diagrams, and
system sequence diagrams
Domain classes are modeled in more detail using state
machine diagrams
Not all use cases and domain classes are modeled at
this level of detail. Only model when there is complexity
and a need to communicate details

Systems Analysis and Design in a Changing World, 6t
42

Weitere ähnliche Inhalte

Was ist angesagt?

Data base management system
Data base management systemData base management system
Data base management system
Navneet Jingar
 

Was ist angesagt? (20)

Sadcw 6e chapter4
Sadcw 6e chapter4Sadcw 6e chapter4
Sadcw 6e chapter4
 
Database Concepts and Components
Database Concepts and ComponentsDatabase Concepts and Components
Database Concepts and Components
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Programing Style
Programing StylePrograming Style
Programing Style
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
Uml
UmlUml
Uml
 
Encapsulation of operations, methods & persistence
Encapsulation of operations, methods & persistenceEncapsulation of operations, methods & persistence
Encapsulation of operations, methods & persistence
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOAD
 
Unit 1
Unit 1Unit 1
Unit 1
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
Sadcw 6e chapter1
Sadcw 6e chapter1Sadcw 6e chapter1
Sadcw 6e chapter1
 
File system vs DBMS
File system vs DBMSFile system vs DBMS
File system vs DBMS
 
Sadcw 6e chapter2
Sadcw 6e chapter2Sadcw 6e chapter2
Sadcw 6e chapter2
 
State Diagram
State DiagramState Diagram
State Diagram
 
Data base management system
Data base management systemData base management system
Data base management system
 
Jdbc
JdbcJdbc
Jdbc
 
Deployment Diagram
Deployment DiagramDeployment Diagram
Deployment Diagram
 
MapReduce in Cloud Computing
MapReduce in Cloud ComputingMapReduce in Cloud Computing
MapReduce in Cloud Computing
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Class diagram
Class diagramClass diagram
Class diagram
 

Andere mochten auch

System Analysis and Design
System Analysis and Design System Analysis and Design
System Analysis and Design
Matthew McKenzie
 
Nc3 adl 2013 successful project bus req
Nc3 adl 2013 successful project bus reqNc3 adl 2013 successful project bus req
Nc3 adl 2013 successful project bus req
Karen McPhaul
 
Lecture 12b Use Case Example
Lecture 12b  Use  Case  ExampleLecture 12b  Use  Case  Example
Lecture 12b Use Case Example
Zeeshan Javaid
 

Andere mochten auch (16)

System Analysis and Design
System Analysis and Design System Analysis and Design
System Analysis and Design
 
11 si(systems analysis and design )
11 si(systems analysis and design )11 si(systems analysis and design )
11 si(systems analysis and design )
 
Sadcw 6e chapter6
Sadcw 6e chapter6Sadcw 6e chapter6
Sadcw 6e chapter6
 
Sadcw 6e chapter9
Sadcw 6e chapter9Sadcw 6e chapter9
Sadcw 6e chapter9
 
Sadcw 6e chapter8
Sadcw 6e chapter8Sadcw 6e chapter8
Sadcw 6e chapter8
 
Nc3 adl 2013 successful project bus req
Nc3 adl 2013 successful project bus reqNc3 adl 2013 successful project bus req
Nc3 adl 2013 successful project bus req
 
Lecture05
Lecture05Lecture05
Lecture05
 
Lecture 12b Use Case Example
Lecture 12b  Use  Case  ExampleLecture 12b  Use  Case  Example
Lecture 12b Use Case Example
 
Be Familiar with the Chartered Accountancy Course
Be Familiar with the Chartered Accountancy CourseBe Familiar with the Chartered Accountancy Course
Be Familiar with the Chartered Accountancy Course
 
06 si(systems analysis and design )
06 si(systems analysis and design )06 si(systems analysis and design )
06 si(systems analysis and design )
 
Sadcw 6e chapter7
Sadcw 6e chapter7Sadcw 6e chapter7
Sadcw 6e chapter7
 
Using Rational Requisite Pro to Manage Projects
Using Rational Requisite Pro to Manage ProjectsUsing Rational Requisite Pro to Manage Projects
Using Rational Requisite Pro to Manage Projects
 
10 si(systems analysis and design )
10 si(systems analysis and design )10 si(systems analysis and design )
10 si(systems analysis and design )
 
System Analysis and Design 6th edition chapter 14
System Analysis and Design 6th edition chapter 14System Analysis and Design 6th edition chapter 14
System Analysis and Design 6th edition chapter 14
 
Project: Call Center Management
Project: Call Center ManagementProject: Call Center Management
Project: Call Center Management
 
Ds sn is-02
Ds sn is-02Ds sn is-02
Ds sn is-02
 

Ähnlich wie Sadcw 6e chapter5

Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
jsm1979
 
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 woFinancial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
ChereCheek752
 

Ähnlich wie Sadcw 6e chapter5 (20)

Chapter06
Chapter06Chapter06
Chapter06
 
07 si(systems analysis and design )
07 si(systems analysis and design )07 si(systems analysis and design )
07 si(systems analysis and design )
 
Module-2 PPT.ppt
Module-2 PPT.pptModule-2 PPT.ppt
Module-2 PPT.ppt
 
Chap 6 lesson5emsysnewstatemachinefsm
Chap 6 lesson5emsysnewstatemachinefsmChap 6 lesson5emsysnewstatemachinefsm
Chap 6 lesson5emsysnewstatemachinefsm
 
Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)Sadcw 7e chapter03-done(1)
Sadcw 7e chapter03-done(1)
 
Week 5
Week 5Week 5
Week 5
 
Uml and enterprise architect
Uml and enterprise architectUml and enterprise architect
Uml and enterprise architect
 
SADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptxSADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptx
 
Jar chapter 4_part_ii
Jar chapter 4_part_iiJar chapter 4_part_ii
Jar chapter 4_part_ii
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
 
The Traditional Approach to Requirement
The Traditional Approach to RequirementThe Traditional Approach to Requirement
The Traditional Approach to Requirement
 
10.1.1.135.9447
10.1.1.135.944710.1.1.135.9447
10.1.1.135.9447
 
MBSE with Arcadia method step-by-step System Analysis.pdf
MBSE with Arcadia method step-by-step System Analysis.pdfMBSE with Arcadia method step-by-step System Analysis.pdf
MBSE with Arcadia method step-by-step System Analysis.pdf
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
Lecture-System_Contracts.pptx
Lecture-System_Contracts.pptxLecture-System_Contracts.pptx
Lecture-System_Contracts.pptx
 
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 woFinancial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
Financial Analysis of Berlin Brandenburg AirportTotal of 3000 wo
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
Ch08
Ch08Ch08
Ch08
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Sadcw 6e chapter5

  • 1. Chapter 5 Systems Analysis and Design in a Changing World, 6t 1
  • 2. Extending the Requirements Models Chapter 5 Systems Analysis and Design in a Changing World 6th Ed Satzinger, Jackson & Burd
  • 3. Chapter 5 Outline  Use Case Descriptions  Activity Diagrams for Use Cases  The System Sequence Diagram— Identifying Inputs and Outputs  The State Machine Diagram—Identifying Object Behavior  Integrating Requirements Models Systems Analysis and Design in a Changing World, 6t 3
  • 4. Learning Objectives  Write fully developed use case descriptions  Develop activity diagrams to model flow of activities  Develop system sequence diagrams  Develop state machine diagrams to model object behavior  Explain how use case descriptions and UML diagrams work together to define functional requirements Systems Analysis and Design in a Changing World, 6t 4
  • 5. Overview     Chapters 3 and 4 identified and modeled the two primary aspects of functional requirements: use cases and domain classes This chapter focuses on additional techniques and models to extend the requirements models to show more detail Fully developed use case descriptions provide information about each use case, including actors, stakeholders, preconditions, post conditions, the flow of activities and exceptions conditions Activity diagrams (first shown in Chapter 2) can also be used to show the flow of activities for a use case Systems Analysis and Design in a Changing World, 6t 5
  • 6. Overview (continued)      System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages State machine diagrams show the states an object can be in over time between use cases Use cases are modeled in more detail using fully developed use case descriptions, activity diagrams, and system sequence diagrams Domain classes are modeled in more detail using state machine diagrams Not all use cases and domain classes are modeled at this level of detail. Only model when there is complexity and a need to communicate details Systems Analysis and Design in a Changing World, 6t 6
  • 7. Use Case Descriptions  Write a brief description as shown in Chapter 3 for most use cases. Systems Analysis and Design in a Changing World, 6t 7
  • 8. Use Case Descriptions   Write a fully developed use case description for more complex use cases Typical use case description templates include:            Use case name Scenario (if needed) Triggering event Brief description Actors Related use cases (<<includes>>) Stakeholders Preconditions Post conditions Flow of activities Exception conditions Systems Analysis and Design in a Changing World, 6t 8
  • 9. Fully Developed Use Case Description Use case: Create customer account Systems Analysis and Design in a Changing World, 6t 9
  • 10. Fully Developed Use Case Description Create customer account (part 1 ) Systems Analysis and Design in a Changing World, 6t 10
  • 11. Fully Developed Use Case Description Create customer account (part 2 ) Systems Analysis and Design in a Changing World, 6t 11
  • 12. Use Case Description Details  Related use cases <<includes>>   Stakeholders    What must be true when the use case is completed Use for planning test case expected results Flow of activities   What must be true before the use case begins Post conditions   Anyone with an interest in the use case Preconditions   If one use case invokes or includes another The activities that go on between actor and the system Exception conditions  Where and what can go wrong Systems Analysis and Design in a Changing World, 6t 12
  • 13. Use Case Description Details  Use case name   Scenario (if needed)   Based on event decomposition technique Brief description   A use case can have more than one scenario (special case or more specific path) Triggering event   Verb-noun Written previously when use case was identified Actors  One or more users from use case diagrams Systems Analysis and Design in a Changing World, 6t 13
  • 14. Another Fully Developed Use Case Description Example Use case Ship items Systems Analysis and Design in a Changing World, 6t 14
  • 15. Fully Developed Use Case Description Ship items (part 1 ) Systems Analysis and Design in a Changing World, 6t 15
  • 16. Fully Developed Use Case Description Ship items (part 2 ) Systems Analysis and Design in a Changing World, 6t 16
  • 17. UML Activity Diagram for Use Case Create Customer Account Note: this shows flow of activities only Systems Analysis and Design in a Changing World, 6t 17
  • 18. UML Activity Diagram for Use Case Fill shopping cart Note: this shows use case with <<includes>> reltionship Systems Analysis and Design in a Changing World, 6t 18
  • 19. System Sequence Diagram (SSD) A UML sequence diagram  Special case for a sequence diagram    Only shows actor and one object The one object represents the complete system Shows input & output messaging requirements for a use case  Actor, :System, object lifeline  Messages Systems Analysis and Design in a Changing World, 6t 19
  • 20. System Sequence Diagram (SSD) Notation Systems Analysis and Design in a Changing World, 6t 20
  • 21. Message Notation Systems Analysis and Design in a Changing World, 6t 21
  • 22. SSD Message Examples with Loop Frame Systems Analysis and Design in a Changing World, 6t 22
  • 23. SSD Message Examples Opt Frame (optional) Alt Frame (if-else) Systems Analysis and Design in a Changing World, 6t 23
  • 24. Steps for Developing SSD 1. Identify input message  2. Describe the message from the external actor to the system using the message notation   3. Name it verb-noun: what the system is asked to do Consider parameters the system will need Identify any special conditions on input messages   4. See use case flow of activities or activity diagram Iteration/loop frame Opt or Alt frame Identify and add output return values   On message itself: aValue:= getValue(valueID) As explicit return on separate dashed line Systems Analysis and Design in a Changing World, 6t 24
  • 25. SSD for Create customer account Use case Systems Analysis and Design in a Changing World, 6t 25
  • 26. SSD for Ship items Use Case Systems Analysis and Design in a Changing World, 6t 26
  • 27. State Machine Diagram  State machine diagram   State   A condition during an object’s life when it satisfies some criterion, performs some action, or waits for an event Transition   A UML diagram showing the life of an object in states and transitions The movement of an object from one state to another state Action Expression  A description of activities performed as part of a transition Systems Analysis and Design in a Changing World, 6t 27
  • 28. State Machine Diagram (continued)  Pseudo state   Origin state   The original state of an object before transition Destination state   The starting point of a state machine diagram (black dot) The state to which the object moves after the transition Guard condition  A true false test to see whether a transition can fire Systems Analysis and Design in a Changing World, 6t 28
  • 29. State Machine Diagram for a Printer Systems Analysis and Design in a Changing World, 6t 29
  • 30. Composite States   State containing other states and transitions Printer can be On and either Idle or Working Systems Analysis and Design in a Changing World, 6t 30
  • 31. Concurrent Paths   Multiple paths in composite state Printer On paths are independent Systems Analysis and Design in a Changing World, 6t 31
  • 32. Steps for Developing State Machine Diagram 1. 2. 3. 4. 5. Review the class diagram and select classes that might require state machine diagrams For each class, make a list of status conditions (states) you can identify Begin building diagram fragments by identifying transitions that cause an object to leave the identified state Sequence these states in the correct order and aggregate combinations into larger fragments Review paths and look for independent, concurrent paths Systems Analysis and Design in a Changing World, 6t 32
  • 33. Steps for Developing State Machine Diagram (continued) 6. 7. 8. Look for additional transitions and test both directions Expand each transition with appropriate message event, guard condition, and action expression Review and test the state machine diagram for the class     Make sure state are really state for the object in the class Follow the life cycle of an object coming into existence and being deleted Be sure the diagram covers all exception condition Look again for concurrent paths and composite states Systems Analysis and Design in a Changing World, 6t 33
  • 34. RMO Domain Class States for SaleItem Object Systems Analysis and Design in a Changing World, 6t 34
  • 35. Final State Machine Diagram for SaleItem Object   addItem() and archive() transitions added markBackOrdered() transition added Systems Analysis and Design in a Changing World, 6t 35
  • 36. RMO Domain Class States for Sale Object Systems Analysis and Design in a Changing World, 6t 36
  • 37. Initial State Machine Diagram for RMO Sale Object Systems Analysis and Design in a Changing World, 6t 37
  • 38. Final State Machine Diagram for Sale Object Systems Analysis and Design in a Changing World, 6t 38
  • 39. Extending and Integrating Requirements Models  Use  cases Use case diagram Use case description  Activity diagram  System sequence diagram (SSD)   Domain  Classes Domain model class diagram  State machine diagram Systems Analysis and Design in a Changing World, 6t 39
  • 40. Integrating Requirements Models Systems Analysis and Design in a Changing World, 6t 40
  • 41. Summary     Chapters 3 and 4 identified and modeled the two primary aspects of functional requirements: use cases and domain classes This chapter focuses on additional techniques and models to extend the requirements models to show more detail Fully developed use case descriptions provide information about each use case, including actors, stakeholders, preconditions, post conditions, the flow of activities and exceptions conditions Activity diagrams (first shown in Chapter 2) can also be used to show the flow of activities for a use case Systems Analysis and Design in a Changing World, 6t 41
  • 42. Summary (continued)      System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages State machine diagrams show the states an object can be in over time between use cases Use cases are modeled in more detail using fully developed use case descriptions, activity diagrams, and system sequence diagrams Domain classes are modeled in more detail using state machine diagrams Not all use cases and domain classes are modeled at this level of detail. Only model when there is complexity and a need to communicate details Systems Analysis and Design in a Changing World, 6t 42