Software Design Specification Report

68
Anderson’s auto parts

description

Software Engineering Course.

Transcript of Software Design Specification Report

Page 1: Software Design Specification Report

Anderson’s auto parts

Page 2: Software Design Specification Report

Table of ContentsIntroduction.................................................................................................................................................5

Purpose of Report...................................................................................................................................5

Project Scope and Objectives..................................................................................................................5

Description of Organization.................................................................................................................5

Description of Project..........................................................................................................................6

Major Functional Requirements..........................................................................................................6

Non-Functional Requirements.............................................................................................................6

Hardware Requirements.....................................................................................................................6

Major Problems Encountered..............................................................................................................6

Design and Implementation Constraints...........................................................................................10

Major Input & Output Requirements................................................................................................12

Description of the Design Process.........................................................................................................13

Actual Estimates & Schedule for Project...............................................................................................15

Work Break Down..............................................................................................................................15

Pert Diagram......................................................................................................................................16

Gantt chart.........................................................................................................................................16

Data Design...............................................................................................................................................17

File & Database Structure......................................................................................................................17

Architectural Design..................................................................................................................................18

Architecture Context Diagram (CAD).....................................................................................................18

ACD Description.....................................................................................................................................19

UML Deployment Diagram....................................................................................................................21

Procedural Design......................................................................................................................................22

Expanded Diagrams...............................................................................................................................22

Use Case Diagrams............................................................................................................................22

Class Diagram....................................................................................................................................32

Sequence Diagram.............................................................................................................................34

Derived Program Structure........................................................................................................................40

Hierarchical Chart (Subsystems & Modules)......................................................................................40

Anderson’s Auto Parts | Software Design Specification Report

Page 3: Software Design Specification Report

Employee management Module...........................................................................................................43

Processing narrative..........................................................................................................................43

Interface description.........................................................................................................................43

Design Language................................................................................................................................43

Modules Used....................................................................................................................................44

Internal Data Structure......................................................................................................................44

Comments/ Limitations/Performance Requirements & Issues..........................................................45

Customer management module............................................................................................................45

Processing Narratives........................................................................................................................45

Interface description.........................................................................................................................45

Modules Used....................................................................................................................................45

Design Language................................................................................................................................45

Module Used.....................................................................................................................................46

Internal data structure.......................................................................................................................46

Comments/Limitations/Performance Requirements & Issues...........................................................47

Supplier module....................................................................................................................................47

Processing Narratives........................................................................................................................47

Interface Description.........................................................................................................................47

Design Language................................................................................................................................47

Modules Used....................................................................................................................................48

Internal Data Structures....................................................................................................................48

Comments/Limitations/Performance Requirements & Issues...........................................................48

Financial Management Module.............................................................................................................49

Processing Narratives........................................................................................................................49

Interface Description.........................................................................................................................49

Design Language................................................................................................................................49

Modules used....................................................................................................................................51

Internal Data Structures....................................................................................................................51

Comments/Limitations/Performance Requirements & Issues...........................................................51

Product Module.....................................................................................................................................52

Processing Narrative..........................................................................................................................52

Anderson’s Auto Parts | Software Design Specification Report

Page 4: Software Design Specification Report

Interface Description.........................................................................................................................52

Design Language................................................................................................................................52

Modules Used....................................................................................................................................53

Internal Data Structure......................................................................................................................53

Comments/Limitations/Performance Requirement & Issues............................................................53

User Interface Design................................................................................................................................54

Bibliography...............................................................................................................................................58

Appendices................................................................................................................................................59

Anderson’s Auto Parts | Software Design Specification Report

Page 5: Software Design Specification Report

Introduction

Purpose of Report

The purpose of this plan is to illustrate to all stakeholders in the project, why this solution is

necessary, and precisely how it could be implemented. It also seeks to define the resources

available to carry out the project, the work breakdown and a schedule for carrying out the work. It

will also identify any possible risks that may threaten the success of the project.

Through this, possible contingency plans can be created long before risks become a reality, allowing

for fast mitigation. After thorough examination of the project plan, the main stakeholders will be

better armed with information necessary for making decisions regarding the implementation of the

project.

The ultimate aim is to implement a system which would satisfy Anderson’s Auto parts and make it a

better computerized company. This system will enable the company to be more productive and

efficient during its daily business activities. The proposed plan, seeks to outline the necessary steps

involved in allowing Anderson’s Auto parts to serve its customers better, while keeping an accurate

record of all sales and purchases made on a day to day basis.

This on the other hand will enable the company to keep more accurate records of the transactions

made when compared to those being done manually.

Project Scope and Objectives

Description of Organization

Anderson’s Auto Parts is located at 13 Sandringham Avenue, Kingston 10. Anderson’s Auto Parts is

a middle size business which has 15 employees whom are employed to work with the company full

time. The company was started in 1988 by Ferdinand Anderson but most of the managerial duties

have now been delegated to his two sons Andre and Martin Anderson.

Anderson’s Auto Parts | Software Design Specification Report

Page 6: Software Design Specification Report

After its inception in 1988, the company has grown in terms of number of employees, structure and

revenues. They now focus on importing auto parts for a range of Mitsubishi line of vehicles.

Anderson’s Auto Parts does both Business-to-Business (B2B) and Business-to-Customer (B2C)

transactions daily. They supply from the individual customer to large businesses such as the dealer

of Mitsubishi in Jamaica, Motor Sales. Anderson’s Auto Parts deals solely in the Mitsubishi make

parts both new and used.

The company has operated successfully from the fifth year after inception to date with minor

problems and constraints. They have no intentions of expanding the business in the near future, but

to concentrate more on the problems and constraints they’ve been experiencing with the current

structure.

Only some of the business’ operations are computerized. Anderson’s uses computers in the

business solely to generate receipts to keep track of sales made on a day to day basis. The inventory

management is handled manually and is done monthly.

Description of Project

We are designing an inventory management system for Anderson’s Auto Parts to assist in keeping

track of goods sold, available, sold by whom, amongst other features of inventory management.

Major Functional Requirements

Non-Functional Requirements

Hardware Requirements

Major Problems Encountered

The following general problems were encountered during the design of the project. Specific tasks were

delegated to group members of whom some of them did not understand what to do. Group meetings

were arranged and some group members were unable to attend for some reason or the other. Another

major problem encountered was the unwillingness of management to give out sensitive information and

so close assumptions had to be made.

Anderson’s Auto Parts | Software Design Specification Report

Page 7: Software Design Specification Report

One of the biggest challenge encountered however was to juggle the completion of this project with the

other course work we had doing. At times disagreements were encountered during the requirement

phase but instinctive analysis was used to overcome them.

Anderson’s Auto Parts | Software Design Specification Report

Page 8: Software Design Specification Report

Other problems included:

1. Inadequate Financing – financial changes may occur after all requirement specifications are

finalized and therefore could put pressure on management to fully finance the system. This may

affect the outcome of the final product.

2. Staff Inexperience – All members of the technical team are relatively new to the field of

software engineering. The possibility exists that we could run into complex problems and do not

know how to deal with them accordingly.

3. Staff Size – The software engineering team consists of only five members. We are responsible

for outlining the system’s requirements and all the other processes that lead to system

implementation. There is much work to be done and it means that each member will have to

take on more than one task at some point in time. This may result in difficulties trying to meet

the project deadline.

4. Schedule Risk – This takes into consideration the degree of uncertainty that the project will be

maintained and the product will be delivered on time.

5. Vulnerability to Computer Viruses – All the computers are going to network. Viruses may be

transferred to the system via the internet or secondary storage devices. Whether done

intentionally or unintentionally, viruses loaded on a system for malicious reasons or fun, have

the capability of destroying sensitive information in the system and could severely affect its

entire functionality.

6. Performance Risks – The degree of uncertainty that the system will meet its requirements and

be fit for its intended use. In the initial stage, all the system requirements were defined and

therefore all implementation tools and strategies were pipelined. There could be defects in the

requirements definition which could affect design. This will make the system less efficient and

defeats the entire purpose of designing the system.

7. Product Enhancement – The system should be built in a way that it is easily adoptable to its

environment. It also should be change oriented. Therefore if the software is built in a very

complex way using a low level programming language, then it will not be easy to change and

adapt to certain environments.

Anderson’s Auto Parts | Software Design Specification Report

Page 9: Software Design Specification Report

RMMM Plan for each Risk (Mitigation, Monitoring & Management)

1.0. Risk 1 - Inadequate Financing

1.1 Mitigation

Get consultants approval of the economic feasibility and inform management. Ensure that there is no cost overrun by purchasing tools that are critical and are on the

initial budget. Keep product enhancement price within the original project plan.

1.2 Monitoring

Produce a report of phase implementation along with budget reort for that particular phase implementation.

1.3 Management

Keep budget within projected amount Scale down project to meet funds available

2.0. Risk 2 – Staff Inexperience

2.1. Mitigation

Ensure that team members are aware of what is going on and ensure that they are competent.

Do a comprehensive research on the material to be covered.

2.2. Monitoring

Keep the communication link with consultants to ensure that objectives and guidelines are met.

Produce a report of work completed on each phase of system development.

2.3. Management

Ensure that each team has a basic understanding of work to be done. If one member is not competent in an area, other team members will seek to improve

his or her ability. Manage the activities planned and ensure they are completed on schedule.

Anderson’s Auto Parts | Software Design Specification Report

Page 10: Software Design Specification Report

3.0. Risk 3 – Staff Size

3.1. Mitigation

Select the minimum number of team members required to successfully implement the system.

Ensure that the selected team members are goal oriented. Team members should be able to prioritized and willing to do large volume of work.

3.2. Monitoring

Keep team members close and ensure set objectives are achieved. Asked team members to write a formal report on problems they are experiencing.

3.3. Management

Allocate 2 additional team members and keep them abreast of the steps in project development. Therefore if one team member is unable to complete a task then those additional members can fill in.

Ensure that each team member is supported irrespective of how big or small a task being undertaken by that specific team member.

4.0. Risk 4 – Schedule Risk

4.1. Mitigation

Set deadline for system implementation Ensure each phase has a schedule time of completion.

4.2. Monitoring

Record schedule dates to ensure imported project dates are kept. Assign a team member to give reminders of scheduled tasks.

4.3. Management

Consult with group members to ensure deadlines are met. Provide feasible solutions for task that exceeds schedule deadline.

5.0. Risk 5 – Vulnerability to Virus

5.1. Mitigation

Install an up-to-date anti-virus program that is formally accepted and is competent. Scan files stored on the system on a daily basis to ensure the system is virus free.

Anderson’s Auto Parts | Software Design Specification Report

Page 11: Software Design Specification Report

Scan secondary storage devices before opening them on the system.

5.2. Monitoring

Set up an auto scan for the system. Carry out a comprehensive update of antivirus whenever update is available.

5.3. Management

Disallow any installation of software at all subordinate levels. Create back up of files and store them separately. Create system with check pointing facilities.

6.0. Risk 6 – Performance Risk

6.1. Mitigation

Ensure that initial requirements are feasible and make sure the management is involved in the decision process.

Provide management with a prototype of the actual system and accept inputs for system enhancement and change.

Ensure users are trained properly and understands the system in its entirety.

6.2. Monitoring

Keep track of all system requirements. Test system thoroughly during the testing and debugging phase to ensure it is error free

and does its intended functions. Monitor and test system regularly.

6.3. Management

Carry out an investigation into any failure and make amendments. Ensure that programmers and analysts understand each other and arrange meetings to

clear up any misunderstanding.

Design and Implementation Constraints

One of the major constraints faced by the software development team was time. The time given to complete the assignment was quiet limited as we had to share interest with other courses we were undertaken and that were quite a setback. On the other hand management was quiet skeptical about disseminating any sensitive information and therefore this lead us to make close assumptions. Other general constraints includes

Anderson’s Auto Parts | Software Design Specification Report

Page 12: Software Design Specification Report

a) Interface constraints

The user’s link to the systems information and software’s utilities is the interface. We had to ensure that the design was easy to use, graphically and very user friendly. Therefore close analysis was had to be placed in this particular area.

b) Implementation constraints

This refers to whether the system will be fully installed on time or not. As stated before, time was a major constraint. Furthermore, the security of the system was a cause for concern and the software development had to make sure that all necessary steps are taken to prevent and security contravene.

Anderson’s Auto Parts | Software Design Specification Report

Page 13: Software Design Specification Report

Major Input & Output Requirements

Anderson’s Auto Parts | Software Design Specification Report

Functional Area Input Output

Payroll Employee’s Id Employee’s Position Employee’s Name Hours Worked

Pay Slip:1. Employee’s Id2. Employee’s Position3. Employee’s Name4. Gross Salary5. Net Salary

Transactions Cashier Id Customer Name Product Price Quantity of Products

Receipt:1. Date2. Cashier Id3. Product Id4. Product Name5. Total Amount

Employee Validation Employee’s

Username Employee’s

Password

Welcome Screen

Order List Date Supplier’s Name Supplier’s Code Address Tel No. Product Id Product Name Amount Required

Invoice:1. Date2. Supplier’s Name:3. Supplier’s Code:4. Address:5. Tel No.:6. Product Id7. Product Name

Inventory Report Date Product Id Product Name Amount received

from supplier Amount Sold

Inventory report:1. Date2. Product Id3. Product Name4. Amount Sold 5. Amount Available

Page 14: Software Design Specification Report

Description of the Design Process

What was done Where How By Whom

Introduction University of

Technology, Jamaica

This was generated

from the

requirements analysis

document.

Wayne Jones

Data Dictionary University of

Technology, Jamaica

The data items

needed for the system

to function were

identified and then

described.

Patrick Malcolm

ER Diagram University of

Technology, Jamaica

The tables identified

in the data dictionary

were used to develop

the ER Diagram.

Wayne Jones

File and Database

Structure

University of

Technology, Jamaica

Developed from the

Data Dictionary and

ER Diagrams.

Kedrian James

Architecture Context

Diagram

University of

Technology, Jamaica

This was designed

based on who uses

the system and the

input/output

variables of the

system.

Patrick Malcolm

ACD Description University of

Technology, Jamaica

The different

components were

described as to how

they would interact

with one another.

Wayne Jones, and

Kedrian James

UML Deployment University of Major functions of the Patrick Malcolm and

Anderson’s Auto Parts | Software Design Specification Report

Page 15: Software Design Specification Report

Diagram Technology, Jamaica system were used to

create the diagram.

Wayne Jones

Derived Program

Structure

University of

Technology, Jamaica

In order to develop

the structure the

different modules and

sub-modules were

identified

Kedrian James and

Patrick Malcolm

UML Diagrams University of

Technology, Jamaica

Obtained and

improved upon from

the SRD Document.

Kedrian James and

Wayne Jones

Modules Description University of

Technology, Jamaica

After obtaining the

different modules

from the derived

program structure

they were then

elaborated upon.

All group members

User Interface Design University of

Technology, Jamaica

These were

developed based on

the different modules.

Patrick Malcolm

Anderson’s Auto Parts | Software Design Specification Report

Page 16: Software Design Specification Report

Actual Estimates & Schedule for Project

Work Break Down

Anderson’s Auto Parts | Software Design Specification Report

Description Task

Must

Follow Duration (Days)

Introduction A _ 5

Data Dictionary B A 2

ER Diagram C B 4

File & Database Structure D C 7

Architecture Context Diagram

(ACD)

E D,C 8

ACD Description F E 2

UML Deployment Diagram G F,E,D 4

Derived Program Structure H G 1

Expanded Use Case, Class,

Sequence, Association &

Responsibility Diagrams

I H 6

Major Modules Description J I 10

User Interface Design K J,I 10

Page 17: Software Design Specification Report

5 2 4

7

8

2

4 1 6

10

10

A B C

D

E

F

G H I

J

K

Pert Diagram

A-B-C-E-G-H-I-K = 40 days

A-B-C-E-G-H-I-J-K = 50 days

A-B-C-E-F-G-H-I-K = 42 days

A-B-C-E-F-G-H-I-J-K = 52 days

A-B-C-D-E-G-H-I-K = 47 days

A-B-C-D-E-G-H-I-J-K = 57 days

A-B-C-D-E-F-G-H-I-K = 49 days

A-B-C-D-E-F-G-H-I-J-K = 59 days

A-B-C-D-G-H-I-K = 39 days

A-B-C-D-G-H-I-J-K = 49 days

The Critical Path is 59 Days

Gantt chart

Anderson’s Auto Parts | Software Design Specification Report

Page 18: Software Design Specification Report

Data Design

File & Database Structure

Anderson’s Auto Parts | Software Design Specification Report

Page 19: Software Design Specification Report

Architectural Design

Architecture Context Diagram (CAD)

Anderson’s Auto Parts | Software Design Specification Report

Page 20: Software Design Specification Report

ACD Description

As architecture design begins, the software to be developed must be put into context, the design should

define the external entities that the software interacts with and the nature of the interaction. This

information can generally be acquired from the analysis model and all other information gathered

during requirement engineering. At the architecture design level, a software architect uses an

architectural context diagram (ACD) to model the manner in which software interacts with entities

external to its boundaries. The architecture diagram for Guthrie’s hardware is comprised of:

1. User interface

2. Input processing

3. Output processing

4. Error handling and testing

User Interface

The user interfaces facilitate interaction within the system itself, its environment and the users of the

system. The user interface for this system will be one in which the user can be interact with and

understand. For each level of users, there are different user interface for security purposes for security

reasons.

Input Processing

Input processing facilitates the execution of queries and other processes. In order to get access to the

system and employee will have to first enter the username which is their identification number along

with their password. Once access is gain, then other processes can be carried out. The manager/ owner

have total access to the system and are therefore authorized to add, edit or delete employee, product

or customer from the database. The accountant will have access to generate and print payroll

information. The mouse is responsible for all the interaction with the system via the graphical user

interface, while the keyboard is used to enter all information/data into the systems’ database.

Anderson’s Auto Parts | Software Design Specification Report

Page 21: Software Design Specification Report

Output processing

The systems’ output devices are the printer and the monitor. The printer is used to print invoices,

payrolls, receipts and inventory report. The monitor displays system prompts and provides the visual

interaction with the system.

Error Handling and Testing

The system will be designed to prevent unauthorized access and will have validation criteria’s. An

uninterrupted power supply will be provided in case of power outage. In addition if information is lost

because of adverse situation, back up facilities will deal this data recovery.

Main System

This is the hub of all interaction which assists with internal communications within the different

subsystem. It is comprise of Inventory system, accounting, cashiering and the central database.

Accounting is responsible for the management of payroll and committed customers who credit goods

from the company. Inventory is responsible for all stocks that comes in and leaves the company’s

warehouse. The inventory controller is also responsible for generating a monthly report with the

amount of goods sold and bought from the company. All subsystem is connected to the main database

to which they have limited access in certain case.

Anderson’s Auto Parts | Software Design Specification Report

Page 22: Software Design Specification Report

PC

Accounting

System

Server

Anderson’s Auto PartsDatabase

PC

Cashiering

Transactions

Receipts

PC

Inventory Control

Server

Anderson’sInventorySystem

UML Deployment Diagram

Anderson’s Auto Parts | Software Design Specification Report

Main system and Database are hosted on servers

Logical Relationships

Sub systems and PCs connect to the database and Main system

Page 23: Software Design Specification Report

Log into system

Print Cashier Report

Cashier Customer

Process Transactions

Print Receipts

Procedural Design

Expanded Diagrams

Use Case Diagrams

Cashier

Use Case #1 – Cashier

Case Name: Print Receipts

Participating Actor (s): Cashier, Customer

Entry Conditions: Goods being purchased and their prices initiated

Exit Condition: Display total cost of item and change, then print the receipt

Special Requirements: None

Case Name: Log into System

Anderson’s Auto Parts | Software Design Specification Report

Page 24: Software Design Specification Report

Participating Actor (s): Cashier

Entry Conditions: Password initiated

Exit Condition: Cashier is logged in to system

Special Requirements: None

Case Name: Print Cashier Report

Participating Actor (s): Cashier

Entry Conditions: password initiated

Exit Condition: Display monthly report and print it.

Special Requirements: None

Case name: Process Transaction

Participating Actors: Cashier, Customer

Entry Conditions: Goods must be purchased

Exit condition: Display total cost of transaction and calculate change

Special Requirements: Product must be available

Anderson’s Auto Parts | Software Design Specification Report

Page 25: Software Design Specification Report

Analyze Cashier Report

Log into system

Update InventoryInventory Clerk Supplier

Print Inventory Report

Print Order List

Inventory Clerk

Use Case #2 – Inventory Clerk

Case Name: Print Inventory Report

Participating Actor (s): Inventory Clerk

Entry Conditions: password initiated

Exit Condition: Display and Print the inventory list

Special Requirements: after inventory is updated

Case Name: Logs into System

Participating Actor (s): Inventory Clerk

Entry Conditions: Password initiated

Exit Condition: Inventory clerk is logged in to the system

Special Requirements: None

Case Name: Analyze cashier report

Participating Actor (s): Inventory Clerk

Anderson’s Auto Parts | Software Design Specification Report

Page 26: Software Design Specification Report

Entry Conditions: obtain cashier’s daily report and update inventory accordingly.

Exit Condition: Inventory clerk is logged in to the system

Special Requirements: None

Case Name: Update inventory Report

Participating Actor (s): Inventory Clerk

Entry Conditions: password initiated

Exit Condition: Obtain daily sales and update inventory

Special Requirements: After each day

Use Case Name: Print Order List

Participating Actor (s): Inventory clerk, Supplier

Entry Conditions: password initiated

Exit Condition: Display and Print the inventory list and give to the supplier

Special Requirements: After an item reaches reorder amount, it is added to the order list.

Anderson’s Auto Parts | Software Design Specification Report

Page 27: Software Design Specification Report

Log into System

Create Summary of Bills

Print Summary of Bill

Accountant

Prepare Payroll

Manager

<extends>

Accountant

Use Case #3 – Accountant

Case Name: Print Summary Bills

Participating Actor (s): Accountant

Entry Conditions: password initiated, employees work

Exit Condition: The of all bills summary have been printed

Special Requirements: After bills are obtained

Case Name: Logs into System

Participating Actor (s): Accountant

Entry Conditions: Password initiated

Exit Condition: Accountant is logged in to the system

Special Requirements: None

Case Name: Create Summary of bills

Anderson’s Auto Parts | Software Design Specification Report

Page 28: Software Design Specification Report

Participating Actor (s): Accountant

Entry Conditions: password initiated, Bills have been received

Exit Condition: Generate a summary of all bills

Special Requirements: None

Case Name: Prepare payroll

Participating Actors: Accountant, Manger

Entry Conditions: Totals hours worked by an employee have been received

Exit Condition: Generate and calculate payroll list

Special requirements: Hours have to be entered

Anderson’s Auto Parts | Software Design Specification Report

Page 29: Software Design Specification Report

Manager

Analyze Payroll

Print Payroll

Log into System

Add Product

Modify Product

Manager

Use Case #4 - Manager

Use Case Name: Logs into System

Participating Actor (s): Manager

Entry Conditions: Password initiated

Exit Condition: Manager is logged in to the system

Special Requirements: None

Use Case Name: Analyze Payroll

Participating Actor (s): Manager

Entry Conditions: password initiated

Exit Condition: Analyze and agree on all payroll calculation

Special Requirements: after a week

Anderson’s Auto Parts | Software Design Specification Report

Page 30: Software Design Specification Report

Use Case Name: Print Payroll

Participating Actor (s): Manager

Entry Conditions: Obtain payroll information from analysis

Exit Condition: Display and print payroll.

Special Requirements: After a week

Use Case Name: Add Product

Participating Actor (s): Manager

Entry Conditions Product identification must be unique for all additions

Exit Condition: Product will be added to the database and its record count increased.

Special Requirements: None

Use Case Name: Modify Product

Participating Actor (s): Manager

Entry Conditions: Product identification must exist for all modifications.

Exit Condition: Product will be added to the database and its record count increased.

Special Requirements: None

Anderson’s Auto Parts | Software Design Specification Report

Page 31: Software Design Specification Report

Makes an Order

Make Payment

Customer

Use Case #5 – Customer

Use Case Name: Make an Order

Participating Actor (s): Customer

Entry Conditions: None

Exit Condition: Order made to cashier.

Special Requirements: Goods must be available.

Use Case Name: Make a Payment

Participating Actor (s): Customer

Entry Conditions: provide Cash upfront

Exit Condition: Cashier receives payment for goods and a receipt is received.

Special Requirements: Cash should be greater than total cost of items

Anderson’s Auto Parts | Software Design Specification Report

Page 32: Software Design Specification Report

Obtain Order List

Supply Orders

Supplier Inventory Clerk

Supplier

Use Case #6 – Supplier

Use Case Name: Obtain Order List

Participating Actor (s): Supplier

Entry Conditions: Order list must be printed

Exit Condition: Goods must be ready for delivery.

Special Requirements: None

Use Case Name: Supply Orders

Participating Actor (s): Supplier

Entry Conditions: None

Exit Condition: All goods must be available.

Special Requirements: All goods on order list must be ready for delivery.

Anderson’s Auto Parts | Software Design Specification Report

Page 33: Software Design Specification Report

Guthrie’s Hardware

Name: StringAddress: StringTelephone No.

Display ( )

Employee

Employee Id: Integer Name: StringAddress: StringTelephone No.: IntegerPosition: StringHourlyRate: float Display ( )

Customers

Fname: StringLname: StringAddress: StringTelephone No.

Makes_Order ( )Makes_payment ( )Display ( )

Supplier

Supplier’s IdName: StringAddress: StringTelephone No.

Receives_Order_list ( )Display ( )

Cashier

Process_transaction ( )Print_reciept ( )Print_report ( )

Products

Product Id: integerName: StringSellingPrice: integerQuantity : integer

Product_Available ( )Add_Product ( )Modify_Product ( )Remove_Product ( )Display ( )

Manager

Analyse_payroll ( )Print_payroll ( )

Accountant

Prepare_payroll ( )Create_summary_of_bills ()Print_summeary_of_bills ()

Inventory Clerk

Analyse_cashier_report ( )Update_inventory ( )Print_inventory_repport ( )Print_order_list ( )

Is A

Buys Supplies products to

EmploysHas

1..1 1..*1..11..*

1..*

1..11..*

1..*

Class Diagram

Page 34: Software Design Specification Report

Anderson’s Auto Parts

Page 35: Software Design Specification Report

:Username verifier :Password verifier

Sequence DiagramLogging into System

Anderson’s Auto Parts | Software Design Specification Report

Valid ( )

Cashier

Accountant

Administrator

Requests password( )

Enters username ( )

Page 36: Software Design Specification Report

:Inventory Controller

ProduceList ( )

:Inventory SystemPrint Button

Create ( )

PrintList ( )

Print Order List

Anderson’s Auto Parts | Software Design Specification Report

Page 37: Software Design Specification Report

Print Payroll

Anderson’s Auto Parts | Software Design Specification Report

Page 38: Software Design Specification Report

Instigate ( )

Produce Report ( )

Cashier Report

Cashier

Create ( )

Print Report ( )

Print Button Employee System

Commence ( )

Employee Id ( )

Found Employee ID

Print Payroll ( )

Payroll Printed

Manager Print Button

:Inventory System:Inventory Controller

Print Cashier Report

Anderson’s Auto Parts | Software Design Specification Report

Page 39: Software Design Specification Report

Initiate ( )

Produce Bills ()

Summary of Bills

Accountant

Create ()

Print Bills ()

Print Button:Inventory System:Inventory Controller

Print Summary of Bills

Anderson’s Auto Parts | Software Design Specification Report

Page 40: Software Design Specification Report

Order good()

Order

Customer

OkToOrder()

AdjustStockL

evel()

addtoOrder()

scansProduct()

:Stock Record :Barcode Reader :Order:Order Line

Makes an Order

Anderson’s Auto Parts | Software Design Specification Report

Page 41: Software Design Specification Report

Payroll list

Transform Center (Payroll)

Input Controller (Payroll) Output Controller (Payroll)Transform Process (Payroll)

Transform Center (Login)

Input Controller (Login) Output Controller (Login)Transform Process (Login)

Derived Program Structure

Hierarchical Chart (Subsystems & Modules)

Validate User Welcome Screen

Transaction Center (Invoice)

Receptor (Invoice)

Dispatcher (Invoice)

Employee_id Pay slipHours worked Hours worked Deduct Tax

Supplier_id Product Description

Quantity Invoice

Employee_id Employee Password

Page 42: Software Design Specification Report

Transform Center (Make an order)

Input Controller (Make an order) Output Controller (Make an order)Transform Process (make an order)

Transform Center (Summary of bills)

Input Controller (summary of bills) Output Controller (summary of bills)Transform Process (summary of bills)

Transform Center (Cashier report)

Input Controller (Cashier report) Output Controller (Cashier report)Transform Process (Cashier report)

Cashier

Bill type

Bill_id Calculate total

Print Bills Product_id Product Description Customer_id Calculate

changeReceipt

Page 43: Software Design Specification Report

Processing Narrative

Interface Description

Design Language

Modules Used

CommentsLimitations

Performance Requirements & Issues

Internal Data Structures

Page 44: Software Design Specification Report

Employee management Module

Processing narrative

This module is responsible for the management of all employee employed to the company.

Management includes retrieve, add, edit/update and delete employee information. This will help

management to make systematic changes and maintain a track record of all employees. Therefore if

the company employs new employee then general information about that employee will be added

to the database, conversely if the company needs to remove or upgrade an employee then the

database design will facilitate it. Every employee will be given a username and a password to use

the systems. Once logged on, they will be greeted with a welcome screen after which the have

different options from which to choose in order to proceed.

Interface description

Add Employee

Employee Management

View Entire Employees

Design Language

Start

If Employee called from Login or Lock Screen Window

Check if entered user information exists in database

Return Check result

Accept User Selection

If Selection equals Add Employee

Generate new employee id

Get supplier information from user

Write supplier information to database

Anderson’s Auto Parts | Software Design Specification Report

Page 45: Software Design Specification Report

Else If Selection equals View Entire employee List

Read employee List from Database

Return employees List

Else If Selection equals employee Management

Accept employee id from user

Read record with employee id from Database equal to id entered

Return record

If Selection equals Update employee

Accept employee information entered

Overwrite record with id equal to id of employee

information entered

Else If Selection equals Delete employee

Delete emplyee record

End if

End if

End if

Stop

Modules Used

Employee management

Internal Data Structure

None

Anderson’s Auto Parts | Software Design Specification Report

Page 46: Software Design Specification Report

Comments/ Limitations/Performance Requirements & Issues

Only the manager can access this module as it is directly connected to the database. Most of

this module is restricted except the viewing of employee.

Customer management module

Processing Narratives

All information related to registered customer is taken care by this module. This module will allow

users who are authorized to update/edit delete or add a customer to the database. It is important to

keep track of customers as discount is given at irregular intervals to consistent customers who

purchase items from the company.

Interface description

Add Customer

Customer Management

View Entire Customer List

Modules Used

Customer management

Design Language

Start

If Customer called from Login or Lock Screen Window

Check if entered user information exists in database

Return Check result

Accept User Selection

If Selection equals Add Supplier

Generate new customer id

Get customer information from user

Write customer information to database

Anderson’s Auto Parts | Software Design Specification Report

Page 47: Software Design Specification Report

Else If Selection equals View Entire Customer List

Read customer List from Database

Return customer List

Else If Selection equals Customer Management

Accept Customer id from user

Read record with customer id from Database equal to id entered

Return record

If Selection equals Update Supplier

Accept customer information entered

Overwrite record with id equal to id of customer

information entered

Else If Selection equals Delete Supplier

Delete customer record

End if

End if

End if

Stop

Module Used

Customer module

Internal data structure

None

Anderson’s Auto Parts | Software Design Specification Report

Page 48: Software Design Specification Report

Comments/Limitations/Performance Requirements & Issues

It is necessary to keep customers in the database as management offers price reduction to regular

customers at the company.

Supplier module

Processing Narratives

Information about all suppliers is vital in the overall operation of the system. The database will link

all suppliers to the respective goods that they supply. Management therefore will be able to

distinguish between the different suppliers and in the case of adverse situations, they will know

who to contact.

Interface Description

Add Supplier

Supplier Management

View Entire Supplier List

Design Language

Start

If Supplier called from Login or Lock Screen Window

Check if entered user information exists in database

Return Check result

Accept User Selection

If Selection equals Add Supplier

Generate new supplier id

Get supplier information from user

Write supplier information to database

Else If Selection equals View Entire Supplier List

Read Suppliers List from Database

Anderson’s Auto Parts | Software Design Specification Report

Page 49: Software Design Specification Report

Return Suppliers List

Else If Selection equals Supplier Management

Accept Supplier id from user

Read record with supplier id from Database equal to id entered

Return record

If Selection equals Update Supplier

Accept supplier information entered

Overwrite record with id equal to id of supplier

information entered

Else If Selection equals Delete Supplier

Delete supplier record

End if

End if

End if

Stop

Modules Used

Supplier module

Internal Data Structures

None

Comments/Limitations/Performance Requirements & Issues

The date that goods were supplied will be a major requirement for system performance.

Anderson’s Auto Parts | Software Design Specification Report

Page 50: Software Design Specification Report

Financial Management Module

Processing Narratives

All the financial aspects of the company are taken care by this module. This will be responsible for

generating payroll and inventory reports. The manager and the company’s accountant will be given

direct access to the functionality of this module.

Interface Description

Generate Payroll

Generate Invoice

Generate Inventory report

Financial Settings

Design Language

Start

Display Menu

Input selection

Accept selection

If selection = Generate invoice

Then

Input invoice number

Input supplier code

Input supplier name

Input date

Input product_id

Anderson’s Auto Parts | Software Design Specification Report

Page 51: Software Design Specification Report

Input product description

Input quantity

Store to database

Display invoice information

Else if selection = Generate payroll

Input employee_id

Input hours_worked

Input hourly_rate

Net Pay hours_worked * hoursly rate – tax

Display pay slip

Store to database

Else if selection = Generate Inventory report

Input inventory_report_id

Read products sold from database

Amount_in_stock product_sold – amount_in_stock

Display amount_in_stock

Display report

Store to database

Anderson’s Auto Parts | Software Design Specification Report

Page 52: Software Design Specification Report

Else if selection = Financial settings

Input employee_id

Update hourly_rate

Input product_id

Update product price

Store to database

End if

End if

End if

Stop

Modules used

Financial module

Internal Data Structures

None

Comments/Limitations/Performance Requirements & Issues

The inventory clerk will be given the privilege of generating invoice and inventory report while

both the manager and the accountant will be responsible for generating payroll and make any

modification to the financial settings.

Anderson’s Auto Parts | Software Design Specification Report

Page 53: Software Design Specification Report

Product Module

Processing Narrative

Management of all products that enters and leaves the company’s warehouse will be taken care by

this module. Information with regards to product name, description quality and other imperative

information will be stored to the database through this module.

Interface Description

Add Product

Product Management

View Entire Product List

Design Language

Start

If product management called from Login or Lock Screen Window

Check if entered user information exists in database

Return Check result

Accept User Selection

If Selection equals Add product

Generate new product id

Get product information from user

Write product information to database

Else If Selection equals View Entire product List

Read product List from Database

Return product List

Else If Selection equals product Management

Anderson’s Auto Parts | Software Design Specification Report

Page 54: Software Design Specification Report

Accept product id from user

Read record with product id from Database equal to id entered

Return record

If Selection equals Update product

Accept product information entered

Overwrite record with id equal to id of product

information entered

Else If Selection equals Delete product

Delete product record

End if

End if

End if

Stop

Modules Used

Product

Internal Data Structure

None

Comments/Limitations/Performance Requirement & Issues

This will be a link with this module and the financial module as financial update such as adjustment

of price will be reflected in the product module. The inventory clerk will be able to add, delete or

update a product once given the authority by management.

Anderson’s Auto Parts | Software Design Specification Report

Page 55: Software Design Specification Report

User Interface Design

Anderson’s Auto Parts | Software Design Specification Report

Page 56: Software Design Specification Report

Anderson’s Auto Parts | Software Design Specification Report

Page 57: Software Design Specification Report

+

Anderson’s Auto Parts | Software Design Specification Report

Page 58: Software Design Specification Report

Anderson’s Auto Parts | Software Design Specification Report

Page 59: Software Design Specification Report

Bibliography

Anderson’s Auto Parts | Software Design Specification Report

Page 60: Software Design Specification Report

Appendices

Anderson’s Auto Parts | Software Design Specification Report