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

108   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


                          •  There will be at least one message on a defining sequence
                             diagram with the same name as each extending use case.
                          •  Every  actor  interface  or  boundary  communication  will
                             appear on at least one sequence diagram.
                          •  Any entities shown attached to a use case will appear as an
                             item  being  passed  (message  argument)  on  at  least  one
                             sequence diagram or as an object on an activity diagram.

                      Extending Use Case Relationships Can Only Exist
                      Between Like Use Cases
                      The extending relationship is a specialized extension to a well-defined
                      process. As such, both the extending and extended use cases must be
                      of the same type. Using the extending relationship where one of the
                      use cases is abstract and the other is concrete leads to ambiguity. For
                      example,  extending  “manage  documents”  with  “place  document
                      under configuration management” is ambiguous, as we don’t know
                      whether  a  new  or  existing  document  is  being  placed  under
                      configuration management.

                      A Concrete Use Case Cannot Include an Abstract Use Case
                      The rationale is the same as for the extending relationship. A concrete
                      use case that includes an abstract use case is ambiguous; e.g., it cannot
                      be defined.

                      Avoid Realization Relationships and Artifacts
                      in the Analysis Model
                      Realization relationships have different meanings, depending on the
                      context  in  which  they  are  used.  This  can  lead  to  ambiguity  and
                      confusion. A realization relationship between two use cases means
                      that one of the use cases “implements” the other use case. Realization
                      of  a  use  case  by  a  sequence  diagram  indicates  that  the  sequence
                      diagram explains the use case process.


                      Business Object Modeling
                      Business object modeling is the process of describing behavior in a
                      domain. By describing the behavior of the subject areas associated
                      with feature-level requirements, we expose details of the subject area,
                      and by doing so we elicit requirements and business rules. During
                      the  analysis  modeling  effort,  classes  are  sometimes  referred  to  as
                      “business objects,” not to be confused with the objects on sequence
                      and collaboration diagrams that are class instances. Defining classes
                      for objects as they are discovered will keep the effort focused on the
                      domain processes (as opposed to data).
   136   137   138   139   140   141   142   143   144   145   146