Download presentation
Presentation is loading. Please wait.
Published byJoshua Cameron Modified over 9 years ago
1
SEA Side Software Engineering Annotations Annotation 13: Use Cases Professor Sara Stoecklin Director of Software Engineering- Panama City sstoecklin@mail.pc.fsu.edu stoeckli@cs.fsu.edu 850-522-2091 850-522-2023 Ex 182 Florida State University Computer Science
3
A method to represent the user interaction with the system in a manner than communicates with users that you understand the system scenarios (business). Video Rental System Rent video Customer Return video Corporate Order new videos
4
USE CASES describe a sequence of actions (processes). USE CASES graphically depict interactions between the system and external actors. USE CASES identify high level services (processes, routines, methods). USE CASES specify behavior. USE CASES may have specialized use cases as extensions of generalized use cases. Use Case Definition: The specification of actions, including variant sequences and error sequences that a system, subsystem, or class can perform by interacting with outside actors.
5
Good way to begin defining the system through scenarios. Test plan can be written from the users point of view with use cases. Begins traceability. Has extensions such as: > for extending the functionality of a use case > for using one use case within another and > for inner use cases and > for invocation of other use cases.
6
Difficult to determine the correct granularity. Difficult to determine the correct use case. Knowledge elicitation on use cases can cause an explosion of use cases. Often too informal. No techniques for diagramming polymorphic behavior.
7
Analyze requirements. Design the use case. Test use case.
8
analysis model design model test/implement model Video Rental System Rent video Corpor ate Order new videos Video Rental System Rent video Corpora te Order new videos Rent video Cuse r CIDCID ()() Video Rental System Rent video Corpor ate Order new videos Rent video
10
Video Rental System Rent video Customer Return video Corporate Order new videos Use Case Actor System Boundary
11
Rent video Customer A use case may have many actors An Actor normally interacts with several use cases For each actor you need to know how that actor uses the system.
12
Rent video Customer Defines 1..n actions triggered by the user Represents an system partition (process?) Is built together with the user. Needs a description.
13
Narrative description Sequence Diagram as it interacts with objects. Collaboration Diagram between objects. States Diagrams for more granularity.
14
Rent video Customer A use case description tells a user story. It contains events, actions, and states of objects. Described by the precondition, actions and post condition. defines 1..n actions triggered by the user
15
Rent video Customer Pre and Post conditions – define the values of a set of variables before and after the event triggers the actions Trigger – event that stimulates the sequence of use case actions Actions – changes the values of the variables or as stated in OO – changes the states of the objects.
16
Rent video Customer Video Rental System Rent video Identify Validate Identity Identity is OK Request movie Validate Request Request is OK Message Object Operation path
17
Rent video Customer Rent video 1. Identify 2. Validate Identity 3. Identity is OK
18
Rent video Customer Identity Checking Movie Request Checking Wrapping Up bad identity
19
Review and refine iteratively with each use case. Envision/describe/prototype each use case (user views). Release a version when approved.
21
analysis model design model test/implement model Video Rental System Rent video Corp orate Order new videos Video Rental System Rent video Corp orate Order new videos Rent video Cu ser CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() Video Rental System Rent video Custo mer Rent video Corp orate Order new videos Rent video
22
e Rent videoe Rent video Cuse r CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() CIDCID ()() Custom er Interfaces Packages Frameworks Architectural Patterns Design Patterns
23
2. Define the domain (conceptual) objects or classes of the system so domain rules (ex: business rules) can be encapsulated in these domain objects.
24
Video Rental System attributes methods ClassName Cassette cassetteID: int cassetteVolumeNo: int rentMovie() Customer CID: int name: String authenticateCustomer () relationship rents 1..* Multiplicity
25
Video Rental System Cassett e cassetteID: int cassetteVolume No: int rentMovie() Customer CID: int name: String authenticateCust omer () Rental Price\ dateofRental ifAvail 1..* 0..*1..1 0..* Rental View Rental View Update Controller Cassette Database Rental Database Customer Database
26
Customer Video Rental System Rent video Identify Validate Identity Identity is OK Request movie Validate Request Request is OK
27
Video Rental System Cust ome r Rent video Identify Validate Identity Identity is OK Request movie Validate Request Request is OK e Custo mer Identify Validate Identity Identity is OK Request movie Request is OK Customer Database Customer Cassette Database Cassette Validate Identity Rental Rent Rental View Controller Rental View Validate Identity Get Identity Validate Cassette Get Cassette
28
Rent video Customer Identify Validate Identity Identity is OK Request movie Request is OK Customer Database Customer Cassette Database Cassette Validate Identity Rental Rent Rental View Controller Rental View Validate Identity Get Identity Validate Cassette Get Cassette
30
Custo mer Identify Validate Identity Identity is OK Request movie Request is OK Customer Database Customer Cassette Database Cassette Validate Identity Rental Rent Rental View Controller Rental View Validate Identity Get Identity Validate Cassette Get Cassette Rent video
31
invalid customer invalid database customer valid database customer valid customer invalid cassette valid cassette Invalid database cassette valid database cassette
32
Other Topics: Use Case Engineering Use Case SteroTyping Use Case Driven Design Responsibility Driven Design
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.