Source:
Use Case analysis allows a group of meeting between users and code developers to answer a fundamental question:
In specific:
These answers are expressed in terms of the user. Often, each task or reason becomes a ``use case'' ... a point of action for the user. For each action, there should be a response. Group actions together by function to reduce the use case load. These actions share a common goal or purpose and can be measured for frequency of usage.
Below is a simple example given in the March 1997 Software Development article by Karl Wiegers where he discusses gathering use cases from user workshops:
Karl Wiegers uses adhesive notes so that actions and responses may be easily shifted, put in priority order, added to and still maintain the complete assembly of use cases.
The table of actions and responses is often developed with a flip chart using adhesive notes that can be moved easily to reflect changes, priorities and other refinements in the process.
Each entry in the table correstponds to a scenario.
Doing a use case workshops allows a software analyst to derive complete software requirements from the users familiar with the application. The documents described below should still express the application in user terms. These documents include:
Verification means a walk through to check off each case to look for missing cases, mis-information and other errors. One example is to look at each test case while checking off all user cases and dialog map function points. The application developer can use the test case as a test of the core functionality of the application.
The first workshop shakes out preliminary use cases. The draft documents can then be created. Users then need to review draft specification and participate in a walk through.
The walk through of each individual use case allows the team to get to fundamental user needs. Each case can be explored to reveal exceptions and decisions the system would have to handle.
A following workshop shakes out dialog maps and refines the user view of the application. It further refines business logic.
Other business logic which drives application decision should be kept under business rules. These are documented separately so that conflicts between user business rules can be caught and resolved early. Another review should check business logic with the users.
A final review walks through each test case and determines that all use cases for a particular implementation will be covered.
Remember to Keep asking: ``What do you need to accomplish with this system?''
User priorities allow the designer to map out a software strategy which encourages stepwise refinement of the application. The test cases enable the application to be tested by user function. The frequency of use case estimations allow benchmarking along the lines of intended application usage.
The next phase is the various walk throughs for use case analysis to verify the design. This includes a use case review, a dialog map review, a business rules review and a test case review.
Organizations report: