SlideShare a Scribd company logo
Chapter 5
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 5 ©2016. Cengage Learning. All rights reserved. 1
Use Case Modeling
Chapter 5
Systems Analysis and Design in a Changing World 7th Ed
Satzinger, Jackson & Burd
2
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Chapter 5: Outline
Use Case Descriptions
Activity Diagrams for Use Cases
The System Sequence Diagram—Identifying
Inputs and Outputs
SSD Notation
Use Cases and CRUD
Integrating Requirements Models
3
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Overview (1 of 2)
Chapters 3 and 4 identified and modeled the two primary
aspects of functional requirements: use cases and domain
classes
This chapter focuses on detail modelling for use cases to
document the internal steps within a use case
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
4
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Overview (2 of 2)
System sequence diagrams (SSDs) show the inputs and outputs
for each use case as messages
CRUD analysis, which correlates problem domain classes and
use cases, is an effective technique to double check that all
required use cases have been identified
Not all use cases are modelled at this level of detail. Only
model when there is complexity and a need to communicate
details
5
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Use Case Descriptions (1 of 2)
Write a brief description as shown in Chapter 3
for most use cases.
Use case Brief use case description
Create customer account User/actor enters new customer account data, and
the system assigns account number, creates a
customer record, and creates an account record.
Look up customer User/actor enters customer number, and the system
retrieves and displays customer and account data.
Process account adjustment User/actor enters order number, and the system
retrieves customer and order data; actor enters
adjustment amount, and the system creates a
transaction record for the adjustment.
6
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Use Case Descriptions (2 of 2)
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
Postconditions
Flow of activities
Exception conditions
7
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Fully
Developed
Use Case
Description:
Use case: Create
customer account
8
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Fully Developed Use Case Description Create
customer account (part 1)
Use case name: Create customer account.
Scenario: Create online customer account.
Triggering event: New customer wants to set up account online.
Brief description: Online customer creates customer account by entering basic information and then
following up with one or more addresses and a credit or debit card.
Actors: Customer.
Related use cases: Might be invoked by the Check out shopping cart use case.
Stakeholders: Accounting, Marketing, Sales.
Preconditions: Customer account subsystem must be available.
Credit/debit authorization services must be available.
Postconditions: Customer must be created and saved.
One or more Addresses must be created and saved.
Credit/debit card information must be validated.
Account must be created and saved.
Address and Account must be associated with Customer.
9
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Fully Developed Use Case Description Create
customer account (part 2)
Flow of activities: Actor System
blank 1. Customer indicates desire to create
customer account and enters basic
customer information.
2. Customer enters one or more
addresses.
3. Customer enters credit/debit card
information.
1.1 System creates a new customer.
1.2 System prompts for customer
addresses.
2.1 System creates addresses.
2.2 System prompts for
credit/debit card.
3.1 System creates account.
3.2 System verifies authorization
for credit/debit card.
3.3 System associates customer,
address, and account.
3.4 System returns valid customer
account details.
Exception
conditions:
1.1 Basic customer data are incomplete.
2.1 The address isn’t valid.
3.2 Credit/debit information isn’t valid.
Blank
10
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Use Case Description Details (1 of 2)
Use case name
Verb-noun
Scenario (if needed)
A use case can have more than one scenario (special case
or more specific path)
Triggering event
Based on event decomposition technique
Brief description
Written previously when use case was identified
Actors
One or more users from use case diagrams
11
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Use Case Description Details (2 of 2)
Related use cases <<includes>>
If one use case invokes or includes another
Stakeholders
Anyone with an interest in the use case
Preconditions
What must be true before the use case begins
Post conditions
What must be true when the use case is completed
Use for planning test case expected results
Flow of activities
The activities that go on between actor and the system
Exception conditions
Where and what can go wrong
12
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Another Fully
Developed Use
Case Description
Example: Use case
Ship items
13
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Fully Developed Use Case Description Ship items (part 1)
Use case name: Ship items.
Scenario: Ship items for a new sale.
Triggering event: Shipping is notified of a new sale to be shipped.
Brief description:
Shipping retrieves sale details, finds each item and records it is shipped, records
which items are not available, and sends shipment.
Actors: Shipping clerk.
Related use cases None.
Stakeholders: Sales, Marketing, Shipping, warehouse manager.
Preconditions:
Customer and address must exist.
Sale must exist.
Sale items must exist.
Postconditions:
Shipment is created and associated with shipper.
Shipped sale items are updated as shipped and associated with the shipment.
Unshipped items are marked as on back order.
Shipping label is verified and produced.
14
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Fully Developed Use Case Description Ship items (part 2)
Flow of activities: Actor System
blank 1. Shipping requests sale and sale item information.
2. Shipping assigns shipper.
3. For each available item, shipping records item is shipped.
4. For each unavailable item, shipping records back order.
5. Shipping requests shipping lablel supplying package size
and weight.
1.1 System looks up sale and returns customer,
address, sale, and sales item information.
2.1 System creates shipment and associates it
with the shipper.
3.1 System updates sale item as shipped and
associates it with shipment.
4.1 System updates sale item as on back order.
5.1 System produces shipping label for shipment.
5.2 System records shipment cost.
Exception
conditions:
2.1 Shipper is not available to that location, so select another.
3.1 If order item is damaged, get new item and updated item
quantity.
3.1 If item bar code isn’t scanning, shipping must enter bar
code manually.
5.1 If printing label isn’t printing correctly, the label must be
addressed manually.
blank
15
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
UML Activity
Diagram for Use
Case: Create
Customer Account
Note: this shows flow of
activities only
16
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Activity Diagram for
Ship Items Use Case
Note:
Synchronization bar
for loop
Decision diamond
17
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
UML Activity Diagram
for Use Case: Fill
shopping cart
Note: this shows use case
with <<includes>>
relationship
18
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
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, :begin underline Systemend underline, object lifeline
Messages
19
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
System Sequence Diagram (SSD) Notation
20
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
SSD Message
Examples with Loop
Frame
21
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Message Notation for SSD
[true/false condition] return-value := message-name
(parameter-list)
An asterisk (*) indicates repeating or looping of the message
Brackets [ ] indicate a true/false condition. This is a test for that
message only. If it evaluates to true, the message is sent. If it evaluates
to false, the message isn’t sent.
Message-name is the description of the requested service written as a
verb-noun.
Parameter-list (with parentheses on initiating messages and without
parentheses on return messages) shows the data that are passed with
the message.
Return-value on the same line as the message (requires :=) is used to
describe data being returned from the destination object to the source
object in response to the message.
22
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
SSD Message Examples
Opt Frame (optional)
Alt Frame
(if-else)
23
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
SSD for Create customer account Use case
24
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Use Cases and CRUD
CRUD technique –
Create
Read/Report
Update
Delete
A good cross-check against the existing set of
use cases. Used in database context
Ensure that all classes have a complete “cover” of
use cases
Not for primary identification of use cases
25
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Verifying use cases for Customer
Data entity/domain class CRUD Verified use case
Customer Create Create customer account
BLANK Read/report Look up customer
Produce customer usage report
BLANK Update Process account adjustment
Update customer account
BLANK Delete Update customer account (to archive)
26
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
CRUD Analysis: Steps
1. Identify all domain classes
2. For each class verify that use cases exist to
Create a new instance
Update existing instances
Reads or reports on information in the class
Deletes or archives inactive instances
2. Add new use cases as required. Identify responsible
stakeholders
3. Identify which application has responsibility for each
action: which to create, which to update, which to use
27
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Sample CRUD Matrix
Use case vs. entity/domain
class
Customer Account Sale Adjustment
Create customer account C C
Look up customer R R BLANK BLANK
Produce customer usage report R R R BLANK
Process account adjustment R U R C
Update customer account UD (archive) UD (archive) BLANK BLANK
28
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
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
29
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Integrating Requirements Models
30
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Summary (1 of 2)
Chapters 3 and 4 identified and modeled the two
primary aspects of functional requirements: use cases
and domain classes
This chapter focuses on models to provide details of
use cases
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
31
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
Summary (2 of 2)
System sequence diagrams (SSDs) show the inputs and
outputs for each use case as messages
CRUD analysis serves to verify that all domain classes
are fully supported by the new system, i.e. have use
cases to fully process all required actions
Not all use cases and domain classes are modelled at a
detailed level. Only model when there is complexity
and a need to communicate details.
All of the models must be consistent and integrate
together to provide a complete picture of the
requirements and specification.
32
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
RTGM System Use Cases
33
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.

More Related Content

What's hot

Ch4 req eng
Ch4 req engCh4 req eng
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
Shruti Dalela
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
software-engineering-book
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
software-engineering-book
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
Harsh Jegadeesan
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Ch 6
Ch 6Ch 6
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Mohammed Romi
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineering
snehalkulkarni74
 
Ch7
Ch7Ch7
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
software-engineering-book
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9Ian Sommerville
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
Mukesh Tekwani
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
barney92
 
Ch8.testing
Ch8.testingCh8.testing

What's hot (20)

Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Sadcw 6e chapter2
Sadcw 6e chapter2Sadcw 6e chapter2
Sadcw 6e chapter2
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Sadcw 6e chapter3
Sadcw 6e chapter3Sadcw 6e chapter3
Sadcw 6e chapter3
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Ch 6
Ch 6Ch 6
Ch 6
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineering
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Ch7
Ch7Ch7
Ch7
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 

Similar to Sadcw 7e chapter05-done

SADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptxSADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptx
SiphiweMakaNtandOlwe
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System DefinitionSandeep Ganji
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
anguraju1
 
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
 
Chapter 8Understanding User Requirements1© Karl E
Chapter 8Understanding User Requirements1© Karl EChapter 8Understanding User Requirements1© Karl E
Chapter 8Understanding User Requirements1© Karl E
JinElias52
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
Shahid Riaz
 
Use Case UML Diagram
Use Case UML DiagramUse Case UML Diagram
Use Case UML Diagram
University of Texas at Dallas
 
StructureofUseCases.ppt
StructureofUseCases.pptStructureofUseCases.ppt
StructureofUseCases.ppt
ssuser28dc54
 
BRD Detail
BRD DetailBRD Detail
BRD Detail
swati rawat
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
Tekle12
 
Cosmic sig 8 v7 pf
Cosmic sig 8 v7 pfCosmic sig 8 v7 pf
Cosmic sig 8 v7 pf
Charles Symons
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
NouraBaccar1
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Ashesh R
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
Shashikanth
 
Lec-9.ppt
Lec-9.pptLec-9.ppt

Similar to Sadcw 7e chapter05-done (20)

SADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptxSADCW_7e_Chapter03.pptx
SADCW_7e_Chapter03.pptx
 
Defining The System
Defining The SystemDefining The System
Defining The System
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System Definition
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.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
 
Chapter 8Understanding User Requirements1© Karl E
Chapter 8Understanding User Requirements1© Karl EChapter 8Understanding User Requirements1© Karl E
Chapter 8Understanding User Requirements1© Karl E
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
Sadcw 6e chapter5
Sadcw 6e chapter5Sadcw 6e chapter5
Sadcw 6e chapter5
 
Use Case UML Diagram
Use Case UML DiagramUse Case UML Diagram
Use Case UML Diagram
 
StructureofUseCases.ppt
StructureofUseCases.pptStructureofUseCases.ppt
StructureofUseCases.ppt
 
Jar chapter 3
Jar chapter 3Jar chapter 3
Jar chapter 3
 
BRD Detail
BRD DetailBRD Detail
BRD Detail
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
Cosmic sig 8 v7 pf
Cosmic sig 8 v7 pfCosmic sig 8 v7 pf
Cosmic sig 8 v7 pf
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Sap fico-fi-notes
Sap fico-fi-notesSap fico-fi-notes
Sap fico-fi-notes
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Lec-9.ppt
Lec-9.pptLec-9.ppt
Lec-9.ppt
 

Recently uploaded

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 

Recently uploaded (20)

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 

Sadcw 7e chapter05-done

  • 1. Chapter 5 Systems Analysis and Design in a Changing World, 7th Edition - Chapter 5 ©2016. Cengage Learning. All rights reserved. 1
  • 2. Use Case Modeling Chapter 5 Systems Analysis and Design in a Changing World 7th Ed Satzinger, Jackson & Burd 2 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 3. Chapter 5: Outline Use Case Descriptions Activity Diagrams for Use Cases The System Sequence Diagram—Identifying Inputs and Outputs SSD Notation Use Cases and CRUD Integrating Requirements Models 3 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 4. Overview (1 of 2) Chapters 3 and 4 identified and modeled the two primary aspects of functional requirements: use cases and domain classes This chapter focuses on detail modelling for use cases to document the internal steps within a use case 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 4 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 5. Overview (2 of 2) System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages CRUD analysis, which correlates problem domain classes and use cases, is an effective technique to double check that all required use cases have been identified Not all use cases are modelled at this level of detail. Only model when there is complexity and a need to communicate details 5 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 6. Use Case Descriptions (1 of 2) Write a brief description as shown in Chapter 3 for most use cases. Use case Brief use case description Create customer account User/actor enters new customer account data, and the system assigns account number, creates a customer record, and creates an account record. Look up customer User/actor enters customer number, and the system retrieves and displays customer and account data. Process account adjustment User/actor enters order number, and the system retrieves customer and order data; actor enters adjustment amount, and the system creates a transaction record for the adjustment. 6 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 7. Use Case Descriptions (2 of 2) 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 Postconditions Flow of activities Exception conditions 7 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 8. Fully Developed Use Case Description: Use case: Create customer account 8 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 9. Fully Developed Use Case Description Create customer account (part 1) Use case name: Create customer account. Scenario: Create online customer account. Triggering event: New customer wants to set up account online. Brief description: Online customer creates customer account by entering basic information and then following up with one or more addresses and a credit or debit card. Actors: Customer. Related use cases: Might be invoked by the Check out shopping cart use case. Stakeholders: Accounting, Marketing, Sales. Preconditions: Customer account subsystem must be available. Credit/debit authorization services must be available. Postconditions: Customer must be created and saved. One or more Addresses must be created and saved. Credit/debit card information must be validated. Account must be created and saved. Address and Account must be associated with Customer. 9 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 10. Fully Developed Use Case Description Create customer account (part 2) Flow of activities: Actor System blank 1. Customer indicates desire to create customer account and enters basic customer information. 2. Customer enters one or more addresses. 3. Customer enters credit/debit card information. 1.1 System creates a new customer. 1.2 System prompts for customer addresses. 2.1 System creates addresses. 2.2 System prompts for credit/debit card. 3.1 System creates account. 3.2 System verifies authorization for credit/debit card. 3.3 System associates customer, address, and account. 3.4 System returns valid customer account details. Exception conditions: 1.1 Basic customer data are incomplete. 2.1 The address isn’t valid. 3.2 Credit/debit information isn’t valid. Blank 10 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 11. Use Case Description Details (1 of 2) Use case name Verb-noun Scenario (if needed) A use case can have more than one scenario (special case or more specific path) Triggering event Based on event decomposition technique Brief description Written previously when use case was identified Actors One or more users from use case diagrams 11 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 12. Use Case Description Details (2 of 2) Related use cases <<includes>> If one use case invokes or includes another Stakeholders Anyone with an interest in the use case Preconditions What must be true before the use case begins Post conditions What must be true when the use case is completed Use for planning test case expected results Flow of activities The activities that go on between actor and the system Exception conditions Where and what can go wrong 12 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 13. Another Fully Developed Use Case Description Example: Use case Ship items 13 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 14. Fully Developed Use Case Description Ship items (part 1) Use case name: Ship items. Scenario: Ship items for a new sale. Triggering event: Shipping is notified of a new sale to be shipped. Brief description: Shipping retrieves sale details, finds each item and records it is shipped, records which items are not available, and sends shipment. Actors: Shipping clerk. Related use cases None. Stakeholders: Sales, Marketing, Shipping, warehouse manager. Preconditions: Customer and address must exist. Sale must exist. Sale items must exist. Postconditions: Shipment is created and associated with shipper. Shipped sale items are updated as shipped and associated with the shipment. Unshipped items are marked as on back order. Shipping label is verified and produced. 14 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 15. Fully Developed Use Case Description Ship items (part 2) Flow of activities: Actor System blank 1. Shipping requests sale and sale item information. 2. Shipping assigns shipper. 3. For each available item, shipping records item is shipped. 4. For each unavailable item, shipping records back order. 5. Shipping requests shipping lablel supplying package size and weight. 1.1 System looks up sale and returns customer, address, sale, and sales item information. 2.1 System creates shipment and associates it with the shipper. 3.1 System updates sale item as shipped and associates it with shipment. 4.1 System updates sale item as on back order. 5.1 System produces shipping label for shipment. 5.2 System records shipment cost. Exception conditions: 2.1 Shipper is not available to that location, so select another. 3.1 If order item is damaged, get new item and updated item quantity. 3.1 If item bar code isn’t scanning, shipping must enter bar code manually. 5.1 If printing label isn’t printing correctly, the label must be addressed manually. blank 15 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 16. UML Activity Diagram for Use Case: Create Customer Account Note: this shows flow of activities only 16 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 17. Activity Diagram for Ship Items Use Case Note: Synchronization bar for loop Decision diamond 17 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 18. UML Activity Diagram for Use Case: Fill shopping cart Note: this shows use case with <<includes>> relationship 18 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 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, :begin underline Systemend underline, object lifeline Messages 19 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 20. System Sequence Diagram (SSD) Notation 20 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 21. SSD Message Examples with Loop Frame 21 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 22. Message Notation for SSD [true/false condition] return-value := message-name (parameter-list) An asterisk (*) indicates repeating or looping of the message Brackets [ ] indicate a true/false condition. This is a test for that message only. If it evaluates to true, the message is sent. If it evaluates to false, the message isn’t sent. Message-name is the description of the requested service written as a verb-noun. Parameter-list (with parentheses on initiating messages and without parentheses on return messages) shows the data that are passed with the message. Return-value on the same line as the message (requires :=) is used to describe data being returned from the destination object to the source object in response to the message. 22 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 23. SSD Message Examples Opt Frame (optional) Alt Frame (if-else) 23 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 24. SSD for Create customer account Use case 24 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 25. Use Cases and CRUD CRUD technique – Create Read/Report Update Delete A good cross-check against the existing set of use cases. Used in database context Ensure that all classes have a complete “cover” of use cases Not for primary identification of use cases 25 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 26. Verifying use cases for Customer Data entity/domain class CRUD Verified use case Customer Create Create customer account BLANK Read/report Look up customer Produce customer usage report BLANK Update Process account adjustment Update customer account BLANK Delete Update customer account (to archive) 26 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 27. CRUD Analysis: Steps 1. Identify all domain classes 2. For each class verify that use cases exist to Create a new instance Update existing instances Reads or reports on information in the class Deletes or archives inactive instances 2. Add new use cases as required. Identify responsible stakeholders 3. Identify which application has responsibility for each action: which to create, which to update, which to use 27 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 28. Sample CRUD Matrix Use case vs. entity/domain class Customer Account Sale Adjustment Create customer account C C Look up customer R R BLANK BLANK Produce customer usage report R R R BLANK Process account adjustment R U R C Update customer account UD (archive) UD (archive) BLANK BLANK 28 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 29. 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 29 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 30. Integrating Requirements Models 30 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 31. Summary (1 of 2) Chapters 3 and 4 identified and modeled the two primary aspects of functional requirements: use cases and domain classes This chapter focuses on models to provide details of use cases 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 31 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 32. Summary (2 of 2) System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages CRUD analysis serves to verify that all domain classes are fully supported by the new system, i.e. have use cases to fully process all required actions Not all use cases and domain classes are modelled at a detailed level. Only model when there is complexity and a need to communicate details. All of the models must be consistent and integrate together to provide a complete picture of the requirements and specification. 32 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.
  • 33. RTGM System Use Cases 33 Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved.