Professional Documents
Culture Documents
III. Structured Analysis and Design Technique (SADT)
III. Structured Analysis and Design Technique (SADT)
SADT: Structured
Analysis and Design Technique
I Diagrammatic notation for constructing a sketch for an
application.
I Offers boxes to represent entities and activities.
I Offers a variety of arrows to relate boxes.
I Boxes and arrows have an associated (informal)
semantics; users are aided by box and arrow labels,
other informal documentation.
I Has inspired many other commercial tools.
I Has been in use since the mid-seventies [Ross77].
I SADT is available as a commercial CASE tool under the
name IDEF0.
SADT Notation
Control
Outputs
Inputs
An SADT diagram
.. consists of boxes
.
and arrows
Label
Needs & Market
Desires Experience
Food&Clothing
Payments
Money
Vegetables Plan&Budget
RunHousehold
SADT Primitives
I Things and happenings
Things -- objects, data, nouns, information, substances,
passive
Happenings -- operations, activities, verbs, processing,
events, active
I Two types of boxes: data boxes, activity boxes
I Boxes interconnected through arrows, form a diagram.
I Each diagram includes up to six boxes; each box has its
own diagram, leading to hierarchical models of activities
and data.
An SADT Activity
Plan &
Seed & Vegie Weather
Budget
Prices
Plan
Budget
Money Fertilizer
Buy
Supplies
Seeds Cultivate
Plants
Pick Vegetables
Produce
Vegetables Extract
Seeds
Grow Vegetables
2004 John Mylopoulos SADT -- 5
Semantics of Arrows
I For activities
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
I For data
Inputs are activities that produce the data
Outputs consume the data
Controls influence the internal state of the data
A Parent Activity
Seed &Vege
Prices Prices Weather
Market
Experience
Purchased Food Run Plan & Budget Satisfaction
Goods Household Payments
Grow
Farm Supplies Vegetables
Vegetables
Sell
Vegetables
Vegetables Money
Money
Run Farm
A Data Diagram
Follow Plans Cultivate Respond to Weather
Allocate
Select
Buy Satisfaction
Seeds
Plant
Observe
Plants
Harvest Sell
Produce Eat
Extract
Crops
Process which
trasforms information
Information
store
instructor(1)
Doing
Read
assignment
asst An
lecture notes, open
Assignment
course refs questions
instructor(2)
Update Use
reference library
material
lecture
lecture notes, notes, possible
course assignment
course refs solution
refs handed in
questions
library
store Work on Write
problem solution solution
Alternative Scopes
Computerize the order verification process.
Computerize accounts receivable.
Integrate order verification, requisitions and accounts receivable.
Of course, each one of these alternatives will have different budget
and project-length implications.
orders Process
orders credit
Customer Data
invoices status
Customer (with books)
Verify Assemble
order requisition
orders
is to purchase
valid publisher orders
Customer Publisher
customer
credit status Pending Orders
Customer Data
Verify Assemble
order requisition
orders
is to purchase
valid orders orders publisher orders
Customer valid batched order Publisher
date
purchase
customer PO#
order
credit status Pending Orders details
shipping
Customer Data
order
Publisher Orders
(with books)
address orders
details for title order publishers
details consignment
note
Assign
Assemble Shipment Verify
customer to correct
orders details titles
pending
of quantities shipment
orders
orders
2004 John Mylopoulos SADT -- 18
Conceptual Modelling CSC2507
Verify Assemble
order requisition
orders
is to purchase
valid orders orders publisher orders
Customer valid batched Publisher
The customer
credit status
purchase
order
Pending Orders details
Computer shipping
order
Customer Data
Publisher Orders
(with books)
Books address
details
orders
for title order
details
publishers
consignment
note
By Assemble
Assign
Shipment Verify
customer to correct
details titles
Mail payment
orders
of
orders
pending
orders
quantities shipment
invoices
cheques
to
shipping accepted
invoice publishers
Corporation note copy shipment
details
Verify
Apply accepted
Create accuracy
Payment invoices
invoices of
to
invoice
invoices
payment invoice A/C payable
details copy
accounts due
A/C receivable
Prepare
vendor
payment
2004 John Mylopoulos SADT -- 20
Conceptual Modelling CSC2507
Book Data Publisher Data
shipping
order order
(with books)
Customer Data
Publisher Orders
address orders
verification details for title order
details
publishers
consignment
note
process Assemble
Assign
Shipment Verify
customer to correct
orders details titles
of
pending shipment invoices
payment quantities cheques
orders
orders
shipping accepted to
invoice publishers
note copy shipment
details
Verify
Apply accepted
Create accuracy
Payment invoices
of
to invoices
invoice
invoices
payment invoice A/C payable
details copy
accounts due
A/C receivable
Prepare
vendor
2004 John Mylopoulos payment SADT -- 21
Alternative II orders
Verify
order
Assemble
requisition
to
is purchase
valid orders orders publisher orders
Customer valid batched Publisher
purchase
Computerize customer
credit status Pending Orders
order
details
accounts shipping
order
Customer Data
Publisher Orders
(with books)
receivable address
details
orders
for title
order
details
publishers
consignment
note
Assign
Assemble Shipment Verify
customer to correct
orders details titles
pending invoices
payment of quantities shipment cheques
orders orders
shipping accepted to
invoice publishers
note copy shipment
details
Verify
Apply accepted
accuracy
Payment Create invoices
invoices of
to invoice
invoices
payment invoice A/C payable
details copy
accounts due
A/C receivable
Prepare
vendor
payment
Donor
Information Rare Blood
Reply Blood Blood
Delivery
Donor Request
Donor List Copy Info Rare
Request Blood
for Request
Donation
Hospital
2004 John Mylopoulos Donor SADT -- 24
Hospital
Conceptual Modelling CSC2507
References
[DeMarco78] DeMarco, T., Structured Analysis and Systems Specififcation,
Prentice Hall, 1978.
[Gane79] Gane, C. and Sarson, T., Structured Systems Analysis, Prentice Hall,
1979.
[Ross77] Ross, D. and Schoman, K., "Structured Analysis for Requirements
Definition", IEEE Transactions on Software Engineering 3(1), January 1977.
[Yourdon89] Yourdpn, E., Modern Structured Analysis, Yourdan Press, 1989.
[Ross77] Ross, D., “Structured Analysis: A Language for Communicating Ideas,”
IEEE Transactions on Software Engineering 3(1), Special Issue on Requirements
Analysis, January 1977, 16-34.
[Ross77a] Ross, D., and Schoman, K., “Structured Analysis for Requirements
Definition,” IEEE Transactions on Software Engineering 3(1), Special Issue on
Requirements Analysis, January 1977, 86-95.
[Wirth71] Wirth, N., “Program Development by Stepwise Refinement,”
Communications of the ACM 14(4), 221-227, 1971.