Unified Software Development Process Cycle
During the Creation of High-Level Requirements (Inception)
- With the customer, develop a High-Level Conceptual Diagram of labeled Use Cases within the System to be developed
- Use Case circles labeled with actions
- Determine Actors (external) that interact with Use cases (internal)
- Determine Boundary between System and domain Environment
- Write stories describing essential activities that occur within each labeled Use Case and label the activities in the Use Case; these form an informal statement of the Requirements
- Write algorithmic, or pseudo code, definitions of each Use Case; these form a more formal definition of the Requirements; follow the format of the USDP Use Cases
- Solicit additional requirements from the customer, particularly the non-functional ones
- Collect all of the requirements into a Requirements Document
- Link each requirement in the Document to the Use Cases that involve it
- Construct a Use Case Base that describes briefly what occurs in each labeled Use Case, for all of the Use Cases, and points to the corresponding Use Case definitions from 3.
- Include links into the Requirements Document indicating the requirements that each Use Case involves
- For each Use Case, describe each chain of activities in the Use Case via an Activity Diagram or simple State Diagram
- Label the Diagram with the name of the Use Case
- Include in the Use Case Base a pointer to the Diagram
- For each Use Case, identify objects by locating important subjects and objects of activities (can be phrases in the Use Case descriptions). Label these.
- Identify other important objects mentioned in the Use Case that interact with the objects and label them
- Review with the customer the labeled objects in the collection of Use Cases and eliminate the least important ones
- For each Use Case, prepare a Stereotype Diagram showing these important labeled objects in the Use Case and the links among them and the external Actors
- It is permissible to introduce important control entities that do not appear among the labeled objects; label these according to their roles
- Label the Diagram with the name of the Use Case and include in the Use Case Base a pointer to the Diagram
- Associate with each Use Case in the Use Case Base the important objects found in the Use Case along with brief descriptions of their meanings or purposes. This should include links to all of the Use Case activities in the Use Case Base in which each object participates and associations connecting it to all of the other labeled objects with which it relates.
- For each Use Case in the Use Case Base, associate each object and activity of the Use Case with the high-level requirements in the Requirements Document that involve them; consult the customer in doing this