Sharing Requirement Properties



We studied relationship between requirements in "Constructs" section. Requirements related to each other also share properties based on certain rules. These rules are as follows:


Properties Sharing in case of Requirements Inheritance
Properties of generic (base) requirement are by default applicable to specialized (derived) requirement. To abide this rule, list of input parameters and output results of a base requirement should have only those entries which are common to all derived requirements. Entries specific to any specialized requirement should be listed in its respective list. Same is the case with business logic. In case of inheritance, most of the times, base requirement is an abstract requirement and possess only common properties. Note here that it is not required to repeat the properties of base requirement to derived requirement. All derived (specialized) requirements hold common properties mentioned for its base requirement as well as the properties specific to it.


Properties Sharing in case of Requirements Composition
As compared to requirements inheritance, the direction of sharing of properties in requirements composition is reverse. In requirements composition, the requirement which is composed of other requirements collectively holds the properties from all composed requirements. An interesting fact to note here that it is very rare to have any specific property for the parent requirement which is composed of (i.e. has) other requirements. Properties of such parent requirement will be a composition of properties of its composed requirements itself. In such case, it is not required to capture properties for parent requirement separately.


Properties Sharing in case of Requirements inclusion
Requirements inclusion involves two Requirements: a Base Requirement and Included Requirement. Included requirement is basically a step to be executed for the base requirement. If all included requirements of a base requirement have certain common properties, then instead of repeating them for every included requirement, we can capture them for base requirement. Thus sharing of properties in case of requirements inclusion is similar to sharing of properties in requirements inheritance.


Properties Sharing in case of Requirements Extension
Sharing of properties in extended requirements is drastically different from other rules. Extended requirements are similar to base requirement with the exception of something. Thus output of extended requirement rarely has any commonalities with its base requirement. Also the extended requirement has separate business logic from its base requirement which expects a separate list of input parameters. Considering this, it is very dangerous to share properties in requirements extension. This is the reason, sharing of properties is NOT applicable in case of extended requirements.
 

No comments: