ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
BÁO CÁO CUỐI KÌ
ĐỒ ÁN 2
Đề tài: Tìm hiểu Mean Stack và xây dựng ứng dụng minh họa
Giảng viên hướng dẫn: Thái Thụy Hàn Uyển
Sinh viên: Phạm Ngọc Quyên - 19522115
Vũ Ngọc Mỹ Phương – 19522071
Thành phố Hồ Chí Minh, 06/2022
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công
nghệ Thông tin –ĐHQG TP.HCM, chúng em đã được trang bị các kiến thức cơ bản cùng các
kỹ năng thực tế để có thể hồn thành Đồ án 2 của mình. Để hồn thành khóa luận này, với lịng
biết ơn sâu sắc em xin gửi lời cảm ơn chân thành đến: Ban Giám hiệu trường Đại học Công nghệ
Thông tin – ĐHQG TP.HCM và các thầy cô trong khoa Công nghệ phần mềm vì đã tạo điều kiện
thuận lợi để sinh viên tìm kiếm, nghiên cứu thơng tin và giúp đỡ khi chúng em cần hỗ trọ.
Và cuối cùng chúng em xin bày tỏ lịng biết ơn sâu sắc đến cơ Thái Thụy Hàn Uyển –
giảng viên hướng dẫn chúng em thực hiện Đồ án 2, cô đã cùng đồng hành và tận tình hướng dẫn
cho chúng em qua từng giai đoạn của đồ án. Nhờ có sự giúp đỡ nhiệt tình của cơ mà chúng em
có thể hồn thành được được đồ án này một cách tốt nhất. Vì kiến thức của chúng em vẫn cịn
hạn hẹp nên khơng thể tránh khỏi những thiếu sót trong q trình thực hiện đồ án. Tuy nhiên,
chúng em đã cố gắng hoàn thành đúng hạn và hạn chế các lỗi nhiều nhất có thể. Nhóm chúng em
ln mong đợi nhận được những ý kiến đóng góp q báu từ cơ và qua đó có thể rút kinh
nghiệm, tự sửa chữa, hồn thiện bản thân mình trên tinh thần nghiêm túc, tự giác học hỏi. Trong
q trình làm đề tài báo cáo, sẽ khơng thể tránh khỏi các thiếu sót, rất mong nhận được phản hồi
từ cơ và các bạn để góp phần làm cho bản báo cáo thêm hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, tháng 06 năm 2022
Sinh viên 1
Phạm Ngọc Quyên
Sinh viên 2
Vũ Ngọc Mỹ Phương
2
NỘI DUNG
LỜI CẢM ƠN.............................................................................................................................................. 2
NỘI DUNG .................................................................................................................................................. 3
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ....................................................................................... 5
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI ........................................................................................................ 6
Lý do chọn đề tài ............................................................................................................................. 6
I.
II.
Mục đích đề tài ............................................................................................................................ 6
III.
Phạm vi đề tài .............................................................................................................................. 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ .......................................................................... 8
Kiến trúc hệ thống .......................................................................................................................... 8
I.
II.
Tổng quan về MEAN Stack........................................................................................................ 8
III.
Quy trình hoạt động của MEAN Stack là gì? ......................................................................... 12
IV.
Ưu điểm của MEAN Stack ....................................................................................................... 12
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ..................................................................... 13
Xác định yêu cầu hệ thống ........................................................................................................... 13
I.
II.
1.
Phân tích thiết kế hệ thống ....................................................................................................... 13
Sơ đồ Use Case .......................................................................................................................... 14
1.1.
Danh sách các Actor ............................................................................................................. 14
1.2.
Đặc tả Use Case ..................................................................................................................... 14
a)
Use Case tổng quát .................................................................................................................... 14
b)
Danh sách các Use Case ............................................................................................................ 16
Phân rã Use Case................................................................................................................... 17
1.3.
1.3.1.
Quản lý thông tin tài khoản (UC1) .................................................................................. 17
1.3.2.
Quản lý sách (UC2) ........................................................................................................... 19
1.3.3.
Quản lý người dùng (UC3) ............................................................................................... 22
1.3.4.
Quản lý phiếu mượn (UC4) .............................................................................................. 24
1.3.5.
Quản lý phiếu trả (UC5) ................................................................................................... 25
1.3.6.
Quản lý loại sách (UC6) .................................................................................................... 26
1.3.7.
Tìm kiếm sách (UC7) ........................................................................................................ 27
1.3.8.
Xem báo cáo thông kê (UC8) ........................................................................................... 28
2.
2.1.
Thiết kế cơ sở dữ liệu ................................................................................................................ 28
Sơ đồ ERD ............................................................................................................................. 29
3
2.2.
Phân tích cơ sở dữ liệu .......................................................................................................... 30
2.2.1. Bảng Users ........................................................................................................................... 30
2.2.2. Bảng Books .......................................................................................................................... 30
2.2.3. Bảng Categories................................................................................................................... 31
2.2.4. Bảng Borrows ...................................................................................................................... 31
2.2.5. Bảng Returns ....................................................................................................................... 32
Thiết kế giao diện và mơ tả xử lý ............................................................................................. 32
3.
3.1.
Màn hình chung .................................................................................................................... 33
3.1.1.
Màn hình Home............................................................................................................. 33
3.1.2.
Popup Đăng nhập .......................................................................................................... 34
3.2.
Màn hình phía User .............................................................................................................. 35
3.2.1.
Màn hình Dashboard .................................................................................................... 35
3.2.2.
Màn hình My Profile/Update Detail ............................................................................ 36
3.2.3.
Màn hình My Profile/Change Password ..................................................................... 36
3.2.4.
Màn hình Manage Borrow & Return/View Borrowing ............................................ 37
3.2.5.
Màn hình Manage Borrow & Return/View Returning ............................................. 37
3.3.
Màn hình phía Admin........................................................................................................... 38
3.3.1.
Màn hình Dashboard .................................................................................................... 38
3.3.2.
Màn hình My Profile/Update Detail ............................................................................ 39
3.3.3.
Màn hình My Profile/Change Password ..................................................................... 39
3.3.4.
Màn hình Manage Books/ Add Book .......................................................................... 40
3.3.5.
Màn hình Manage Books/ View Book ......................................................................... 41
3.3.6.
Màn hình Manage Users/ Add User ............................................................................ 41
3.3.7.
Màn hình Manage Users/ View User ........................................................................... 42
3.3.8.
Màn hình Manage Borrowing/ Add Borrowing ......................................................... 43
3.3.9.
Màn hình Manage Borrowing/ View Borrowing........................................................ 43
3.3.10.
Màn hình Manage Returning....................................................................................... 44
3.3.11.
Màn hình Manage Items/ Category ............................................................................. 44
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 46
I.
Kết quả đạt được ........................................................................................................................... 46
II.
Ưu điểm ...................................................................................................................................... 46
III.
Nhược điểm................................................................................................................................ 46
IV.
Hướng phát triển....................................................................................................................... 46
TÀI LIỆU THAM KHẢO ........................................................................................................................ 48
4
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
5
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
I. Lý do chọn đề tài
Hiện nay, công nghệ thông tin càng ngày càng được đưa vào áp dụng rộng rãi trong đời
sống. Việc quản lý thư viện ở trường học một cách thủ công ngày càng lộ ra nhiều nhược điểm
như: khó khăn trong việc lưu trữ giấy tờ, mất mát thông tin, mất nhiều thời gian cho các quy
trình xử lý thủ cơng, cần tiêu tốn nhiều nhân lực.... Nhận thấy được những nhược điểm đó có thể
được khắc phục bằng cách áp dụng cơng nghệ vào quy trình quản lý thư viện. Cụ thể hơn là cần
có một phần mềm hỗ trợ việc quản lý thư viện nhằm giảm thiểu chi phí và nhân lực cũng như
làm cho các hoạt động quản lý thư viện được dễ dàng, nhanh chóng một cách tự động và chính
xác nhất.
Nắm bắt được nhu cầu đó, nhóm đã quyết định chọn đề tài xây dựng phần mềm quản lý
thư viện giúp cho những nhân viên của thư viện có thể xem và nhập liệu thơng tin của sinh viên,
sách, thơng tin mượn – trả sách...
II.
Mục đích đề tài
- Xây dựng được phần mềm quản lý thư viện với những chức năng cơ bản và mở rộng như:
+ Quản lý người dùng: tên, ngày sinh, giới tính, email và địa chỉ.
+ Quản lý sách: tiêu đề, tác giả, mô tả, loại sách, giá và số lượng.
+ Xem và nhập liệu thông tin người mượn sách.
+ Quản lý thông tin mượn – trả sách: ngày mượn – trả sách, sách mượn, người mượn
+ Quản lý thu tiền phạt khi quá ngày trả sách.
+ Báo cáo thống kê: số lượng sách, số sách đã mượn, tiền phạt.
- Ngoài ra, phần mềm cần phải có giao diện thân thiện dễ sử dụng và thao tác.
III.
Phạm vi đề tài
Chương trình cho phép người dùng quản lý thông tin liên quan đến việc mượn, trả, tìm kiếm
thơng tin về sách. Chương trình cũng cho phép lưu trữ các thông tin về sách, người dùng.
1. Đối tượng sử dụng
Đồ án này hướng đến nghiên cứu các đối tượng sau:
− Các công nghệ:
6
+ Front-end: Angular
+ Back-end: Nodejs
+ Database: MongoDB
+ IDE: Visual Studio Code
− Đối tượng trong phạm vị đề tài hướng đến:
+ Nhân viên thư viện: thủ thư hoặc người quản lý thư viện.
+ Người mượn và trả sách.
2. Yêu cầu từ phía người dùng
−
Hệ thống đăng nhập an tồn, có tính bảo mật.
−
Có hiệu quả quản lý cao.
−
Dễ dàng theo dõi ngày mượn trả sách.
−
Chức năng thêm, xoá sách
3. Yêu cầu hệ thống
−
Gần gũi và dễ dàng sử dụng.
−
Dễ dàng quản lý những người mượn và trả sách.
−
Dễ dàng xử lý và nâng cấp.
7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
I. Kiến trúc hệ thống
II.
Tổng quan về MEAN Stack
MEAN Stack là một tập hợp 4 công nghệ liên kết với TypeScript. Chúng sở hữu những
tính năng ưu việt với mục đích tối ưu hóa hiệu suất xây dựng phần mềm. Điểm khác biệt của
MEAN Stack là nó cho phép tạo nên sự kết nối giữa client với ngôn ngữ server và ngôn ngữ cơ
sở dữ liệu. Nó được sử dụng để pháp triển những ứng dụng web full stack.
Thuật ngữ MEAN được viết tắt từ tên của 4 ứng dụng tạo thành nó:
− M là Mongo.db
− E là Express.js
− A là Angular.js
− N là Node.js
1. Angular
8
Nó là một framework kỹ thuật, mã nguồn mở, được sử dụng để xây dựng các ứng dụng
single-page web. Các lập trình viên cũng sử dụng nó để tạo các menu động cho các trang web
HTML.
Framework này là sản phẩm trí tuệ của các kỹ sư Google, Misko Hevery và Adam
Abrons. Google chính thức phát hành phiên bản đầu tiên, AngularJS, vào năm 2012 và đã duy trì
nó kể từ đó.
Trước khi phát hành AngularJS, đã có những cách khác để tạo dynamic page. Tuy nhiên,
chúng không thuận tiện như framework này. AngularJS sử dụng kiến trúc Model-ViewController (MVC), được sử dụng trong phát triển ứng dụng web.
Kiểu kiến trúc này bao gồm:
+ Model – cấu trúc dữ liệu quản lý thông tin và nhận đầu vào từ controller
+ View – bản đại diện của thông tin
+ Controller – đáp ứng đầu vào và tương tác với model
Trong AngularJS, model là framework, view là HTML và control là JavaScript. Nói một
cách đơn giản:
+ AngularJS ràng buộc JavaScript và HTML
+ JavaScript tiếp nhận dữ liệu đầu vào của người dùng và gửi nó đến AngularJS
+ AngularJS sử dụng đầu vào để sửa đổi HTML
Đối với việc ràng buộc framework JavaScript và HTML, code giữa chúng được đồng bộ.
Cơ chế này làm cho công việc của các nhà phát triển web dễ dàng hơn vì nó làm giảm số lượng
code cần viết.
2. Node.js
9
NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằng c++
và Javasccript. Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào năm 2009.
Tại thời điểm này, nó được rất nhiều nhà phát triển ứng dụng ưa chuộng và còn là một nền
tảng rất mới mẻ. Nó là dự án được xem nhiều thứ 2 trên GitHub.org, có khá nhiều theo dõi trên
một nhóm của nó trên Google.com và có trên 15.000 modules được công bố trên NMP. Tất cả
những điều trên cho thấy rằng, NodeJS đang là một nền tảng mới và thú vị cho việc phát triển
các ứng dụng web, ứng dụng Server. NodeJS cũng cho thấy rằng nó hứa hẹn là một nền tảng hấp
dẫn có thể thay thế được các nền tảng truyền thống như Apache, PHP, Python . . .
NodeJS là một nền tảng cho việc viết ứng dụng Javascript phía server, khơng giống như
Javascript chúng ta thường viết trên trình duyệt. Với ngơn ngữ Javascript và nền tảng nhập xuất
bất đồng bộ, nó là một nền tảng mạnh mẽ để phát triển các ứng dụng thời gian thực.
3. Express
Express là một web application framework cho NodeJS, cung cấp các tính năng mạnh mẽ
cho việc xây dựng một ứng dụng web đúng nghĩa hoặc lai.
ExpressJS là framework phổ biến và được sử dụng rộng rãi nhất của NodeJS, được xây
dựng trên cấu trúc ngữ pháp của Sinatra. Ý tưởng đằng sau ExpressJS là đưa đến một framework
nhẹ, dễ dàng tiếp cận để phát triển các ứng dụng web từ nhỏ đến lớn hay hybrid.
Express cũng có thể sử dụng để xây dựng một API mạnh mẽ và thân thiện với người
dùng, vì nó cung cấp rất nhiều tiện ích HTTP và middleware cho việc kết nối.
4. MongDB
10
MongoDB là một cơ sở dữ liệu có dạng NoSQL.
NoSQL là một thế hệ cơ sở dữ liệu có các đặc điểm chính là khơng ràng buộc
(nonrelational), phân tán (distributed), mã nguồn mở (open source), khả năng co giản theo chiều
ngang (Horizontal scalable) có thể lưu trữ, xử lý từ một lượng rất nhỏ cho tới dữ liệu cực lớn, lên
đến hàng petabytes dữ liệu trong hệ thống cần có độ chịu tải, chịu lỗi cao với những yêu cầu về
tài nguyên phần cứng thấp.
Mục tiêu chính của Mongo là giữ lại các thuộc tính thân thiện của SQL. Do đó các câu
truy vấn khá giống với SQL nên MongoDB khá thích hợp cho các lập trình viên đã quen với
ngơn ngữ truy vấn SQL. MongoDB có một khối lượng tính năng lớn và hiệu năng cao. Với các
loại dữ liệu phong phú, nhiều truy vấn và việc giảm thời gian phát triển trong việc mơ hình hóa
các đối tượng.
MongoDB được sử dụng tốt nhất với nhu cầu cần truy vấn động, cần tốc độ nhanh cho
một cơ sở dữ liệu lớn vì MongoDB ngồi tốc độ đọc nhanh ra thì tốc độ ghi của nó rất nhanh.
MongoDB hỗ trợ việc tìm theo trường, khoảng kết quả tìm và tìm theo cú pháp. Các truy vấn có
thể trả về các trường được qui định trong văn bản và cũng có thể bao gồm các hàm Javascript mà
người dùng chưa định nghĩa. Cũng giống như các cơ sở dữ liệu quan hệ, bất cứ một trường nào
trong MongoDB đều được đánh chỉ mục.
MongoDB cịn có hổ trợ theo mơ hình chủ – tớ (master – slave), mảnh, vùng dữ liệu
(Sharding).
MongoDB sử dụng một quá trình xử lý để xử lý các yêu cầu về dữ liệu, quản lý định dạng
dữ liệu, thực hiện các hoạt động quản lý bên dưới là mongod, đây là trình xử lý chính. Trong
việc mở rộng theo chiều ngang sử dụng mơ hình mảnh lưu trữ, MongoDB cung cấp dịch vụ xử lý
các truy vấn từ tầng ứng dụng, xác định vị trí dữ liệu trong cụm các node phân mảnh được gọi là
mongos.
11
III.
Quy trình hoạt động của MEAN Stack là gì?
Khi khách hàng bắt đầu muốn sử dụng MEAN Stack, một yêu cầu sẽ được phát đi thông
qua AngularJS. Yêu cầu này được chuyển đến server. NodeJS sẽ tiếp xúc với yêu cầu đầu tiên và
đưa ra các phân tích cú pháp. Sau khi q trình phân tích kết thúc, ExpressJS nhận được kết quả
về các phần dữ liệu cần thiết và đưa ra thông báo cho MongoDB. MongoDB sẽ lấy dữ liệu được
yêu cầu từ Database trả về cho ExpressJS. ExpressJS lại truyền dữ liệu về cho NodeJS. Và cuối
cùng, NodeJS gửi kết quả dữ liệu cho AngularJS. AngularJS sẵn sàng hiển thị thơng tin mà
khách hàng muốn có trên giao diện màn hình.
IV.
Ưu điểm của MEAN Stack
Tính linh hoạt cao
Một trong những lợi ích to lớn mà MEAN.js mang đến là tính đa nhiệm cao. Nó cho phép
người dùng tích hợp nhiều tiện ích từ các nguồn khác nhau để nâng cao hiệu năng hoạt động.
Ngồi ra MEAN Stack cịn giúp người dùng thử nghiệm ứng dụng đã hoàn thành trên nền tảng
đám mây. Từ đó nhanh chóng phát hiện ra những lỗi sai còn tồn đọng. Người dùng cũng có thể
nhanh chóng sửa lỗi trực tiếp trong q trình kiểm thử.
Khả năng phát triển mạnh mẽ
Vì được cấu tạo nên từ 4 thành phần khác nhau, mỗi phần lại đảm nhận một nhiệm vụ
riêng biệt nên MEAN Stack sở hữu khách năng hoạt động rất mạnh mẽ. Một nền tảng vững chắc
được mang đến giúp cho kết quả phát triển phần mềm trở nên khả thi hơn. Từ đó tiết kiệm phần
lớn thời gian và chi phí được dùng cho việc kiểm thử sản phẩm trên thị trường.
12
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
I. Xác định yêu cầu hệ thống
Phần mềm quản lý thư viện bao gồm những chức năng sau:
- Quản lý sách
+ Thêm, xóa, sửa sách
+ Tìm kiếm sách
- Quản lý người dùng
+ Thêm, xóa, sửa người dùng
+ Tìm kiếm người dùng
- Quản lý việc mượn sách
+ Thêm phiếu mượn
+ Xem phiếu mượn
- Quản lý việc trả sách
+ Thêm phiếu trả
+ Xem phiếu trả
- Quản lý loại sách
+ Thêm, xóa, sửa loại sách
- Báo cáo thống kê
- Quản lý tài khoản và nhân viên
+ Thêm, xóa, sửa nhân viên
+ Đăng nhập
+ Đăng xuất
II.
Phân tích thiết kế hệ thống
13
1. Sơ đồ Use Case
1.1. Danh sách các Actor
Actor
Use Case
Ghi chú
Quản lý thông tin tài khoản
Quản lý sách
Quản lý người dùng
Quản trị viên, người quản lý thư
viện.
Quản lý (Admin)
Quản lý phiếu mượn
Quản lý phiếu trả
Quản lý loại sách
Quản lý thông tin tài khoản
Xem sách
Người dùng
Người mượn và trả sách.
Tìm kiếm sách
Xem báo cáo thống kê
1.2. Đặc tả Use Case
a) Use Case tổng quát
14
15
b) Danh sách các Use Case
STT
UC1
UC2
UC3
UC4
UC5
UC6
Chức năng
Mã
Quản lý thông tin tài khoản
Quản lý sách
Quản lý người dùng
Quản lý phiếu mượn
Tên Use Case
UC1.1
Xem thông tin
UC1.2
Sửa thông tin
UC1.3
Đổi mật khẩu
UC1.4
Đăng nhập
UC1.5
Đăng xuất
UC2.1
Thêm sách
UC2.2
Xóa sách
UC2.3
Sửa sách
UC3.1
Thêm người dùng
UC3.2
Xóa người dùng
UC3.3
Sửa người dùng
UC4.1
Thêm phiếu mượn
UC4.2
Xem phiếu mượn
UC4.3
Gửi email nhắc nhở
UC5.1
Thêm phiếu trả
UC5.2
Xem phiếu trả
UC6.1
Thêm loại sách
UC6.2
Xóa loại sách
Quản lý phiếu trả
Quản lý loại sách
UC7
Tìm kiếm sách
UC8
Xem báo cáo thông kê
16
1.3. Phân rã Use Case
1.3.1. Quản lý thông tin tài khoản (UC1)
UC1.1. Xem thông tin tài khoản
ID
UC1.1
Tên Use Case
Xem thông tin tài khoản
Mô tả
Xem thông tin cá nhân của tài khoản đang đăng nhập
Người thực hiện
Admin, User
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Ở màn hình chính vừa mới đăng nhập, chọn tab “MyProfile” bên
Dịng sự kiện chính
Sidebar bên trái.
Hiển thị thông tin cá nhân của tài khoản đang đăng nhập.
Dịng sự kiện khác
Khơng
UC1.2. Sửa thơng tin tài khoản
ID
UC1.2
Tên Use Case
Sửa thông tin tài khoản
Mô tả
Sửa thông tin cá nhân của tài khoản đang đăng nhập
Người thực hiện
Admin, User
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Thơng tin tài khoản được cập nhật
Dịng sự kiện chính
Ở màn hình chính vừa mới đăng nhập, chọn tab “MyProfile” →
chọn tab “Update Detail” Sidebar bên trái.
17
Sửa thông tin cá nhân của tài khoản đang đăng nhập.
Nhấn button “Update Detail”
Ở màn hình chính vừa mới đăng nhập, chọn tab “MyProfile” →
Dòng sự kiện khác
chọn tab “Update Detail” bên trái.
Sửa thông tin cá nhân của tài khoản đang đăng nhập.
Nhấn button “Cancel”
UC1.3. Đổi mật khẩu
ID
UC1.3
Tên Use Case
Đổi mật khẩu
Mô tả
Đổi mật khẩu của tài khoản đang đăng nhập
Người thực hiện
Admin, User
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Mật khẩu tài khoản được cập nhật
Ở màn hình chính vừa mới đăng nhập, chọn tab “MyProfile” →
Dịng sự kiện chính
chọn tab “Change Password” bên Sidebar bên trái.
Nhập mật khẩu mới.
Nhấn button “Change”
Dịng sự kiện khác
Khơng
UC1.4. Đăng nhập
ID
UC1.4
Tên Use Case
Đăng nhập
Mơ tả
Đăng nhập theo vai trị tương ứng
18
Người thực hiện
Admin, User
Điều kiện trước khi xử lí
Đã đăng nhập
Sau xử lí
Ở màn Home, trên thanh Header chọn button “Sign In”. Popup
Dịng sự kiện chính
đăng nhập xuất hiện
Nhập mật khẩu và email
Nhấn button “Sign In” trong popup
Ở màn Home, trên thanh Header chọn button “Sign In”. Popup
đăng nhập xuất hiện
Dòng sự kiện khác
Nhập mật khẩu và email
Nhấn button “Sign In” trong popup
Sai mật khẩu → Hiển thị thông báo lỗi
UC1.5. Đăng xuất
ID
UC1.5
Tên Use Case
Đăng xuất
Mô tả
Đăng xuất khỏi tài khoản hiện tại
Người thực hiện
Admin, User
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Đăng xuất khỏi tài khoản hiện tại
Dịng sự kiện chính
Nhấn mũi tên ở góc phải thanh Header → chọn “Sign out”
Dịng sự kiện khác
Khơng
1.3.2. Quản lý sách (UC2)
UC2.1. Thêm sách
19
ID
UC2.1
Tên Use Case
Thêm sách
Mô tả
Thêm 1 quyển sách mới vào hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
1 quyển sách được thêm vào
Ở màn hình chính đã đăng nhập, chọn tab “ManageBooks” →
Dịng sự kiện chính
chọn tab “Add Book” bên trái.
Nhập các thơng tin bắt buộc của sách.
Nhấn button “Add Book”
Dịng sự kiện khác
Khơng
UC2.2. Xóa sách
ID
UC2.2
Tên Use Case
Xóa sách
Mơ tả
Xóa 1 quyển sách của hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
1 quyển sách được xóa
Ở màn hình chính đã đăng nhập, chọn tab “ManageBooks” →
chọn tab “View Book” bên trái.
Dịng sự kiện chính
Hiển thị list book
Chọn biểu tượng xóa của sách cần xóa
Hiển thị popup xác nhận
20
Nhấn “Yes, delete it”
Ở màn hình chính đã đăng nhập, chọn tab “ManageBooks” →
chọn tab “View Book” bên trái.
Dòng sự kiện khác
Hiển thị list book
Chọn biểu tượng xóa của sách cần xóa
Hiển thị popup xác nhận
Nhấn “Cancel”
UC2.3. Sửa sách
ID
UC2.3
Tên Use Case
Sửa sách
Mô tả
Sửa 1 quyển sách mới trong hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Thơng tin của quyển sách được cập nhật
Ở màn hình chính đã đăng nhập, chọn tab “ManageBooks” →
chọn tab “View Book” bên trái.
Dịng sự kiện chính
Hiển thị list book
Chọn biểu tượng sửa của sách cần chỉnh sửa
Nhập các thông tin cần sửa
Nhấn “Save”
Ở màn hình chính đã đăng nhập, chọn tab “ManageBooks” →
chọn tab “View Book” bên trái.
Dòng sự kiện khác
Hiển thị list book
Chọn biểu tượng sửa của sách cần chỉnh sửa
Nhập các thông tin cần sửa
Nhấn “Cancel”
21
1.3.3. Quản lý người dùng (UC3)
UC3.1. Thêm người dùng
ID
UC3.1
Tên Use Case
Thêm người dùng
Mô tả
Thêm 1 người dùng mới vào hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
1 người dùng được thêm vào
Ở màn hình chính đã đăng nhập, chọn tab “ManageUsers” →
Dịng sự kiện chính
chọn tab “Add User” bên trái.
Nhập các thơng tin bắt buộc của người dùng.
Nhấn button “Add User”
Dịng sự kiện khác
Khơng
UC3.2. Xóa người dùng
ID
UC3..2
Tên Use Case
Xóa người dùng
Mơ tả
Xóa 1 người dùng của hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
1 người dùng được xóa
Dịng sự kiện chính
Ở màn hình chính đã đăng nhập, chọn tab “ManageUsers” →
chọn tab “View User” bên trái.
22
Hiển thị list user
Chọn biểu tượng xóa của người dùng cần xóa
Hiển thị popup xác nhận
Nhấn “Yes, delete it”
Ở màn hình chính đã đăng nhập, chọn tab “ManageUsers” →
chọn tab “View User” bên trái.
Dòng sự kiện khác
Hiển thị list user
Chọn biểu tượng xóa của người dùng cần xóa
Hiển thị popup xác nhận
Nhấn “Cancel”
UC3.3. Sửa người dùng
ID
UC3.3
Tên Use Case
Sửa người dùng
Mô tả
Sửa 1 người dùng mới trong hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Thơng tin của người dùng được cập nhật
Ở màn hình chính đã đăng nhập, chọn tab “ManageUsers” →
chọn tab “View User” Sidebar bên trái.
Dịng sự kiện chính
Hiển thị list user
Chọn biểu tượng sửa của người dùng cần chỉnh sửa
Nhập các thông tin cần sửa
Nhấn “Save”
Ở màn hình chính đã đăng nhập, chọn tab “ManageUsers” →
Dòng sự kiện khác
chọn tab “View User” bên trái.
Hiển thị list user
Chọn biểu tượng sửa của người dùng cần chỉnh sửa
23
Nhập các thông tin cần sửa
Nhấn “Cancel”
1.3.4. Quản lý phiếu mượn (UC4)
UC4.1. Thêm phiếu mượn
ID
UC4.1
Tên Use Case
Thêm phiếu mượn
Mô tả
Thêm 1 phiếu mượn mới vào hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
1 phiếu mượn được thêm vào
Ở màn hình chính đã đăng nhập, chọn tab “Manage Borrowing”
Dịng sự kiện chính
→ chọn tab “Add Borrowing” Sidebar bên trái.
Nhập các thông tin bắt buộc của phiếu mượn.
Nhấn button “Borrow Book”
Dịng sự kiện khác
Khơng
UC4.2. Xem phiếu mượn
ID
UC4.2
Tên Use Case
Xem phiếu mượn
Mô tả
Xem thông tin của 1 phiếu mượn mới trong hệ thống thư viện
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
24
Hiển thị thơng tin của phiếu mượn
Sau xử lí
Ở màn hình chính đã đăng nhập, chọn tab “Manage Borrowing”
Dịng sự kiện chính
→ chọn tab “View Borrowing” bên trái.
Hiển thị các thơng tin của phiếu mượn.
Dịng sự kiện khác
Khơng
UC4.3. Gửi email nhắc nhở
ID
UC4.3
Tên Use Case
Gửi email nhắc nhở
Mô tả
Gửi email nhắc nhở cho người dùng trả sách
Người thực hiện
Admin
Điều kiện trước khi xử lí
Đăng nhập
Sau xử lí
Email được gửi tới người dùng
Ở màn hình chính đã đăng nhập, chọn tab “Manage Borrowing”
Dịng sự kiện chính
→ chọn tab “View Borrowing” Sidebar bên trái.
Hiển thị list các phiếu mượn.
Nhấn vào icon “Send Email” của phiếu mượn tương ứng
Dịng sự kiện khác
Khơng
1.3.5. Quản lý phiếu trả (UC5)
UC5.1. Thêm phiếu trả
ID
UC5.1
Tên Use Case
Thêm phiếu trả
Mô tả
Thêm 1 phiếu trả mới vào hệ thống thư viện
25