A use case is a description of something that a system does in response of any request from any other automated system or actor.
How to write:
- We should write the use cases in business terms, not technical ones.
- Any business person should be able to understand the use cases without the help of any technical personal.
- Technical design assumptions should not be made at this stage.
- Use cases can also serve as a contract between business and development sides of any organisation.
- Use case text should begin with "The system (or application) will". If a use case can not be started like this, it means it is either not a valid use case or is a part of another use case.
- Explicitly list all the affected actors in the use case.
Points to consider:
- There is no rule how long the use case should be
- Avoid use case diagrams (for architects only)
- Writing use cases requires a lot of participation from business side.
- Facilitate use case analysis by starting with a small group.
- Consider recording use cases in database.
- Enlist someone to act as a 'scribe' for the use case discussions to avoid any point to be missed.
- Write use cases so that they can be amended as more information is available with time.
- Use case analysis is finished when the team members feel that they can estimate the time for efforts for implementing a particular use case.
- Be sure to include requirements for security, scalability and availability.
- Don’t slow down if the group has trouble articulating requirements.
Common Mistakes:
- Imposing the technical design assumption under the guise of requirements. Like System will manage the load using batch stream No.
- Including physical design assumptions in use cases. Like the system will insert a row in database.
- Not keeping analysis session productive.
- Failing to document use cases even if the project is small.
- Repeatedly defining the terms in every use case.
Prototyping:
At this stage, the team should be able to decide the technology which will be used for developing the UI (mostly HTML). Try to develop the non-functional UI. It will gaurd against accidentally promising the delivery of something which is not technically possible.
- Consider involving the layout designer for prototyping.
- Remember that prototype is not functional by definition.
Uses:
- Use cases are used to write the test cases for the system.
- Use cases help in validating the architecture and system during development and ensure that we are going in right direction.
- Use cases help the business people/Project Manager/Project Sponser to define the scope of the project.
- Use cases help the project management to define the release boundaries and the functionalities need to be implemented in release.
- Use cases help the management or technical people to articulate the efforts; and so helps in deciding the cost/benefit ration.
No comments:
Post a Comment