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.
 
0 comments:
Post a Comment