sas (by indranil nandy)
DESCRIPTION
Supermarket Automation System : A design PorblemTRANSCRIPT
Software Engg AssignmentAssignment - I
(Design Assignment : Problem #10)
Submitted by: Indranil Nandy
MTech, 2007Roll no. : 06CS6010
Supermarket Automation Software )SAS(
2
SRS Document for Supermarket Automation Software
Functional Requirements:The set of functionalities that are supported by the system are
documented below –
R1: register salesDescription:
Whenever any item is sold from the stock of the supermarket, this function will prompt the clerk to pass the item over a bar code reader and an automatic weighing scale, the data regarding the item type and the quantity get automatically registered then. After the end of a sales transaction it will print the bill containing the serial number of the sales transaction, the name of the item, code number, quantity, unit price, and item price. The bill should indicate the total amount payable.
R1.1: read barcodeInput: sold-items are passed over the readerProcessing: barcode of the item is read and registered automatically
R1.2 weighInput: sold-items are passed over the automatic weighting scaleProcessing: weight of the sold-item is automatically get registered
R1.3 register sold itemsInput: automatically registered data about the item along with its quantityProcessing: the sold-item gets registered
R1.4 generate billInput: automatically generated "generate bill command"Output: the transaction bill containing the serial number of the sales transaction, the name of the item, code number, quantity, unit price, and item price is printed. The bill also mentions the total amount payable.
R2: update inventoryDescription:
In order to support inventory management, this function decreases the inventory whenever an item is sold. Again, when there is a new supply arrival, an employee can update the inventory level by this function.Input: new supply (when arrives) or registered sold-itemsProcessing: whenever new supply arrives or items are sold this updates the inventory.
3
R3: check inventoryDescription:
The manager upon invoking this function can issue query to see the inventory details. In response, it shows the inventory details.Input: query from the managerOutput: display the inventory
R4: print sales-statisticsDescription:
Upon invoking this function, it will generate a printed out sales statistics for every item the supermarket deals with for any particular day or any particular period.Input: generate sales-statistics commandOutput: printed out form of the sales statistics for every item sold for any particular day or any particular period.
R5: update priceDescription:
The manager can change the price of an item by invoking this function.Input: change price command along with the new assigned price.Processing: updates the price of the corresponding item in the inventory.
Non-functional Requirements: The set of non-functional requirements can be stated as
follows:
A. Bill format:1. The bill should contain the serial number of the sales
transaction, the name of the name of the item, code number, quantity, unit price, and item price.
2. The bill should indicate the total amount payable.
B. Sales-statistics Report format:1. The sales statistics report should indicate the quantity of
an item sold, the price realized, and the profit.
4
Structured Analysis
Data Flow Diagram:The context level diagram of the Supermarket Automation
Software is shown below.
Context level diagram for SAS
5
The level 1 diagram of SAS is shown below.
Level 1 diagram of SAS
The level 2 diagram for the process "register-sales" is as shown below.
Level 2 diagram of the process "register-sales"
6
Data-Dictionary for the above DFD Model:
change price command : commandgenerate sales-statistics command : commandupdate inventory command : commandcheck inventory command : commandregister command : commanditem-detail : item-type + priceitem-spec : item-detail + barcode barcode checked item : {item-spec}*weighed items : {barcode checked item + quantity}*sold-items : item-detail + register commandsales-info : {weighted items}*transaction details : sales-inforegistered sold-items : {item-spec + quantity}*supply-info : {item-spec + quantity}*new supply : supply-info + update inventory commandinventory-details : supply-infoquery : check inventory command + optionday : dateperiod : dayoption : [day,period]sales-statistics : {sales-info}*changed price : item-spec + change price command
7
Structured DesignThe structured design for Supermarket Automation Software is shown below.
8
9
UML MODELUse Case Analysis
Use Case Diagram:The use case diagram of the Supermarket Automation
Software is shown below.
use case diagram for SAS
10
Text Description:The text description of the use cases are as follows:
U1: register-salesUsing this use case, the sales clerk register the sold-items,
whenever any item is sold.
Scenario 1: Mainline sequence1. Sales clerk : select register sales option2. System : shows message window prompting to pass the
item over the barcode reader and the weight scale3. Sales clerk : passes item over the barcode reader and the
weight scale4. System : register the barcode and the weight along with
the item type and quantity automatically. After the completion of registration, a confirmation message is shown and a bill is printed out.
Scenario 2 : At step 2 of the mainline sequence.2. System : shows an error message that the barcode doesn't
exist ,i.e. , the item doesn't belong to the inventory.
U2: check inventoryUsing this use case, the manager can see the inventory details
Scenario 1 : Mainline Sequence1. Manager : select query option2. System : prompt to enter the query3. Manager : enters the query for checking inventory4. System : shows the inventory details
U3: update priceUsing this use case, the manager updates the price of an item
Scenario 1 : Mainline sequence1. Manager : select update price option2. System : prompt to enter price and the item details3. Manager : enters the price and the item details4. System : updates the price of the corresponding item and
shows a confirmation message
Scenario 2 : At step 4 of the mainline sequence.5. System : shows an error message that the item doesn't
belong to the inventory
U4: print sales-statisticsUsing this use case, the manager can get a print out of the
sales statistics.
Scenario 1 : Mainline Sequence1. Manager : select print sales-statistics option
11
2. System : prints out the sales-statistics and shows a completion message
U5: update inventoryUsing this use case, an employee can update the inventory
Scenario 1 : Mainline sequence1. Employee : select update inventory option2. System : prompt to enter new supply details3. Employee : enters new supply details4. System : updates the inventory and shows a confirmation
message.
Scenario 2 : At step 4 of the mainline sequence.4. System : shows an error message that the item is
duplicated, i.e. , it already exists in the inventory.
12
Domain ModelsInitial Domain Model
The initial domain model of the problem is shown below:
Refined Domain ModelThe refined domain model of the problem is shown below:
13
Sequence DiagramThe sequence diagram of the use cases in the given problem are shown below:
1. Sequence Diagram for the register-sales use case:
14
2. Sequence Diagram for check inventory use case:
15
3. Sequence Diagram for update price:
16
4. Sequence Diagram for print sales-statistics use case:
17
5. Sequence Diagram for update inventory use case:
18
Class Diagrams
The class diagrams for Supermarket Automation Software are shown below.
19
20