Page 314 -
P. 314

CHAPTER 11  ANALYSIS CONCEPTS AND PRINCIPLES                       285

                 FIGURE 11.3
                 Information
                                Input                   Intermediate                  Output
                 flow and
                               object(s)               data and control               object(s)
                 transformation           Transform                      Transform
                                             #1                            #2




                                                            Data/control
                                                               store




                              are distinct structures to be used? How does information in one information struc-
                              ture relate to information in another structure? These questions and others are
                              answered by an assessment of information structure. It should be noted that data
                              structure, a related concept discussed later in this book, refers to the design and imple-
                              mentation of information structure within the software.

                              11.3.2  Modeling

                              We create functional models to gain a better understanding of the actual entity to be
                              built. When the entity is a physical thing (a building, a plane, a machine), we can build
                              a model that is identical in form and shape but smaller in scale. However, when the
                              entity to be built is software, our model must take a different form. It must be capa-
                              ble of representing the information that software transforms, the functions (and sub-
                              functions) that enable the transformation to occur, and the behavior of the system as
                              the transformation is taking place.
                                The second and third operational analysis principles require that we build mod-
                ?  What types  els of function and behavior.
                   of models
               do we create        Functional models. Software transforms information, and in order to
                                   accomplish this, it must perform at least three generic functions: input, pro-
               during
               requirements        cessing, and output. When functional models of an application are created,
               analysis?           the software engineer focuses on problem specific functions. The functional
                                   model begins with a single context level model (i.e., the name of the software
                                   to be built). Over a series of iterations, more and more functional detail is
                                   provided, until a thorough delineation of all system functionality is repre-
                                   sented.
                                   Behavioral models. Most software responds to events from the outside
                                   world. This stimulus/response characteristic forms the basis of the behav-
                                   ioral model. A computer program always exists in some state—an externally
                                   observable mode of behavior (e.g., waiting, computing, printing, polling) that
                                   is changed only when some event occurs. For example, software will remain
   309   310   311   312   313   314   315   316   317   318   319