Presentation is loading. Please wait.

Presentation is loading. Please wait.

SEA Side Software Engineering Annotations Annotation 13: Use Cases Professor Sara Stoecklin Director of Software Engineering- Panama City

Similar presentations


Presentation on theme: "SEA Side Software Engineering Annotations Annotation 13: Use Cases Professor Sara Stoecklin Director of Software Engineering- Panama City"— Presentation transcript:

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

2

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

9

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.

20

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

29

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


Download ppt "SEA Side Software Engineering Annotations Annotation 13: Use Cases Professor Sara Stoecklin Director of Software Engineering- Panama City"

Similar presentations


Ads by Google