44
Analysis Modeling Analysis Modeling Departemen Ilmu Komputer IPB 2009 Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Pertemuan 4-analysis-modelling

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Pertemuan 4-analysis-modelling

Analysis ModelingAnalysis ModelingDepartemen Ilmu Komputer IPB 2009

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 2: Pertemuan 4-analysis-modelling

Analysis Analysis Modeling:Modeling:Where to Begin?Where to Begin?

A statement of scope can be acquired from:◦ the FAST (Facilitated Application Specification

Technique) working document ◦ A set of use-cases

the statement of scope must be “parsed” to extract data, function and behavioral domain information

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 3: Pertemuan 4-analysis-modelling

Statement of ScopeStatement of Scopea relatively brief description

of the system to be built◦indicates data that are input

and output and basic functionality

◦indicates conditional processing (at a high level)

◦implies certain constraints and limitations

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 4: Pertemuan 4-analysis-modelling

Identifying ObjectsIdentifying Objectsand Operationsand Operations

define “objects” by underlining all nouns in the written statement of scope

producers/consumers of data places where data are stored “composite” data items

define “operations” by double underlining all active verbs

processes relevant to the application data transformations

consider other “services” that will be required by the objects

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 5: Pertemuan 4-analysis-modelling

Data Modeling Data Modeling and and Entity Relationship (E-Entity Relationship (E-R)R)DiagrammingDiagramming

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 6: Pertemuan 4-analysis-modelling

Why Data Modeling?Why Data Modeling?examines data objects

independently of processingfocuses attention on the

data domaincreates a model at the

customer’s level of abstraction

indicates how data objects relate to one another

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 7: Pertemuan 4-analysis-modelling

What is a Data Object?What is a Data Object?

Object —something that is described by a setof attributes (data items) and that will be manipulated within the software (system)

each instance of an object (e.g., a book) can be identified uniquely (e.g., ISBN #)

each plays a necessary role in the systemi.e., the system could not function without access to instances of the objecteach is described by attributes that are themselves data items

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 8: Pertemuan 4-analysis-modelling

Typical ObjectsTypical Objects

external entities (printer, user, sensor)things (e.g, reports, displays, signals) occurrences or events (e.g., interrupt, alarm)roles (e.g., manager, engineer, salesperson)organizational units (e.g., division, team)places (e.g., manufacturing floor) structures (e.g., employee record)

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 9: Pertemuan 4-analysis-modelling

Data Objects and Data Objects and AttributesAttributes

A data object contains a set of attributes that act as an aspect, quality, character-istic, or descriptor of the object

object: automobileattributes: make model body type price options code

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 10: Pertemuan 4-analysis-modelling

What is a What is a Relationship?Relationship?

several instances of a relationship can exist

objects can be related in many different ways

relationship —indicates “connectedness”; a "fact" that must be "remembered" by the system and cannot or is not computed or derived mechanically

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 11: Pertemuan 4-analysis-modelling

ERD NotationERD Notation

(0, m) (1, 1)

objectobject objectobjectrelationshiprelationship11 22

One common form:One common form:

(0, m)(0, m)

(1, 1)(1, 1)

objectobject11 objectobject22relationshiprelationship

Another common form:Another common form:attributeattribute

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 12: Pertemuan 4-analysis-modelling

Building an ERDBuilding an ERD

Level 1—model all data objects (entities) and their “connections” to one another

Level 2—model all entities and relationships

Level 3—model all entities, relationships, and the attributes that provide further depth

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 13: Pertemuan 4-analysis-modelling

The ERD: An ExampleThe ERD: An Example

(1,1) (1,m)placesCustomer

requestfor service

generates(1,n)

(1,1)

workorder

worktasks

materials

consistsof

lists

(1,1)(1,w)

(1,1)

(1,i)

selectedfrom

standardtask table

(1,w)

(1,1)

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 14: Pertemuan 4-analysis-modelling

Creating a Flow Creating a Flow ModelModel

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 15: Pertemuan 4-analysis-modelling

The Flow ModelThe Flow ModelEvery computer-based system is an information transform ....

computercomputerbasedbased

systemsysteminputinput outputoutput

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 16: Pertemuan 4-analysis-modelling

Flow Modeling NotationFlow Modeling Notation

external entity

process

data flow

data store

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 17: Pertemuan 4-analysis-modelling

External EntityExternal Entity

A producer or consumer of data

Examples: a person, a device, a sensor

Another example: computer-basedsystem

Data must always originate somewhereand must always be sent to something

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 18: Pertemuan 4-analysis-modelling

ProcessProcessA data transformer (changes inputto output)

Examples: compute taxes, determine area,format report, display graph

Data must always be processed in some way to achieve system function

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 19: Pertemuan 4-analysis-modelling

Data FlowData Flow

Data flows through a system, beginsas input and is transformed into output.

computetriangle

area

base

height

area

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 20: Pertemuan 4-analysis-modelling

Data StoresData Stores

Data is often stored for later use.

look-upsensordata

sensor #

report required

sensor #, type, location, age

sensor data

sensor number

type, location, age

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 21: Pertemuan 4-analysis-modelling

Data Flow Diagramming:Data Flow Diagramming:GuidelinesGuidelines

all icons must be labeled with meaningful names

the DFD evolves through a number of levels of detail

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

always show external entities at level 0

always label data flow arrowsdo not represent procedural logic

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 22: Pertemuan 4-analysis-modelling

Constructing a DFD—IConstructing a DFD—Ireview ERD to isolate data

objects and grammatical parse to determine “operations”

determine external entities (producers and consumers of data)

create a level 0 DFD

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 23: Pertemuan 4-analysis-modelling

Level 0 DFD ExampleLevel 0 DFD Example

userprocessing

request

videosource NTSC

video signal

digitalvideo

processor

requestedvideosignal

monitor

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 24: Pertemuan 4-analysis-modelling

Constructing a DFD—IIConstructing a DFD—II

write a narrative describing the transform

parse to determine next level transforms

“balance” the flow to maintain data flow continuity

develop a level 1 DFDuse a 1:5 (approx.) expansion ratio

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 25: Pertemuan 4-analysis-modelling

The Data Flow HierarchyThe Data Flow Hierarchy

Pa bx y

p1p2

p3p4 5

a

b

c

de

f

g

level 0

level 1

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 26: Pertemuan 4-analysis-modelling

Flow Modeling NotesFlow Modeling Notes

each bubble is refined until it does just one thing

the expansion ratio decreases as the number of levels increase

most systems require between 3 and 7 levels for an adequate flow model

a single data flow item (arrow) may be expanded as levels increase (data dictionary provides information)

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 27: Pertemuan 4-analysis-modelling

Maps intoMaps into

DFDs: A Look AheadDFDs: A Look Ahead

analysis model

design model

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 28: Pertemuan 4-analysis-modelling

Behavioral Behavioral Modeling Modeling and Process and Process SpecificationSpecification

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 29: Pertemuan 4-analysis-modelling

Behavioral ModelingBehavioral Modeling

Outsideworld

Application

events behavior

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 30: Pertemuan 4-analysis-modelling

The States of a SystemThe States of a Systemstate—a set of observable circum-

stances that characterizes the behavior of a system at a given time

state transition—the movement from one state to another

event—an occurrence that causes the system to exhibit some predictable form of behavior

action—process that occurs as a consequence of making a transition

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 31: Pertemuan 4-analysis-modelling

Behavioral ModelingBehavioral Modeling

make a list of the different states of a system (How does the system behave?)

indicate how the system makes a transition from one state to another (How does the system change state?)◦ indicate event◦ indicate action

draw a state transition diagramstate transition diagramPressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 32: Pertemuan 4-analysis-modelling

State Transition DiagramState Transition DiagramNotationNotation

state

new state

event causing transitionaction that occurs

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 33: Pertemuan 4-analysis-modelling

State Transition State Transition DiagramDiagram

readingoperator

commands

making copies reloading paper

problem state

fullinvoke read-op-input

full and startinvoke manage-copying

copies doneinvoke read-op-input

emptyinvoke reload paper

jammedinvoke problem-diagnosis

not jammedinvoke read-op-input

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 34: Pertemuan 4-analysis-modelling

The Control The Control ModelModelthe control flow diagram is "superimposed" on the DFD

and shows events that control the processes noted in the DFD

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

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

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

a dashed arrow leaving a process implies a data condition

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

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

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 35: Pertemuan 4-analysis-modelling

Control Flow Control Flow DiagramDiagram

read operator

input manage copying

reload process

perform problem

diagnosis

create user

displays

empty

jammed

full

display panel enabled

beeper on/off

start

problem light

copies done

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 36: Pertemuan 4-analysis-modelling

Control Specification Control Specification (CSPEC)(CSPEC)

The CSPEC can be:

state transition diagram (sequential spec)

state transition table

decision tables

activation tables

combinatorial spec

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 37: Pertemuan 4-analysis-modelling

Process Specification Process Specification (PSPEC)(PSPEC)

PSPECPSPECnarrativenarrativepseudocode (PDL)pseudocode (PDL)equationsequationstablestablesdiagrams and/or chartsdiagrams and/or charts

bubblebubble

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 38: Pertemuan 4-analysis-modelling

A Design NoteA Design Note

one or more ”components"in the software design

PSPECPSPEC

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 39: Pertemuan 4-analysis-modelling

Creating Mini-SpecsCreating Mini-Specs

SoftwareSoftwareSpecificationSpecification

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 40: Pertemuan 4-analysis-modelling

The Data The Data DictionaryDictionary

a quasi-formal grammar for describing the content of data that the software will process and create a notation for describing control data and the values that control data can take, e.g., "on," or "off" a repository that also contains "where-used" / "how used" information a notation that can be represented manually, but is best developed using CASE tools

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 41: Pertemuan 4-analysis-modelling

Building a Data Building a Data DictionaryDictionary

Name: Aliases: Where used: How used: Description: Format:

the primary name of the composite data item other names for the data item data transforms (processes) that use the composite data item the role of the data item (input, output,

temporary storage, etc.) a notation for representing content (presented on next slide) specific information about data types, pre-set values (if known)

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 42: Pertemuan 4-analysis-modelling

Data Dictionary Data Dictionary NotationNotation

Notation

=

+

[ ]

{ }

( ... )

* ... text ...*

n

Meaning

is composed of

and

either-or

n repetitions of

optional data

delimits a comment

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 43: Pertemuan 4-analysis-modelling

Data Dictionary Data Dictionary ExampleExample

telephone numberintegrated

office phone system

Name: Aliases: Where/How used: Description: Format:

telephone number phone number, number read-phone-number (input) display-phone-number (output) analyze-long-distance-calls (input) telephone no. = [ local extension | outside no. | 0 ] outside no. = 9 + [ service code | domestic no. ] service code = [ 211 | 411 | 611 | 911 ] domestic no. = ( ( 0 ) + area code ) + local number area code = *three numeral designator*

Build the requirements dictionary:

alphanumeric data

system output

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling

Page 44: Pertemuan 4-analysis-modelling

Writing the Software Writing the Software SpecificationSpecification

Everyone knew exactly what had to be done until someone wrote it down!

Pressman 5th Ed. 2001 - Chapter 12 Analysis Modelling