0% found this document useful (0 votes)
3 views

Project Report Template

The document outlines the Requirement & Design Specification for a Store Management System (SMS) version 1.0, detailing user requirements, functionalities, and design specifications. It includes use cases for various actors such as Admin and Staff, along with their permissions and functionalities related to managing accounts, customers, orders, and products. The document also provides a high-level design overview, database schema, and class diagrams to support the system's architecture.

Uploaded by

vinxcdev1105
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Project Report Template

The document outlines the Requirement & Design Specification for a Store Management System (SMS) version 1.0, detailing user requirements, functionalities, and design specifications. It includes use cases for various actors such as Admin and Staff, along with their permissions and functionalities related to managing accounts, customers, orders, and products. The document also provides a high-level design overview, database schema, and class diagrams to support the system's architecture.

Uploaded by

vinxcdev1105
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Requirement & Design Specification

Store Management System(SMS)


Version: 1.0

Group 6

HE190001 – Nguyen Van A

HE190002 – Nguyen Van B

HE190003 – Nguyen Van C


Table of content
Table of content 2
Record of Changes 7
I. Overview 10
1. User Requirements 10
1.1 Actors 10
1.2 Use Cases 10
a. Diagram(s) 10
b. Descriptions 13
2. Overall Functionalities 15
2.1 Screens Flow 15
2.2 Screen Descriptions 20
2.3 Screen Authorization 24
3. System High Level Design 24
3.1 Database Design 24
a. Database Schema 25
b. Table Descriptions
II. Requirement Specifications 27
1. Common Functions 27
1.1 UC-1_SignUp 27

1.2 UC-2_Sign In 28

1.3UC-3_View all skills 28

III. Design Specifications 52

IV. Appendix 92
1. Assumptions & Dependencies 92
2. Limitations & Exclusions 92
3. Business Rules 92
I. Overview
The Store ManagementDB project is a web application project for store management. The project is
developed using Microsoft Visual Studio technology, Entity Framework and data is managed by
Microsoft SQL database system. The project was developed to optimise store management capabilities.

1. User Requirements

1.1 Actors
# Actor Description
1 Admin Have full system management, including all CRUD functionality for user
accounts, customers, orders, and order details.
2 Staff
Only permissions to manage customers, orders, and order details, including
all CRUD functionality.

1.2 Use Cases


a. Diagram(s)

b. Descriptions

ID Feature Use Case Use Case Description


01 Admin Manage Accounts Add, edit, delete, view account information.

02 Manage Customers Add, edit, delete, view customer information.


03 Manage Orders Add, edit, delete, view order information.
04 Manage Order Items Add, edit, delete, view order details.
07 Manage Customers Add, edit, delete, view customer information.
08 Staff Manage Orders Add, edit, delete, view order information.
09 Manage Order Items Add, edit, delete, view order details.

2. Overall Functionalities
c2.1 Screens Flow

2.2 Screen Descriptions

# Feature Screen Description


1 Staff Login Log in This page allows User to enter username and
password to login
2 Staff Management Home Staff home screen interface
3 Customer Management Customer Staff can add, edit or delete users on the manage
Management customers page
4 Order Management Order Staff can add, edit or delete orders on the orders
Management order page

5 Product Management Product Staff can add, edit or delete products on the products
Management order page

6 Admin Login Login Admin logs in with the designated account

7 Admin Management Home Admin screen after logging in

8 Customer Management Customer Admin can add, edit or delete users on the manage
Management customers page

9 Order Management Order Admin can add, edit or delete orders on the orders
Management order page

10 Product Management Product Admin can add, edit or delete products on the
Management products order page

11 Staff Management ManageStaff Admin can add, edit, and delete staff on the staff
management page

12 Account Management Manage Admin can add, edit, and delete staff on the manage
Account account page
13 Admin Dashboard Admin Admin dashboard can view the number of products in
Dashboard stock and can edit product quantities as well as view
the top selling staff of each month and year.

2.3 Screen Authorization

# Screen Admin Manager System High Level


1 Log in X X Design
3.1 Database Design
2 Home X X
a. Database Schema

3 Customer Management X X

4 Order Management X X

5 Product Management X X

6 ManageStaff X

7 Manage Account X

8 Admin Dashboard X
b. Table Descriptions
No Table Description
01 AccountMember - Manages user accounts with fields for MemberID, Email, Password,
Role, etc.
- Primary keys: AccountID
02 Customer - Stores customer information with fields for CustomerID, Name,
ContactInfo, etc
- Primary keys: CustomerID
03 Orders - Manages orders with fields for OrderID, CustomerID, OrderDate,
TotalAmount, etc.
- Primary keys: for OrderID
04 OrderItems - Stores items within an order with fields for OrderItemID, OrderID,
ProductID, Quantity, Price, etc.
- Primary keys: OrderItemID
05 staffs - Manage Staffs information
- Primary keys: staff_id
06 Stores - Manage Store information
- Foreign keys: store_id
07 Stocks Manage Stocks information
- Primary keys: StoreID,ProductID
08 Products Manage Product information
- Primary keys: ProductID

4. Class diagram,
4.1.

4.2. Class diagram


II. Requirement Specifications (OPTIONAL)
1. Common Functions
1.1 UC1_ Login
Functional Description Template

ID and Name: UC-1_ User Login


Created By: HE190001 Date Created:
Nguyen Van A
Primary Actor: User (Admin/Staff) Secondary Actors:

Description: This use case describes the authentication process for users by verifying their
email and password.
Trigger: User attempts to log in.
Preconditions: PRE-1: User has an existing account.
Postconditions: - POST-1: User is logged into the system and can access authorized
functionalities.
Normal Flow: 1. User enters an email and password.
2. System verifies credentials.
3. If valid, user is logged in; otherwise, an error message is displayed

Alternative Flows: AF-1: User clicks "Forgot Password", redirects to Password Reset page.
Exceptions: EX-1: Database connection error.

Priority: High
Frequency of Use: Frequently used by all users.

Business Rules: BR- 1: Default admin account: MemberID is “Admin” and password is “123456”.
BR- 2: Default staff account: MemberID is “Staff1” and password is “123456”.

Other Information: N/A


Assumptions: N/A

1.2 UC2_Customer Manage


a. Functional Description
ID and Name: UC-2_ Customer Manage
Created By: HE190002 Date Created:
Nguyen Van B
Primary Actor: Admin Secondary Actors: None

Description: As an admin, I want to manage customer information, including adding,


updating, viewing, and deleting customer records.
Trigger: Admin clicks on the "Customer Manage" button in the HomePage Screen
Preconditions: Admin must be logged in to access the customer management functionalities.
Postconditions:
Customer information is added, updated, viewed, or deleted as per the admin's
actions.

Normal Flow: 1. Admin clicks on the "Customer Manage" button.


2. The system displays a list of all customers.
3. Admin can choose to add a new customer by clicking "Add Customer".
4. Admin fills in the customer details and clicks "Save".
5. The system saves the new customer information and displays it in the
list.
6. Admin can select an existing customer to update by clicking "Edit".
7. Admin updates the customer details and clicks "Save".
8. The system saves the updated customer information and updates the
list.
9. Admin can delete a customer by selecting them and clicking "Delete".
10. The system deletes the customer and removes them from the list.
Alternative Flows: N/A
Exceptions: N/A

Priority: High
Frequency of Use: Usually

Other Information: N/A


Assumptions: N/A
1.3 UC3_Order Manage

ID and Name: UC3_Order Manage


Created By: HE190003 Date Created:
Nguyen Van C
Primary Actor: Admin Secondary Actors: None

Description:
As an admin, I want to manage order information, including adding, updating,
viewing, deleting, and clearing order records.

Trigger: Admin clicks on the "Order Manage" button in the Admin Dashboard Screen.
Preconditions: Admin must be logged in to access the order management functionalities.
Postconditions:
Order information is added, updated, viewed, or deleted as per the admin's
actions

Normal Flow: 1. Admin clicks on the "Order Manage" button.


2. The system displays a list of all orders.
3. Admin can choose to add a new order by clicking "Add Order".
4. Admin fills in the order details and clicks "Save".
5. The system saves the new order information and displays it in the list.
6. Admin can select an existing order to update by clicking "Edit".
7. Admin updates the order details and clicks "Save".
8. The system saves the updated order information and updates the list.
9. Admin can delete an order by selecting it and clicking "Delete".
10. The system deletes the order and removes it from the list.
11. Admin can clear the input fields by clicking "Clear".

Alternative Flows: N/A


Exceptions: N/A

Priority: High
Frequency of Use: Frequent

Other Information: N/A


Assumptions: N/A

1.4 UC4_Product Manage


a. Functional Description

ID and Name: Product Manage


Created By: HE190001 Date Created:
Nguyen Van A
Primary Actor: Admin Secondary Actors: none
Description: As an admin, I want to manage product information, including adding, updating,
viewing, deleting, and clearing product records.
Trigger: Admin clicks on the "Product Manage" button in the Admin Dashboard Screen.
Preconditions: Admin must be logged in to access the product management functionalities.
Postconditions: Product information is added, updated, viewed, or deleted as per the admin's actions.
Normal Flow: 1. Admin clicks on the "Product Manage" button.
2. The system displays a list of all products.
3. Admin can choose to add a new product by clicking "Add Product".
4. Admin fills in the product details and clicks "Save".
5. The system saves the new product information and displays it in the list.
6. Admin can select an existing product to update by clicking "Edit".
7. Admin updates the product details and clicks "Save".
8. The system saves the updated product information and updates the list.
9. Admin can delete a product by selecting it and clicking "Delete".
10. The system deletes the product and removes it from the list.
11. Admin can clear the input fields by clicking "Clear".
Alternative Flows: If the admin clicks "Cancel" during the add or update process, the system will discard
the changes and return to the product list without saving.
Exceptions: If there is an error saving product information, the system will display an error message
and prompt the admin to retry.
If there is an error deleting the product, the system will display an error message and
prompt the admin to retry.
Priority: High
Frequency of Use: Usually
Other Information: N/A
Assumptions: Admin has the necessary permissions to manage product information.
The system is operational and able to process database transactions.

1.5 UC5_Staff Manage


a. Functional Description

ID and Name:
Created By: HE190002 Date Created:
Nguyen Van B
Primary Actor: Admin Secondary Actors: none
Description: As an admin, I want to manage staff information, including adding, updating, viewing,
deleting, and resetting staff records.
Trigger: Admin clicks on the "Staff Manage" button in the Admin Dashboard Screen
Preconditions: Admin must be logged in to access the staff management functionalities.
Postconditions: Staff information is added, updated, viewed, or deleted as per the admin's actions.
Normal Flow: ● Admin clicks on the "Staff Manage" button.
● The system displays a list of all staff members.
● Admin can choose to add a new staff member by clicking "Add Staff".
● Admin fills in the staff details and clicks "Save".
● The system saves the new staff information and displays it in the list.
● Admin can select an existing staff member to update by clicking "Edit".
● Admin updates the staff details and clicks "Save".
● The system saves the updated staff information and updates the list.
● Admin can delete a staff member by selecting it and clicking "Delete".
● The system deletes the staff member and removes it from the list.
● Admin can clear the input fields by clicking "Reset".
Alternative Flows: If the admin clicks "Cancel" during the add or update process, the system will discard the
changes and return to the staff list without saving.
If the admin attempts to delete a staff member who is associated with existing records,
the system will display a warning and prompt the admin to confirm the deletion.
Exceptions: If there is an error saving staff information, the system will display an error message and
prompt the admin to retry.
If there is an error deleting the staff member, the system will display an error message
and prompt the admin to retry.
Priority: High
Frequency of Use: Usually
Other Information: N/A
Assumptions: N/A

1.6 UC6_Manage Account

ID and Name:
Created By: Date Created:
Primary Actor: Admin Secondary Actors: none
Description: As an admin, I want to manage account information, including adding, updating,
viewing, deleting, and resetting account records.
Trigger: Admin clicks on the "Manage Account" button in the Admin Dashboard Screen.
Preconditions: Admin must be logged in and have appropriate permissions to manage account
information.
Postconditions: Account information is added, updated, viewed, or deleted according to the admin's
actions.
Normal Flow: ● Admin clicks on the "Manage Account" button.
● The system displays a list of all accounts.
● Admin can choose to add a new account by clicking "Add Account".
● Admin fills in the account details and clicks "Save".
● The system saves the new account information and displays it in the list.
● Admin can select an existing account to update by clicking "Edit".
● Admin updates the account details and clicks "Save".
● The system saves the updated account information and updates the list.
● Admin can delete an account by selecting it and clicking "Delete".
● The system deletes the account and removes it from the list.
● Admin can clear the input fields by clicking "Reset".
Alternative Flows: If the admin clicks "Cancel" during the add or update process, the system will discard
the changes and return to the account list without saving.
If the admin attempts to delete an account that has associated records or is currently in
use, the system will display a warning and prompt the admin to confirm the deletion.
Exceptions: If there is an error saving account information, the system will display an error message
and prompt the admin to retry.
If there is an error deleting the account, the system will display an error message and
prompt the admin to retry.
Priority: High
Frequency of Use: Usually
Other Information: N/A
Assumptions: N/A
1.7 UC7_Manage Account

ID and Name:
Created By: HE190003 Date Created:
Nguyen Van C
Primary Actor: Admin Secondary Actors: None
Description: As an admin, I want to manage various functionalities on the Admin Dashboard, including adding,
updating, deleting, and resetting records, and viewing the top-selling staff members.
Trigger: Admin clicks on the "Admin Dashboard" button in the main menu.
Preconditions: Admin must be logged in and have appropriate permissions to access the Admin Dashboard.
Postconditions: Admin has managed records and viewed top-selling staff information as required.
Normal Flow: Admin clicks on the "Admin Dashboard" button.
The system displays the Admin Dashboard screen.
Admin can view various sections including:
● List of records (e.g., orders, accounts) with options to add, update, delete, and reset.
● A section displaying top-selling staff based on sales performance.
Admin can choose to add a new record by clicking "Add Record".
Admin fills in the details for the new record and clicks "Save".
The system saves the new record and updates the list.
Admin can select an existing record to update by clicking "Edit".
Admin updates the record details and clicks "Save".
The system saves the updated record and updates the list.
Admin can delete a record by selecting it and clicking "Delete".
The system deletes the record and removes it from the list.
Admin can clear the input fields by clicking "Reset".
The system refreshes the top-selling staff information, displaying the current top performers.
Alternative Flows: If the admin clicks "Cancel" during the add or update process, the system will discard the changes
and return to the dashboard without saving.
If the admin attempts to delete a record that has dependencies or is currently in use, the system
will display a warning and prompt the admin to confirm the deletion.
Exceptions: If there is an error saving or updating record information, the system will display an error message
and prompt the admin to retry.
If there is an error deleting the record, the system will display an error message and prompt the
admin to retry.
If there is an issue retrieving the top-selling staff information, the system will display an error
message.
Priority: High
Frequency of Use: Usually
Other Information: N/A
Assumptions: N/A

III. Design Specifications


1. Staff logs in with the designated account
Field Type Description
Field Name

User name Text Box This is for user to input user name for logging in
Password Password Box This is for user to input password for logging in
Login Button User clicks to authenticate him/herself into the system with
provided email/user name & password

2. Staff screen after logging in

Field Type Description


Field Name

Manage Button Navigates to the customer management section.


Customers
Manage Orders Button Navigates to the order management section.
Manage Products Button Navigates to the product management section.
Manage Stocks Button Navigates to the stock management section.
Logout Button Logs the user out of the application.

3. Staff can add, edit or delete users on the manage customers page

4. Staff can add, edit or delete orders on the orders order page
5. Staff can add, edit or delete products on the products order page

1. Admin logs in with the designated account


2. Admin screen after logging in
3. Admin can add, edit or delete users on the manage customers page
4. Admin can add, edit or delete orders on the orders order page

5. Admin can add, edit or delete products on the products order page

11. Admin can add, edit, and delete staff on the staff management page
12. Admin can add, edit, and delete staff on the manage account page

13. Admin dashboard can view the number of products in stock and can edit product quantities
as well as view the top selling staff of each month and year.
IV. Appendix
1. Assumptions & Dependencies

AS-1: The system will be used within the organization's internal network.
DE-1: Users have basic knowledge of using Windows applications.

2. Limitations & Exclusions


L-E : The system will not support mobile platforms in the current version..
3. Business Rules

BR- 1: Default admin account: MemberID is “Admin” and password is “@admin123”.


BR- 2: Default staff account: MemberID is “Staff” and password is “@staff123”.

You might also like