Toy Sales Order Processing System 2
Toy Sales Order Processing System 2
General Rules:
Professional Teams developing systems produce details and complete
document in all areas covered.
The period involved in SAD means that you may not be able to document in
the details required. In particular the detail required for the data
dictionary. It is important to convey all the important datastores and
process descriptors.
Try to provide the important parts of the DFD components.
View the different styles portrayed in the guides and samples.
out areas that enhance your report.
Context diagram
Levelled logical dataflow diagrams
Relation specifications for a Relational Database
Specifications for the dataflows
Process descriptions in raw prolog code. (Prolog is a relational language. The
code is given here, since prolog code is generally easily grasped). The code
given here, with very minor changes, should be executable.
We are talking about a very small firm that considers orders from customers for one
item. You should be able to add a lot more to the model provided as you wish. The
situation considered is rather unrealistic, but it makes important points about
specifications for an accounting system and its documentation.
NOTE :
Sample Style Content Page
Section
Description
Dataflow Diagrams:
1.1
1.2
1.3
1.3.1
1.4
1.4.1
1.4.2
2.
DATA DICTIONARY
2.1
Datastore List:
2.2
Dataflow Specifications
2.3
Process Specifications:
2.4
Page
Dataflow Diagrams:
1.4
2.
Datastore List:
2.1.1
NOTE :
Datastores are used to develop the table requirements of the
system. Each datastore may generate several related tables.
2.2
Dataflow Specifications
2.2.1
NOTE :
Dataflows are used to develop the data entry forms and output forms
required by the system. Each dataflow will require its own form view.
2.3
Process Specifications:
<Introduction to process specification>
2.3.1
2.4
2.3.1
1. DATA DICTIONARY
Provide an overview or a lookup table for datastore, dataflow and process
descriptors.
1.1.
1.1.1. orders
2
Content:
ORDERS =
{ORDER}
Description:
Inputs:
Outputs:
Read:
Write:
status:
1.1.2. stocks
3
Content:
STOCKS =
Description:
Read:
Write:
status:
Inputs:
Outputs:
{STOCK}
Follow suit with all remaining datastores. Hyperlink the data store
structures to the entry in 1.3 Data Structures for the list of data attributes.
1.2.
1.2.1. order
Name:
Content:
date+@order#+CUSTOMERDETAIL+1{OITEM}
Description:
Source:
Destination:
Process
1.2 Check Stock
Read:
Write:
status:
Data Store
1 Orders
1.2.2. stock
Name:
Content:
Description:
Source:
Destination:
@isbn+title+AUTHOR+cost+sale+SUPPLIER+level
Process
Data Store
incomplete
incomplete
Process
Data Store
incomplete
incomplete
Read:
Write:
status:
1.2.3. customer
Name:
Content:
Description:
Source:
@customer#+CUSTOMERDETAIL+creditlevel
Destination:
Process
Data Store
Incomplete
incomplete
Process
Data Store
incomplete
incomplete
Read:
Write:
status:
1.3.
Data Structures:
Description
ADDRESS
AUTHOR
CUSTOMERDETAIL
OITEM
SUPPLIER
house#+street+town+county+postcode
fname+sname
nametitle+sname+fname+ADDRESS+tel+fax+email
title+qty
sname+ADDRESS
1.4.
Data Elements
Data Elements:
Cost
currency
County
1{char}20
Cate
date
Fname
1{char}20
house#
1{char}3
Isbn
level
Nametitle
order#
Postcode
Qty
10{char}10
integer
2{char}4
1{char}4
7{char}7
integer
sale
Sname
Street
Title
Town
currency
1{char}30
1{char}20
1{char}20
1{char}20
1.5.
Process Descriptors
Description:
Data Inputs:
Data Outputs:
Variables:
Mini-Spec:
REPEAT
GET next ORDERITEM
IF MATCH ORDERITEM.title with any STOCKCARD.title
IF STOCKCARD.level <ORDERITEM.qty
DO create purchase order
DO create pending order
ELSE (STOCKCARD.level >=ORDERITEM.qty)
DO deduct stock
DO record sale
ENDIF
ELSE (NO MATCH ORDERITEM.title with any STOCKCARD.title)
**continue
ENDIF
UNTIL no more ORDERITEM