60
December 2007 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

December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

Embed Size (px)

Citation preview

Page 1: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20071

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20072

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20073

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20074

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20075

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20076

Data ModelingData Modeling

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

Book Bookstore

orders

displays

sells

returns

Page 7: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20077

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20078

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 20079

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200710

ExampleExample

Page 11: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200711

Data Object HierarchiesData Object Hierarchies

Page 12: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200712

Associating Data ObjectsAssociating Data Objects

Page 13: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200713

Functional ModelingFunctional Modeling

Data

Dictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

( DFD )

Page 14: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200714

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: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200715

General Information Flow ModelGeneral Information Flow Model

Page 16: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200716

Basic NotationBasic Notation

Page 17: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200717

External Entity

A producer or consumer of dataA producer or consumer of data

Examples: a person, a device, a sensorExamples: a person, a device, a sensor

Another example: computer-basedAnother example: computer-basedsystemsystem

Data must always originate somewhereData must always originate somewhereand must always be sent to somethingand must always be sent to something

Page 18: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200718

Process

A data transformer (changes inputA data transformer (changes inputto output)to output)

Examples: compute taxes, determine area,Examples: compute taxes, determine area,format report, display graph format report, display graph Data must always be processed in some Data must always be processed in some way to achieve system functionway to achieve system function

Page 19: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200719

Data Flow

Data flows through a system, beginningData flows through a system, beginningas input and be transformed into output.as input and be transformed into output.

computecomputetriangle triangle

areaarea

basebase

heightheight

areaarea

Page 20: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200720

Data Stores

DataData is often stored for later use.is often stored for later use.

look-uplook-upsensorsensor

datadata

sensor #sensor #

report requiredreport required

sensor #, type, sensor #, type, location, agelocation, age

sensor datasensor data

sensor numbersensor number

type, type, location, agelocation, age

Page 21: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200721

Data Flow Diagramming:Guidelines

all icons must be labeled with all icons must be labeled with meaningful namesmeaningful names

the DFD evolves through a number of the DFD evolves through a number of levels of detaillevels of detail

always begin with a context level always begin with a context level diagram (also called level 0)diagram (also called level 0)

always show external entities at level 0always show external entities at level 0 always label data flow arrowsalways label data flow arrows do not represent procedural logicdo not represent procedural logic

Page 22: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200722

Constructing a DFD—I

review the data model to isolate data review the data model to isolate data objects and use a grammatical parse to objects and use a grammatical parse to determine “operations”determine “operations”

determine external entities (producers determine external entities (producers and consumers of data)and consumers of data)

create a level 0 DFDcreate a level 0 DFD

Page 23: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200723

Level 0 DFD Example

useruserprocessing processing

requestrequest

videovideosourcesource NTSCNTSC

video signalvideo signal

digitaldigitalvideovideo

processorprocessor

requestedrequestedvideovideosignalsignal

monitormonitor

Page 24: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200724

Constructing a DFD—II write a narrative describing the write a narrative describing the

transformtransform parse to determine next level parse to determine next level

transformstransforms ““balance” the flow to maintain data balance” the flow to maintain data

flow continuityflow continuity develop a level 1 DFDdevelop a level 1 DFD use a 1:5 (approx.) expansion ratiouse a 1:5 (approx.) expansion ratio

Page 25: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200725

The Data Flow Hierarchy

PPaa bbxx yy

p1p1p2p2

p3p3p4p4 55

aa

bb

cc

ddee

ff

gg

level 0level 0

level 1level 1

Page 26: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200726

Flow Modeling Notes

each bubble is refined until it does just one thingeach bubble is refined until it does just one thing the expansion ratio decreases as the number of the expansion ratio decreases as the number of

levels increaselevels increase most systems require between 3 and 7 levels for most systems require between 3 and 7 levels for

an adequate flow modelan adequate flow model a single data flow item (arrow) may be expanded a single data flow item (arrow) may be expanded

as levels increase (data dictionary provides as levels increase (data dictionary provides information)information)

Page 27: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200727

Process Specification (PSPEC)

PSPECPSPEC

narrativenarrativepseudocode (PDL)pseudocode (PDL)

equationsequationstablestables

diagrams and/or chartsdiagrams and/or charts

bubblebubble

Page 28: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200728

Maps intoMaps into

DFDs: A Look Ahead

analysis modelanalysis model

design modeldesign model

Page 29: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200729

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 30: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200730

Ward/Mellor NotationWard/Mellor Notation

Page 31: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200731

ExampleExample

Page 32: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200732

ExampleExample

Page 33: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200733

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 34: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200734

Control Flow Diagrams Represents “Represents “eventsevents” and the processes that ” and the processes that

manage eventsmanage events An “event” is a Boolean condition that can be An “event” is a Boolean condition that can be

ascertained by:ascertained by: listing all sensors that are "read" by the software.listing all sensors that are "read" by the software. listing all interrupt conditions.listing all interrupt conditions. listing all "switches" that are actuated by an operator.listing all "switches" that are actuated by an operator. listing all data conditions.listing all data conditions. recalling the noun/verb parse that was applied to the recalling the noun/verb parse that was applied to the

processing narrative, review all "control items" as processing narrative, review all "control items" as possible CSPEC inputs/outputs.possible CSPEC inputs/outputs.

Page 35: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200735

The Control Modelthe control flow diagram is "superimposed" on the DFD the control flow diagram is "superimposed" on the DFD and shows events that control the processes noted in and shows events that control the processes noted in

the DFDthe DFD

control flows—events and control items—are noted by control flows—events and control items—are noted by dashed arrowsdashed arrows

a vertical bar implies an input to or output from a control a vertical bar implies an input to or output from a control spec (CSPEC) — a separate specification that spec (CSPEC) — a separate specification that

describes how control is handleddescribes how control is handled

a dashed arrow entering a vertical bar is an input to the a dashed arrow entering a vertical bar is an input to the CSPECCSPEC

a dashed arrow leaving a process implies a data a dashed arrow leaving a process implies a data conditioncondition

a dashed arrow entering a process implies a control a dashed arrow entering a process implies a control input read directly by the processinput read directly by the process

control flows do not physically activate/deactivate the control flows do not physically activate/deactivate the processes—this is done via the CSPECprocesses—this is done via the CSPEC

Page 36: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200736

Relationship Between ModelsRelationship Between Models

Page 37: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200737

ExampleExample

Page 38: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200738

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 39: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200739

Control Specification (CSPEC)The CSPEC can be:The CSPEC can be:

state diagram state diagram (sequential spec)(sequential spec)

state transition tablestate transition table

decision tables decision tables

activation tablesactivation tables

combinatorial speccombinatorial spec

Page 40: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200740

Guidelines for Building a CSPEClist all sensors that are "read" by the softwarelist all sensors that are "read" by the software

list all interrupt conditionslist all interrupt conditions

list all "switches" that are actuated by the operatorlist all "switches" that are actuated by the operator

list all data conditionslist all data conditions

recalling the noun-verb parse that was applied to therecalling the noun-verb parse that was applied to thesoftware statement of scope, review all "control items"software statement of scope, review all "control items"

as possible CSPEC inputs/outputsas possible CSPEC inputs/outputs

describe the behavior of a system by identifying its describe the behavior of a system by identifying its states; identify how each state is reach and defines states; identify how each state is reach and defines

the transitions between statesthe transitions between states

focus on possible omissions ... a very common error in focus on possible omissions ... a very common error in specifying control, e.g., ask: "Is there any other way I specifying control, e.g., ask: "Is there any other way I can get to this state or exit from it?"can get to this state or exit from it?"

Page 41: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200741

Behavioral ModelingBehavioral Modeling

DataDictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

( STD )

Page 42: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200742

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 43: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200743

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 44: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200744

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 45: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200745

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 46: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200746

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 47: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200747

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 48: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200748

Home Security System ExampleHome Security System Example

Page 49: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200749

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 50: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200750

Home Security System ExampleHome Security System Example

Page 51: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200751

Home Security System ExampleHome Security System Example

Page 52: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200752

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 53: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200753

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

Page 54: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200754

Control SpecificationControl Specification

Page 55: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200756

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 56: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200757

Data DictionaryData Dictionary

DataDictionary

Entity

Relationship

Diagram

Data Flow

Diagram

State Transition

Diagram

Data

ObjectDescription Process

Specification

Control Specification

Page 57: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200758

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 58: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200759

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

Page 59: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200760

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 60: December 2007 1 Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis

December 200761

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