Page 329 -
P. 329

300           PART THREE  CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING



            QUICK         model is created and then vali-  and control specifications are created as part of
            LOOK          dated by both software engineers  the analysis modeling activity.
                          and customers/users.      How do I ensure that I’ve done it right? Analysis mod-
           What is the work product? Data object descriptions,  eling work products must be reviewed for cor-
              entity relationship diagrams, data flow diagrams,  rectness, completeness, and consistency.
              state transition diagrams, process specifications,



                       •  The products of analysis must be highly maintainable. This applies particularly to the
                          Target Document [software requirements specifications].
                       •  Problems of size must be dealt with using an effective method of partitioning. The Vic-
                          torian novel specification is out.
                       •  Graphics have to be used whenever possible.
                       •  We have to differentiate between logical [essential] and physical [implementation] con-
                          siderations . . .
                          At the very least, we need . . .
                       •  Something to help us partition our requirements and document that partitioning before
                          specification . . .
                       •  Some means of keeping track of and evaluating interfaces . . .
                       •  New tools to describe logic and policy, something better than narrative text . . .
                       There is probably no other software engineering method that has generated as much
                       interest, been tried (and often rejected and then tried again) by as many people, pro-
                       voked as much criticism, and sparked as much controversy. But the method has pros-
                       pered and has gained a substantial following in the software engineering community.


                12.1   A BRIEF HISTORY

                       Like many important contributions to software engineering, structured analysis was
                       not introduced with a single landmark paper or book. Early work in analysis model-
                       ing was begun in the late 1960s and early 1970s, but the first appearance of the struc-
         “The problem is not  tured analysis approach was as an adjunct to another important topic—"structured
          that there are  design." Researchers (e.g., [STE74], [YOU78]) needed a graphical notation for repre-
          problems. The  senting data and the processes that transformed it. These processes would ultimately
          problem is expecting
          otherwise and  be mapped into a design architecture.
          thinking that having  The term structured analysis, originally coined by Douglas Ross, was popularized
          problems is a  by DeMarco [DEM79]. In his book on the subject, DeMarco introduced and named the
          problem.”
                       key graphical symbols and the models that incorporated them. In the years that fol-
          Theodore Rubin
                       lowed, variations of the structured analysis approach were suggested by  Page-Jones
                       [PAG80], Gane and Sarson [GAN82], and many others. In every instance, the method
                       focused on information systems applications and did not provide an adequate nota-
                       tion to address the control and behavioral aspects of real-time engineering problems.
   324   325   326   327   328   329   330   331   332   333   334