1 from business to system use cases presented by leslie munday
Post on 22-Dec-2015
217 views
TRANSCRIPT
1P.R.CP.R.C
From Business To System Use Cases
Presented by
Leslie Munday
2P.R.CP.R.C
Agenda/Contents
• The purpose of this presentation is to give an overview of the connection between the Business Modeling, Enterprise Architecture and Requirements disciplines of the PRC Dev Case.
• In the next two hours we will cover:– Business Use Cases (BUCs)– Traceability From BUCs To Stakeholder Requirements– Allocation Of Business Activities– Candidate System Use Cases (CSUCs)– Traceability From CSUCs To BUCs– System Use Cases (SUCs)– Traceability From SUCs To BUCs
3P.R.CP.R.C
Intended Audience
• This presentation will demonstrate how AWS relates business use cases to system use cases.
• At the end of this presentation you will understand how to:– allocate business activity to systems;– create a candidate system use case model;– manage traceability between BUCs and SUCs.
4P.R.CP.R.C
Prerequisites
• In order to fully understand this presentation you should have previous experience with:– Business use case modeling.– System use case modeling.– Modeling with Rational Rose.– Managing traceability with RequisitePro.
5P.R.CP.R.C
Use Cases RevisitedWhat is a Use Case• Primary actor - Initiates the use case• Secondary actors - Interfaces with the use case• Precondition - The state immediately before the use
case begins• Basic flow step - A required step in the use case flow• Alternative flow step - An unexpected step in the use
case flow• Postcondition(s) - A state immediately after the use
case completes.
6P.R.CP.R.C
Types Of Use Case
• Business(BUC) – Describes a story involving the interaction of people and the things they are manipulating or using.
• System(SUC):– Describes a story of an interaction between an
actor (could be a person or a machine) and the system being constructed.
– System use cases are the result of a desire to automate parts of business use case.
• Candidate System Use Case(CSUC):– An allocation of a BUC step to a SUC.
7P.R.CP.R.C
Rose-ReqPro Association• Associate package to project.• Disassociate package from Project.
8P.R.CP.R.C
Use Case–ReqPro Association• New – Create item in ReqPro. • Associate – Link to ReqPro item.• Open – Display associated ReqPro item.• Disassociate – Unlink from associated ReqPro item.
9P.R.CP.R.C
Use Case-ReqPro Commands
• Requirement Properties → New - Creates an associated ReqPro requirement of the appropriate type (SUC or BUC).
• Use Case Document → New – Creates a use case specification of the appropriate type (SUC or BUC) and creates an associated ReqPro requirement.
• Requirement Properties → Associate – Links the use case to a ReqPro requirement.
• Use Case Document → Associate - Links the use case to a ReqPro to a Specification.
• View RequisitePro Association – Shows you which project this use case is linked to.
11P.R.CP.R.C
Activity Diagrams
• Describe the steps in a use case, as activities connected by transitions.
• Show alternate flows, as transitions leaving decision boxes.• Show parallel activities with synchronization bars.• Indicate the preconditions to the use case, as a start state.• Indicate postconditions of the use case, as end states.• Show who performs the business activities, and what systems
they are allocated to by placing activities in swimlanes.• (Optionally) Defines objects that are produced and consumed
by activities.
13P.R.CP.R.C
A BUC Activity DiagramPatron Has Book
BUCS21.Requesting Customer Details
Patron Returns Book
BUCS23.Changing Patron Record
BUCS25.Filing Customer Record
BUCS26.Informing Patron That Book Is Checked-In
Book Checked-In
Book Status?
Details Returned
[ Checked-Out To Patron ]BUCS22.Finding Who Book Is
Checked To
[ Not Checked-Out To Patron ]
BUCS24.Changing Check-Out Details
Book Check-Out Details Returned
Return Book Activity Diagram
Record Filed Patron Informed
Record Updated
14P.R.CP.R.C
A System Use Case Diagram
Patron Service RepDisplay Customer Details
Patron Service Rep Update Customer Information
Patron Service Rep
Patron Service RepDelete Customer Records
Patron System
Patron SystemCreate Record For New Customer
15P.R.CP.R.C
What Is The Connection?
• Steps in a BUC must be realized by a SUC, otherwise they are manual activities.
• The SUC automates steps in a BUC in an order to reduce:– manual effort.– the risk of making mistakes.– duplication of work.– other factors (cost, speed, etc).
16P.R.CP.R.C
Swimlanes In Business Activity Diagrams
• Swimlanes allow the activities in the BUC to be allocated to actors.
• Actors may be people or systems.• Add a swimlane for each actor, worker
and potential system that will perform and activity.
• Place the activity in its appropriate swimlane.
17P.R.CP.R.C
Swimlane ExamplePatron Has Book
Book Checked-In
Book
Optional, add objects if it helps to clarif y the diagram.
Requesting Customer Details
<<Automate>>
Patron Returns Book
Book Status
Details Returned
Changing Check-Out Details
<<Automate>>
Filing Customer Record
<<Automate>>
Finding Who Book Is Checked To
<<Automate>>
[ Not Checked-Out To Customer ]
Book Check-Out Details ReturnedChanging Patron Record
<<Automate>>
[ Checked-Out To Customer ]
Record Updated
Record Updated
Inf orming Patron Book Checked-In
<<Manual>>
Automated by the Patron Sy stem
Not automated, the librarian continues to perf orm this activ ity .
Record Filed Patron Inf ormed
: Librarian : Patron System : Patron
18P.R.CP.R.C
Linking BUCs And SUCs
• Create a requirement specification in ReqPro for the BUC.
• Create a requirement in ReqPro for the SUC.• Open the properties window for the SUC and
add a Trace From BUC link.OR• Open the properties window for the BUC and
add Trace To SUC link.• A BUC will have many SUC links. A SUC may
have many BUC links.
19P.R.CP.R.C
Create Requirements For Steps
• Each activity in the BUC has an equivalent step in the BUC specification.
• Each step in the BUC specification is associated with an equivalent requirement in the ReqPro BUC package.
• Each activity is labeled with the identifier given by ReqPro to the equivalent requirement.
21P.R.CP.R.C
Activity Diagram With Identifiers
Patron Has Book
Book Checked-In
Book : Book
Customer Record : Patron Info
Customer Id : Patron Info
Customer Record : Patron Info
BUCS1.Requesting Patron Details
Patron Returns Book
Book Status?
BUCS4.Changing Customer Record
[ Checked-Out To Patron ]
Return Book BUC w ith sw imlanes
Customer Id : Patron Info
BUCS5.Informing Patron That Book Is Checked-In
BUCS3: Checking Status
Details Returned
BUCS9.Changing Check-Out Details
Customer Record : Patron Info
BUCS6.Filing Customer Record
BUCS8.Finding Who Book Is Checked To
[ Not Checked-Out To Patron ]
Customer Record : Patron Info
BUCS2: Retrieving Customer Details
: Library Database
Record FiledPatron Informed
Record Updated
Book Check-Out Details Returned
: Library Worker : Desk Attendant : Patron
23P.R.CP.R.C
Candidate System Use Cases
• Are how we get from BUCs to SUCs in Rational Rose.
• In the Candidate System Use Case Package, a CSUC exists for each activity in the BUC activity diagram.
• The CSUC is given the same name as the activity (including identifier).
• The CSUC is not linked to the BUC Activity, so we use a SoDA report to check consistency.
• Using the trace to link in the CSUC requirement, the CSUC is linked to the actual SUCs.)
24P.R.CP.R.C
Business Allocation Diagram
• Shows activities allocated to candidate systems
Patron Has Book
Book Checked-In
Book : Book
Optional, add objects if it helps to clarif y the diagram.
BUCS1.Requesting Patron Details
<<Automate>>
Patron Returns Book
Book Status?
Details Returned
BUCS9.Changing Check-Out Details
<<Automate>>
BUCS6.Filing Customer Record
<<Automate>>
BUCS8.Finding Who Book Is Checked To
<<Automate>>
Book Check-Out Details ReturnedBUCS4.Changing Customer Record
<<Automate>>
Return Book BUC with swimlanes
BUCS5.Informing Patron That Book Is Checked-In
<<Manual>>
Automated by the Patron System
Not automated, the librarian continues to perf orm this activ ity .
Record Filed
Record Updated
Patron Inf ormed
[ Not Checked-Out To Patron ]
[ Checked-Out To Patron ]
: LibrarianPatron System : Patron
25P.R.CP.R.C
CSUC Diagram• Shows CSUCs Traced to the BUC
BUCS2.Requesting Patron Details
BUCS9.Changing Check-Out Details
BUCS8.Finding Who Book Is Checked Out To
BUCS4.Changing Customer Record
BUCS6.Filing Customer Record
Return Book
26P.R.CP.R.C
SoDA Report Of Rose Traceability
Return Book :BUCS1.Requesting Patron Details => BUCS1.Requesting Patron
DetailsTraceability to Return Book found.BUCS4.Changing Customer Record => BUCS4.Changing
Customer Record Traceability to Return Book found.BUCS6.Filing Customer Record => CS6.Filing Customer Record Traceability to Return Book found.BUCS8.Finding Who Book Is Checked To => No Candidate
System Use Case found.BUCS9.Changing Check-Out Details => BUCS9.Changing Check-
Out Details No traceability link found.
27P.R.CP.R.C
CSUC Diagram IIShows CSUCs Traced to SUCs
Get Cutomers Record Update Customer InformationSearch All Cards
BUCS2.Requesting Patron Details
BUCS9.Changing Check-Out Details
BUCS8.Finding Who Book Is Checked Out To
Return Book
BUCS4.Changing Customer Record
BUCS6.Filing Customer Record
Update Customer Information
29P.R.CP.R.C
Traceability TreeTraceability tree showing how Stakeholder
Requests are realized by System Use Cases.
30P.R.CP.R.C
Summary
• STRs manually entered into ReqPro, or through the Vision document.• BUCs entered into Rose and attached to BUC requirements in ReqPro.• BUC specifications attached to BUC requirements in ReqPro.• BUC requirements traced from STRs in ReqPro.• BUC activities attached to BUC in Rose activity diagram.• BUC Activities traced to BUC specification using a SoDA report.• BUC activities allocated to systems in Rose BAD.• BUC traced to CSUCs using a Rose traceability diagram.• BUC activities traced to CSUCs using a SoDA report.• CSUCs traced to SUCs in Rose traceability diagram.• SUCs attached to SUC requirements in ReqPro.• SUCs trace to BUCs in ReqPro.
31P.R.CP.R.C
Traceability Overview
Activity
Made Consistent With
Made Consistent With
: Candidiate System Use Case
: business_vision
Is Contained In
: stakeholder_request
Traces From
: business_use_case_specification
: business_use_case_step
Business Use Case : requirement_types
Attached
System Use Case : requirement_types
: system_use_case_specification
Attached
Traces To
Contains
: business_use_case
Attached
Activity
: Candidiate System Use Case
Is Contained In
Traces From
: system_use_case
Traces FromAttached
RoseRequisiteProSoDA