You are on page 1of 44

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

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


KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

BÀI TẬP LỚN - CÔNG NGHỆ PHẦN MỀM (CO3001)

Dịch vụ in thông minh dành cho sinh viên Bách Khoa HCM

GVHD: Phan Trung Hiếu

Nhóm: L03 - 12

SV thực hiện: Trần Đại Quý – 2114607


Nguyễn Viết Ký – 2151217
Huỳnh Tấn Sỹ – 2112205
Nguyễn Trường Thịnh – 2110564
Trần Nguyễn Nam Anh – 2110758
Nguyễn Thanh Hào – 1752187
Bùi Đăng Khoa – 2013489

Tp. Hồ Chí Minh, Tháng 09/2023


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Mục lục
1 Tìm hiểu yêu cầu dự án HCMUT_SSPS 4
1.1 Mô tả dự án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Domain context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Các bên liên quan và nhu cầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Lợi ích HCMUT-SSPS mang đến cho những bên liên quan . . . . . . . . . . . . . . . . . . 5
1.3 Yêu cầu chức năng - Yêu cầu phi chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Functional requirement - Yêu cầu chức năng . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Non-functional requirements - Yêu cầu phi chức năng . . . . . . . . . . . . . . . . 6
1.4 Use-case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1 Toàn bộ hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Nhóm tính năng tài khoản người dùng . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2.a Tính năng đăng ký, đăng nhập, quên mật khẩu . . . . . . . . . . . 9
1.4.2.b Tính năng cập nhật thông tin cá nhân . . . . . . . . . . . . . . . . 11
1.4.3 Tính năng Tra cứu thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.4 Tính năng Đặt lịch in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.5 Tính năng Quản lý Máy in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Mô hình hóa hệ thống 16


2.1 Tính năng cập nhật thông tin cá nhân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.1 Sơ đồ Actvity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.2 Sơ đồ Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Tính năng Tra cứu thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Sơ đồ Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Sơ đồ Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Tính năng Đặt lịch in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Tính năng Quản lý máy in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.1 Sơ đồ Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Sơ đồ Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Develop MVP 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6.1 Đăng ký, Đăng nhập, Quên mật khẩu, Cập nhật thông tin cá nhân . . . . . . . . . 27
2.6.2 Tra cứu thông tin (Xem lịch sử in ấn, Xem lịch sử mua trang, Mua trang in) . . . 29
2.6.3 Đặt lịch in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6.4 Quản lý máy in, Quản lý cấu hình hệ thống . . . . . . . . . . . . . . . . . . . . . . 32

3 Architecture Design 35
3.1 Layered architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1 View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Implementation - Sprint 1 38
4.1 Github . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Tiến hành kiểm tra khả năng sử dụng với giao diện người dùng . . . . . . . . . . . . . . . 38
4.2.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2 Các nhiệm vụ cần thực hiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2.a Đăng ký . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2.b Đăng nhập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2.c Xem lịch sử in ấn . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2.d Xem lịch sử mua trang . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.3 Chiến lược thử nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.4 Tiến hành kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.5 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 1/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Tài liệu 43

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 2/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

No. Họ và Tên Công việc được giao


- Thiết kế use-case
1 - Activity/Sequence diagram
Trần Đại Quý
- Thiết kế UI/UX
- Thiết kế database
- Front-end (Lịch sử in, thông tin in, lịch sử mua trang,thông
tin mua trang)
- Thiết kế UI/UX
2 - Class diagram
Nguyễn Viết Ký
- Front-end (quản lý máy in, lịch sử in bên, báo cáo của SPSO)
- Hiện thực kiến trúc lớp (layered architecture)
3 - Thiết kế use-case
Huỳnh Tấn Sỹ
- Thiết kế UI/UX
- Front-end (các tính năng đăng nhập đăng ký)
- Back-end developer
- Thiết kế use-case
4 - Thiết kế UI/UX
Nguyễn Trường Thịnh
- Activity/Sequence diagram
- Báo cáo
- Back-end developer
- Kiểm tra hệ thống
- Thiết kế use-case
5 - Activity/Sequence diagram
Nguyễn Thanh Hào
- Báo cáo
- Thiết kế use-case
6 - Thiết kế UI/UX
Trần Nguyễn Nam Anh
- Vẽ class diagram
- Hiện thực kiến trúc lớp (layered architecture)
- Báo cáo
- Front-end (phần thông tin người dùng)
- Kiểm tra hệ thống
- Vẽ class diagram
7 - Thiết kế component diagram
Bùi Đăng Khoa
- Slide thuyết trình
- Front-end (Mua trang in, đặt lịch in, xem máy in)

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 3/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1 Tìm hiểu yêu cầu dự án HCMUT_SSPS


1.1 Mô tả dự án
1.1.1 Domain context
Dịch vụ in thông minh cho sinh viên tại HCMUT (HCMUT_SSPS) là một dự án quan trọng của
Đại học Bách khoa TP.HCM (HCMUT) nhằm cải thiện dịch vụ in ấn cho sinh viên tại các cơ sở của
trường. Dịch vụ in thông minh có thể cải khắc phục nhiều vấn đề và đem lại nhiều lợi ích cho sinh viên
cũng như trường đại học Bách Khoa nói chung:

• Sinh viên sẽ tiết kiệm được thời gian khi sử dụng HCMUT_SSPS thay vì đi in ấn thủ công như
trước kia. Sinh viên có thể chọn trước ngày in và sẽ được thông báo khi đã in xong để đến lấy tài
liệu, nhờ đó sinh viên sẽ tiết kiệm được thời gian và công sức xếp hàng cũng như chờ đợi in.
• Sinh viên có thể in tài liệu ở bất cứ đâu, mọi lúc thay vì đến nơi in cụ thể.
• Sinh viên có thể gửi tài liệu in từ xa, tùy chọn định dạng cho các loại dữ liệu. Đồng thời, sinh viên
có thể hạn chế các lỗi khi gửi file qua HCMUT_SSPS thay vì các ứng dụng như Facebook hay
Zalo.
• Sinh viên có thể hiệu chỉnh các thông số in sao cho phù hợp với nhu cầu của bản thân. Hệ thống
có thể cung cấp tùy chọn điều chỉnh chất lượng in ấn, màu sắc và kích thước giấy, giúp đảm bảo
tài liệu in ra đáp ứng các tiêu chuẩn chất lượng.
• Sinh viên sẽ được cấp một số lượng trang in nhất định từ nhà trường khi sử dụng HCMUT_SSPS,
nâng cao trải nghiệm của sinh viên khi học tại trường. Ngoài ra, sinh viên cũng có thể tiếp tục mua
trang in khi sử dụng hết số trang mặc định với mức giá hợp lí và ổn định, việc thanh toán thông
qua BKPay sẽ hỗ trợ sinh viên thanh toán trực tuyến, giúp sinh viên thuận tiện hơn trong việc
thanh toán.
• Sinh viên sẽ có nơi lưu trữ tài liệu để in. Sinh viên có thể upload tài liệu và chọn in khi có nhu cầu.
Hệ thống cũng sẽ hỗ trợ sinh viên in lại các tài liệu đã in.

• Ứng dụng cho phép sinh viên theo dõi và quản lý số lượng bản in, tình trạng in ấn, và lịch sử in ấn
một cách dễ dàng.
• Sinh viên sẽ được bảo mật thông tin tài liệu hơn đi in ở ngoài.
• Hệ thống có thể được mở rộng và tích hợp với các hệ thống khác của trường trong thời gian sắp
tới.
HCMUT_SSPS tương thích với môi trường đại học hiện đại, nơi sinh viên thường xuyên cần in tài liệu
để làm việc nghiên cứu, học tập và các nhiệm vụ khác. Hệ thống này bao gồm một số máy in đặt tại các
vị trí chiến lược trên toàn bộ các cơ sở của trường. Từ đó, hệ thống cung cấp các tiện nghi cho người sử
dụng. Hệ thống nhóm thực hiện có các chức năng sau:
• Chức năng đặt và hủy lịch in: Sinh viên sau khi đăng nhập sẽ được đặt hẹn lịch in để phù hợp với
thời gian cá nhân. Nếu như sinh viên có việc bận đột xuất không thể đến in theo như lịch hẹn thì
hệ thống cũng cung cấp chức năng hủy lịch in, khi đó sinh viên có thể chọn hủy lịch, hệ thống sẽ
xóa lịch in của sinh viên

• Chức năng cập nhật thông tin cá nhân: Ở chức năng này, sinh viên sẽ được điều chỉnh thông tin
của mình. Cụ thể hơn, sau khi đăng nhập, sinh viên sẽ được chọn thông tin muốn chỉnh sửa và sau
đó điền mới thông tin. Chức năng này giúp sinh viên cập nhật thông tin mới nhất của mình, làm
cho thông tin được chính xác và phù hợp với sinh viên.

• Chức năng tra cứu thông tin: Ở chức năng này, hệ thống giúp sinh viên xem lại thông tin, các
thông tin có thể kể đến như xem lịch sử in ấn, xem số trang còn lại bị giới hạn, xem lịch sử mua
trang in...Chức năng này giúp sinh viên theo dõi chính xác được thông tin của mình
• Chức năng thanh toán: Chức năng này giúp sinh viên thanh toán sau khi mua trang in.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 4/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1.1.2 Các bên liên quan và nhu cầu


• Sinh viên: Sinh viên là đối tượng chính của dịch vụ. Nhu cầu của họ là in tài liệu một cách dễ dàng,
nhanh chóng và tiện lợi. Họ cần giao diện để có thể tải tài liệu lên và tùy chọn linh hoạt như kích
thước giấy, số lượng bản in hoặc thanh toán thêm trang nếu cần. Sinh viên cần xem, kiểm tra được
lịch sử in ấn của họ và tổng kết số trang cho mỗi kích thước.
• Student Printing Service Officer (SPSO): quản lý hệ thống. SPSO cần các công cụ để quản lý và
giám sát bảo đảm hệ thống in được thực hiện một cách hiệu quả. Bao gồm quản lý cấu hình liên
quan đến in ấn, theo dõi việc sử dụng và báo cáo định kì.
• Ban quản lý trường HCMUT: là bên quản lý dự án. Họ cần các giải pháp cải thiện dịch vụ, triển
khai hoạt động hiệu quả và có thể truy cập vào để xem các báo cáo về việc sử dụng hệ thống để
kiểm tra chi phí và lập ra các kế hoạch tương ứng.
• BKPay: dịch vụ thanh toán trực tuyến, dịch vụ cần sự tích hợp đáng tin cậy với hệ thống HC-
MUT_SSPS để phục vụ cho việc in ấn của sinh viên.
• HCMUT_SSO Authentication Service: cần sự tích hợp đáng tin cậy với hệ thống HCMUT_SSPS
để phục vụ việc truy cập và quản lý cho dịch vụ.
• Nhà cung cấp thiết bị: là bên cung cấp các thiết bị in ấn như máy in, giấy, mực,...
• Bộ phận IT: là bên chịu trách nhiệm duy trì, bảo mật và bảo hành hệ thống, hỗ trọ người dùng
trong các trường hợp sự cố kĩ thuật.

1.2 Lợi ích HCMUT-SSPS mang đến cho những bên liên quan
• Sinh viên: HCMUT_SSPS đem lại cho sinh viên giải pháp in ấn tiện lợi, nhanh chóng và tiết kiệm
thời gian. Họ có thể dễ dàng in tài liệu và có thể theo dõi lịch sử in ấn của mình. Ngoài ra, tính
năng mua thêm trang in cho phép họ quản lý ngân sách in ấn cá nhân một cách hiệu quả hơn.
• SPSO: Hệ thống tối ưu hóa công việc quản lý cho SPSO. SPSO có thể quản lý máy in và cấu hình
hệ thống dễ dàng hơn, đồng thời có thể theo dõi hoạt động in ấn của sinh viên và quản lý các tài
liệu được in. Bên cạnh đó việc có thể xem báo cáo định kì giúp đảm bảo hệ thống hoạt động hiệu
quả.
• Ban quản lý trường HCMUT: Thông qua hệ thống dịch vụ này giúp cải thiện trải nghiệm học tập
của sinh viên và nâng cao hình ảnh của trường về việc đảm bảo dịch vụ sinh viên và với dự án
công nghệ tiên tiến như HCMUT_SSPS. Hệ thống cho phép trường xem báo cáo định kì hỗ trợ
việc kiểm tra, lập kế hoạch và phân bổ nguồn lực một cách hợp lý.
• BKPay: Nhờ việc tích hợp việc thanh toán trực tuyến vào dịch vụ làm tăng mức sử dụng của nền
tảng.
• HCMUT_SSO Authentication Service: HCMUT_SSPS sử dụng SSO có thể xem xét, đánh giá các
tính xác thực, bảo mật.
• Nhà cung cấp thiết bị: Dịch vụ HCMUT_SSPS có thể tăng nhu cầu sử dụng các thiết bị dẫn đến
thiết lập mỗi quan hệ ổn định và lâu dài.

1.3 Yêu cầu chức năng - Yêu cầu phi chức năng
1.3.1 Functional requirement - Yêu cầu chức năng
Các yêu cầu chức năng gồm có:
• Sinh viên:
1. Đăng nhập được qua dịch vụ xác thực của nhà trường
2. Xem danh sách máy in đang có.
3. Đặt lịch in và hủy lịch in.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 5/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

4. Xem lịch sử in ấn cá nhân và số trang in mặc định.


5. Mua thêm trang in và thực hiện thanh toán trực tuyến.
6. Gửi tin nhắn đến SPSO khi cần trợ giúp hoặc trường hợp xảy ra sự cố.
• SPSO:
1. Quản lý máy in (thêm, cho phép, vô hiệu hóa, xóa).
2. Quản lý cấu hình hệ thống (thay đổi số trang in mặc định, quản lý loại tệp được phép).
3. Xem lịch sử in ấn của tất cả sinh viên hoặc của một sinh viên cụ thể và của tất cả hoặc một
vài máy in nhất định.
4. Báo cáo về việc sử dụng hệ thống được tạo tự động mỗi tháng.
5. Gửi thông báo hoặc tin nhắn đến tất cả sinh viên hoặc một sinh viên cụ thể.
• Ban quản lý HCMUT
1. Quản lý SPSO và hỗ trợ việc triển khai dịch vụ in ấn cho sinh viên.
2. Quản lý tài khoản Sinh viên
3. Xem lịch sử in ấn của tất cả sinh viên hoặc của một sinh viên cụ thể và của tất cả hoặc một
vài máy in nhất định.
4. Báo cáo về việc sử dụng hệ thống được tạo tự động mỗi tháng.
5. Quản lý hệ thống
• HCMUT_SSO Authentication Service:
1. Xác thực Người Dùng.
2. Quản lý Tài Khoản Người Dùng.
• BKPay:
1. Tạo giao dịch thanh toán.
2. Xử lý giao dịch thành công, thất bại.

1.3.2 Non-functional requirements - Yêu cầu phi chức năng


• Usability/ Tính khả dụng
1. Giao diện thuận tiện, dễ sử dụng, mỗi chức năng thực hiện tối đa 4 thao tác.
2. Sinh viên, SPSO, Quản trị viên có thể sử dụng toàn bộ hệ thống sau 10 phút hướng dẫn.
3. Responsive website với kích thước dao động từ điện thoại cho đến màn hình tivi 4K.
4. Giao diện không gây lỗi render trên các trình duyệt phổ biến (Chrome 43.0, Microsoft Edge
10.0, Mozilla 16.0, Safari 9.0 trở lên).
• Security/ Tính bảo mật
1. Thông tin của người dùng được bảo mật kĩ dưới nhiều dạng/ lớp mã hoá (ví dụ như SHA256
encoder cho mật khẩu).
2. Hệ thống bảo mật không bị ảnh hưởng khi thay đổi công nghệ hệ thống hoặc bởi những tác
nhân khác ngoài chính người dùng đó.
• Reliability/ Tính tin cậy
1. Downtime của website mỗi tháng không quá 1 giờ.
2. Ứng dụng có thể xử lý khoảng 1000 giao dịch trong 1 giờ với xác suất thành công là trên 90
3. Tương thích với các máy in phổ biến hiện nay.
• Performance/ Hiệu năng

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 6/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1. Thời gian xử lý giao dịch thanh toán, in tài liệu không quá 2 giây.
2. Thời gian phản hồi của 80% transaction dài không quá 1500 mili giây kể từ lúc user gửi yêu
cầu
3. Thời gian load các component trong trang cũng như giữa các Routers nhanh
4. Khi có số lượng sinh viên truy cập quá giới hạn cho phép, hệ thống sẽ tự động điều chỉnh và
quản lý tải để đảm bảo hiệu suất trang web không bị ảnh hưởng

• Availability/ Tính có sẵn


1. Trang web đảm bảo hoạt động ổn định 24/7, kể cả ngày lễ và giờ cao điểm.
2. Cung cấp dự phòng hệ thống và khả năng phục hồi để đảm bảo rằng trang web vẫn hoạt động
trong trường hợp sự cố.
• Size/ Kích cỡ

1. Tổng kích thước của các files tải xuống thiết bị không vượt quá 200MB
• Localization/ Khu vực
1. Trang web hỗ trợ giao diện tiếng Việt, có thể chuyển đổi sang tiếng Anh trong tương lai.

• Maintainability/ Khả năng bảo trì


1. Dễ dàng thêm các module chức năng mới mà không thay đổi cấu trúc cũ của chương trình.
2. Có thể thêm chức năng phụ trợ vào những chức năng sẵn có, và về sau có khả năng nâng cao
hiệu suất của chúng.
3. Thực hiện theo quy trình chuyên nghiệp, đảm bảo mã nguồn dễ dàng duy trì và nâng cấp
trong tương lai.

1.4 Use-case diagram


1.4.1 Toàn bộ hệ thống

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 7/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 8/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1.4.2 Nhóm tính năng tài khoản người dùng


1.4.2.a Tính năng đăng ký, đăng nhập, quên mật khẩu

Use-case name: Đăng ký


Created by: Trần Đại Quý Last update by: Trần Đại Quý
Date created: 24/09/2023 Day last updated: 29/09/2023
Actors: User
Description: Cho phép người dùng mở tài khoản
Trigger: Người dùng muốn tạo tài khoản trên hệ thống
Preconditions: - Người dùng truy cập vào giao diện chính của trang web
- Thiết bị có kết nối mạng
Postconditions: Tạo tài khoản thành công
Normal Flows: 1. Người dùng điền thông tin đăng kí: Họ tên, MSSV, lớp, khoa, khóa, số điện
thoại, email, địa chỉ,...
2. Xác nhận đăng kí
3. Hệ thống kiểm tra thông tin
4. Phản hồi đăng kí thành công
5. Chuyển đến giao diện của hệ thống
Alternative Flows: Tại bước 4. Phản hồi đăng ký thất bại (Chưa đúng format email, email hay số
điện thoại không tồn tại, tài khoản đã tồn tại)
5. Quay lại bước 1
Exceptions:
Note and issues:
Bảng 1: Đặc tả use-case Đăng ký

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 9/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Use-case name: Đăng nhập


Created by: Trần Đại Quý Last update by: Trần Đại Quý
Date created: 24/09/2023 Day last updated: 28/09/2023
Actors: User
Description: Cho phép người dùng truy cập vào hệ thống.
Trigger: Người dùng muốn sử dụng các chức năng của hệ thống
Preconditions: - Người dùng truy cập vào giao diện chính của trang web
- Thiết bị có kết nối mạng
Postconditions: Truy cập vào hệ thống thành công
Normal Flows: 1. Người dùng chọn "Đăng nhập"
2. Người dùng điền thông tin gồm số điện thoại/email và mật khẩu
2. Xác nhận đăng nhập
4. Hệ thống kiểm tra tài khoản
5. Phản hồi đăng nhập thành công
6. Chuyển đến giao diện mặc định của tài khoản
Alternative Flows: Tại bước 1. Nếu đăng nhập từ lần thứ 2 trở lên
2. Chuyển đến giao diện mặc định của tài khoản
Tại bước 5. Phản hồi đăng nhập thất bại (sai mật khẩu, không tồn tại tài
khoản)
Case A. Người dùng thực hiện lại bước 1
Case B. Thực hiện đăng kí
Case C. Thực hiện thao tác thay đổi mật khẩu (Quên mật khẩu)
Tại bước 5. Nếu đăng nhập lần đầu, chuyển đến hệ thống HCMUT_ SSO xác
thực tài khoản
6.1. Chuyển đến hệ thống HCMUT_ SSO xác thực tài khoản
6.2. Quay lại bước 6
Tại bước 6. Có thể chọn đăng xuất để thoát khỏi hệ thống
Exceptions:
Note and issues:
Bảng 2: Đặc tả use-case Đăng nhập

Use-case name: Quên mật khẩu


Created by: Trần Đại Quý Last update by: Trần Đại Quý
Date created: 24/09/2023 Day last updated: 28/09/2023
Actors: User
Description: Người dùng có thể thay đổi mật khẩu cho tài khoản sẵn có.
Trigger: Người dùng không thể đăng nhập.
Preconditions: - Người dùng đã có tài khoản
- Thiết bị có kết nối mạng
Postconditions: Thay đổi mật khẩu thành công
Normal Flows: 1. Người dùng nhập thông tin tài khoản: Số điện thoại/email và mật khẩu mới
2. Xác nhận thay đổi
3. Hệ thống xác thực câu hỏi: Ngày tháng năm sinh
4. Phản hồi thay đổi thành công
5. Quay về trang đăng nhập
Alternative Flows: 4. Phản hồi lỗi xác thực (tài khoản không tồn tại, số điện thoại hay email
không tồn tại, mật khẩu mới trùng mật khẩu cũ)
5. Thực hiện lại bước 1
Exceptions:
Note and issues:

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 10/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Bảng 3: Đặc tả use-case Quên mật khẩu

1.4.2.b Tính năng cập nhật thông tin cá nhân

Use-case name: Cập nhật thông tin cá nhân


Created by: Trần Đại Quý Last update by: Trần Đại Quý
Date created: 24/09/2023 Day last updated: 29/09/2023
Actors: User
Description: Người dùng có thể cập nhật các thông tin cá nhân: Họ và tên, địa chỉ, ngày
tháng năm sinh, số điện thoại, email, mật khẩu,...
Trigger: Người dùng muốn chỉnh sửa/nhập mới thông tin
Preconditions: Người dùng đã đăng nhập vào hệ thống
Postconditions: Thông tin tài khoản được cập nhật
Normal Flows: 1. Người dùng chọn thông tin muốn thay đổi
2. Người dùng điền nội dung thay đổi mới
3. Xác nhận thay đổi
4. Hệ thống xác nhận thay đổi
5. Hệ thống phản hồi thay đổi thành công
6. Hệ thống lưu lại thông tin thay đổi.
Alternative Flows: Tại bước 3. Nếu người dùng thay đổi mật khẩu
4. Hệ thống xác nhận bằng mật khẩu cũ
5. Hệ thống phản hồi thay đổi thành công
6. Hệ thống lưu lại thông tin thay đổi
Tại bước 5. Hệ thống phản hồi thất bại (Nội dung thay đổi sai format như
email hay số điện thoại, thay đổi mật khẩu mới trùng mật khẩu cũ)
6. Quay lại bước 1
Exceptions:
Note and issues:
Bảng 4: Đặc tả use-case Cập nhật thông tin cá nhân

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 11/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1.4.3 Tính năng Tra cứu thông tin

Use-case name: Tra cứu thông tin


Created by: Huỳnh Tấn Sỹ Last update by: Huỳnh Tấn Sỹ
Date created: 24/09/2023 Day last updated: 28/09/2023
Actors: Sinh viên
Description: Cho phép sinh viên sau khi đăng nhập vào hệ thống có thể tra cứu thông tin
của mình hoặc mua thêm trang in
Trigger: Sinh viên muốn biết thông tin của mình hoặc muốn mua thêm trang in
Preconditions: Sinh viên đã đăng nhập vào hệ thống
Postconditions: Sinh viên tra cứu được thông tin mong muốn hoặc mua thêm trang in thành
công
Normal Flows: 1. Sinh viên ấn vào ảnh đại diện
2. Sinh viên ấn vào tra cứu thông tin. Hệ thống sẽ tự động hiện số trang in
đang có của sinh viên
3. Sinh viên chọn 1 luồng công việc để thực hiện
• Mua trang in: Luồng "Mua trang in" sẽ được thực hiện
• Xem lịch sử in ấn: Luồng "Xem lịch sử in ấn" sẽ được thực hiện
• Xem lịch sử mua trang: Luồng "Xem lịch sử mua trang" sẽ được thực
hiện
Case A: Mua trang in Hệ thống sẽ hiện khung nhập để sinh viên nhập số
trang cần mua
3.1 Sinh viên nhập vào số trang cần mua
3.2 Sinh viên xác nhận mua trang in
3.3 Hệ thống sẽ chuyển đến trang thanh toán BKpay
3.4 Sinh viên thực hiện thanh toán
3.5 Hệ thống phản hồi mua thành công trang in
3.6 (Tùy chọn) Sinh viên có thể chọn in hóa đơn nếu đã thanh toán thành
công đơn mua
Case B: Xem lịch sử in ấn Hệ thống sẽ hiển thị danh sách lịch sử in ấn
3.1 Sinh viên thực hiện tìm kiếm lịch sử in trên thanh tìm kiếm, trên thanh
filter trên màn hình (tìm kiếm theo thời gian, mã máy in, địa điểm, tên file in)
3.2 Sinh viên chọn lần in muốn xem. Hệ thống sẽ hiển thị thông tin (bao gồm
tổng kết số trang cho mỗi kích thước) lần in đó

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 12/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Case C: Xem lịch sử mua trang Hệ thống sẽ hiện danh sách các đơn mua
trang
3.1 Sinh viên thực hiện tìm kiếm đơn hàng mua trang trên thanh tìm kiếm,
trên thanh filter trên màn hình (tìm kiếm theo thời gian, số lượng trang mua
3.2 Sinh viên chọn đơn hàng muốn xem. Hệ thống sẽ hiển thị thông tin đơn
hàng
3.3 (Tùy chọn) Sinh viên có thể chọn in hóa đơn cho đơn mua đó
Alternative Flows:
Exceptions: Case A - 3.1 Hệ thống sẽ thông báo đến sinh viên nếu trang mua không
hợp lệ.
usecase quay lại bước Case A - 3.1
Note and issues:
Bảng 5: Đặc tả use-case Tra cứu thông tin

1.4.4 Tính năng Đặt lịch in

Use-case name: Đặt lịch in


Created by: Nguyễn Trường Thịnh Last update by: Nguyễn Trường Thịnh
Date created: 24/09/2023 Day last updated: 28/09/2023
Actors: Sinh viên
Description: Sinh viên sau khi đăng nhập có thể đặt lịch in để thực hiện in ấn
Trigger: Sinh viên muốn đặt lịch in để in tài liệu
Preconditions: - Cơ sở dữ liệu được tải lên
- Sinh viên đã đăng nhập vào hệ thống
Postconditions: - Sinh viên hoàn thành việc đặt lịch in
Normal Flows: 1. Sau khi đăng nhập, sinh viên chọn "Đặt lịch in"
2. Hệ thống hiển thị các khung thời gian làm việc của bên in
3. Sinh viên chọn thời gian và xác nhận
4. Sinh viên thực hiện tải tài liệu lên hệ thống
5. Sinh viên chọn máy in, thuộc tính in và xác nhận
6. Sinh viên chọn hoàn thành. Hệ thống sẽ lưu lịch in đó của sinh viên
Alternative Flows:
Exceptions: Tại bước 4. Hệ thống phản hồi lỗi xác thực tài liệu (lỗi khác loại tệp, quá kích
thước file được cấu hình và giới hạn bởi hệ thống )
4.1 Quay lại bước 4
Note and issues:
Bảng 6: Đặc tả use-case Đặt lịch in

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 13/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

1.4.5 Tính năng Quản lý Máy in

Use-case name: Quản lý máy in


Created by: Nguyễn Thanh Hào Last update by: Nguyễn Thanh Hào
Date created: 24/09/2023 Day last updated: dd/mm/yyyy
Actors: SPSO
Description: Cho phép SPSO quản lý máy tin: thêm máy in, xem danh sách máy in cùng
với sửa cấu hình, vô hiệu hóa và xóa máy in
Trigger:
Preconditions: - SPSO phải có tài khoản của HCMUT_SSPS.
- Thiết bị của SPSO đã đăng nhập thành công vào hệ thống.
- Cơ sở dữ liệu được tải lên
Postconditions: SPSO có thể thực hiện được chức năng quản lý máy in
Normal Flows: 1. Sau khi đăng nhập, SPSO chọn ’Quản lý máy in’ tại mũi tên hướng xuống
bên cạnh tên SPSO tại trang web.
2. Hệ thống sẽ hiển thị danh sách các máy in hiện có
2. SPSO chọn công việc muốn làm bao gồm:
• Nếu SPSO chọn "Thêm máy in". Luồng Thêm máy in sẽ được thực
hiện.
• Nếu SPSO chọn "Sửa đổi" cấu hình máy in. Luồng Sửa đổi sẽ được thực
hiện.
• Nếu SPSO chọn "Vô hiệu hóa máy in". Luồng Vô hiệu hóa máy in sẽ
được thực hiện.
• Nếu SPSO chọn "Xóa máy in". Luồng Xóa máy in sẽ được thực hiện.
Case A Thêm máy in.
3.1 Hệ thống hiển thị khung nhập thông tin cho máy in mới
3.2 Nhập thông tin cho máy in mới
3.2 Xác nhận. Hệ thống sẽ cập nhật dữ liệu trong Database và Website
Case B Sửa đổi
3.1 Chọn máy in muốn sửa đổi cấu hình (có thể thông qua chức năng tìm kiếm
và filter)
3.2 Hệ thống sẽ hiển thị khung nhập thông tin máy in (bao gồm loại tệp được
chấp nhận, kích thước giới hạn của tệp, số trang giới hạn cho mỗi sinh viên và
thời gian cung cấp trang cho mỗi sinh viên
3.3 SPSO nhập thông tin muốn sửa đổi.
3.4 Xác nhận. Hệ thống sẽ cập nhật dữ liệu trong Database và Website

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 14/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Case C Vô hiệu hóa máy in.


3.1 Chọn máy in muốn vô hiệu hóa (có thể thông qua chức năng tìm kiếm và
filter)
3.2 Xác nhận. Khi đó sinh viên không thể sử dụng máy in đó và hệ thống sẽ
bảo lưu thông tin và dữ liệu của máy in đó, ẩn khỏi hệ thống
3.3 (Tùy chọn) Chọn máy in đã bị vô hiệu hóa để activate máy in. Xác nhận.
Khi đó hệ thống sẽ hiển thị trở lại thông tin và dữ liệu của máy in, sinh viên
được sử dụng máy in trở lại
Case D Xóa máy in.
3.1 Chọn máy in muốn xóa (có thể thông qua chức năng tìm kiếm và filter)
3.2 Xác nhận. Khi đó sinh viên không thể sử dụng máy in đó và hệ thống sẽ
xóa mọi thông tin và dữ liệu của máy in. Tuy nhiên lịch sử in tại máy in đó
vẫn được bảo lưu
Alternative Flows:
Exceptions: Case A Thêm Máy in
3.2.1 Nếu thông tin máy in đã tồn tại. Hệ thống sẽ hiển thị lỗi
Use-case quay lại bước Case A 3.2
Note and issues:
Bảng 7: Đặc tả use-case Quản lý máy in

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 15/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2 Mô hình hóa hệ thống


2.1 Tính năng cập nhật thông tin cá nhân
2.1.1 Sơ đồ Actvity Diagram

Quá trình bắt đầu khi người dùng đã đăng nhập thành công vào hệ thống. Người dùng sau đó chọn
tùy chọn "Cập nhật thông tin cá nhân." Hệ thống tiếp theo gửi yêu cầu tới cơ sở dữ liệu để truy vấn
thông tin cá nhân.
Sau khi cơ sở dữ liệu thực hiện truy vấn, hệ thống hiển thị danh mục thông tin cá nhân, bao gồm
các mục như họ và tên, địa chỉ, số điện thoại, và nhiều mục khác. Người dùng có thể chỉnh sửa thông tin
theo mong muốn của họ.
Khi người dùng hoàn thành chỉnh sửa, hệ thống yêu cầu xác nhận bằng mật khẩu. Người dùng cần
nhập mật khẩu để tiếp tục quá trình.
Hệ thống sau đó kiểm tra mật khẩu mà người dùng đã nhập và gửi yêu cầu đến cơ sở dữ liệu để xác
minh mật khẩu. Cơ sở dữ liệu thực hiện xác minh này.
Nếu mật khẩu không chính xác (1), hệ thống sẽ hiển thị thông báo lỗi và quay lại bước người dùng
nhập mật khẩu để cung cấp mật khẩu chính xác.
Nếu mật khẩu được xác minh là chính xác (2), hệ thống sẽ hiển thị thông báo mật khẩu chính xác
và quá trình kết thúc (End).

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 16/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.1.2 Sơ đồ Sequence Diagram

Quá trình bắt đầu khi người dùng (User) thực hiện đăng nhập vào hệ thống (1) và sau đó chọn tùy
chọn "Cập nhật thông tin cá nhân" (2).
Người dùng (User) sau đó tương tác với trình duyệt (Browser) để gửi yêu cầu (3) đến Dispatcher
Controller (:DispatcherController). Dispatcher Controller thực hiện forward yêu cầu (4) đến UserCon-
troller (:UserController) để kiểm tra thông tin người dùng (5). UserController sẽ tiếp tục truy vấn thông
tin trong UserDAO (:UserDAO) bằng cách gọi executeQuery (6), và thông tin này được truy vấn từ cơ
sở dữ liệu (Database) (7) rồi trả về UserDAO .
UserDAO sau đó gửi danh mục thông tin người dùng (8) đến giao diện View (:View), và View trả về
mã HTML (9) cho trình duyệt (Browser). Trình duyệt hiển thị danh mục thông tin cá nhân cho người
dùng (10), sau đó người dùng có thể chỉnh sửa thông tin cá nhân (10).
Sau khi chỉnh sửa, người dùng xác nhận thay đổi (11), sau đó nhập mật khẩu để xác nhận (12). Trình
duyệt (Browser) kiểm tra mật khẩu (13) và gửi yêu cầu đến Dispatcher Controller (:DispatcherController).
Dispatcher Controller chuyển tiếp yêu cầu này (14) đến UserController (:UserController) để kiểm tra mật
khẩu (15).
UserController sau đó gọi UserDAO để kiểm tra mật khẩu bằng cách thực hiện executeQuery (16)
trên cơ sở dữ liệu (Database) (17). Kết quả kiểm tra mật khẩu được trả về và kiểm tra bởi UserController
(15). Nếu mật khẩu không chính xác, UserController chuyển tiếp yêu cầu (18.1) để hiển thị thông báo
mật khẩu bị sai cho View, View trả về mã HTML (18.1.1) cho Browser. Trình duyệt yêu cầu người dùng
nhập lại mật khẩu (19.1).
Nếu mật khẩu được xác minh là chính xác, UserController chuyển tiếp yêu cầu (18.2)để hiển thị
thông báo mật khẩu nhập đúngcho View và View trả về mã HTML cho Browser. Browser hiển thị thay
đổi thành công cho User (19.2)

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 17/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.2 Tính năng Tra cứu thông tin


2.2.1 Sơ đồ Activity Diagram

Sinh viên chọn "Tra cứu thông tin", hệ thống sẽ hiển thị 3 sự lựa chọn: Mua trang in (1), Xem lịch
sử in (2), Xem lịch sử mua trang (3).
(1) Nếu sinh viên chọn "Mua trang in", hệ thống sẽ hiển thị các thông tin liên quan đến việc mua
trang và yêu cầu sinh viên nhập vào số lượng trang mua. Sinh viên nhập số trang cần mua và chọn xác
nhận (nếu số trang không hợp lệ, sinh viên được yêu cầu nhập lại số trang), hệ thống sẽ chuyển hướng
đến trang BKPay để sinh viên thực hiện thanh toán. Sau khi thanh toán thành công, hệ thống sẽ hiển
thị thông báo thanh toán thành công (nếu thanh toán thất bại, hệ thống sẽ hiển thị thông báo thanh
toán thất bại và chuyển hướng về lại bước mua trang).
(2) Nếu sinh viên chọn "Xem lịch sử in", hệ thống sẽ hiển thị danh sách lịch sử các lần in ấn của
sinh viên. Sinh viên có thể thực hiện tìm kiếm các lần in nhanh hơn bằng cách nhập vào khung tìm kiếm

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 18/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

với các thông tin in, hệ thống sẽ hiển thị các lần in ấn khớp với thông tin sinh viên nhập vào tìm kiếm.
(3) Nếu sinh viên chọn "Xem lịch sử mua trang", hệ thống sẽ hiển thị danh sách lịch sử các lần mua
trang của sinh viên (đơn hàng). Sinh viên cũng có thể thực hiện tìm kiếm các lần mua nhanh hơn bằng
cách nhập vào khung tìm kiếm với các thông tin đơn, hệ thống sẽ hiển thị các lần mua trang khớp với
thông tin sinh viên nhập vào tìm kiếm.

2.2.2 Sơ đồ Sequence Diagram

Khi User đăng nhập vào hệ thống và chọn tra cứu thông tin thì hệ thống sẽ trả về 3 lựa chọn cho
người dùng. Nếu người dùng chọn vào "Mua trang in" thì hệ thống hiển thị ô nhập số trang cần mua và
xác nhận thanh toán bằng BKPay. Nếu người dùng chọn "Xem lịch sử in ấn" thì hệ thống trả về list lịch
sử in ấn của người đó. Nếu người dùng chọn "Xem lịch sử mua trang" thì hệ thống sẽ trả về ngày mua
và số lượng trang mua của ngày đó.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 19/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.3 Tính năng Đặt lịch in


2.3.1 Activity Diagram

Sinh viên chọn "In tài liệu" (Đặt lịch in), hệ thống sẽ hiển thị thời gian biểu làm việc của bên in.
Sau đó sinh viên chọn thời gian muốn in, hệ thống sẽ hiển thị các thôn tin liên quan đến lịch đặt in và
yêu cầu sinh viên thực hiên một số yêu cầu như chọn kích thước trang, số lượng trang in, số mặt in, số
bản in, chọn máy in và tải lên tài liệu. Với mỗi lần chọn hệ thống sẽ xác thực thông tin hợp lệ hay không.
Nếu hợp lệ thì sinh viên cứ tiếp tục chọn, nếu không hợp lệ sinh viên cần điền lại các thông tin cho lần
đặt in. Cuối cùng nếu hợp lệ hoàn toàn, sinh viên chọn xác nhận, hệ thống sẽ lưu lại lần đặt in cho sinh
viên.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 20/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.3.2 Sequence Diagram

Sinh viên chọn "In tài liệu" (Đặt lịch in) và chọn thời gian in, hệ thống sẽ gọi orderPrint() đến
printController, và controller sẽ truy cập database để trả về cho hệ thống xuất hiện trên giao diện các
thông tin cơ bản của lần đặt in (họ tên sinh viên, mã số sinh viên và thời gian in sinh viên đã chọn).
Sinh viên tiến hành tải lên tài liệu, hệ thống sẽ gọi uploadFile() đến controller và controller sẽ truy cập
database để xác nhận tài liệu có hợp lệ hay không (nếu không hợp lệ sinh viên cần tải tài liệu khác). Sau
đó sin viên chọn tiếp máy in và chọn địa điểm in, hệ thống sẽ gọi listPrinter() đến controller, controller
gọi getPrinter() đến printerModel, và model sẽ truy cập database và trả về danh sách các máy in phù
hợp với thời gian in và địa điểm sinh viên đã chọn. Sau đó sinh viên chọn các thuộc tính in khác, hệ
thống tiếp tục gọi propertiesPrint() đến controller, và controller sẽ truy vào database để xác thực thông
tin, và sẽ phản hồi lại có hợp lệ hay không. Nếu tất cả hợp lệ, sinh viên có thể xác nhận lịch đặt in.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 21/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.4 Tính năng Quản lý máy in


2.4.1 Sơ đồ Activity Diagram

SPSO chọn "Quản lý máy in", hệ thống sẽ hiển thị danh sách các máy in. SPSO sẽ chọn hành động
muốn thực hiện: thêm máy in (1), xóa máy in (2), vô hiệu hóa máy in (3), kích hoạt máy in (4) tương
ứng với các máy in trong danh sách.
(1) Nếu SPSO chọn "Thêm máy in", hệ thống sẽ hiển thị các khung nhập các thôn tin cho máy in
mới, SPSO sẽ điền thông tin và xác nhận, hệ thông sẽ kiểm tra thông tin. Nếu hợp lệ thì thông tin máy

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 22/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

in mới sẽ được lưu lại, nếu không hợp lệ (máy in đã tồn tại, sai định dạng...) thì SPSO được yêu cầu điền
lại các thông tin không hợp lệ.
(2) Nếu SPSO chọn "Xóa máy in", hệ thống sẽ hiển thị thông báo đến SPSO để SPSO xác nhận xóa
máy in đã chọn, sau đó toàn bộ thông tin của máy in sẽ bị xóa.
(3) Nếu SPSO chọn "Vô hiệu hóa", hệ thống sẽ hiển thị thông báo đến SPSO để SPSO xác nhận vô
hiệu hóa máy in đã chọn (chỉ đối với các máy in đang hoạt động), sau đó máy in sẽ không còn nằm trong
danh sách được sinh viên lựa chọn để đặt lịch in nữa.
(4) Nếu SPSO chọn "Kích hoạt máy in", hệ thống sẽ hiển thị thông báo đến SPSO để SPSO xác
nhận kích hoạt máy in đã chọn (chỉ đối với các máy in đang bị vô hiệu hóa), sau đó máy in hoạt động
lại bình thường.
SPSO chọn "Quản lý cấu hình", hệ thống sẽ hiển thị các thông tin của hệ thống HCMUT_SSPS
(cấu hình). SPSO chọn "Chỉnh sửa", SPSO sẽ được yêu cầu điền mới thông tin cấu hình và xác nhận
lưu.

2.4.2 Sơ đồ Sequence Diagram

SPSO chọn "Quản lý máy in", hệ thống sẽ trả về hiện thị danh sách các máy in và các nút (chức

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 23/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

năng) "thêm máy in", "xóa", "vô hiệu hóa", "kích hoạt".
SPSO chọn "thêm máy in", hệ thống hiển thị các khung nhập cho SPSO điền thông tin. Sau khi
điền thông tin và xác nhận, hệ thống sẽ kiểm tra thông tin và phản hồi thông báo thành công hay thất
bại đến SPSO.
SPSO chọn "xóa", hệ thống sẽ yêu cầu SPSO xác nhận và sẽ xóa thông tin của máy in (xóa trong
database).
SPSO chọn "vô hiệu hóa", hệ thống sẽ yêu cầu SPSO xác nhận và cập nhật trạng thái máy in và ẩn
máy in đó khỏi danh sách máy in được lựa chọn khi sinh viên đặt lịch in.
SPSO chọn "kích hoạt", hệ thống sẽ yêu cầu SPSO xác nhận và cập nhật trạng thái máy in và hiển
thị lại máy in trong danh sách máy in được lựa chọn khi sinh viên đặt lịch in.
SPSPO chọn "Quản lý cấu hình", hệ thống sẽ trả về hiển thị các thông tin hệ thống HCMUT_SSPS.
SPSO chọn "chỉnh sửa", hệ thống sẽ yêu cầu SPSO điền mới thông tin và xác nhận. Sau đó hệ thống sẽ
cập nhật thông tin của cấu hình.

2.5 Class Diagram

Nhóm thiết kế Class Diagram theo mô hình kiến trúc MVC ((Model-Controller-View).

Mỗi tầng đảm nhiệm nhóm chức năng trong hệ thống:

• Tầng View: lắng nghe sự kiện, thu nhận dữ liệu và tương tác người dùng để chuyển đến Controller
xử lý; hiển thị dữ liệu do Controller chuyển giao từ Model lên, hiển thị các giao diện, biểu mẫu xác
nhận, thông báo, nhập liệu.

• Tầng Controller: xử lý sự kiện, điều khiển luồng dữ liệu, cập nhật giao diện.
• Tầng Model: lưu trữ dữ liệu hệ thống và cung cấp phương thức cơ bản xử lý logic nghiệp vụ.

• Printingconfiguration

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 24/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

• Printermodification

• Bookingprinting

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 25/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

• Systempreservedprintingpages

• Changing user information module

• Authentication module

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 26/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.6 Develop MVP 1


Trang web được thiết kế cho 3 nhóm người dùng cơ bản bao gồm: sinh viên, SPSO và ban quản
lý HCMUT. Khi truy cập vào hệ thống, để có thể sử dụng dụng các chức năng, hệ thống yêu cầu xác
thực thông tin qua tài khoản đã đăng ký (đăng nhập). Sau đó, trang web sẽ chuyển hướng đến giao diện
trung tâm cho mỗi cá nhân.

Link figma:
https://www.figma.com/file/kM9KAhJtVcI2kqRVlQIMTK/BTL-CNPM?type=design&node-id=0%3A1&
mode=design&t=nrRdDlZkgYQgLGZB-1

Link hình ảnh:


https://docs.google.com/document/d/1m78CUleKKXfaFmNqeIjwhj8Zuj3w1TgMr2ejQiYEppA/edit?
usp=sharing

2.6.1 Đăng ký, Đăng nhập, Quên mật khẩu, Cập nhật thông tin cá nhân
Để có thể sử dụng Dịch vụ in ấn sinh viên HCMUT_SSPS, mỗi sinh viên cần có tài khoản được cấp
quyền từ phía nhà trường (Ban quản lý HCMUT) thông qua Email nhà trường cung cấp. Để có tài khoản,
sinh viên tiến hành đăng ký tài khoản tại trang Đăng ký. Sinh viên nhập đầy đủ các thông tin: Họ và
tên, Email (sử dụng email của trường cung cấp), Mã số sinh viên, Khoa, Số điện thoại, Ngày/tháng/năm
sinh, Mật khẩu. Sinh viên nhấn "Đăng ký", hệ thống sẽ xác thực các thông tin, dựa và Email để cấp
quyền và tạo tài khoản. Nếu hợp lệ, hệ thống sẽ chuyển hướng đến trang Đăng nhập, ngược lại sinh
viên cần nhập lại các thông tin trên.

Sau khi sinh viên đã có tài khoản, sinh viên tiến hành đăng nhập để có thể vào sử dụng dịch vụ.
Sinh viên nhập các thông tin: Tài khoản (Email hoặc Số điện thoại đã dùng để đăng ký tài khoản) và
Mật khẩu. Sinh viên nhấn "Đăng nhập", hệ thống sẽ xác thực các thông tin tài khoản và chuyển hướng
đến trang Trang chủ của hệ thống nếu hợp lệ và ngược lại sinh viên cần nhập lại thông tin đăng nhập.
Đối với lần đăng nhập đầu tiên, sau khi xác thực tài khoản hợp lệ, hệ thống sẽ chuyển hướng đến
HCMUT_SSO để xác thực lần nữa tài khoản.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 27/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Đối với việc đăng nhập thất bại do sai mật khẩu, sinh viên có thể chọn "Quên mật khẩu" để tiến
hành đổi mật khẩu mới tại trang Quên mật khẩu. Sinh viên cần nhập các thông tin: Tài khoản (Email
hoặc Số điện thoại đã dùng để đăng ký), Mật khẩu mới và Xác nhận lại mật khẩu (nhập lại mật khẩu
mới trên). Sinh viên chọn "Xác nhận", hệ thống xác thực thông tin tài khoản trên và xác thực thêm
Ngày/tháng/năm sinh của sinh viên. Sau khi xác nhận hợp lệ, mật khẩu mới của sinh viên đã được lưu,
sinh viên có thể tiến hành đăng nhập và ngược lại sinh viên cần nhập lại các thông tin trên.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 28/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Sau khi đã đăng nhập thành công vào hệ thống, tại trang Trang chủ, sinh viên nhấn vào ảnh đại
diện cá nhân, và chọn "Thông tin cá nhân" để xem thông tin cá nhân và tài khoản của mình (Hệ thống
chuyển hướng đến trang Thông tin cá nhân). Tại đây, sinh viên có thể xem các Thông tin cá nhân
gồm: Họ và tên, Mã số sinh viên, Khoa, Ngày/tháng/năm sinh, Phái, Địa chỉ và Thông tin tài khoản
gồm: Email, Số điện thoại, Mật khẩu, Số trang còn lại. Sinh viên có thể chọn "Đổi mật khẩu" để tiến
hành đổi mật khẩu tài khoản (Các bước tiến hành như Quên mật khẩu). Bên cạnh đó, sinh viên cũng
có thể cập nhật các thông tin cá nhân và thông tin tài khoản trên (trừ Số trang còn lại) bằng cách nhấn
vào "Cập nhật thông tin".

2.6.2 Tra cứu thông tin (Xem lịch sử in ấn, Xem lịch sử mua trang, Mua trang in)
Tại Trang chủ, sinh viên chọn "Tra cứu thông tin" trên thanh menu trái, tiếp tục chọn "Lịch sử
in ấn" để xem lịch sử in ấn của mình. Hệ thống sẽ chuyển hướng đến trang Lịch sử in ấn. Tại đây, hệ
thống sẽ hiển thị danh sách các lần in của sinh viên với các thông tin: Mã in, Thời gian, Máy in và Tài
liệu. Sinh viên có thể tìm kiếm nhanh lần in muốn xem dựa vào thời gian, máy in hoặc tài liệu bằng cách
nhập vào 3 thanh lọc phía trên danh sách. Để có thể xem chi tiết hơn về lịch sử in ấn, sinh viên nhấn
chọn biểu tượng ba chấm ở phía bên phải danh sách, hệ thống sẽ hiển thị các thông tin chi tiết như: Mã
in, Họ và tên (Sinh viên), Mã số sinh viên, Thời gian, Máy in, Tài liệu, Loại tệp (Type), số trang A3, số
trang A4.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 29/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Tại Trang chủ, sinh viên chọn "Tra cứu thông tin" trên thanh menu trái, tiếp tục chọn "Lịch sử
mua trang" để xem lịch sử mua trang của mình. Hệ thống sẽ chuyển hướng đến trang Lịch sử mua
trang. Tại đây, hệ thống sẽ hiển thị danh sách các lần mua trang của sinh viên với các thông tin: Mã
đơn mua, Thời gian, Số trang mua (quy đổi ra A4) và Tổng tiền. Sinh viên có thể tìm kiếm nhanh lần
in muốn xem dựa vào thời gian, mã đơn hoặc số lượng trang bằng cách nhập vào 3 thanh lọc tương ứng
phía trên danh sách. Để có thể xem chi tiết hơn về lịch sử mua trang, sinh viên nhấn chọn biểu tượng
ba chấm ở phía bên phải danh sách, hệ thống sẽ hiển thị các thông tin chi tiết như: Mã đơn, Họ và tên
(Sinh viên), Mã số sinh viên, Thời gian, Số lượng trang mua A4 và Tổng tiền. Bên cạnh đó, sinh viên có
in hóa đơn cho đơn mua trang của mình bằng cách nhân vào "In hóa đơn" ở bên dưới.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 30/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Sinh viên có thể mua thêm trang in tại trang Mua trang in (chọn "Mua thêm trang" tại thanh
menu trái). Tại đây, sinh viên cần nhập số lượng trang muốn mua (tính theo trang A4). Sau khi nhập số
lượng trang muốn mua, hệ thống sẽ hiển thị tổng tiền cần thanh toán, sinh chọn "Thanh toán" để tiến
hành mua trang, hệ thống sẽ chuyển hướng sang BKPay.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 31/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

2.6.3 Đặt lịch in


Để có thể in tài liệu, sinh viên chọn "In tài liệu" ở thanh menu trái, chọn "Đặt lịch in", hệ thống
sẽ chuyển hướng đến trang Đặt lịch in. Tại đây, hệ thổng sẽ hiển thị thời gian biểu làm việc của bên
in, sinh viên chọn thời gian muốn in và cần chọn ngày tương ứng. Sau đó, sinh viên chọn "Tiếp theo" để
tiếp tục đặt lịch in. Sinh viên cần tải lên tài liệu cần in, chọn máy in, chọn kích thước trang, số lượng
trang in, số mặt in và số bản in (phải phù hợp với số lượng trang). Sau khi hoàn thành, sinh viên chọn
"Đặt lịch in", hệ thống sẽ lưu lại thông tin đặt lịch cho sinh viên, sinh viên cũng có thể xem tại trang
Xem lịch in.

2.6.4 Quản lý máy in, Quản lý cấu hình hệ thống


Tương tự với sinh viên, SPSO cũng cần có tài khoản để đăng nhập vào hệ thống. Tuy nhiên, SPSO
được cấp tài khoản sẵn nên chỉ cần thực hiện bước đăng nhập.
SPSO có thể theo dõi, quản lý các máy in tại trang Quản lý máy in (chọn "Quản lý máy in" ở
thanh menu trái). Tại trang này, hệ thống hiển thị danh sách các máy in hiện có của dịch vụ bao gồm
các thông tin: Mã máy in, Thương hiệu, Địa điểm. SPSO có thể tìm kiếm nhanh máy in dựa vào mã máy
in, thương hiệu, địa điểm bằng cách nhập vào 3 thanh lọc tương ứng phía trên danh sách. Để có thể xem

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 32/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

chi tiết hơn về các máy in, SPSO có thể chọn vào biểu tượng ba chấm phía bên phải danh sách máy in
tương ứng. Bên cạnh đó, SPSO có thể thực hiện các chức năng như thêm máy in, xóa máy in, vô hiệu
hóa máy in bằng cách nhấn vào "Thêm máy in", "Xóa", "Vô hiệu hóa" tương ứng với các máy in.
Khi chọn "Thêm máy in", SPSO cần nhập đủ các thông tin sau: Mã máy in, Thương hiệu/Nhà sản
xuất, Model, Trường, Tòa, Phòng, Mô tả (nếu có). Sau khi điền đầy đủ các thông tin cho máy in mới,
chọn "Xác nhận" hệ thống sẽ lưu lại thông tin cho máy in mới và có thể xem được tại danh sách máy in.

SPSO cũng có thể quản lý cấu hình cho hệ thống tại trang Quản lý cấu hình (chọn "Quản lý cấu
hình" ở thanh menu trái). Tại đây, hệ thống sẽ hiển thị bảng một số thông tin của hệ thống gồm các
thông tin: Số lượng trang cung cấp mặc định cho sinh viên, Thời gian định kì cung cấp số lượng trang
đó cho sinh viên, Kích thước tệp được chấp nhận và Các loại tệp chấp nhận in. SPSO có thể chỉnh sửa
các cấu hình này bằng cách nhấn "Chỉnh sửa".

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 33/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 34/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

3 Architecture Design
3.1 Layered architecture

Để hiện thực hệ thống in ấn thông minh dành cho sinh viên HCMUT, nhóm chọn hướng tiếp cận kiến
trúc theo mô hình kiến trúc MVC (Model – Controller – View) như sau:
Đầu tiên, Người dùng truy cập vào HCMUT_SSPS trên brower của Client (Chrome, Edge, Cốc Cốc,..)
Client bao gồm View. Server bao gồm Controller và Model.

• View: Đây là khu vực chịu trách nhiệm quản lý hiển thị và tương tác của người dùng với hệ
thống. Nơi này đảm nhận nhiệm vụ quản lý giao diện (View management), bao gồm việc hiển thị
các đối tượng trong hệ thống, các biểu mẫu, thông báo, và các thành phần khác. Chức năng của
UI là cung cấp một giao diện trực quan để người dùng có thể theo dõi và tương tác với các tính
năng của hệ thống.
Ngoài ra, Đây cũng là nơi đóng vai trò là người lắng nghe sự kiện (listener) và thu thập dữ liệu
đầu vào từ người dùng khi họ tương tác với hệ thống. Dữ liệu thu thập được sau đó được chuyển
giao cho Controller để xử lý. Controller sẽ thực hiện xử lý dữ liệu này và cập nhật lại UI để hiển
thị kết quả hoặc thông tin được xử lý.

• Controller: Controller nhận Input và thực hiện các Update lên hệ thống của Server. Controller
bao gồm cả view và Model.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 35/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

• Model: là nơi quản lý dữ liệu của hệ thống, làm việc với database Mỗi model là dữ liệu được sử
dụng bởi chương trình. Model cũng cung cấp những phương thức cơ bản xử lý để logic nghiệp vụ.

3.2 Component Diagram

3.2.1 View
Tầng View gồm 2 component chính:
1. Component View:
SPSO View:
• Chức năng: Cung cấp giao diện người dùng cho hệ thống in ấn, cho phép người dùng tương tác với
thông tin và thực hiện các hành động.

• Giao tiếp: Nhận thông báo cập nhật từ người dùng và gửi thông tin cập nhật đến Database SPSO.
User View:
• Chức năng: Đại diện cho giao diện người dùng chung, hiển thị thông tin liên quan đến người dùng
hệ thống in ấn.

• Giao tiếp: Gửi thông báo cập nhật đến Database User và nhận thông tin cập nhật từ Database
User.
2. Component Controller:
SPSO Controller:

• Chức năng: Quản lý logic điều khiển cho SPSO View, nhận và xử lý các yêu cầu từ người dùng và
các yêu cầu liên quan đến in ấn.
• Giao tiếp: Gửi yêu cầu xem người dùng, xem máy in, xem nhật ký in ấn đến SPSO View và nhận
thông tin từ Database SPSO.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 36/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

User Controller:

• Chức năng: Quản lý logic điều khiển cho User View, xử lý thông tin liên quan đến người dùng.
• Truyền thông tin hiển thị người dùng đến User View và nhận thông tin từ Database User.
3. Component Database:
SPSO Database:

• Chức năng: Lưu trữ dữ liệu liên quan đến hệ thống in ấn SPSO, bao gồm danh sách người dùng,
danh sách máy in và nhật ký in ấn.
• Giao tiếp: Truy cập dữ liệu như danh sách người dùng, danh sách máy in, nhật ký in ấn và truyền
thông tin đến SPSO Controller.
User Database:

• Chức năng: Lưu trữ dữ liệu liên quan đến người dùng, bao gồm thông tin về máy in và nhật ký in
ấn.
• Giao tiếp: Truy cập dữ liệu như thông tin về máy in và nhật ký in ấn và truyền thông tin đến User
Controller.

Giao tiếp giữa các thành phần:


• SPSO View thông báo cập nhật đến Database SPSO và nhận thông tin cập nhật từ Database SPSO.
• SPSO Controller gửi yêu cầu xem người dùng, xem máy in, xem nhật ký in ấn đến SPSO View và
nhận thông tin từ Database SPSO.

• User View gửi thông báo cập nhật đến Database User và nhận thông tin cập nhật từ Database
User.
• User Controller truyền thông tin hiển thị người dùng đến User View và nhận thông tin từ Database
User.

• Database SPSO truyền thông tin như danh sách người dùng, danh sách máy in, nhật ký in ấn và
truyền thông tin đến SPSO Controller.
• Database User truyền thông tin như thông tin về máy in và nhật ký in ấn và truyền thông tin đến
User Controller.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 37/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

4 Implementation - Sprint 1
4.1 Github
Link github: https://github.com/TanSyCS/CNPM

4.2 Tiến hành kiểm tra khả năng sử dụng với giao diện người dùng
4.2.1 Giới thiệu
• Mục tiêu: thu được trải nghiệm người dùng từ đó có chỉnh sửa phù hợp
• Người tham gia: 5 bạn sinh viên (không phải là người trực tiếp tham gia phát triển phần mềm)
• Nhiệm vụ: trải nghiệm thử một vài tính năng mà nhóm đã hiện thực: đăng ký, đăng nhập, xem lịch
sử in ấn và xem lịch sử mua trang.

4.2.2 Các nhiệm vụ cần thực hiện


4.2.2.a Đăng ký
• Có thể đăng ký tài khoản mới để có tài khoản tiến hành đăng nhập

4.2.2.b Đăng nhập


• Có thể đăng nhập vào hệ thống bằng tài khoản đã có (được cung cấp hoặc đã được đăng ký trên)

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 38/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

4.2.2.c Xem lịch sử in ấn


• Có thể xem tất cả lịch sử in ấn của mình (đều hiển thị trong danh sách).
• Có thể tìm kiếm nhanh lần in dựa vào nhập thông tin trong thanh tìm kiếm theo thời gian, máy
in, tài liệu.

• Nhấn vào biểu tượng 3 chấm ở bên phải danh sách, hệ thống sẽ hiển thị các thông tin chi tiết của
lần in đã chọn.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 39/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

4.2.2.d Xem lịch sử mua trang


• Có thể xem tất cả lịch sử mua trang của mình (đều hiển thị trong danh sách).
• Có thể tìm kiếm nhanh lần mua trang dựa vào nhập thông tin trong thanh tìm kiếm theo thời gian,
mã đơn, số lượng trang.

• Nhấn vào biểu tượng 3 chấm ở bên phải danh sách, hệ thống sẽ hiển thị các thông tin chi tiết của
lần mua trang đã chọn.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 40/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 41/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

4.2.3 Chiến lược thử nghiệm


• Cách tiếp cận thực hiện: Cả định tính (qualitative) và định lượng (quantitative)
• Mode: in-person

• Lý do: Sự kết hợp giữa các phương pháp định tính và định lượng đảm bảo sự hiểu biết toàn diện
về tương tác của người dùng với giao diện. Dữ liệu định tính cung cấp bối cảnh phong phú và giúp
xác định các vấn đề về khả năng sử dụng có thể không rõ ràng chỉ thông qua các số liệu. Mặt khác,
dữ liệu định lượng cho phép đánh giá khách quan hơn về các tiêu chuẩn khả năng sử dụng cụ thể.
Cách tiếp cận kép này cho phép diễn giải sắc thái phản hồi của người dùng và đánh giá mạnh mẽ
về khả năng sử dụng tổng thể của giao diện.

4.2.4 Tiến hành kiểm thử


• Xác định mục tiêu và đối tượng người dùng
• Chuẩn bị các kịch bản testing và nhiệm vụ của người dùng, giải thích rõ nhiệm vụ người dùng và
giới thiệu cho người kiểm thử mục đích của buổi kiểm thử

• Đưa cho người kiểm thử các yêu cầu chức năng cần kiểm thử
• Quan sát thử nghiệm và thu thập các phản hồi
• Phân tích và đánh giá các dữ liệu thu được
• Dựa vào các dữ liệu thu được, có thể xem xét triển khai cải tiến

4.2.5 Kết quả


• Người tham gia thực hiện đúng các yêu cầu đề ra.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 42/43
Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học & Kỹ Thuật Máy Tính

Tài liệu
[Dal] Dalgaard, P. Introductory Statistics with R. Springer 2008.
[K-Z] Kenett, R. S. and Zacks, S. Modern Industrial Statistics: with applications in R, MINITAB and
JMP, 2nd ed., John Wiley and Sons, 2014.

[Ker] Kerns, G. J. Introduction to Probability and Statistics Using R, 2nd ed., CRC 2015.

Công nghệ phần mềm (CO3001) - Niên khóa 2023-2024 Trang 43/43

You might also like