PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES
The Product Requirements Activity is an activity of the Domain Specification Activity for creating Product Requirements. A requirements specification describes needs that are satisfied by creating an Application Product. Needs are expressed in terms of the required behavior and operational environment of an envisioned application." Similarly, Product Requirements is a requirements specification that is adaptable to the decisions supported by the product family's Decision Model. The Product Requirements describes the set of problems solved by the members of a product family. By applying the decisions that characterize a particular product (i.e., its Application Model) to the Product Requirements, a standardized description of that product is produced. A Product Requirements gives meaning to an Application Model as a description of a member of a product family. The Product Requirements Activity is performed for each work product family in the domain.
The objective of the Product Requirements Activity is to define the requirements for a product family. The specification must be adaptable to decisions allowed by the product family's Decision Model.
The Product Requirements Activity requires the following information:
The Product Requirements Activity requires domain and software knowledge and experience in:
As a whole, this information is sufficient to characterize each particular member of a product family as implied by the decisions allowed by the family's Decision Model.
The assertions form of Product Requirements is a set of assertions that describe the (black-box) behavior of applications in the domain. Assertions may be simple or parameterized to reflect decisions defined in the Decision Model. Assertions can be structured into a hierarchy to facilitate separation of concerns.
The Traffic Light Control Software System (TLC) controls the traffic light sequence for an intersection. The streets are laid out in the following configuration.< if Traffic_Light_Controller.Geometry = X then >
Street1 | | Street4 ----------+---------- Street2 | | Street3
< else >
Street1 | | +---------- Street2 | | Street3
< endif >
Each traffic light sequence in the intersection is coordinated with other traffic lights in the intersection. The intersection arms have the following characteristics.
< forall streets S in Traffic_Light_Controller.Geometry > Street (< S.Name >): < if S.Right_Turn_Lanes specified then > - < S.Right_Turn_Lanes.Num_of_Lanes > right turn lanes < endif > < if S.Left_Turn_Lanes specified then > - < S.Left_Turn_Lanes.Num_of_Lanes > left turn lanes < endif > ....
< endfor >....
< if there exists at least one Street such that Street.Crosswalk_Button = CB then >
The Crosswalk_Button device interrupts the TLC system each time the crosswalk button is pushed. The message received from this device has the following characteristics:....
< endif >
....The TLC system also has an interface to a real-time clock. The clock is used by the TLC system to determine when to activate a traffic light cycle (in the absence of any trip mechanisms in the streets) and the duration of each traffic light indicator in a traffic light sequence. A TLC system also uses the real-time clock to keep track of the current time-of-day to determine how quickly it must respond to signals received from trip mechanisms or pedestrian crosswalk push buttons.
....
For all forms, parameterization can be used to express the effects of decisions on Product Requirements. A metaprogramming notation can describe text substitution, conditional inclusion, and iteration over repetitive decisions. Example DE.2.2.2-1 Fragment of TLC Product Requirements illustrates a fragment of the TLC domain. This fragment depicts a portion of the content (e.g., externally visible behavior) and context (e.g., inputs from the environment) of systems in the TLC domain. This fragment also depicts the use of parameterization (in terms of appropriate decisions from the product family's Decision Model shown in Example DE.2.2.1-1 ) to express requirements that characterize particular members of the product family. For example, the block of text describing the message format received from the crosswalk button device is only included in the Product Requirements when there is at least one Street in the TLC system which has that device.
The Product Requirements Activity consists of four steps shown in Figure DE.2.2.2 -2 Product Requirements Process
Follow these steps for the Product Requirements Activity.
Step: Define the Concept
Step: Describe the Context
Step: Derive the Content
Step: Identify Constraints