Use case diagrams help stakeholders to understand the nature and scope of the business area or the system under development, thus, use case modeling is generally regarded as an excellent technique for capturing the functional requirements of a system. They can be served as the basis for the estimating, scheduling, and validating effort.
Use cases and use case diagrams can be fully integrated with other analysis and design using a CASE tool to produce a complete requirements, design and implementation repository. It don’t use a special language and thus can be written in a variety of styles to suit the particular needs of the project.
The Benefits of Use Case Approach:
1. use cases are aligned with business requirements – use cases put requirements in context; their relationship to business tasks is clearly described.
2. From scenarios to whole stories – Use cases enable us to tell stories. It is very easy to describe a use case in a concrete way by turning it into a story or scenario.
3. Create test cases from use cases – Use cases are reusable in a project. Use cases can be used in a way that captures requirements from each iteration, into a development guide for programmers, into test cases, and finally into user documentation.
4. Derive wireframes and user interfaces from use cases – Use cases focus on the interaction between the user and the system. They make it possible for the user interface designer to participate in the development process before or in parallel with the software developer.
5. Decompose system scope to prioritize functionality – Use cases are useful for scoping. Use cases make it easy for projects to take a phased approach to delivery; they can be added and removed from software projects with relative ease as priorities change.
References:
- What is Use Case Diagram?
- Types of Actor in Use Case Model
- Identify User Requirements with Use Case Diagrams
- What is Use Case Specification?
- A Practical Tutorial on Robustness Analysis
- User Story vs Use Case for Agile Software Development
- Use Case Driven Approach for Agile Development