Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3....

69
1 Requirements Engineering Semi-Formal Specification: Structural Functional Requirements – Structured Analysis Data Flow Diagrams SADT IDEF0

Transcript of Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3....

Page 1: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

1

Requirements

Engineering

Semi-Formal Specification:

Structural Functional Requirements –Structured Analysis

�Data Flow Diagrams

�SADT

�IDEF0

Page 2: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

2

Types of Requirements along different views

�Functional Requirements (FRs)

�Structural Functional Requirements

�Functional, i.e., Function-oriented

�Informational. i.e., Information-oriented

�Behavioral Functional Requirements

�Non-Functional Requirements (NFRs)

Page 3: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

3

Function Oriented Problem Analysis

�Creates a hierarchy of functions

�Also called (process, activity, work-step, transactions, transforms,

bubbles)

�Root is most abstract

�Leaf nodes the most detailed

�Most methods use data flow diagrams and dictionaries

�Examples

�SRD structured requirements definition

�SADT

�Information Engineering

�Modern structured Analysis

�Problem statement Language

Page 4: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

4

Process Modeling

A data flow diagram (DFD) is a tool (and type of

process model) that depicts the flow of data through

a system and the work or processing performed by

that system.

DFDshave become a popular tool for business process

redesign.

Page 5: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

5

Data Flow Diagrams

�Existed long before computers

�Show the flow of data through a system

�System

�Organization

�Company

�A computer hardware system

�A software system

�Icons

�Data on the move –named arrows

�Transformations of data –named bubbles

�Sources and destinations of data –named rectangles (terminators)

�Data in static storage –two parallel lines

Page 6: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

6

Data Flow Diagram Notations

Yo

urd

on

an

d C

oa

dP

roc

es

s N

ota

tio

ns

Ga

ne

an

d S

ars

on

Pro

ce

ss

No

tati

on

Yo

urd

on

an

d C

oa

dD

ata

sto

reN

ota

tio

n

Ga

ne

an

d S

ars

on

Da

tas

tore

No

tati

on

s

Process

A process transforms incoming

data flow into outgoing data flow.

Data Store

Data stores are repositories of

data in the system. They are

sometimes also referred to as

files.

Dataflow

Dataflowsare pipelines

through which packets of

information flow. Label the

arrows with the name of the

data that moves through it.

External Entity

External entities are objects outside the

system, with which the system

communicates. External entities are

sources and destinations of the system's

inputs and outputs.

Page 7: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

7

DataFlowDiagrams

Page 8: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

8

Data Flow Diagram Layers

�Data flow diagrams are drawn in several nested layers

�A single process node on a high level diagram can be expanded to

show a more detailed data flow diagram.

�Draw the context diagram first, followed by various layers of data flow

diagrams.

Page 9: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

9

Context Diagrams

�A context diagram is a top level (also known as Level 0) data flow diagram. It only contains one process

node (process 0) that generalizes the function of the entire system in relationship to external entities.

Page 10: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

10

DFD levels

The first level DFD shows the main processes within the

system. Each of these processes can be broken into

further processes until you reach pseudocode.

Page 11: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

11

Context Diagram-Registration

Page 12: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

12

Level 0 Data Flow Diagram

Page 13: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

13

Explosion of Process 4

Page 14: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

14

Data Flow Diagrams

�Rules

�All names must be unique

�Not a flow chart –no order implied

�No logical decisions

�Don’t get bogged down in detail

�Leveling

�Preserve the number of inputs and outputs between the levels

A

I1

I2

O1

A1

A2

A3

I1

I2

O1

data

Page 15: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

15

Difference between DFD and Flowcharts

�Processes on DFDscan operate in parallel (at-the-same-time)

�Processes on flowcharts execute one at a time

�DFDsshow the flow of data through a system

�Flowcharts show the flow of control (sequence and transfer

of control)

�Processes on one DFD can have dramatically different timing

�Processes on flowcharts are part of a single program with

consistent timing

Page 16: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

16

Homework -

�Draw a DFD for an ATM

Page 17: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

17

Illegal Data Flows

Copyright ©2000 The McGraw-Hill Companies. All Rights reserved

Page 18: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

18

Structured English context

Construct

Sam

ple Tem

plate

Sequence of steps – unconditionally perform a

sequence of steps.

[ Step 1 ]

[ Step 2 ]

[ Step n ]

Simple condition steps – if the specified

condition is true, then perform the first set of

steps. Otherwise, perform the second set of

steps.

Use this construct if the condition has only two

possible values.

(Note: The second set of conditions is optional.)

If [ truth condition ]

then

[ sequence of steps or other conditional steps ]

else

[ sequence of steps or other conditional steps ]

End If

Complex condition steps – test the value of the

condition and perform the appropriate set of

steps.

Use this construct if the condition has more than

two values.

Do the following based on [ condition ]:

Case 1: If [ condition] = [value] then

[ sequence of steps or other conditional steps ]

Case 2: If [ condition] = [value] then

[ sequence of steps or other conditional steps ]

Case n: If [ condition] = [value] then

[ sequence of steps or other conditional steps ]

End Case

Copyright ©2000 The McGraw-Hill Companies. All Rights reserved

Page 19: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

19

Structured English Rules

Multiple conditions – test the value of multiple

conditions to determine the correct set of steps.

Use a decision table instead of nested if-then-

else Structured English constructs to simplify the

presentation of complex logic that involves

combinations of conditions.

A decision table is a

ta

bu

lar

pre

sen

tatio

n o

f co

mp

lex

log

ic in

wh

ich

ro

ws

rep

rese

nt

con

diti

on

s a

nd

po

ssib

le s

tep

s, a

nd

co

lum

ns

ind

ica

te w

hic

h

com

bin

atio

ns

of

con

diti

on

s re

sult

in s

pe

cific

ste

ps.

DE

CIS

ION

TA

BL

ERule

Rule

Rule

Rule

[ Condition ]

value

value

value

value

[ Condition ]

value

value

value

value

[ Condition ]

value

value

value

value

[ Sequence of actions or

conditional actions ]

X

[ Sequence of actions or

conditional actions ]

XX

[ Sequence of actions or

conditional actions ]

X

Alth

ou

gh

it is

n’t

a S

tru

ctu

red

En

glis

h c

on

stru

ct,

a d

eci

sio

n

tab

le c

an

be

na

me

d,

an

d r

efe

ren

ced

with

in a

Str

uct

ure

d

En

glis

h p

roce

du

re.

One-to-m

any iteration –

Repeat the following until

Condition stubs

Action Stubs

Copyright ©2000 The McGraw-Hill Companies. All Rights reserved

Page 20: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

20

Decision Table Example

Condition Stub

Condition Entry

IfCustomer is bookstore

YY

NN

NN

Order size > 6 copies

YN

NN

NN

Customer is

librarian/individual

YY

YY

Order size 50 copies or

more

YN

NN

Order size 20 to 49

copies

YN

N

Order size 6 –19 copies

YN

Then

Allow a 25% discount

X

Allow a 15% discount

X

Allow 10% discount

X

Allow a 5 % discount

X

Allow 0% discount

XX

Action Stub

Action Entries

Page 21: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

21

Structured English constructs

One-to-m

any iteration – Repeat the set of steps

until the condition is false.

Use this construct if the set of steps must be

performed at least once, regardless of the

condition’s initial value.

Repeat the following until [truth condition]:

[ sequence of steps or conditional steps ]

End Repeat

Zero-to-m

any iteration – Repeat the set of steps

until the condition is false.

Use this construct if the set of steps are

conditional based on the condition’s initial value.

Do W

hile [truth condition]:

[ sequence of steps or conditional steps ]

End Do

- OR -

For [truth condition]:

[ sequence of steps or conditional steps ]

End For

Copyright ©2000 The McGraw-Hill Companies. All Rights reserved

Page 22: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

22

1. For each CUSTOMER NUMBER in the data store CUSTOMERS:

a. For each LOAN in the data store LOANS that matches the above

CUSTOMER NUMBER:

1) Keep a running total of NUMBER OF LOANS for the

CUSTOMER NUMBER.

2) Keep a running total of the ORIGINAL LOAN PRINCIPAL for the

CUSTOMER NUMBER.

3) Keep a running total of CURRENT LOAN BALANCE for the

CUSTOMER NUMBER.

4) Keep a running total of AMOUNTS PAST DUE for the

CUSTOMER NUMBER.

b. If the TOTAL AMOUNTS PAST DUE for the CUSTOMER NUMBER

is greater than $100.00 then:

1) W

rite the CUSTOMER NUMBER and all their data attributes

as described in the data flow LOANS AT RISK.

Else 1) Exclude the CUSTOMER NUMBER and data from thedata

flow LOANS AT RISK.

Structured English is a language and syntax, based on the relative strengths of structured

programming and natural English, for specifying the underlying logic of elementary processes

on DFDs .

Structured English

Copyright ©2000 The McGraw-Hill Companies. All Rights reserved

Page 23: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

23

Data Dictionaries

�Used to augment the Data Flow Diagrams

�Repository

�Layout

�Name of the item

�Alias

�Description/Purpose

�Related data items

�Range of values

�Data flows

�Data structure definition/form

Page 24: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

24

Data Structures

�Are specific arrangements of data attributes that define a single instance of a data flow

�A sequence that occur one after another

�A selection of one or more attributes from a set

�A repetition of one or more attributes

�Most common data structure notation is Boolean algebraic notation

Attributes in side are optional no value for some of the

data flows

(…)

Attributes may occur many times –

rep

eti

tio

n-

Attributes separated by commas

{…}

Only one of the attributes may be present –

sele

cti

on-

Attributes separated by commas

Either/or

[…]

Means and and designates sequence

+

“Consists of”or “is composed of”

=

Page 25: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

25

ENGLISH ENTERPRETATION

An instance of ORDER consists of:

ORDER NUMBER and

ORDER DATE and

Either PERSONAL CUSTOMER NUMBER

or CORPORATE ACCOUNT

NUMBER

and SHIPPING ADDRESS (which is equivalent

to ADDRESS)

and optionally: BILLING ADDRESS (which is

equivalent to ADDRESS)

and one or more instances of:

PRODUCT NUMBER and

PRODUCT DESCRIPTION

and

QUANTITY ORDERED and

PRODUCT PRICE and

PRODUCT PRICE SOURCE

and

EXTENDED PRICE

and SUM OF EXTENDED PRICES and

PREPAID AMOUNT and

optionally: both CREDIT CARD NUMBER and

EXPIRATION DATE

An instance of ADDRESS consists of:

optionally: POST OFFICE BOX NUMBER and

STREET ADDRESS and

CITY and

Either STATE or MUNICIPALITY

and optionally: COUNTRY

and POSTAL CODE

DATA STRUCTURE

ORDER=

ORDER NUMBER +

ORDER DATE+

[ PERSONAL CUSTOMER NUMBER,

CORPORATE ACCOUNT NUMBER]+

SHIPPING ADDRESS=ADDRESS+

(BILLING ADDRESS=ADDRESS)+

1 {PRODUCT NUMBER+

PRODUCT DESCRIPTION+

QUANTITY ORDERED+

PRODUCT PRICE+

PRODUCT PRICE SOURCE+

EXTENDED PRICE } N+

SUM OF EXTENDED PRICES+

PREPAID AMOUNT+

(CREDIT CARD NUMBER+EXPIRATION DATE)

(QUOTE NUMBER)

ADDRESS=

(POST OFFICE BOX NUMBER)+

STREET ADDRESS+

CITY+

[STATE, MUNICIPALITY]+

(COUNTRY)+

POSTAL CODE

Example Data Structure

Page 26: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

26

A Simple Process Model

Page 27: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

27

Traditional Approaches to Enterprise M

odeling

SADT (Structured Analysis and Design Technique)

•Background

•in use since the mid-seventies

•inspiration for many commercial tools

•(DFD?)trademark of Softech, Inc.

•View

•"System" refers to any enterprise/organization, physical, manufacturing,and SW

system

•Context Analysis should involve

•technical assessment: feasibility of system architecture

•Are

th

e c

om

po

ne

nts

an

d i

nte

r-re

lati

on

sh

ips

te

ch

nic

ally

re

aliz

ab

le?

•operational assessment: system performance in a working environment

•Ca

n t

he

sy

ste

m p

erf

orm

ta

sk

X i

n l

es

s t

ha

n a

we

ek

of

tim

e?

•economic assessment: costs & impacts of system implementation & use

•Ca

n t

he

sy

ste

m b

e b

uilt

wit

h $

20

M,

10

00

SE

’s,

in 2

yrs

?

Page 28: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

28

SADT (Structured Analysis and Design

Technique)

Page 29: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

29

SADT (Structured Analysis and Design Technique

Page 30: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

30

SADT (Structured Analysis and Design Technique

Semantics of Arrows

In a

n a

cti

gra

m

•Inputs are data that are consumed by the activity

•Outputs are produced by the activity

•Controls influence the execution of an activity but are not consumed

•Mechanism is a processor (m

achine, computer, person) which m

akesthe activity happen

Page 31: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

31

SADT (Structured Analysis and Design Technique

Page 32: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

32

SADT (Structured Analysis and Design Technique

Page 33: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

33

SADT (Structured Analysis and Design Technique

Page 34: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

34

SADT (Structured Analysis and Design Technique

Semantics of Arrows

In a

n a

cti

gra

m

•Inputs are data that are consumed by the activity

•Outputs are produced by the activity

•Controls influence the execution of an activity but are not consumed

•Mechanism is a processor (m

achine, computer, person) which m

akesthe activity happen

•in

a d

ata

gra

m

•Inputs are activities that produce the data

•Outputs consume the data

•Controls influence the internal state of the data

•Mechanism is a device for storage, representation, impl., etc.

Page 35: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

35

A Simple Data Model

Page 36: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

36

FUNCTION MODELING USING

IDEF-0

A F

un

cti

on

Mo

del

is a

Rep

resen

tati

on

of

the A

cti

vit

ies a

nd

Rela

tio

nsh

ips B

etw

een

Acti

vit

ies i

n a

n E

xis

tin

g o

r P

lan

ned

Syste

m.

Page 37: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

37

IDEF0 (Integration Definition for Function

Modeling)

Background

•released in Dec., 1993

•the "reference model" for system/enterprise function modeling

•also in use for software process modeling

•Federal Information Processing Standard maintained by Dept. of Commerce,NIST (National Institute of

Standards and Technology) & Computer Systems Laboratory

•based on ICAM (Integrated Computer-Aided Manufacturing) from the US Air Force Wright Aeronautical

Laboratories

•Information Modeling (IDEF1X) uses ERD + generalization/specialization

•closely resembles "actigrams" of SADT

Stringent Rules

E.g., Boxes shall be sufficient to insert box names

rectangular in shape with square corners

drawn with solid lines

Arrows that bend shall be curved using only 90 degree arcs

shall be drawn in solid line segments

vertically or horizontally, not diagonally

Page 38: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

38

Page 39: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

39

Terminology of IDEFØ

�Functions and activities

�Diagrams, Boxes, and Arrows

�ICOMs: Inputs, Controls, Outputs, and Mechanisms

�Arrows, links, relationships, and concepts

�Splits, Joins, Unbundling, Bundling, and Branching

�Decompositions

�Viewpoint, Purpose, and Context

�NIST (FIPS ) standard

Page 40: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

40

What is IDEFØ?

�An IDEF method for modeling functions

�Graphics (diagrams)

�Text (glossary & narrative)

�Provides both a process and a language for

constructing a model of the decisions, actions, and

activities in an organization

Page 41: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

41

What is an IDEFØModel?

�A definition of activities and information

�Within a particular

Co

nte

xt

�Having a consistent

Vie

wp

oin

t

�For a particular

Pu

rpo

se

�Series of diagrams (that decompose a subject into manageable

chunks)

�A foundation for requirements specification, design, and

programming

�A useful record throughout the life-cycle of an enterprise

Page 42: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

42

Example IDEFØDiagram

Bu

ild

Sy

stem

A3

Desi

gn

Sy

stem

A2

Est

ab

lish

Req

mn

ts.

A1

Nee

ds

Alt

ern

ati

ve

Tec

hn

olo

gie

s

Kn

ow

led

ge

of

Pre

vio

us

Des

ign

Cu

sto

mer

Ex

pec

tati

on

s Un

der

sta

nd

ing

of

Cu

sto

mer

Req

uir

emen

ts

Req

uir

emen

ts

Co

ntr

act

fo

r T

rad

eoff

Dec

isio

ns

Des

ign

Pro

du

ctR

aw

Ma

teri

al

An

aly

sis

Met

ho

ds

Des

ign

Met

hod

sF

ab

rica

tion

Met

ho

ds

Page 43: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

43

Diagram Construction (1)

�Boxes represent functions

�Arrows represent real objects or data

FU

NC

TIO

N

CO

NT

RO

L

OU

TP

UT

INP

UT

ME

CH

AN

ISM

Page 44: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

44

�Labels are words that name functions and data/real objects

�Function labels are verbs or verb phrases and are put in the center of the

function box

�Data labels are nouns or noun phrases

�Data labels name the input, control, output, and mechanism arrows

Diagram Construction (2)

Lab

elCO

NT

RO

L

OU

TP

UT

INP

UT

ME

CH

AN

ISM

Page 45: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

45

IDEFØFunction

�An Activity, Action, Process, or Operation

�A Description of “What Happens”in a

Particular Environment

�Accomplished by People, Machines,

Computers

�Labeled with an Active Verb or Verb Phrase

Fu

nct

ion

Lab

el

Page 46: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

46

Represented as a box in an IDEF0 Model.

First diagram has one Function which

bounds the context of the Model. (A -0

diagram)

Diagram has a maximum of 6 functions & a minimum of 3

A0

A0

IDEFØFunctions (Activities)

A1

A2

A3

A4

A5

A6

A1

A2

A3

Page 47: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

47

IDEFØRelationships (Between

Functions)

�Represented as arrows

�AKA concepts

�Real objects, data, people,

machines, and computers

Page 48: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

48

ICOMs

�Inputs

�Controls

�Outputs

�Mechanisms

Page 49: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

49

Inputs

�Real Objects or Data Needed to Perform a

Function

�Objects or Data Transformed by a Function

�Labeled with a Noun or Noun Phrase

INP

UT

SF

UN

CT

ION

Page 50: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

50

Output

�Objects or Data Produced as a Result of the

Function

�Labeled with a Noun or Noun Phrase

INP

UT

SO

UT

PU

TS

FU

NC

TIO

N

Page 51: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

51

Control

�That which Governs the Accomplishment of the Function

�Things that Influence or Determine the Outputs

�Labeled with a Noun or Noun Phrase

INP

UT

SO

UT

PU

TS

CO

NT

RO

LS

FU

NC

TIO

N

Page 52: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

52

Mechanism

�Person, Device, or Data which Carries out the Function

�The Means by which the Function is Performed

�Labeled with a Noun or Noun Phrase

INP

UT

SO

UT

PU

TS

CO

NT

RO

LS

ME

CH

AN

ISM

S

FU

NC

TIO

N

Page 53: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

53

Box and Arrow Relations in a Diagram

1

2

3

INP

UT

OU

TP

UT

TO

IN

PU

TS

OU

TP

UT

T

O C

ON

TR

OL

OU

TP

UT

TO

M

EC

HA

NIS

M

OU

TP

UT

AR

RO

WS

B

RA

NC

HIN

G

(Sp

lit)

FE

ED

BA

CK

OU

TP

UT

T

O C

ON

TR

OL

(Join

)

Page 54: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

54

Arrows: "Branching"

Output can branchand be used by two functions

simultaneously or sequentially

Without labels we cannot tell how the branching occurs

1

2

3

OU

TP

UT

D

AT

A

ON

CE

TH

IS D

AT

A

IS S

UP

PL

IED

,

FU

NC

TIO

NS

2 &

3

CA

N O

PE

RA

TE

S

IMU

LT

AN

EO

US

LY

O

R S

EQ

UE

NT

IAL

LY

Page 55: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

55

Arrows: "Joining"

FIN

ISH

ED

SU

B-P

AR

TS

PR

OC

UR

ED

IT

EM

SP

RO

DU

CT

ION

IT

EM

SC

ON

TR

OL

P

RO

DU

CT

ION

IT

EM

S &

T

OO

LS

Page 56: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

56

Arrows: "Feedback"

SY

ST

EM

R

EQ

UIR

EM

EN

TS

DR

AF

T

SP

EC

IFIC

AT

ION

S

CO

MM

EN

TS

DR

AF

T S

PE

CIF

ICA

TIO

N

WIT

H D

ES

IGN

CH

AN

GE

S

DE

SIG

N

RE

VIE

W

AP

PR

OV

ED

D

ES

IGN

Page 57: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

57

Bundling and Unbundling

Bundle: Concepts B and C are bundled to form concept

A.

Unbundle: Concept A is unbundled into concepts B and

C.

C

BA

A

B

C

Page 58: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

58

Bundles and Unbundles

Perfo

rm

Bil

lin

g

Deli

ver

Prod

ucts

A2

Keep

Record

s A1

Ord

ers

Man

agem

en

t

Dir

ecti

ves

Fil

es

Invoic

es

Tran

sacti

on

En

trie

s

Bil

lin

g

En

trie

s

Pric

es

&T

ax

Tab

les

Accou

nt

En

trie

s

Cu

stom

er

Record

s

Un

bu

nd

le

Bu

nd

le

A3

Tran

sacti

on

s

Files = Customer Records + Price & Tax Tables

Account Entries = Transaction Entries + Billing Entries

Page 59: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

59

Bundles and Un-bundles: PCB ASSEMBLY

Pla

ce

ch

ip

on

board

Ap

ply

sold

er

past

eA

2

Load

board

on

to m

/c A1

Man

agem

en

t

Dir

ecti

ves

Ba

re b

oa

rds

Ch

ip

po

siti

on

ed b

oa

rd

pla

cem

ent

com

ple

ted

data

Pla

cem

ent

met

ho

d

Un

bu

nd

le

Bu

nd

le

A3

Pa

ste

ap

pli

ed

boa

rd

Pro

ce

ss

Pla

n =

lo

ad

ing

de

tails

+ s

old

er

pa

ste

de

tails

+ c

hip

pla

ce

me

nt

me

tho

d

As

se

mb

ly R

ec

ord

s =

so

lde

rin

g c

om

ple

ted

da

ta +

pla

ce

me

nt

co

mp

lete

d

da

ta

Process

pla

n

Sold

er p

ast

e

met

ho

d

sold

erin

gco

mp

lete

dd

ata

Ass

em

bly

Record

s

Page 60: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

60

Function Decomposition

“Parent”Activities Represent a Higher Level of Abstraction than

that of Their “Children”

A0

A0

A-0

A1

A2

A3

A4

Pa

ren

t D

iag

ram

Ch

ild

Dia

gra

m

More

Gen

eral

More

Deta

iled

Page 61: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

61

Further Decomposition

Parent Activity

A0

A1

A2

A3

A4

A3

A32

A33

A34

A31

Ch

ild

Dia

gram

Paren

t D

iagram

Page 62: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

62

Decomposition

�Establishes model hierarchy

�Functions are comprised of other functions

�Decompositions is a process of breaking down of the functions

(level-by-level)

�Data consistency is required throughout the level-by-level

decomposition breakdown

Page 63: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

63

Complexity Simplification Technique Tunneled

Arrows

Tu

nn

eled

Arr

ow

s at

Un

con

nec

ted

E

nd

s

(Concept Does Not Appear on the

Next Higher Level.)

Tu

nn

eled

Arr

ow

s at

Con

nec

ted

E

nd

s

(Concept Does Not Appear on the

Next Lower Level.)

Page 64: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

64

Tunneling Example T

his control will not appear

on child diagram.

This control will still be

designated as C3 on child

diagram.

This output will not be shown

on parent diagram.

A0

A-0

Parent Diagram

A0

A1

A2

A3

C1

C3

O1

I1

Child Diagram

Page 65: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

65

Steps in Building a Model

�1. Define Viewpoint, Purpose, and Context

�2. Develop the Context Diagram (Putting the situation in

context)

�3. Decompose activities to fit scope of modeling task

(complete modeling per rules, etc)

�4. Develop glossary

Page 66: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

66

Model Orientation!!!!

�Context (Subject)

The Boundaries of the Subject Matter

�Viewpoint (Bias)

The Perspective from which a Subject is

Analyzed

�Purpose (Objective)

The Reason(s) a Model is Created

Page 67: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

67

Example -Context Diagram

Acq

uir

e

Mate

rials

Inven

tory

Poli

cy

Pu

rch

ase

poli

cy

Sto

ck

Levels

Pay

men

ts

Reje

cte

d M

ate

rials

Ven

dor

AB

C C

o.A

0

A-0

Dia

gra

m

Page 68: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

68

Example -Decomposition of the

Context Diagram

A0 D

iagra

m

Payments

Check Stock

Levels & Det

Reorder Qty A1

Prepare

Authorize &

Mail P OA2

Receive PO

Produce &

Ship

A3

Receive

Shipment &

Inspect A4

Restock

& Make

Payment A5

Inventory Policy

Stock

Levels

Reorder

QtyPurchase Policy

Invoice

Material

OK Material

ABC Co.

Vendor

Rejected

Materia

l

Purchase Order

PO Prep.

Policy

Inspection Policy

Page 69: Semi-Formal Specification - University of Texas at Dallaschung/SYSM6309/Structured... · 2007. 3. 6. · Requirements Engineering Semi-Formal Specification: Structural Functional

69

Function Model for Planning and Implementing a

Feature Extraction module

�Purpose: To obtain a better understanding of

the various tasks involved in planning and

implementation of a feature extraction module

�Context: We will assume CAD model formats,

process planning requirements and resources

available (people and computers) are known.

The FE module will be built using available

existing resources (no new tools or software

will be purchased).

�Viewpoint: that of an industrial / mfg engineer

who has a background in designing / building

software systems