3.8 The Roles of Use Cases

The major artifacts of this approach are use cases. The following few paragraphs describe the different roles played by use cases as tools of requirements specification.

3.8.1 Use Cases Are Effective Communication Vehicles

Use cases are the centerpiece of our approach to requirements gathering. The interactions they illustrate form the basis of most of the requirements that must be documented.

In our experience, use cases have the additional tremendous benefit of aiding effective communication between IT staff and users. Users seem to catch on to use cases better than almost any other document that IT people produce. Because use cases are boiled down to the essence of the desired interactions, users are not distracted by computer-specific jargon or nomenclature (DFDs, ERDs, class diagrams, and so forth) or by user interface details (graphical user interface [GU] mock-ups, user interface storyboards, prototypes , and so on). All that remains is the most basic information about the interactions between actor and application.

3.8.2 Use Cases Can Be Used for Functional and Nonfunctional Requirements

Use cases can portray functional and nonfunctional requirements effectively. Generally, functional requirements can be put into terms of interactions between an actor and the application. The exceptions can be specified as business rules. Nonfunctional requirements ”such as performance, extensibility, and maintainability ”can often be stated in terms of use case stereotypes. These stereotypes are added to the use case model after most of the functional requirements are incorporated.

The definitions of the stereotypes that handle nonfunctional requirements should be quite detailed and should be reviewed by users in the same way that use cases are reviewed.

3.8.3 Use Cases Help Ensure Requirements Traceability

Use cases can provide requirements traceability effectively through the lifecycle because they are a building block for system design, units of work, construction iterations, test cases, and delivery stages. The status of each use case, including how it has changed over time, becomes completely obvious to the users and the IT staff. If a new use case is added, it becomes evident that the scope has increased and therefore something about the project plan must change.

When use cases drive the lifecycle, it also helps to assure the stakeholders that all the requirements are being addressed as development progresses. For example, at any point in the lifecycle, anyone who is creating artifacts ”whether they are design deliverables or code ”should be able to answer this question: Which use case (or scenario) are you elaborating ?

3.8.4 Use Cases Discourage Premature Design

Use cases discourage (although nothing can prevent) premature design. When design creeps into a use case, it becomes quite obvious. When the system is performing several steps before responding to a user, it sounds an alarm that perhaps internal system design is being created and exposed.



Use Cases. Requirements in Context
Use Cases: Requirements in Context (2nd Edition)
ISBN: 0321154983
EAN: 2147483647
Year: 2002
Pages: 90

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net