![]() |
![]() |
![]() |
![]() |
![]() |
Requirements Traceability
One important aspect in the system analysis is the relation between the models that are created in this activity and the requirements, both external requirements specifications and the models from the requirements analysis. Important questions are:
- Have all requirements been implemented?
- Which are the system analysis objects that implement one particular requirement?
- Which are the requirements that are implemented by one specific object in the analysis object model?
To be able to answer this type of questions it is important to create and maintain descriptions of the dependencies between concepts among the requirements and system analysis concepts. As discussed in Implinks and the Paste As Concept the means to do this in SOMT is given by what is called implementation links (or implinks for short). An implink is an association between two concepts where one of the concepts implements the other. One example is the implinks that exist between objects in the requirements object model and the corresponding object in the analysis object model. Consider for example Figure 646 that illustrates how domain objects are modeled in the analysis object model. In this case there should for example be an implink between the Operator object in the requirements object model and the Operator object in the analysis object model.
Another example is the links between use cases on different levels. Links between the requirements use cases and the analysis use cases show that the requirements are handled on the system analysis level.
In particular when doing "what if..." analysis of the consequences a modification or extension of the system has, these type of links are invaluable. For example consider the case where we would like to specialize the concept of an Operator into RegularOperator and ChiefOperator where the chief operator has some special privileges that a regular operator does not have. We then look at the requirements object model and try to understand what consequences this modification will have. With an implink we immediately see that the analysis object OperatorInfo will have to be changed and with further links from this object we can get a good idea of the consequences caused by the modification.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |