What is the UML?• A language for – Specifying – Visualising – Constructing – Documenting• Artifacts of software-intensive system• Grady Booch, Ivar Jacobson, Jim Rumbaugh
Objective of UML• “Provide a common vocabulary of object- oriented terms and diagramming techniques that is rich enough to model any systems development project from analysis through implementation.” Dennis, Wixom and Tegarden 2005
Sample of UML Diagrams• Use case diagram• Class diagram• Sequence diagram• Statechart diagram• Activity diagram• Component diagram• Deployment diagram
Key Ideas• A use case illustrates the activities that are performed by users of a system.• It identifies the Actors involved in an interaction and names the type of interaction.• It illustrates the functionality of the system.• Use cases are logical models -- they describe the activities of a system without specifying how the activities are implemented.
UML model of functional requirementsSystem TheUse-Case-Model Survey Actor 1 Use Case 1- survey description- list of all actors Actor 2- list of all use cases Use Case 2 Use Case 3 Actor 3 Use Case 1 Report Use Case 2 Report Use Case 3 Report - brief description - brief description - brief description - flow of events - flow of events - flow of events
What are Use-Case Descriptions?• Describe basic functions of the system – What the user can do – How the system responds• Use cases are building blocks for continued design activities.
How Are Use-Cases Created?• Two steps: – Write text-based case descriptions – Translate descriptions into diagrams• Describes one and only one function, but may have multiple paths.• Developed working with users for content.
Elements of a Use-Case Description Use Case Description Section Name An appropriate name for the use case Brief A brief description of the use case’s role and purpose. Description Flow of A textual description of what the system does with regard to the use case (not how specific Events problems are solved by the system). The description should be understandable to the customer. Special A textual description that collects all requirements, such as non-functional requirements, on the Requirements use case, that are not considered in the use-case model, but that need to be taken care of during design or implementation. Preconditions A textual description that defines any constraints on the system at the time the use case may start. Post A textual description that defines any constraints on the system at the time the use case will conditions terminate.
Basic and alternate flow of events
Syntax for Use-Case Diagram
The Use-Case Diagram for Appointment System
Use-Case Diagram with Specialized Actor
Extend and Include Relationships
Summary• Use-case descriptions are the basis for further analysis and design.• Use-case diagrams present a graphical overview of the main functionality of a system.
Expanding the Domain• Additional resources regarding use-cases and many other object-oriented development topics can be found at:• http://www.omg.org