Page 328 -
P. 328

CHAPTER

                                         ANALYSIS MODELING
                       12






               KEY                       t a technical level, software engineering begins with a series of mod-
               CONCEPTS                  eling tasks that lead to a complete specification of requirements and a
               analysis model   301  Acomprehensive design representation for the software to be built. The
               behavioral          analysis model, actually a set of models, is the first technical representation of
               modeling. . . . . . . 317
                                   a system. Over the years many methods have been proposed for analysis mod-
               control flow
               model . . . . . . . . . 324  eling. However, two now dominate. The first, structured analysis, is a classical
                                   modeling method and is described in this chapter. The other approach, object-
               CSPECs . . . . . . . . 325
                                   oriented analysis, is considered in detail in Chapter 21. Other commonly used
               data dictionary. . 328
                                   analysis methods are noted in Section 12.8.
               DFDs . . . . . . . . . . 311
                                     Structured analysis is a model building activity. Applying the operational
               data modeling . . 302
                                   analysis principles discussed in Chapter 11, we create and partition data, func-
               ERDs . . . . . . . . . . 307
                                   tional, and behavioral models that depict the essence of what must built. Struc-
               functional          tured analysis is not a single method applied consistently by all who use it.
               modeling. . . . . . . 309
                                   Rather, it is an amalgam that evolved over more than 30 years.
               PSPECs . . . . . . . . 327
                                     In his seminal book on the subject, Tom DeMarco [DEM79] describes struc-
               grammatical
               parse. . . . . . . . . . 322  tured analysis in this way:
               real-time
               extensions . . . . . 312  Looking back over the recognized problems and failings of the analysis phase, I
                                   suggest that we need to make the following additions to our set of analysis phase
               structured analysis
               mechanics. . . . . . 319  goals:
                  QUICK         What is it? The written word is a  ber of different points of view. Analysis modeling
                   LOOK         wonderful vehicle for communi-  represents requirements in three “dimensions”
                                cation, but it is not necessarily the  thereby increasing the probability that errors will
                    best way to represent the requirements for com-  be found, that inconsistency will surface, and that
                    puter software. Analysis modeling uses a combi-  omissions will be uncovered.
                    nation of text and diagrammatic forms to depict  What are the steps? Data, functional, and behav-
                    requirements for data, function, and behavior in  ioral requirements are modeled using a number
                    a way that is relatively easy to understand, and  of different diagrammatic formats. Data model-
                    more important, straightforward to review for cor-  ing defines data objects, attributes, and relation-
                    rectness, completeness, and consistency.  ships. Functional modeling indicates how data
                  Who does it? A software engineer (sometimes called  are transformed within a system. Behavioral mod-
                    an analyst) builds the model using requirements  eling depicts the impact of events. Once prelimi-
                    elicited from the customer.              nary models are created, they are refined and
                  Why is it important? To validate software require-  analyzed to assess their clarity, completeness, and
                    ments, you need to examine them from a num-  consistency. A specification incorporating the




                                                                                                 299
   323   324   325   326   327   328   329   330   331   332   333