Analysis Modeling
Transcript of Analysis Modeling
August 20031
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
August 20032
Structured AnalysisStructured Analysis
Elements of AnalysisElements of Analysis 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
August 20033
Graphical View of ModelGraphical View of Model
Data
Dictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Dat
a
ObjectDescription Process
Specification
Control Specification
( ERD)
(DFD)
(STD)
August 20034
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..
August 20035
Data ModelingData 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
August 20036
Data ModelingData Modeling
RelationshipsRelationships Defined pairwise -- many varietiesDefined pairwise -- many varieties
Book Bookstore
orders
displays
sells
returns
August 20037
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
August 20038
ExampleExample
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
August 20039
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
August 200310
ExampleExample
August 200311
Data Object HierarchiesData Object Hierarchies
August 200312
Associating Data ObjectsAssociating Data Objects
August 200313
Functional ModelingFunctional Modeling
Data
Dictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
( DFD )
August 200314
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
August 200315
General Information Flow ModelGeneral Information Flow Model
August 200316
Basic NotationBasic Notation
August 200317
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
August 200318
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.
Hatley/Pirbhai notationHatley/Pirbhai notation
August 200319
Ward/Mellor NotationWard/Mellor Notation
August 200320
ExampleExample
August 200321
ExampleExample
August 200322
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
August 200323
Relationship Between ModelsRelationship Between Models
August 200324
ExampleExample
August 200325
CFD for PhotocopierCFD for Photocopier
readoperator
input
managecopying produce
userdisplays
reloadpaper
performproblem
diagnosis
paper feed status(jammed, empty)
start/stop
alarm
fullreprofault
Copy
Info
status
Reloadstatus
Problemtype
August 200326
Behavioral ModelingBehavioral Modeling
DataDictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
( STD )
August 200327
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
August 200328
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
August 200329
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
August 200330
Home Security System ExampleHome Security System Example
Initial entitiesInitial entities Homeowner, control panel, sensors, security Homeowner, control panel, sensors, security
system and monitoring servicesystem and monitoring service
August 200331
Home Security System ExampleHome Security System Example
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
August 200332
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
August 200333
Home Security System ExampleHome Security System Example
August 200334
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
August 200335
Home Security System ExampleHome Security System Example
August 200336
Home Security System ExampleHome Security System Example
August 200337
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 transitionsIdentify states, how each is reached and transitions Focus on possible omissionsFocus on possible omissions
August 200338
Level 1 CFD for Safe-HomeLevel 1 CFD for Safe-Home
August 200339
Control SpecificationControl Specification
August 200341
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
August 200342
Data DictionaryData Dictionary
DataDictionary
Entity
Relationship
Diagram
Data Flow
Diagram
State Transition
Diagram
Data
ObjectDescription Process
Specification
Control Specification
August 200343
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
August 200344
ExampleExample
Name:Name: Shuttle positionShuttle position 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
August 200345
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
August 200346
SummarySummary
Key elementsKey elements Data modelingData modeling
Data objects, attributes and relationshipsData objects, attributes and relationships Cardinality and modalityCardinality and modality Entity-relationship diagramsEntity-relationship diagrams
Functional modelingFunctional modeling Data and control flow diagramsData and control flow diagrams
Behavioral modelingBehavioral modeling State transition diagramsState transition diagrams
Data DictionaryData Dictionary