USE Case Model
Transcription
USE Case Model
USE Case Model Use-case model • The use case model captures the requirements of a system. Use cases are created based on identified functional requirements but are not mapped one-toone to requirements • Use case models are a means of communicating with users and other stakeholders what the system is intended to do. • Use case models specify the expected behavior [what], and not the exact method of making it happen [how] • Use case models once specified can be denoted using a clear and precise visual modeling language such as UML Scenarios • A use-case is made up of a set of scenarios. Each scenario is a sequence of steps that encompass an interaction between a user and a system. The use case brings scenarios together that accomplish a specific goal of the user. Scenarios • Specify behavior of use case by description, not modeling – Examples include informal structured text, formal structured text with conditions, and pseudo-code • Typically specifies: – How and when the use case starts and ends – Interaction with the actors and the exchange of objects – Flow of events: main / typical (success), alternative (success), and exceptional (failure) flows Elements of a use-case description/scenario Use Case Name: ID: Primary Actor: Use Case Type: Importance Level: Stakeholders and Interests: Brief Description: Trigger: Relationships: (Association, Include, Extend, Generalization) Normal Flow of Events: Subflows: Alternate/Exceptional Flows: Actor • An actor is a role that a user plays in the system. • Represent roles that humans, hardware devices, or external • systems play while interacting with a given system • They are not part of the system and are situated outside of the system boundary • Actors may be both at input and output ends of a use case Examples of actors – – – – sales person manager support person web store system It is possible that the same person may be a sales person and also provide support. When creating a use case model, we are not concerned with the individuals, only the roles that they play. Identifying Actors • Define system boundary to identify actors correctly • Identify users and systems that depend on the system’s primary and secondary functionalities • Identify hardware and software platforms with which the system interacts • Select entities that play distinctly different roles in the system • Identify as actors external entities with common goals and direct interaction with the system • Denote actors as nouns Use-cases • A use case illustrates the activities that are performed by users of a system. • Use cases describe the activities of a system without specifying how the activities are implemented. Identifying Use Cases • Business / Domain Use Cases: – Interactions between users and the business (or domain) • System Use Cases: – Interactions between users and the system – One business use cases contains a set of system use cases • To name the use cases, give it a verb name to show the action that must be performed – Describe a transaction completely – No description of user interface whatsoever Capture use-cases • Capture use cases during requirements elaboration • Use cases are not mapped one-to-one to requirements – Each requirement must be covered by at least one use case – However, use cases may contain many requirements • Use scenarios to model assumptions and define system scope • List exceptions separately Major steps in writing use-cases • • • • Identify the major use-cases Expand the major use-case Confirm the major use-cases Create the use-case diagram Identifying the major use-cases • • • • • Identify the system’s boundaries List the primary actors List the goals of each primary actor Identify and write the major use-cases Carefully review use-cases Expand the major use-cases • • • • • • Choose one major use-case to expand Fill in details on the use-case template Fill in the steps of the normal flow of events Normalize the size of each step Describe alternate or exceptional flows Simplify and organize as necessary Confirm the major use cases • Review the current set – Consider semantics and syntax – Helpful to involve the users • Iterate the entire set of steps until all use cases are defined Create the use-case diagram • • • • Start with system boundary Place elements in order to be easy to read Place actors on the diagram Conclude by connecting actors to use cases by lines Use-case diagram • The use-case diagram allows a designer to graphically show these use cases and the actors that use them. Putting it all Together • When starting a use case model, it is very important to keep it simple. Often it is easiest to first determine the actors of the system, and then flush out the use cases that they perform. • Your use case diagrams can be as simple or complex as you wish, however simpler, less cluttered diagrams are easier to understand, and are often more powerful in capturing the tasks of the system. • Remember that a use case represents a goal of a user, not an atomic programming operation. Your use case design should be simple and help to clarify the user's goals and expectations for the system. Courseware System Task: Create a use case model for a system that can be used to manage courses and classes for an organization that specializes in providing training. The name of the system is Courseware System. • The organization offers courses in a variety of areas such as learning management techniques and understanding different software languages and technologies. Each course is made up of a set of topics. • Tutors in the organization are assigned courses to teach according to the area that they specialize in and their availability. • The organization publishes and maintains a calendar of the different courses and the assigned tutor every year. • There is a group of course administrators in the organization who manage the courses including course content, assigning courses to tutors, and defining the course schedule. • The training organization aims to use the Courseware System to get a better control and visibility to the course management and to also streamline the process of generating and managing schedules for different courses.