250 likes | 314 Views
Learn about Use Case Diagrams, Sequence Diagrams, and building processes in System Analysis & Design. Understand actors, use cases, system boundaries, and associations. Examples and syntax are included.
E N D
Part V: Software Engineering and Implementation Lecture Note 15Unified Modeling Language (UML)Use Case Diagrams and Sequence Diagram Systems Analysis and Design Kendall & Kendall Sixth Edition CS206 System Analysis & Design Note 15 By ChangYu
Major Topics • Use Case Diagram • Use Case Syntax • The steps for creating a Use Case Diagram • Sequence Diagram • Sequence Syntax • The steps for creating a Sequence Diagram CS206 System Analysis & Design Note 15 By ChangYu
Use Case Diagram • Use cases are the primary drivers for all the UML diagramming techniques. A use case diagram illustrates the main functions of a system and the different kinds of users that interact with it. • The Use Case diagram includes • Actors, which are people or things that derive value from the system, and • Use Cases that represent the functionality of the system. CS206 System Analysis & Design Note 15 By ChangYu
The actors and use cases are separated by a system boundary and connected by lines representing associations. • At time, actors are specialized versions of more general actors. Similarly, use cases can extend or include other use cases. • A use case may represent several paths that a user can take while interacting with the system. • Drawn early on in the SDLC, when SA is gathering and defining requirements for the system.
Five Steps Processes for Building Use Case Diagram • Identify Use Case: The analyst identifies the use cases and creates accompanying documentation, the use case report, to describe each function in detail. • Draws the system boundary:Place a box on the use case diagram to represent the system. place the system’s name on the top of the box. • Adds the use cases to the diagram: Place use cases inside the system boundary corresponding to the number of functions that the system must perform. • Identifies the actors:A person or another system that interacts with and derives value from the system. • Add Associations: Draw lines to connect use cases and actors together. CS206 System Analysis & Design Note 15 By ChangYu
System Boundary System Name Actor Example1: A use case diagram is a visual summary of several related use cases within a system or subsystem. • Consider an auto service department which involves customer, service writers who prepare work orders and invoices, and mechanics who perform the work. Connected by lines representing associations
Example2:This figure shows a use case diagram for a doctor’s office appointment system. • Patients, doctors, and management personnel will use the appointment system to make appointments, record availability, and produce schedule information.
Actor • An actor is labeled stick figures. • Similar to an external entity found in DFDs. • A person or another system that interacts with and derives value from the system. • It is not a specific user but a role that a user can play while interacting with the system. • An actor requests the system to perform a function or process. • Example : A data-entry clerk (or a nurse entering patient information) would not be considered an actor because he or she would fall within the scope of the system itself. CS206 System Analysis & Design Note 15 By ChangYu
Sometimes an actor plays a specialized role of a more general type of actor. • Then, a specialized actor (new patient) is placed on the model, shown using a line with a hollow triangle at the end of the more general superclass of actor (patient). • The specialized actor will inherit the behavior of the superclass and extend (延伸) it in some way. CS206 System Analysis & Design Note 15 By ChangYu
Example1: A new patient interacts with the system in a way that is somewhat different than for a general patient. * * * * * * CS206 System Analysis & Design Note 15 By ChangYu
Example2: This figure shows a use case diagram for sales system.The specialized actors (customer and salesman ) will inherit the behavior of the more general superclass of actor (Purchaser). Sales System List Product Order Product Purchaser Accept Payment Calculate Commission Customer Salesman CS206 System Analysis & Design Note 15 By ChangYu
Use Case • A use case, depicted by an oval in the UML, is a major process performed by the system that benefits an actor in some way. • It is labeled using a descriptive verb-noun phase. • Use case represents a major piece of system functionality. • It describes a sequence of actions that the system performs to achieve an observable result of value to an actor. • One use case will sometimes use the functionality or extend or include the functionality of another use case on the diagram, and these are shown with “include” or “extend” associations. CS206 System Analysis & Design Note 15 By ChangYu
Include relationship: • One use case always includes the functionality of another use case. • A use case may include more than one other. • It can be used to separate out a sequence of behavior that us used in many use cases. • It should not be used to create a hierarchical functional decomposition of the system. CS206 System Analysis & Design Note 15 By ChangYu
Example1: This figure shows a use case for personnel system with “include” associations relationship. Personnel System <<include>> ChangeEmployeeDetails <<include>> FindEmployeeDetails ViewEmployeeDetails Manager <<include>> DeleteEmployeeDetails CS206 System Analysis & Design Note 15 By ChangYu
Extent relationship: • One use case provides additional functionality that may be required in another use case. • There may be multiple ways of extending a use case, which represent variations in the way that actors interact with the use case. • A condition can be placed nest to the dependency arrow. CS206 System Analysis & Design Note 15 By ChangYu
Example: This figure is a use case for Car Rental System with an “extend” association relationship. Car Rental System Pick Up Car <<extend>> Reserve Car Buy Insurance Customer Return Car CS206 System Analysis & Design Note 15 By ChangYu
Generalization relationship: • Represents a specialized use case to a more generalized one. • It is represented as an unlabeled hollow arrow, with more general use case being higher than the lower use cases. • Example1: The Make appointment use case has been specialized to include a use case for an OLD patient and a NEW patient. • The Make Old patient appointment use case inherits the functionality of the a Make appointment use case and extends its own functionality with the Make payment arrangements use case. • The Make New patient appointment use case also inherits all of the functionality of generic Make appointment use case and would include any functionality necessary to capture the information needed to insert the new patient into patient database. • A second specialized actor, Old patient and that patient actor is now simply a generalization of the old and new patient actors. CS206 System Analysis & Design Note 15 By ChangYu
Example1: CS206 System Analysis & Design Note 15 By ChangYu
System Boundary • When you create a use case diagram, the first step is to identify the system boundary, which is represented by a rectangle. • The use case are enclosed within a system boundary. • System Boundary, which is a box that represents the system and clearly delineates what parts of the diagram are external or internal to it. • The name of the system can appear either inside or on top of the box. CS206 System Analysis & Design Note 15 By ChangYu
Association • Use cases are connected to actors through associations. • Show the use cases that the actors interact • A line drawn from an actor to a use case, as relation with no direction. CS206 System Analysis & Design Note 15 By ChangYu
Creating a Use Case Diagram • Use cases are used to describe the functionality of the system and as a model of the dialogue between the actors and the system. • The CS206 System Analysis & Design Note 15 By ChangYu