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

n
                                                                g

                                                            i
                                                             t
                                                              i
                                                                      u
                                                                       i
                                                                        r
                                                                  R
                                                                   e
                                                                    q
                                                           c
                                                  r
                                                 e
                                                t
                                                     :
                                                    3

                                           C
                                                          l
                                                           i
                                               p
                                              a
                                             h
                                                                         e
                                                                              t
                                                                               s
                                           C h a p t e r   3 :      E E l i c i t i n g   R e q u i r e m e n t s      59 59
                                                                          m
                                                                           e
                                                                            n
                         Data flow diagrams (DFDs) have been around for a long time.
                      There are several similar methodologies, such as those defined by
                      [Gane et al. 1997] and [Yourdon 1988]. A sample data flow diagram
                      is shown in Figure 3.10. The vertical lines on the data stores indicate
                      the number of times that the store is shown on the diagram. While
                      DFDs appear to have fallen out of favor and viable tools can be hard
                      to find, they still have their proponents. DFDs can be very effective
                      diagramming techniques for analyzing business needs. The primary
                      difference  between  the  data  flow  and  newer  (object-oriented)
                      techniques is the focus on data flows and data structures rather than
                      services. With data flow techniques, a customer’s data and the flow
                      of  that  data  are  analyzed.  Stores  needed  to  hold  the  data  and
                      processes needed to manipulate the data are added. The results of
                      the  analysis  are  then  captured  in  data  flow  diagrams  for  review
                      with the stakeholders.
                         Use case analysis [Jacobson et al. 1992] (use case = business process)
                      involves  either  defining  a  customer  process  (business  modeling)  or
                      showing the relationship of a system or product to the outside world.
                      The analysis can be done using natural languages and tables or visual
                      techniques such as those described in Chapter 4. A use case consists of
                      the following:
                          •  Actors  People or things interacting with the use case
                          •  Events  Things that cause the use case to happen
                          •  Preconditions  Things that must be true for the use case to
                             happen
                          •  Postconditions  Things that must be true if the use case has
                             successfully completed
                          •  Activities  The processes that occur in the use case
                          •  Included use cases  Other processes used by this use case
                          •  Extending use cases  Other processes that may optionally
                             take place during the occurrence of this use case
                         When using natural language, activities are normally described
                      using a table similar to the one shown in Table 3.2. In addition to the
                      “sunny  day”  scenario,  tables  are  normally  created  for  alternate
                      scenarios. For the “cash a check” example shown in Table 3.2, alternate
                      scenarios might include how to handle insufficient funds or an ID
                      that is not acceptable.
                         One problem with using natural language is that the set of use
                      cases  describing  viable  business  processes  makes  up  a  graphical
                      structure  that  is  not  well  represented  by  text  documents.  For
                      example, two different use cases might use or include the same use
                      case (Figure 3.11). Furthermore, as we interact with the customers
                      or stakeholders, the number of use cases can grow rapidly. If the use
                      cases are kept in text files, document management issues can arise.
   83   84   85   86   87   88   89   90   91   92   93