chapter 12 analysis modeling. analysis modeling ä two primary methods today ä structured analysis...
TRANSCRIPT
Chapter 12
Analysis Modeling
Analysis ModelingAnalysis Modeling
Two primary methods todayTwo primary methods today Structured AnalysisStructured Analysis Object-oriented analysisObject-oriented analysis
Some important considerationsSome important considerations Analysis products must be maintainableAnalysis products must be maintainable Effective partitioning is essentialEffective partitioning is essential Graphics should be used whenever possibleGraphics should be used whenever possible Distinguish between logical and implementationDistinguish between logical and implementation
Elements of the Analysis ModelElements of the Analysis Model
Primary ObjectivesPrimary Objectives Describe what customer requiresDescribe what customer requires Establish basis for creating software designEstablish basis for creating software design Define requirements Define requirements that can be validatedthat can be validated
The structure of analysis modelThe structure of analysis model
Data
Dictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Dat
a
ObjectDescription Process
Specification
Control Specification
( ERD)
(DFD)
(STD)
The Flow Model
Every computer-based system is an Every computer-based system is an information transform ....information transform ....
computercomputerbasedbased
systemsysteminputinput outputoutput
Data ModelingData Modeling
The model consists ofThe model consists of Data object [types]Data object [types] AttributesAttributes RelationshipsRelationships
Data objectsData objects A representation of almost any composite A representation of almost any composite
information that must be understood by information that must be understood by softwaresoftware..
…Data Modeling…Data Modeling AttributesAttributes
Attributes define the properties of a data object Attributes define the properties of a data object and take on one of three different characteristics:and take on one of three different characteristics: Name an instance of the data objectName an instance of the data object Describe the instanceDescribe the instance Make reference to another instanceMake reference to another instance
Make Model ID# Body type Color Owner
Ford Taurus Q12A45.. Sedan Blue ABC
Lexus LS400 AB123... Sports White XYZ
Naming attributesDescriptive attributes
Referential attributes
Identifier
…Data Modeling…Data Modeling
RelationshipsRelationships Defined pairwise -- many varietiesDefined pairwise -- many varieties
Book Bookstore
orders
displays
sells
returns
Cardinality and ModalityCardinality and Modality
CardinalityCardinality How many occurrences of object X are related to How many occurrences of object X are related to
how many occurrences of object Yhow many occurrences of object Y One-to-one (1:1)One-to-one (1:1) One-to-many (1:N)One-to-many (1:N) Many-to-many (M:N)Many-to-many (M:N)
ModalityModality =0 => optional relationship=0 => optional relationship =1 => relationship must appear=1 => relationship must appear
Example: ModalityExample: Modality
Customer Repair actionis provided with
Mandatory: in order to havea repair action, we must havea customer
Optional: there may be a situationin which a repair action is not necessary
Entity Relation Diagrams (ERD)Entity Relation Diagrams (ERD)
Cornerstone of the data model -- includesCornerstone of the data model -- includes data objects, data objects, attributes, attributes, relationships, andrelationships, and various type indicatorsvarious type indicators
manufacturer carbuilds
ID# model body type engine transmission . . .Data Object Table
Example: Expanded ERDExample: Expanded ERD
Data Object type hierarchiesData Object type hierarchies
Associative Data ObjectsAssociative Data Objects
Functional ModelingFunctional Modeling
Data
Dictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
( DFD )
Data Flow Diagrams (DFD)Data Flow Diagrams (DFD)
A graphical technique that depicts A graphical technique that depicts information flow and the transforms information flow and the transforms applied as data move from input to outputapplied as data move from input to output
NotNot the same as flow charts. Does not the same as flow charts. Does not show the logic of the transformationsshow the logic of the transformations
Can be used at any level of abstractionCan be used at any level of abstraction
General Information Flow ModelGeneral Information Flow Model
Basic NotationBasic Notation
Information Flow RefinementInformation Flow Refinement
AB
AB
V
W
X
Y
Z
X
Y
z z
z
x x
yy
Z
12
3
1
1
2
2
F
f
f
f
ff
f
f
f
f
f
f
f
1
2
3
4
5
6
7
41
42
43
44
45
Real Time ExtensionsReal Time Extensions
Fundamental issue - The time at which Fundamental issue - The time at which results are produced is a part of the results are produced is a part of the correctness of the computation.correctness of the computation.
Example: Time continuous data flowExample: Time continuous data flow
Ward/Mellor NotationWard/Mellor Notation
Example: Data and control flows, Ward and Mellor
Example: Data and control flows, Ward and Mellor
Hatley and Pirbhai ExtensionsHatley and Pirbhai Extensions
Use separate Use separate data flow diagramdata flow diagram (DFD) and (DFD) and control flow diagramcontrol flow diagram (CFD) (CFD)
Data flow diagrams Data flow diagrams Used to represent data and the processes that Used to represent data and the processes that
manipulate itmanipulate it Control flow diagrams Control flow diagrams
Show how events flow among processes and Show how events flow among processes and show those external events that cause various show those external events that cause various processes to be activatedprocesses to be activated
Relationship Between ModelsRelationship Between Models
Example: Data ConditionsExample: Data Conditions
CFD for Photocopier SoftwareCFD for Photocopier Software
readoperator
input
managecopying produce
userdisplays
reloadpaper
performproblem
diagnosis
paper feed status(jammed, empty)
start/stop
alarm
fullreprofault
Copy
Info
status
Reloadstatus
Problemtype
Behavioral ModelingBehavioral Modeling
DataDictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
( STD )
State Transition DiagramsState Transition Diagrams
A State is any observable mode of behaviorA State is any observable mode of behavior e.g., reading commands, computing control, e.g., reading commands, computing control,
waiting for next time eventwaiting for next time event States represented as rectanglesStates represented as rectangles Arrows represent transitionsArrows represent transitions Value above arrow identifies event causing Value above arrow identifies event causing
transitiontransition Value below arrow indicates ensuring actionValue below arrow indicates ensuring action
State Transition DiagramState Transition Diagram
readingcommands
making copiesreloading
paper
diagnosingproblem
jammedinvoke perform problem-diagnosis
emptyinvoke reload paper
not jammedinvoke read-op-input
fullinvoke read-op-input
idle
invoke read-op-inputfull and start
invoke manage-coping
copies doneinvoke read-op-input
Creating an ERDCreating an ERD
List entities that customer addressesList entities that customer addresses For each, determine the connectionsFor each, determine the connections For each connection, create one or more For each connection, create one or more
object-relationship pairsobject-relationship pairs For each relationship, determine cardinality For each relationship, determine cardinality
and modalityand modality Define the attributes of each entityDefine the attributes of each entity Formalize and review ERDFormalize and review ERD IterateIterate
Example1: Home Security SystemExample1: Home Security System Initial entitiesInitial entities
Homeowner, control panel, sensors, security Homeowner, control panel, sensors, security system and monitoring servicesystem and monitoring service
Example2: Home Security System Example2: Home Security System
Relationships between sensor and security sys.Relationships between sensor and security sys. Security system monitors sensorSecurity system monitors sensor Security system enables/disables sensorSecurity system enables/disables sensor Security system tests sensorSecurity system tests sensor Security system programs sensorSecurity system programs sensor
Creating a Data Flow ModelCreating a Data Flow Model
First create level 0 diagramFirst create level 0 diagram Depict software system as single bubbleDepict software system as single bubble Show primary inputs and outputsShow primary inputs and outputs
Identify processes, data objects, and data stores Identify processes, data objects, and data stores to be expanded at next levelto be expanded at next level
Label all arrows with meaningful namesLabel all arrows with meaningful names Information flow continuity must be maintainedInformation flow continuity must be maintained Refine only one bubble at a timeRefine only one bubble at a time
Example3: Home Security SystemExample3: Home Security System
RefinementRefinement
Analyze textual description of bubbleAnalyze textual description of bubble verbs are often processesverbs are often processes nouns are often external entities, data or control nouns are often external entities, data or control
objects or data storesobjects or data stores ExamplesExamples
Control panel is used to program and configure Control panel is used to program and configure the systemthe system
Upon a sensor event, the software invokes an Upon a sensor event, the software invokes an alarmalarm
Example4: Home Security SystemExample4: Home Security System
Example5: Home Security SystemExample5: Home Security System
Creating Control Flow ModelsCreating Control Flow Models Strip arrows from DFDStrip arrows from DFD Add event and control items. E.g., tryAdd event and control items. E.g., try
List all sensors read by the softwareList all sensors read by the software List all interrupt conditionsList all interrupt conditions List all operator actuated switchesList all operator actuated switches List all data conditionsList all data conditions Check noun-verb parse for possible CSPEC I/OCheck noun-verb parse for possible CSPEC I/O Identify states, how each is reached and Identify states, how each is reached and
transitionstransitions Focus on possible omissionsFocus on possible omissions
Level 1 CFD for Safe-HomeLevel 1 CFD for Safe-Home
State transition diagram for SafeHomeState transition diagram for SafeHome
Process SpecificationsProcess Specifications
Describes all flow model processes at final Describes all flow model processes at final level of refinementlevel of refinement Narrative text,Narrative text, Program design language descriptionProgram design language description Mathematical equationsMathematical equations TablesTables DiagramsDiagrams ChartsCharts
Data DictionaryData Dictionary
DataDictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
Data DictionaryData Dictionary
Why a data dictionary? Need an organized way Why a data dictionary? Need an organized way to represent data & control characteristicsto represent data & control characteristics
Usual contentsUsual contents NameName AliasAlias Where and how usedWhere and how used Content description (of composite items)Content description (of composite items) Supplementary information, e.g., restrictions, Supplementary information, e.g., restrictions,
limitations, preset valueslimitations, preset values
ExampleExample
Name:Name: Shuttle poseShuttle pose Aliases:Aliases: Position-orientation vectorPosition-orientation vector Where used:Where used: Display of Shuttle on mapDisplay of Shuttle on map Content:Content: x, y, z position wrt to Earth’s x, y, z position wrt to Earth’s
Center, roll, pitch, yawCenter, roll, pitch, yaw Supplementary Info: Elevation must be Supplementary Info: Elevation must be
above 140 nautical milesabove 140 nautical miles
Data DictionaryData Dictionary
Common tools supporting DDCommon tools supporting DD Preventing creation of duplicate namesPreventing creation of duplicate names Enforce naming conventionsEnforce naming conventions Printing dictionary Printing dictionary Determine the range of impact of changes, i.e., Determine the range of impact of changes, i.e.,
which processes are affectedwhich processes are affected Assist configuration managementAssist configuration management
EndEnd