Analysis Modeling

45
August 2003 1 Analysis Modeling Two primary methods today Two primary methods today Structured Analysis Structured Analysis Object-oriented analysis Object-oriented analysis Some important considerations Some important considerations Analysis products must be maintainable Analysis products must be maintainable Effective partitioning is essential Effective partitioning is essential Graphics should be used whenever possible Graphics should be used whenever possible Distinguish between logical and Distinguish between logical and implementation implementation

Transcript of Analysis Modeling

Page 1: 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

Page 2: Analysis Modeling

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

Page 3: Analysis Modeling

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)

Page 4: Analysis Modeling

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..

Page 5: Analysis Modeling

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

Page 6: Analysis Modeling

August 20036

Data ModelingData Modeling

RelationshipsRelationships Defined pairwise -- many varietiesDefined pairwise -- many varieties

Book Bookstore

orders

displays

sells

returns

Page 7: Analysis Modeling

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

Page 8: Analysis Modeling

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

Page 9: Analysis Modeling

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

Page 10: Analysis Modeling

August 200310

ExampleExample

Page 11: Analysis Modeling

August 200311

Data Object HierarchiesData Object Hierarchies

Page 12: Analysis Modeling

August 200312

Associating Data ObjectsAssociating Data Objects

Page 13: Analysis Modeling

August 200313

Functional ModelingFunctional Modeling

Data

Dictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

( DFD )

Page 14: Analysis Modeling

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

Page 15: Analysis Modeling

August 200315

General Information Flow ModelGeneral Information Flow Model

Page 16: Analysis Modeling

August 200316

Basic NotationBasic Notation

Page 17: Analysis Modeling

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

Page 18: Analysis Modeling

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

Page 19: Analysis Modeling

August 200319

Ward/Mellor NotationWard/Mellor Notation

Page 20: Analysis Modeling

August 200320

ExampleExample

Page 21: Analysis Modeling

August 200321

ExampleExample

Page 22: Analysis Modeling

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

Page 23: Analysis Modeling

August 200323

Relationship Between ModelsRelationship Between Models

Page 24: Analysis Modeling

August 200324

ExampleExample

Page 25: Analysis Modeling

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

Page 26: Analysis Modeling

August 200326

Behavioral ModelingBehavioral Modeling

DataDictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

( STD )

Page 27: Analysis Modeling

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

Page 28: Analysis Modeling

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

Page 29: Analysis Modeling

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

Page 30: Analysis Modeling

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

Page 31: Analysis Modeling

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

Page 32: Analysis Modeling

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

Page 33: Analysis Modeling

August 200333

Home Security System ExampleHome Security System Example

Page 34: Analysis Modeling

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

Page 35: Analysis Modeling

August 200335

Home Security System ExampleHome Security System Example

Page 36: Analysis Modeling

August 200336

Home Security System ExampleHome Security System Example

Page 37: Analysis Modeling

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

Page 38: Analysis Modeling

August 200338

Level 1 CFD for Safe-HomeLevel 1 CFD for Safe-Home

Page 39: Analysis Modeling

August 200339

Control SpecificationControl Specification

Page 40: Analysis Modeling

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

Page 41: Analysis Modeling

August 200342

Data DictionaryData Dictionary

DataDictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

Page 42: Analysis Modeling

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

Page 43: Analysis Modeling

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

Page 44: Analysis Modeling

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

Page 45: Analysis Modeling

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