Wednesday, November 3, 2010

Benefits of Use Case Modeling

Use Case Modeling takes effort and time, and requires a certain degree of expertise. Why do we do Use Case Modeling then ? What are the benefits of such an approach ?

Use cases are an effective technique for capturing and communicating functional requirements. Use cases provide some very clear benefits to the Analysis Phase.
- One important benefit of use case driven analysis is that it helps manage complexity, since it focuses on one specific usage aspect at a time. Use cases start from the very simple viewpoint that a system is built first and foremost for its users.
 - Use cases also encourage designers to envision outcomes before attempting to specify outcomes, and thereby they help to make requirements more proactive in system development.
- Good way to start identifying objects from scenarios
- Test plan can be immediately generated based on use cases
- Easier user validation
- Helps technical writers in preparation of the user manual from an early stage
- Better traceability throughout the software cycle
- Exception scenarios identified earlier leading to better quality
- Use cases focus on the users of the system, not the system itself, thus the real system needs are brought to light early on.
- Since a use case consists mainly of narrative text, it is easily understandable by all stakeholders, including customers, users and executives, not just developers and testers.
- By including all the stakeholders during the early planning stages of a project, you bring in people who best understand the problems at hand, promote a sense of buy-in from end users, and eliminate surprises when the system is deployed.
- One of the big benefits of use case modeling is that it also describes all of the things that might go wrong.
- Once a use case model has been developed, it can be used to drive many other aspects of software development, including project planning (cost, complexity and timing estimates), object models, test case definitions, and user documentation.
- Use cases have proven to be easily understandable by business users, and thus to act as a bridge between them and software developers.
- Use cases organise and structure the requirements model, permitting common behaviour to be factored out.
- Use cases are reusable within a project. A use case can evolve at each iteration, from a method of capturing requirements, to development guidelines for programmers, to a test case and finally into user documentation.
- Use cases make it easy to take a staged delivery approach to projects; they can be relatively easily added and removed from a software project as priorities change.
- Use cases and use case diagrams recorded using UML can be maintained with widely available CASE tools, and thus be fully integrated with other analysis and design deliverables created using a CASE tool. The result is a complete requirements, design, and implementation repository.

Posted by Ashish

No comments:

Post a Comment