Before embarking on any use-case modeling activities it is essential to establish a firm foundation upon which to build. The foundation has two dimen-sions, which must be evolved in parallel with one another:
An understanding of the stakeholder and user community
The establishment of a shared vision for the product
Understanding the stakeholder community is essential as the stakeholders are the primary source of requirements. The following are the key to understanding the stakeholder community:
Stakeholder Types: Definitions of all of the different types of stakeholder affected by the project and the product it produces.
User Types: Definitions of characteristics and capabilities of the users of the system. The users are the people and things that will take on the roles defined by the actors in the use-case model.
For the use-case modeling activities to be successful, the stakeholders and users will need to be actively involved in them. The stakeholders and users directly involved in the project are known as stakeholder representatives. To ensure that the stakeholder representatives understand their commitment to the project, it is worthwhile to clearly define the "stakeholder roles" that they will be adopting. The stakeholder roles serve as a contract between the stakeholder representatives and the project, reflecting the responsibilities and expectations of both sides.
To establish a shared vision for the project, the following are essential:
The Problem Statement: A solution-neutral summary of the problem being solved, focusing on the impact of the problem and the benefits required of any successful solution.
Stakeholder Needs: The true "business requirements" of the stakeholders presented in a solution-neutral manner. These are the aspects of the problem that affect the individual stakeholders.
Features, Constraints, and Other High-Level Product Requirements: A high-level definition of the system to be developed. These complement and provide a context for the use-case model and enable effective scope management.
Product Overview: A summary of the other aspects of the product not directly captured by the high-level requirements.
The Vision document can be used to capture all of this information in a form that is accessible to all the stakeholders of the project.
The vision does not have to be complete before use-case modeling activities start; in fact, undertaking some initial use-case modeling can act as a driver and facilitation device for the construction of the vision itself, but if the vision is not established alongside the use-case model, then there is a strong possibility that it will not be a true reflection of the real requirements.