Download presentation
Presentation is loading. Please wait.
1
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases I
2
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Learning Objectives v Introduce the concept of use cases v Examine various styles of specification for use cases v Consider the use of generalisation. v Identify some of the problems with use cases
3
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases v Developed at Ericsson by Ivar Jacobson v Premise: “the most volatile part of a system is its users’ behaviour” v Conclusion: “Model systems from the point of view of its interactions with its users” v Use cases were part of the Objectory method (OOSE), and now in UML
4
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases v A textual “description of a set of sequences or actions (that a system performs) that yields an observable result of value to a particular actor ” –An Actor is a User in a role –Users need not be human, can be other systems, devices, subsystems etc.
5
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases v Represented diagrammatically. v The specification need not be purely textual –may include state charts, activity diagrams, collaboration diagrams and sequence diagrams.
6
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved The elements of a use case may surrounded by a rectangle that represents the containing systems or classifier ActorUse case Doctor Use Case Diagram
7
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Actors and Use Cases v Actors “They represent everything that needs to exchange information with the system. Since the actors represent what is outside the system, we do not describe them in detail.” v Use Cases “When a user uses the system, she or he will perform a behaviourally related sequence of transactions in a dialogue with the system. We call such a special sequence a use case.” Jacobson, p.127.
8
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases & Instances v May involve several processes v Represents general description of what happens v Each particular use of a use case is a use instance and each instance may take a different route through use case.
9
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases - applicability v Represent the functionality of system or classifier such as subsystem or class. v A classifer is –A mechanism that describes behavioural and structural features. Classifiers include interfaces classes, datatypes, and components. RUP 2000
10
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases - applicability v This new definition (UML v1.3) of a Use Case gives it a wider role than its previous “system-level” definition v Use cases can also be used to describe “business processes” –As Jacobson suggests in The Object Advantage ?
11
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case Descriptions v Each Use Case has additional details entered in the data dictionary which describe it. v This includes a text description and a list of the Actors who use it.
12
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case Specification Rational Rose 2000
13
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved An Example Use Case Diagram Deposit Money Withdraw Money Transfer Between Accounts Bank Customer An ATM application which offers three use cases is shown.
14
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Example Use Case Specification for Withdraw Money “The Bank Customer enters her card and is asked to enter her pin number. The ATM verifies her ID with the system. If the ID is verified, the ATM asks the Bank Customer to select an option. If the withdraw option is selected the ATM asks the Customer to enter the amount to be withdrawn from Account. The ATM requests the withdrawal amount from the banking system. The system asks the Account to validate the request and, if possible, withdraws the amount. The system then asks the Dispenser to dispense the appropriate amount.”
15
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Alternative Specification for Withdraw Money The use case can also be shown as a step by step breakdown of action between the actor and the system
16
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case Formats v Context of use v Scope v Level: Summary, User-goal v Primary Actors v Stakeholders & Interests Cockburn, Alistair, Writing Effective Use Cases
17
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case Formats v Precondition v Minimal Guarantees v Success Guarantees v Trigger v Main Success Scenario v Extensions v Technology and Data Variations List v Related Information Cockburn, Alistair, Writing Effective Use Cases
18
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Class Discussion: Use Cases MakesSaleOf _StockItem CheckOutOperator Customer Which is right… and why ?
19
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Generalisation v ‘A generalization from an actor A to an actor B indicates that an instance of A can communicate with the same kind of use case instances as an instance of B.’ - UML 1.3 v For example, the Manager actor can communicate with the same use cases as the StaffMember actor
20
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Generalization - Actors Actor B Actor A Generalization Multiplicity Manager Staffmember ClockOn ClockOff RecordSick 1 1 * * * 1
21
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Cases - Multiplicity v The multiplicity on the previous diagram shows the multiplicity between actor instances and use case instances. –Eg. A Manager instance may communicate with zero or more instances of the RecordSick use case –An instance of RecordSick may be communicated from only one Manager instance
22
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case-driven Development v Use cases drive the whole development process in the RUP. –The result of the requirements workflow. –The basis of decisions regarding architecture and component identification and design. –Source for analysis and design use case realisations (i.e. the models involved). –The basis of test scripts and test procedures. –The foundation of what is described in the user manuals.
23
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Use Case-driven Development v Using use cases involves –Problem statement and/or domain information is mapped to Use Case specification and diagrams –Candidate classes are extracted from Use Cases –Collaboration diagram developed to show collaborations –Class diagram(s) are built up.
24
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Problems with Use Cases v How broad is a Use Case? v How deep is a Use Case? v How many Use Cases should there be in some typical system? v Can be confused with DFDs v Can lead to “main” sub-programs through misinterpretation of “control” objects
25
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved Summary v Introduce the concept of use cases v Examine various styles of specification for use cases v Consider the use of generalisation. v Identify some of the problems with use cases
26
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved References v Maciaszek, Requirements Analysis & Systems design, Chp 2 v Cockburn, Alistair, Writing Effective Use Cases, Addison-Wesley, 2000 v Bennett, S., McRobb, S. & Farmer, R. Object-Oriented Systems Analysis and Design using UML McGraw-Hill 1999, (Ch 5) v Jacobson, I., Booch, G. and Rumbaugh, J. (1999), The Unified Software Development Process, Addison-Wesley, Reading Mass. (Ch 7) v Jacobson I, Christerson M, Jonsson P and Overgaard G (1992), Object-Oriented Software Engineering: A Use Case Driven Approach. (Ch 6) v Rational Unified Process 2000
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.