CH 05 - Analysis Modeling
CH 05 - Analysis Modeling
CH 05 - Analysis Modeling
Chapter 5
Analysis Modeling
The fundamental step is done where the requirements are completely specified and design representation is
comprehensively made for the software. The model is a combination of model in text and diagrammatic form
to depict requirements for data, function and behaviour in away that is relatively easy to understand and
more important straight-forward to review for correctness, completeness and consistency.
Analysis modelling is used to validate software requirements; you need to examine them from a number of
different points of views.
Analysis modelling represents requirements in three dimensions:
➢ Data
➢ Functional
➢ Behaviour
Elements of Analysis Modelling:
Three objectives of the analysis model:
1. To describe what the customer requires,
2. To establish a basis for the creation of a software design, and
3. To define a set of requirements that can be validated once the software is built.
➢ Data Dictionary: Data Dictionary is a centralized collection of definitions of all data flowing among
functions and, to & from data stores. By centralizing all definitions in the dictionary removes
dangers of duplication and inconsistencies.
➢ Data Modelling:
o Entity Relationship Diagram:
▪ Depicts relationship between data objects.
▪ Used to conduct data modelling activity.
The data dictionary is an organized listing of all data elements that are pertinent to the system, with
precise, rigorous definitions so that both user and system analyst will have a common understanding
of inputs, outputs, components of stores and [even] intermediate calculations.
Today, the data dictionary is always implemented as part of a CASE "structured analysis and design tool."
Although the format of dictionaries varies from tool to tool, most contain the fo1Iowing information:
• Name - the primary name of the data or control item, the data store or an external entity.
• Alias - other names used for the first entry.
• Where-used/how-used - a listing of the processes that use the data or control item and how it is used
(e.g., input to the process, output from the process, as a store, as an external entity.)
• Content description - a notation for representing content.
• Supplementary information - other information about data types, preset values (if known), restrictions
or limitations, and so forth.
Once a data object or control item name and its aliases are entered into the data dictionary, consistency in
naming can be enforced. That is, if an analysis team member decides to name a newly derived data item
Advanced Software Engineering Page 2 of 8
Chapter 5: Analysis Modeling
xyz, but xyz is already in the dictionary, the CASE tool supporting the dictionary posts a warning to
indicate duplicate names. This improves the consistency of the analysis model and helps to reduce errors.
"Where-used/how-used" information is recorded automatically from the flow models. When a dictionary
entry is created, the CASE tool scans DFDs to determine which processes use the data or control
information and how it is used.
To illustrate the use of the data dictionary, consider the level 2 DFD for the monitor system process for
SafeHome. Referring to the data item telephone number is specified as input. But what exactly is a tele-
phone number? It could be a 7-digit local number, a 4-digit extension, or a 25-digit long distance carrier
sequence. The data dictionary provides precise definition of telephone number for DFD in question. In
addition, it indicates where and how this data item is used and any supplementary information that is
relevant to it. The data dictionary entry begins as follows:
For large computer – based systems, the data dictionary grows rapidly in size and complexity. In fact, it is
extremely difficult to maintain a dictionary manually. For this reason, CASE tools should be used.
DATA MODELLING:
It answers a set of specific questions, relevant to any data processing application.
➢ What are the primary data objects to be processed?
➢ What is the composition of each data object and what attributes describe the object?
➢ Relationship between objects?
Entity Relationship Diagram:
Used for specifying user views and logical requirements. Three concepts:
➢ Entity/data objects: a collection of items that share common properties.
➢ Relations: Define how entities are connected to one another.
➢ Attributes: Defines properties of an entity.
ERD defines all data that are entered, stored, transformed and produced within an application. It focuses
solely on data. Data modelling considers data, independent of the processing that transforms the data.
SafeHome software enables the homeowner to configure the security system when it is installed,
monitors all sensors connected to the security system, and interacts with the homeowner through a
keypad and function keys contained in the SafeHome control panel.
During installation, the SafeHome control panel is used to "program" and configure the system. Each
sensor is assigned a number and type, a master password is programmed for arming and disarming the
system, and telephone number(s) are input for dialing when a sensor event occurs.
When a sensor event is recognized, the software invokes an audible alarm attached to the system. After
a delay time that is specified by the homeowner during system configuration activities, the software
dials a telephone number of a monitoring service, provides information about the location, reporting
the nature of the event that has been detected. The telephone number will be redialed every 20 seconds
until telephone connection is obtained
All interaction with SafeHome is managed by a user-interaction subsystem that reads input provided
through the keypad and function keys, displays prompting messages on the LCD display, and
displays system status information on the LCD display. Keyboard interaction takes the following
form...
Again considering the SafeHome product, a level 0 DFD for the system is shown in figure above. The
primary external entities (boxes) produce information for use by the system arid consumes information
generated by the system. The labeled arrows represent data objects or data object type hierarchies. For
example, user commands and data encompasses all configuration commands, all activation/deactivation
commands, all miscellaneous interactions, and all data that are entered to qualify or expand a command.
The level 0 DFD is now expanded into a level I model. But how do we proceed? A simple, yet effective
approach is to perform a "grammatical parse" on the processing narrative that describes the context level
bubble. That is, we isolate all nouns (and noun phrases) and verbs (and verb phrases) in the SaftHome
Advanced Software Engineering Page 5 of 8
Chapter 5: Analysis Modeling
narrative presented below. To illustrate, we again reproduce the processing narrative underlining the first
occurrence of all nouns and italicizing the first occurrence of all verbs.3
Referring to the "grammatical parse," a pattern begins to emerge. All verbs are SaftHome processes; that is,
they may ultimately be represented as bubbles in a subsequent DFD. All nouns are either external entities
(boxes), data or control objects (arrows), or data stores (double lines). Note further that nouns and verbs can
be attached to one another (e.g., sensor is assigned number and type). Therefore by performing a
grammatical parse on the processing narrative for a bubble at any DFD level, we can generate much useful
information about how to proceed with the refinement to the next level. Using this information, a level I
DFD is shown in figure. The context level process has been expanded into six processes derived from an
examination of the grammatical parse. Similarly, the information flow between processes at level 1 has been
derived from the parse.
It should be noted that information flow continuity is maintained between levels 0 and 1. The processes
represented at DFD level 1 can be further refined into lower levels. For example, the process monitor sensors
can be refined into a level 2 DFD as shown in figure. Note once again that information flow continuity has
been maintained between levels.
The refinement of DFDs continues until each bubble performs a simple function. That is, until the process
represented by the bubble performs a function that would be easily implemented as a program component.
BEHAVIOURAL MODELLING:
Behavioural modelling is an operational principle for all requirements analysis methods. Yet, only extended
versions of structured analysis provide a notation for this type of modelling.