software engineering 1 object-oriented analysis and design chap 30 relating use cases
TRANSCRIPT
![Page 1: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/1.jpg)
Software Engineering 1
Object-oriented Analysis and Design
Chap 30Relating Use Cases
![Page 2: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/2.jpg)
Software Engineering 2
Object-oriented Analysis and Design
The include Relationship 1
Some partial behavior across several use cases. paying by credit occurs in several use cases, including Process
Sale, Process Rental, Contribute to Lay-away Plan. to separate it into its own subfunction use case, and indicate its
inclusion. This is simply refactoring and linking text to avoid duplication
UC1: Process Sale Main Success Scenario:
1.Customer arrives at a POS checkout with goods and/or services to purchase
.…7.Customer pays and System handles payment.…
Extensions:7b. Paying by credit: Include Handle Credit Payment.7c. Paying by check: Include Handle Check Payment.…
UC7: Process Rental Extensions:
6b. Paying by credit: Include Handle Credit Payment.
![Page 3: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/3.jpg)
Software Engineering 3
Object-oriented Analysis and Design
The include Relationship 2
UC12: Handle Credit PaymentLevel: SubfunctionMain Success Scenario:
1.Customer enters their credit account information.2.System sends payment authorization request to an
external Payment Authorization Service System, and requests payment approval.
3.System receives payment approval and signals approval to Cashier.
Extensions:2a. System detects failure to collaborate with external
system: System signals error to Cashier. Cashier asks Customer for alternate payment.
![Page 4: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/4.jpg)
Software Engineering 4
Object-oriented Analysis and Design
The include Relationship 3
Using include with Asynchronous Event Handling when a user is able to, at any time, select or branch to a particular
window, function, or Web page, or within a range of steps. a*, b*, ... style labels in the Extensions section. UC1: Process FooBars
Main Success Scenario: … Extensions:
a*. At any time, Customer selects to edit personal information: Edit Personal Information.
b*. At any time, Customer selects printing help: Present Printing Help. 2-11. Customer cancels: Cancel Transaction Confirmation
Subfunction use cases and use the include relationship when: They are duplicated in other use cases. A use case is very complex and long, and separating it into subunits
aids comprehension. As a first rule, always use the include relationship between use cases.
![Page 5: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/5.jpg)
Software Engineering 5
Object-oriented Analysis and Design
The include Relationship 4
NextGen POS
Cashier
Customer
Handle CashPayment
Process Rental
Process Sale
Handle CheckPayment
Handle Returns
«include» «include»
«include»
«include» «include»«include»
«actor»Accounting
System
«actor»Credit
AuthorizationService
Manage Users
...
UML notation: the base use case points to the included use case
Handle CreditPayment
![Page 6: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/6.jpg)
Software Engineering 6
Object-oriented Analysis and Design
Concrete/Abstract Use Cases
Concrete use caseBe initiated by an actor and performs the entire behavior
desired by the actor.Process Sale is a concrete use case.
Abstract use caseBe never instantiated by itself; it is a subfunction use case
that is part of another use case. Handle Credit Payment is abstract; it doesn't stand on its
own, but is always part of another story, such as Process Sale.
![Page 7: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/7.jpg)
Software Engineering 7
Object-oriented Analysis and Design
Base/Addition Use Cases
Base use case includes another use case, or is extended or specialized by
another use case. Process Sale is a base use case with respect to the included Handle Credit Payment.
Addition use casebe an inclusion, extension, or specialization. Handle Credit
Payment is the addition use case in the include relationship to Process
Sale. Addition use cases are usually abstract. Base use cases are usually concrete.
![Page 8: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/8.jpg)
Software Engineering 8
Object-oriented Analysis and Design
The extend Relationship 1
The extend relationship Suppose a use case's text should not be modified or has been baselined
as a stable artifact, and can't be touched. to create an extending or addition use case, and within it, describe
where and under what condition it extends the behavior of some base use case.
UC1: Process Sale (the base use case) Extension Points: VIP Customer, step 1. Payment, step 7. Main Success Scenario:
1.Customer arrives at a POS checkout with goods and/or services to purchase
.… 7.Customer pays and System handles payment.…
UC15: Handle Gift Certificate Payment (the extending use case) Trigger: Customer wants to pay with gift certificate. Extension Points: Payment in Process Sale. Level: Subfunction Main Success Scenario:
1.Customer gives gift certificate to Cashier. 2.Cashier enters gift certificate ID.
![Page 9: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/9.jpg)
Software Engineering 9
Object-oriented Analysis and Design
The extend Relationship 2
The use of an extension point, and that the extending use case is triggered by some condition.
Extension points are labels in the base use case which the extending use case references as the point of extension.
the extension point may simply "At any point in use case X." with many asynchronous events, such as a word processor ("do a spell check now," "do a thesaurus lookup now"), or reactive control systems.
updating the Extensions section is usually the preferred solution, rather than creating complex use case relationships.
Practically motivates using the extend technique when it is undesirable for some reason to modify the
base use case.
![Page 10: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/10.jpg)
Software Engineering 10
Object-oriented Analysis and Design
The extend Relationship 3
Process Sale
Extension Points :Payment
VIP Customer
«extend»Payment, if Customer
presents a gift certificate
UML notation: 1. The extending use case points to the base use case .
2. The condition and extension point can be shown on the line.
Handle Gift Certificate Payment
![Page 11: Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases](https://reader036.vdocuments.mx/reader036/viewer/2022082710/56649e305503460f94b205d1/html5/thumbnails/11.jpg)
Software Engineering 11
Object-oriented Analysis and Design
The generalize Relationship
Can do use case work without this optional relationshipadds another level of complexity to use cases.