Escolar Documentos
Profissional Documentos
Cultura Documentos
products must be maintainable Effective partitioning is essential Graphics should be used whenever possible Distinguish between logical and implementation
August 2003 1
Structured Analysis
Elements of Analysis
Describe what customer requires Establish basis for creating software design Define requirements that can be validated
August 2003 2
August 2003 3
Data Modeling
Data object [types] Attributes Relationships A representation of almost any composite information that must be understood by software.
4
Data objects
August 2003
Data Modeling
Attributes
Attributes define the properties of a data object and take on one of three different characteristics:
Name an instance of the data object Describe the instance Make reference to another instance Referential Descriptive attributes Naming attributes attributes Identifier
Make
Model
ID#
Q12A45.. AB123...
Data Modeling
Relationships
Book
sells returns
Bookstore
August 2003 6
Cardinality
How many occurrences of object X are related to how many occurrences of object Y
Modality
August 2003
Example
Customer
is provided with
Repair action
August 2003 8
manufacturer
car
body type
engine
transmission
...
Example
August 2003 10
August 2003 11
August 2003 12
Functional Modeling
August 2003 13
A graphical technique that depicts information flow and the transforms applied as data move from input to output Not the same as flow charts. Does not show the logic of the transformations Can be used at any level of abstraction
August 2003 14
August 2003 15
Basic Notation
August 2003 16
V f1 W f3
f2
X f4 Y Z f5 z1 z3
f6
z2
f7
f41 f42
x1
y1
f43 f44
x2 y2
f45
Z
17
Y
August 2003
Fundamental issue - The time at which results are produced is a part of the correctness of the computation. Hatley/Pirbhai notation
August 2003 18
Ward/Mellor Notation
August 2003 19
Example
August 2003 20
Example
August 2003 21
Use separate data flow diagram (DFD) and control flow diagram (CFD) Data flow diagrams
Used to represent data and the processes that manipulate it Show how events flow among processes and show those external events that cause various processes to be activated
22
August 2003
August 2003 23
Example
August 2003 24
Copy
read operator Info input
manage copying
status
problem diagnosis
repro fault
25
Behavioral Modeling
( STD )
e.g., reading commands, computing control, waiting for next time event
States represented as rectangles Arrows represent transitions Value above arrow identifies event causing transition Value below arrow indicates ensuring action
27
August 2003
jammed
invoke perform problem-diagnosis
August 2003
diagnosing problem
Creating an ERD
List entities that customer addresses For each, determine the connections For each connection, create one or more object-relationship pairs For each relationship, determine cardinality and modality Define the attributes of each entity Formalize and review ERD Iterate
29
August 2003
Initial entities
August 2003 30
Security system monitors sensor Security system enables/disables sensor Security system tests sensor Security system programs sensor
August 2003 31
Depict software system as single bubble Show primary inputs and outputs
Identify processes, data objects, and data stores to be expanded at next level Label all arrows with meaningful names Information flow continuity must be maintained Refine only one bubble at a time
August 2003 32
August 2003 33
Refinement
verbs are often processes nouns are often external entities, data or control objects or data stores
Examples
Control panel is used to program and configure the system Upon a sensor event, the software invokes an alarm
34
August 2003
August 2003 35
August 2003 36
Strip arrows from DFD Add event and control items. E.g., try
List all sensors read by the software List all interrupt conditions List all operator actuated switches List all data conditions Check noun-verb parse for possible CSPEC I/O Identify states, how each is reached and transitions Focus on possible omissions
37
August 2003
August 2003 38
Control Specification
August 2003 39
Process Specifications
Narrative text, Program design language description Mathematical equations Tables Diagrams Charts
41
August 2003
Data Dictionary
Data Dictionary
Why a data dictionary? Need an organized way to represent data & control characteristics Usual contents
Name Alias Where and how used Content description (of composite items) Supplementary information, e.g., restrictions, limitations, preset values
43
August 2003
Example
Name: Shuttle position Aliases: Position-orientation vector Where used: Display of Shuttle on map Content: x, y, z position wrt to Earths Center, roll, pitch, yaw Supplementary Info: Elevation must be above 140 nautical miles
44
August 2003
Data Dictionary
Preventing creation of duplicate names Enforce naming conventions Printing dictionary Determine the range of impact of changes, i.e., which processes are affected Assist configuration management
August 2003 45
Summary
Key elements
Data modeling
Data objects, attributes and relationships Cardinality and modality Entity-relationship diagrams Data and control flow diagrams
Functional modeling
Behavioral modeling
Data Dictionary
46
August 2003