Page 147 - Software and Systems Requirements Engineering in Practice
P. 147

114   S o f t w a r e   &   S y s t e m s   R e q u i r e m e n t s   E n g i n e e r i n g :   I n   P r a c t i c e


                      should be performed programmatically, as performing them manually
                      could be prone to errors and time consuming. Some of the checks that
                      can be performed are shown in Table 4.2.



                  Error              Indicates That
                  Circular Dependency  There is the possibility of deadlock, e.g., a depends
                                     on b, which depends on c, which depends on a. This
                                     can result in confusing or incomplete requirements.
                  Class Not Instanced  A concrete class has been defined to the model;
                                     however, an instance of the class cannot be found
                                     on any sequence or activity diagram. This means
                                     nowhere is it shown how this business object is used.
                  Concrete Use Case   A process has not been adequately described.
                  Not Defined        It does not have enough information provided to
                                     extract requirements.
                  Dangling Abstract   A subject area has not yet been modeled, the model
                  Use Case           is incomplete.
                  Hidden Artifact    Something in the model is not shown on any
                                     diagram. It appears to have been forgotten or
                                     overlooked.
                  Illegal Extending   An extending relationship has an abstract use case
                  Association        at least on one end, causing ambiguity.
                  Illegal Interface   A boundary or interface has an association with an
                  Association        abstract use case. This association will result in
                                     ambiguous requirements being generated.
                  Interface Not Used  An interface or boundary (a class with a stereotype
                                     of boundary) has been shown on a use case
                                     diagram, but nowhere is it explained how it is used.
                  Missing Boundary   The interaction of an actor with the product, either
                                     via software (a software interface) or visually (a user
                                     interface, panel, etc.), is missing.
                  Mixed Use Case     A use case with mixed abstract/concrete included/
                  Relationships      extending use cases is ambiguous, and as a result
                                     any requirements derived from it may also be
                                     ambiguous.
                  Unused Concrete    It probably means that the model is incomplete, or
                  Actor              the actor does not communicate with the system. An
                                     actor can only access a process through a boundary.
                  Use Case           Parts of the definition of the use case are
                  Completeness       missing. This may result in incorrect or incomplete
                                     requirements.

                 TABLE 4.2  Serious Model Faults
   142   143   144   145   146   147   148   149   150   151   152