Use Case Diagrams Use Case Use case A view to system seen from outside(user) User’s requirements on system A set of scenario for an actor to achieve useful works Withdraw Transfer Balance check Bank client deposit Bank system Basic Concepts Actor User Case Each describes a possible interaction between an actor and the system Use cases are actions that a user takes on a system System An external person, process or thing interacting with a system or class The entity that we are going to build Can have subsystems in it Relationship Connection between actors and use cases or use cases and use cases. Actors A user of the system a person or another system Identify the actors in terms of their roles Use Case actions users take on system can be very high level or so fine-grained Use “verb” or “verb+noun” style naming borrow return System module that performs the function System or the sybsystem is shown as a rectangle enclosing the use cases, with the system name in the rectangle Library System Relationship (Use Case Diagram) There are four kinds of relationships Association Extend Include generalization Association Relationship Shown by a line connecting actors to use cases Include Relationship Between a use case and another use case use case A includes the function of use case B (has-a relationship) A <<include>> B Extend Relationship Use case can be extended by another use case At the extension point, use case is extended Extension point Shows the exact extension point between the two use cases Shows the actual logic necessary for one use case to extend another Example : Extend Relationship Generalization Relationship Indicate an inheritance of an item in UML Can be applied to actors as well as use cases Example Activity Diagram What is Activity Diagram • Shows overall flow of control (just like flowchart) • A simplified look at what happens during a process • Business and operational step-by-step workflows of components in a system Activity Diagram Notations Decision Wake Up Activity1 [hungry] Wake Up [Not hungry] [hungry] Activity2 Eat Breakfast Go Back to Sleep Eat Breakfast Transition from one activity to another [Not hungry] Go Back to Sleep Two ways of showing a decision Concurrent Path , Signal Synchronization bar Television Remote.keyln(channel) Work Out Show New Channel Change(channel) Shower Press Channel Number Change (channel) Relax Watch Concurrent Path Signal : when received, the signal causes an activity to take place (send : convex , receive : concave ) Swimlanes • show who has responsibility for each activity. (role) 1. A salesperson calls the client and sets up an appointment 2. Onsite appointment(In the consulting firm’s office) - corporate technicians prepare a conference room for a presentation 3. Offsite appointment(at the client’s office) - a consultant prepares a presentation on a laptop 4. The consultant and the salesperson meet with the client at the agreed-upon location and time 5. the salesperson follows up with a letter 6. If the meeting has resulted in a statement of a problem, the benefit – the activities of each role are clarified 9 Activity Diagram Example Call client and set up appointment [appointment onsite] [appointment offsite] Prepare a conference room Prepare a laptop Meet with the client Send followup letter See the Activity Diagram for Creating a Document [no statement problem] [statement of problem] Create proposal Send proposal to client 1 Swimlane : shows “who” for each activity Sales Person Consultant Corporate Technician Call client and set up appointment [appointment onsite] [appointment offsite] Prepare a laptop Prepare a conference room Meet with the client Send followup letter [statement of problem] Create proposal [no statement problem] Send proposal to client See the Activity Diagram for Creating a Document Example Sequence Diagram Purpose of Sequence Diagram shows the sequence of messages for a particular task from a use case diagram Understand how use case(scenario) can be refined with detailed information Sequence Diagram Time, object, and message Lifeline and activation Notation :Name Basics Focus on order in which messages occur time objects :Name1 object message activation lifeline :Name2 Messages The first message starts at the top, typically located on the left side Subsequent messages are then added to the diagram slightly lower then the previous message : synchronous call operation : method on the arrow : asynchronous signal : return message (optional) : return value on the arrow Messages can be sent to itself Sequence diagram example Object Time constraint Message Activation Comment Example Sequence for “withdraw-money” use case