sas (by indranil nandy)

25
Software Engg Assignment Assignment - I ( Design Assignment : Problem #10 ) Submitted by : Indranil Nandy MTech, 2007 Roll no. : 06CS6010

Upload: indranil-nandy

Post on 15-Oct-2014

2.443 views

Category:

Documents


6 download

DESCRIPTION

Supermarket Automation System : A design Porblem

TRANSCRIPT

Page 1: SAS (by Indranil Nandy)

Software Engg AssignmentAssignment - I

(Design Assignment : Problem #10)

Submitted by: Indranil Nandy

MTech, 2007Roll no. : 06CS6010

Page 2: SAS (by Indranil Nandy)

Supermarket Automation Software )SAS(

2

Page 3: SAS (by Indranil Nandy)

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

Page 4: SAS (by Indranil Nandy)

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

Page 5: SAS (by Indranil Nandy)

Structured Analysis

Data Flow Diagram:The context level diagram of the Supermarket Automation

Software is shown below.

Context level diagram for SAS

5

Page 6: SAS (by Indranil Nandy)

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

Page 7: SAS (by Indranil Nandy)

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

Page 8: SAS (by Indranil Nandy)

Structured DesignThe structured design for Supermarket Automation Software is shown below.

8

Page 9: SAS (by Indranil Nandy)

9

Page 10: SAS (by Indranil Nandy)

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

Page 11: SAS (by Indranil Nandy)

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

Page 12: SAS (by Indranil Nandy)

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

Page 13: SAS (by Indranil Nandy)

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

Page 14: SAS (by Indranil Nandy)

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

Page 15: SAS (by Indranil Nandy)

2. Sequence Diagram for check inventory use case:

15

Page 16: SAS (by Indranil Nandy)

3. Sequence Diagram for update price:

16

Page 17: SAS (by Indranil Nandy)

4. Sequence Diagram for print sales-statistics use case:

17

Page 18: SAS (by Indranil Nandy)

5. Sequence Diagram for update inventory use case:

18

Page 19: SAS (by Indranil Nandy)

Class Diagrams

The class diagrams for Supermarket Automation Software are shown below.

19

Page 20: SAS (by Indranil Nandy)

20