Every development effort must determine what users are expecting to receive, yet every organization, even groups within organizations,
has its own ideas about what makes a good requirements document.
The "use case view" in UML (Unified Modeling Language) is centered on representing the functionalities of a system from the user's perspective. Here are additional characteristics of the "use case view":
- User-Centric Perspective: It focuses on the interactions between users (actors) and the system, detailing what the system should do rather than how it should be implemented.
- Identification of Actors: It identifies all the external entities (actors) that will interact with the system, which can be users, other systems, or hardware devices.
- Use Cases: It defines specific scenarios or use cases that describe the interactions between the actors and the system to achieve specific goals.
- Functional Requirements: It captures the functional requirements of the system, serving as a basis for understanding what the system should provide in terms of services and functionality.
- Scenarios and Flows: It details the main success scenarios and alternative flows, covering different paths that the interaction can take based on various conditions and exceptions.
- Traceability: It provides traceability from the requirements to the use cases, ensuring that each requirement is mapped to a specific use case.
- System Boundaries: It helps define the boundaries of the system by illustrating what is inside and outside the system, clarifying the scope of the system.
- Stakeholder Communication: It serves as a communication tool between stakeholders, including business analysts, developers, and clients, ensuring a shared understanding of system requirements.
- Simplification of Complexity: It simplifies complex systems by breaking down the functionalities into manageable use cases, making it easier to understand and analyze the system.
- Documentation: It provides documentation that can be used throughout the development lifecycle, aiding in design, development, testing, and maintenance.
- Prioritization: It helps prioritize the development tasks by identifying the most critical use cases that deliver the highest value to the users.
- Validation and Verification: It supports validation and verification processes by ensuring that all use cases meet the user's needs and requirements.
Many different kinds of requirements affect the course of a development project. Financial and time constraints, policy, technology, existing systems, and even staff can affect project processes and solutions. The first challenge in a development project is to identify the
types of requirements that most directly influence the analysis and design effort.
- Use Case View:
The use case view is focused on the critical success factors of the application to be developed and its functionality or features.
By focusing on the application's features, we create a set of conceptual "slots" into which all the widely varied requirements can be placed.
- Focus on Features:
Features can be tested, modeled, designed, and implemented. Users who require a particular feature become the audience for modeling activities.
By focusing on features, we define the scope of the project; what features will and will not be supported by the final solution; or the list of features that will be implemented in each incremental release.
After completing this module, you will be able to:
- Define the components of the use case model
- Model a use case diagram using actors, use cases, systems, and associations
- Build a use case
- Write a use case narrative
- Find use case scenarios
A use case is a methodology used in system analysis to identify, clarify and organize
system requirements. The use case is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal. The method creates a document that describes all the steps taken by a user to complete an activity. Use cases are typically written by business analysts and can be employed during several stages of software development, such as planning system requirements, validating design, testing software and creating an outline for online help and user manuals. A use case document can help the development team identify and understand where errors may occur during a transaction so they can resolve them.
In the next lesson, the use case model will be discussed.