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

