semi-formal specificationchung/sysm6309/structured-analysis.pdf · data flow diagram layers data...
TRANSCRIPT
![Page 1: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/1.jpg)
1
Requirements
Engineering
Semi-Formal Specification:
Structural Functional Requirements –Structured Analysis
�Data Flow Diagrams
�SADT
�IDEF0
![Page 2: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/2.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/3.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/4.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/5.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/6.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/7.jpg)
7
DataFlowDiagrams
![Page 8: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/8.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/9.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/10.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/11.jpg)
11
Context Diagram-Registration
![Page 12: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/12.jpg)
12
Level 0 Data Flow Diagram
![Page 13: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/13.jpg)
13
Explosion of Process 4
![Page 14: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/14.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/15.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/16.jpg)
16
Homework -
�Draw a DFD for an ATM
![Page 17: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/17.jpg)
17
Illegal Data Flows
Copyright ©2000 The McGraw-Hill Companies. All Rights reserved
![Page 18: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/18.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/19.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/20.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/21.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/22.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/23.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/24.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/25.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/26.jpg)
26
A Simple Process Model
![Page 27: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/27.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/28.jpg)
28
SADT (Structured Analysis and Design
Technique)
![Page 29: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/29.jpg)
29
SADT (Structured Analysis and Design Technique
![Page 30: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/30.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/31.jpg)
31
SADT (Structured Analysis and Design Technique
![Page 32: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/32.jpg)
32
SADT (Structured Analysis and Design Technique
![Page 33: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/33.jpg)
33
SADT (Structured Analysis and Design Technique
![Page 34: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/34.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/35.jpg)
35
A Simple Data Model
![Page 36: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/36.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/37.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/38.jpg)
38
![Page 39: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/39.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/40.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/41.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/42.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/43.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/44.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/45.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/46.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/47.jpg)
47
IDEFØRelationships (Between
Functions)
�Represented as arrows
�AKA concepts
�Real objects, data, people,
machines, and computers
![Page 48: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/48.jpg)
48
ICOMs
�Inputs
�Controls
�Outputs
�Mechanisms
![Page 49: Semi-Formal Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/49.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/50.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/51.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/52.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/53.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/54.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/55.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/56.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/57.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/58.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/59.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/60.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/61.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/62.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/63.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/64.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/65.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/66.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/67.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/68.jpg)
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 Specificationchung/SYSM6309/Structured-Analysis.pdf · Data Flow Diagram Layers Data flow diagrams are drawn in several nested laye rs A single process node on a high](https://reader031.vdocuments.net/reader031/viewer/2022022523/5b34e23c7f8b9a7e4b8c8f01/html5/thumbnails/69.jpg)
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