Tải bản đầy đủ (.docx) (34 trang)

Software design specification for online tech shop

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.34 MB, 34 trang )

IS1210 My TVSE 06103 SE06103 SWD ass1
Introduction to Software Engineering (SWE102)

12

0


MINISTRY OF EDUCATION AND
TRAINING

FPT UNIVERSITY

SOFTWARE DESIGN
SPECIFICATION
for

Online Tech-Shop

Student
Supervisor
Subject Code

Course information
HE130022 – Phạm Quang Huy
Mr. Nguyễn Tất Trung
SWD391

12

0




A. Introduction
1. Project Overview:
Online Tech-shop is an web-based application that provides a system to
allow vendors to manage their own technology store in an electronic way. It also
provides a website for their customers to browse technology products.
2. Project Scope:
Online Tech-shop has 3 group users: customer, staff, administrator.
The application consists of 4 main microservices:
Microservice

Description

Account microservice

- Handle authentication and
authorization
- Provide account management for
admin, staff and customer

Online catalog microservice

- Product inventory management for
admin, staff
- Product catalog list for customer
browsing

Shopping cart microservice


- Provide shopping cart feature to
customer

Order procesing microservice

- Handle order action of customer
including checkout cart, payment
- Provide order logging feature to staff
and admin

12

0


B. Business flow
I.

Activity Diagram

Customer activity diagram

12

0


II.

Solution requirements


2.1 Functional Requirement
2.1.1 Authentication
-

If customers want to buy something, they must log in or sign in.

-

The Sales system should automatically log in if the customer does not log out.

-

Customer account will be automatically logged out if do not active in 10 minutes

-

Username must be email address

-

Password must be at least 8 characters, at least 1 uppercase character, 1 number.

2.1.2 User
* Administrator
- The administrator has permission to add, edit, delete staff.
* Staff
-

The staff has permission to edit, delete customers.


-

The staff has permission to add, edit, delete products.
* Customer

-

The customer can browse products and place an order.

2.1.3 Product
-

Display product detail.

-

Must specify availability (In stock/Out of stock)

-

Display related products in detail page

2.1.4 Cart
-

Display number of products and the total price that users added.

-


Users can add more, edit or delete products in cart.

12

0


2.1.5 Order
-

Display payment method: COD, Visa card, ...

-

Information of receiver: Full name, phone number, email, address

-

Orders can be exported into invoices.

-

Customer can view status of order (before deliver/delivering/done/cancel)

2.2 Non-Functional Requirement
2.2.1 Usability
-

Display the status of the product is in stock or out of stock.


-

Fault tolerance: Backup data to cloud storage, in case of data loss

Real-time error check: when user sign up or do work requiring lots of input fields,
warn user until all input data is valid
-

To pay, the customer will have 3 steps:

+

Click button “Buy”, the product will be added to cart.

+

Click button “Cart”, it will show the product’s name, quantity, the total price

+
payment method.

Click button “Pay”, it will display the customer's information input form,

2.2.2 Security
2.2.2.1 Account
- Confidential data (password) stored in DB must be encrypted
2.2.2.2 Payment method
- Do not store customer’s credit/debit card secure information (CSV number)

2.2.3 Performance

- Response time must not exceed 3 seconds each page

2.2.5 Availability
-

Hours of operation: 24/7

-

Upgrade 1 times within 3 months

2.2.6 Maintainability

12

0


-

Each periodic system upgrade will not take more than 30 minutes.

-

Use camel case as the naming convention for variables, methods name

2.2.7 Portability
-

The system can be deployed on various platforms: Linux, Windows, and macOS.


-

This website can be accessed via browsers: Chrome, Opera, Edge,...

III.

Use case diagram

3.1 Account microservice

Use case diagram – Account microservice (authentication and authorization)

12

0


Use case diagram – Account microservice (account management)

3.2 Online catalog
Use case diagram – Product catalog microservice

3.3 Shopping Cart
Use case diagram – Shopping cart microservice

3.4 Order processing

12


0


Use case diagram – Order processing microservice

B. System Architecture

System Architecture diagram

1. Design methodology: Heterogeneous pattern

12

0


Why: Tech-shop system consists of many features and
components, so that heterogenerous is required to combine
multiple design patterns.
2.

Overall system architecture: Client-server pattern
Why: Because this is an web-based online shopping system, the
number of end-users is huge. Therefore, there will be many
clients requesting and receiving service client-server is
required.

3.

Back-end architecture: Microservices pattern

Why: Online Tech-Shop has multiple feature groups so that I
decided to divide them into services and each service should
be deployed independently of each other microservices pattern
is a good choice.

4.

Internal service architecture: Layered pattern
Why: The application can be scaled
up and out with layered pattern. The
purpose of each layer is also presented
clearly through design, this simplifies
effort to understand the system of
developers.

C. Detailed Design
I.

Database Design

12

0


1. Account microservice

Account microservice: ERD

2. Online catalog microservice


Online catalog microservice: ERD

3. Shopping cart microservice

12

0


Shopping cart microservice: ERD

4. Order processing microservice

12

0


Order processing microservice: ERD

II.

Class Diagram & Sequence Diagram

12

0



1. Account microservice
1.1 Log in

Log in: Screen Mockup
Log in: Sequence Diagram
Log in: Class Diagram

1.2 Register
Register – Step 1: Screen Mockup

12

0


Register – Step 2: Screen Mockup

Register – Step 3: Screen Mockup

Register: Sequence Diagram

12

0


Register: Class Diagram

1.3 Edit account information


12

0


Edit account information: Screen Mockup

12

0


Edit account information: Sequence Diagram

Edit account information: Class Diagram

1.4 Ban customer account, deactive staff account

12

0


Deactive account: Sequence Diagram

Deactive account: Class Diagram

1.5 View customer list, staff list

12


0


View account list: Screen Mockup

View account list: Sequence Diagram

12

0



×