You are on page 1of 37

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Viện Công nghệ thông tin và Truyền thông

Tài liệu thiết kế yêu cầu phần mềm


(Software Design Document– SDD)

HỆ THỐNG QUẢN LÝ


Môn: Nhập Môn Công Nghệ Phần Mềm

Hà Nội, ngày 1 tháng 2 năm 2022


1. Kiến trúc tổng thể hệ thống 4
1.1. Kiến trúc hệ thống 4
1.2. Cấu trúc các thành phần trong hệ thống 4
2. Kiến trúc chi tiết các module 6
2.1. Module 1: Quản lý lượt chơi 7
* Biểu đồ component 7
2.1.1. Chức năng 1: Xem danh sách lượt chơi hiện tại 7
2.1.2. Chức năng 2: Xem danh sách lượt chơi đã kết thúc 8
2.1.3. Chức năng 3: Xem chi tiết lượt chơi 8
2.1.4. Chức năng 4: Thêm lượt chơi 9
2.1.5. Chức năng 5: Xóa lượt chơi 10
2.1.6. Chức năng 6: Thêm/xóa dịch vụ vào lượt chơi hiện tại 11
2.1.7. Chức năng 7: Thanh toán lượt chơi hiện tại 12
2.2. Quản trị máy PS 13
* Biểu đồ component 13
2.2.1. Chức năng 1: Tìm kiếm 13
2.2.2. Chức năng 2: Xem thông tin máy 14
2.2.3. Chức năng 3: Thay đổi thông tin máy 14
2.2.4. Chức năng 4: Thêm máy 15
2.2.5. Chức năng 5: Xóa máy 15
2.3. Quản lý dịch vụ 16
* Biểu đồ component 16
2.3.1. Chức năng 1: Thêm dịch vụ 16
2.3.2. Chức năng 2: Xem chi tiết dịch vụ 16
2.3.3. Chức năng 3: Thay đổi thông tin dịch vụ 17
2.3.4. Chức năng 4: Xóa dịch vụ 18
2.3.5. Chức năng 5: Tìm kiếm dịch vụ 18
2.4. Quản lý sự kiện 19
* Biểu đồ component 19
2.4.1. Chức năng 1: Thêm sự kiện 19
2.4.2. Chức năng 2: Xem chi tiết sự kiện 19
2.4.3. Chức năng 3: Thay đổi thông tin sự kiện 20
2.4.4. Chức năng 4: Xóa sự kiện 21
2.4.5. Chức năng 5: Tìm kiếm sự kiện 21
2.5. Thống kê 22
* Biểu đồ component 22
2.5.1. Thống kê doanh thu 22
2.6. Module 6: Đăng nhập/ Đăng xuất/ Đổi mật khẩu 23
* Biểu đồ component đăng nhập 23
2.6.1. Chức năng 1: Đăng nhập 23
* Biểu đồ component đăng xuất, đổi mật khẩu 24
2.6.2. Chức năng 2: Đăng xuất 24
2.6.3. Chức năng 3: Đổi mật khẩu 24
3. Thiết kế cơ sở dữ liệu 25
3.1. Sơ đồ quan hệ bảng dữ liệu 25
3.2. Danh sách các bảng dữ liệu 25
3.3. Thiết kế chi tiết các bảng dữ liệu 26
3.3.1. Bảng User 26
3.3.2. Bảng Role 26
3.3.3. Bảng Bill 26
3.3.4. Bảng PlayStation 27
3.3.5. Bảng Event 27
3.3.6. Bảng Service 27
3.3.7. Bảng OrderService 27
3.3.8. Bảng DailyTurnOver 28
4. Thiết kế nguyên mẫu giao diện 28
4.1 Chức năng đăng nhập 28
4.2 Hiển thị danh sách máy 29
4.3. Chức năng thêm máy 29
4.4 Hiển thị danh sách lượt chơi hiện tại 30
4.5 Hiển thị danh sách lượt chơi đã kết thúc 30
4.6 Chức năng thêm lượt chơi 31
4.7 Xem chi tiết lượt chơi hiện tại 31
4.8 Xem chi tiết lượt chơi kết thúc 32
4.9 Chức năng thanh toán lượt chơi 32
4.9 Chức năng thêm dịch vụ trong lượt chơi 33
4.10 Chức năng xóa dịch vụ trong lượt chơi 33
4.11 Hiển thị danh sách sự kiện 34
4.12 Chức năng thêm sự kiện 34
4.13 Hiển thị danh sách dịch vụ 35
4.14 Chức năng thêm dịch vụ 35
4.15 Chức năng thống kê 36
4.15 Chức năng đăng xuất 36
4.16 Chức năng đổi mật khẩu 37

1. Kiến trúc tổng thể hệ thống

1.1. Kiến trúc hệ thống

1.2. Cấu trúc các thành phần trong hệ thống


Model:
Lưu trữ trạng thái ứng dụng trong cấu trúc dữ liệu phù hợp
+ Người dùng
+ Hóa đơn
+ Máy PS
+ Sự kiện
+ Sự kiện hằng ngày
+ Dịch vụ
+ Các dịch vụ đã dùng
+ Doanh thu ngày

View:
Gồm có giao diện khách và giao diện chủ cửa hàng
Giao diện khách (GD- Khách):
Đăng nhập
Giao diện chủ cửa hàng (GD- Chủ cửa hàng):
Quản lý lượt chơi
Quản lý hóa đơn
Quản lý dịch vụ
Quản lý sự kiện
Quản lý máy PS
Thống kê doanh thu

Controller:
Quản lý điều khiển các luồng thể hiện các hành vi ứng dụng, ánh xạ các thay đổi của người
dùng, tương tác với API.
Điều khiển- hóa đơn
Điều khiển- dịch vụ
Điều khiển- máy PS
Điều khiển- sự kiện
Điều khiển- doanh thu
Điều khiển-sự kiện hằng ngày
Điều khiển- người dùng
2. Kiến trúc chi tiết các module

Trong project có 6 module:


- Quản lý lượt chơi
+ Xem danh sách lượt chơi hiện tại
+ Xem danh sách lượt chơi đã kết thúc
+ Xem chi tiết lượt chơi
+ Thêm lượt chơi
+ Xóa lượt chơi
+ Thêm/xóa dịch vụ của lượt chơi
+ Thanh toán lượt chơi hiện tại
- Quản trị máy ps
+ Tìm kiếm máy ps
+ Xóa thông tin máy ps
+ Thay đổi thông tin máy ps
+ Thêm máy
+ Xóa máy
- Quản lý dịch vụ
+ Thêm dịch vụ
+ Xem chi tiết dịch vụ
+ Thay đổi thông tin dịch vụ
+ Xóa dịch vụ
+ Tìm kiếm dịch vụ
- Quản trị sự kiện
+ Thêm sự kiện
+ Xem chi tiết sự kiện
+ Thay đổi thông tin sự kiện
+ Xóa sự kiện
+ Tìm kiếm sự kiện
- Thống kê doanh thu
- Đăng xuất / đăng nhập /đổi mật khẩu
+ Đăng nhập
+ Đăng xuất
+ Đổi mật khẩu
2.1. Module 1: Quản lý lượt chơi

* Biểu đồ component

2.1.1. Chức năng 1: Xem danh sách lượt chơi hiện tại

- Biểu đồ tuần tự
2.1.2. Chức năng 2: Xem danh sách lượt chơi đã kết thúc

- Biểu đồ tuần tự

2.1.3. Chức năng 3: Xem chi tiết lượt chơi

- Biểu đồ tuần tự
2.1.4. Chức năng 4: Thêm lượt chơi

- Biểu đồ tuần tự
2.1.5. Chức năng 5: Xóa lượt chơi

- Biểu đồ tuần tự
2.1.6. Chức năng 6: Thêm/xóa dịch vụ vào lượt chơi hiện tại
- Biểu đồ tuần tự
2.1.7. Chức năng 7: Thanh toán lượt chơi hiện tại

- Biểu đồ tuần tự
2.2. Quản trị máy PS

* Biểu đồ component

2.2.1. Chức năng 1: Tìm kiếm

- Biểu đồ tuần tự
2.2.2. Chức năng 2: Xem thông tin máy
- Biểu đồ tuần tự

2.2.3. Chức năng 3: Thay đổi thông tin máy


- Biểu đồ tuần tự
2.2.4. Chức năng 4: Thêm máy

- Biểu đồ tuần tự

2.2.5. Chức năng 5: Xóa máy

- Biểu đồ tuần tự
2.3. Quản lý dịch vụ

* Biểu đồ component

2.3.1. Chức năng 1: Thêm dịch vụ

- Biểu đồ tuần tự

2.3.2. Chức năng 2: Xem chi tiết dịch vụ

- Biểu đồ tuần tự
2.3.3. Chức năng 3: Thay đổi thông tin dịch vụ

- Biểu đồ tuần tự
2.3.4. Chức năng 4: Xóa dịch vụ

- Biểu đồ tuần tự

2.3.5. Chức năng 5: Tìm kiếm dịch vụ


- Biểu đồ tuần tự
2.4. Quản lý sự kiện

* Biểu đồ component

2.4.1. Chức năng 1: Thêm sự kiện

- Biểu đồ tuần tự

2.4.2. Chức năng 2: Xem chi tiết sự kiện


- Biểu đồ tuần tự
2.4.3. Chức năng 3: Thay đổi thông tin sự kiện

- Biểu đồ tuần tự
2.4.4. Chức năng 4: Xóa sự kiện
- Biểu đồ tuần tự

2.4.5. Chức năng 5: Tìm kiếm sự kiện

- Biểu đồ tuần tự
2.5. Thống kê

* Biểu đồ component

2.5.1. Thống kê doanh thu

- Biểu đồ tuần tự
2.6. Module 6: Đăng nhập/ Đăng xuất/ Đổi mật khẩu

* Biểu đồ component đăng nhập

2.6.1. Chức năng 1: Đăng nhập


- Biểu đồ tuần tự
* Biểu đồ component đăng xuất, đổi mật khẩu

2.6.2. Chức năng 2: Đăng xuất

- Biểu đồ tuần tự

2.6.3. Chức năng 3: Đổi mật khẩu

- Biểu đồ tuần tự
3. Thiết kế cơ sở dữ liệu

3.1. Sơ đồ quan hệ bảng dữ liệu

3.2. Danh sách các bảng dữ liệu


Tên bảng dữ liệu Mô tả
User Thông tin về tài khoản quản lý
Role Thông tin về quyền của tài khoản
Bill Thông tin về lượt chơi
PlayStation Thông tin về máy PS
Event Thông tin về sự kiện
Service Thông tin về dịch vụ
OrderService Thông tin về sản phẩm trong đơn hàng của người dùng
DailyTurnOver Thông tin về doanh thu

3.3. Thiết kế chi tiết các bảng dữ liệu

3.3.1. Bảng User


STT Tên trường Kiểu dữ liệu Nullable Ràng Mô tả
buộc
1 user_id int No PK Mã tài khoản
2 name varchar(50) No Họ và tên
3 username varchar(30) No Tên người dùng
4 password varchar(100) No Mật khẩu
5 role_id int No FK Mã vai trò

3.3.2. Bảng Role


STT Tên trường Kiểu dữ liệu Nullable Ràng Mô tả
buộc
1 role_id int No PK Mã vai trò
2 name varchar(50) No Tên vai trò

3.3.3. Bảng Bill


STT Tên trường Kiểu dữ Nullable Ràng Mô tả
liệu buộc

1 billId int No PK Mã hoá đơn


2 isPaid boolean No Tên vai trò
3 timeStart DateTime No Thời gian bắt đầu
lượt chơi
4 timeEnd DateTime No Thời điểm kết
thúc lượt chơi
5 totalHourPlayed Double No Tổng thời gian
chơi của lượt
chơi
6 totalPrice Double No Tổng tiền
7 eventId Int Yes Mã sự kiện áp
dụng cho lượt
chơi
8 psId Int No FK Mã máy PS ứng
với lượt chơi
3.3.4. Bảng PlayStation
STT Tên trường Kiểu dữ Nullable Ràng Mô tả
liệu buộc
1 psId int No PK Mã máy ps
2 psName varchar(50) No Tên máy ps
3 psState Varchar(50) No Hiện trạng của
máy ps
4 psStatus int No Tình trạng sử
dụng hiện tại của
máy ps
5 timeBuy Datetime No Thời điểm mua
máy
6 timeWarranty Double Yes Số tháng bảo
hành kể từ ngày
mua

3.3.5. Bảng Event


STT Tên trường Kiểu dữ Nullable Ràng Mô tả
liệu buộc
1 eventId int No PK Mã sự kiện
2 eventName varchar(50) No Tên sự kiện
3 percentDiscount double No Phần trăm giảm
giá trên hoá đơn
giờ chơi
4 timeStart DateTime No Thời điểm bắt
đầu sự kiện
5 timeEnd Datetime No Thời điểm sự
kiện kết thúc
6 eventStatus Boolean No Tình trạng diễn ra
của sự kiện

3.3.6. Bảng Service


STT Tên trường Kiểu dữ liệu Nullable Ràng Mô tả
buộc
1 service_id int No PK Mã dịch vụ
2 name varchar(100) No Tên dịch vụ
3 price int No Giá dịch vụ

3.3.7. Bảng OrderService


STT Tên trường Kiểu dữ Nullable Ràng Mô tả
liệu buộc
1 order_service_id int No PK Mã đơn hàng
2 service_id int No FK Mã dịch vụ
3 quantity int No Số lượng
3.3.8. Bảng DailyTurnOver
STT Tên trường Kiểu dữ Nullable Ràng Mô tả
liệu buộc
1 date Date No PK Ngày thống kê
2 turnover double No Doanh thu

4. Thiết kế nguyên mẫu giao diện

4.1 Chức năng đăng nhập


4.2 Hiển thị danh sách máy

4.3. Chức năng thêm máy


4.4 Hiển thị danh sách lượt chơi hiện tại

4.5 Hiển thị danh sách lượt chơi đã kết thúc


4.6 Chức năng thêm lượt chơi

4.7 Xem chi tiết lượt chơi hiện tại


4.8 Xem chi tiết lượt chơi kết thúc

4.9 Chức năng thanh toán lượt chơi


4.9 Chức năng thêm dịch vụ trong lượt chơi

4.10 Chức năng xóa dịch vụ trong lượt chơi


4.11 Hiển thị danh sách sự kiện

4.12 Chức năng thêm sự kiện


4.13 Hiển thị danh sách dịch vụ

4.14 Chức năng thêm dịch vụ


4.15 Chức năng thống kê

4.15 Chức năng đăng xuất


4.16 Chức năng đổi mật khẩu

You might also like