CHƯƠNG 5. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
5.1. Phân tích thiết kế hệ thống
5.1.4. Sơ đồ use case
5.1.4.4. Mô tả chi tiết use case
Tên Đăng nhập
Mô tả Use case này cho phép người dùng đăng nhập vào hệ thống Tác nhân chính Người sử dụng ứng dụng
Tác nhân phụ Không
Điều kiện kích hoạt Người dùng thực hiện tính năng đăng nhập
Luồng chính Hành động của tác nhân Hành động của hệ thống 1 Nhập thông tin đăng nhập,
bao gồm email và password 2. Nhấn vào nút đăng nhập
1. Kiểm tra tính hợp lệ của thông tin người dùng nhập 2. Nếu đúng tiến hành kiểm tra tài khoản trong hệ thống.
3. Đăng nhập thành công hoặc thông báo người dùng đăng nhập thất bại.
Luồng thay thế Không
Điều kiện tiên quyết • Tính năng đăng nhập hoạt động bình thường
• Người dùng có tài khoản trong hệ thống.
• Người dùng đang ở màn hình đăng nhập
Điều kiện sau • Đăng nhập thành công: chuyển sang màn hình trang chủ.
• Đăng nhập thất bại: thông báo cho người dùng.
Bảng 4 Use case đăng nhập
5.1.4.4.2. Quên mật khẩu
Tên Quên mật khẩu
Mô tả Người dùng không nhớ mật khẩu tài khoản và muốn cài đặt lại mật khẩu mới
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực hiện tính năng quên mật khẩu
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng điền email của
tài khoản đã tạo.
2 Nhấn vào nút gửi email.
1. Kiểm tra email người dùng có trong hệ thống hay không.
2. Nếu có tiến hành gửi email cài đặt lại mật khẩu. Nếu không tiến hành luồng thay thế 1
Luồng thay thế Luồng thay thế 1
1. Hiện lên thông báo cho người dùng: nhập sai email.
2 Tiến nhanh cho người dùng nhập lại thông tin.
Điều kiện tiên quyết • Tính năng quên mật khẩu hoạt động bình thường
• Ứng dụng đang được chạy.
Điều kiện sau • Thành công: chuyển sang màn hình xác nhận.
• Đăng ký thất bại: thông báo cho người dùng.
Bảng 5 Use case quên mật khẩu
5.1.4.4.3. Đăng ký
Tên Đăng ký
Mô tả Người dùng muốn tạo tài khoản dùng để truy cập ứng dụng
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực hiện tính năng đăng ký tài khoản
Luồng chính Hành động của tác nhân Hành động của hệ thống
1. Người dùng điền tất cả thông tin.
2 Nhấn vào nút đăng ký
1. Kiểm tra dữ liệu người dùng nhập vào
2. Nếu thành không tiến hành tạo tài khoản. Nếu không tiến hành luồn thanh thế 1.
Luồng thay thế Luồng thay thế 1
1. Hiện lên thông báo cho người dùng: sai thông tin hoặc là tạo tài khoản thất bại.
2 Tiến nhanh cho người dùng nhập lại thông tin.
Điều kiện tiên quyết • Tính đăng ký hoạt động bình thường
• Người dùng đang ở màn hình đăng ký
Điều kiện sau • Đăng ký thành công: chuyển sang màn hình đăng nhập.
• Đăng ký thất bại: thông báo cho người dùng.
Bảng 6 Use case đăng ký
5.1.4.4.4. Xác nhận tài khoản
Tên Xác nhận tài khoản
Mô tả Sau khi người dùng đăng ký cần xác nhận tài khoản người dùng
Tác nhân Người dùng, hệ thống
Điều kiện kích hoạt Người dùng thực hiện tính năng đăng ký tài khoản thành công Luồng chính Hành động của tác nhân Hành động của hệ thống
1. Đăng ký tài khoản thành công
1. Tạo mã xác nhận cho tài khoản đã đăng ký
2. Gửi mã xác nhận đến email của người dùng
2. Sau khi nhận được mã thành công, người dùng nhập mã xác nhận tài khoản
3. Xác nhận mã xác nhận của người dùng với hệ thống. Hợp lệ trạng thái tài khoản thành đã xác nhận.
Luồng thay thế Không
Điều kiện tiên quyết • Tính đăng ký và xác nhận hoạt động bình thường
• Người dùng đang ở màn hình xác nhận tài khoản Điều kiện sau • Xác nhận thành công: chuyển sang màn hình đăng
nhập.
• Xác nhận thất bại: thông báo cho người dùng.
Bảng 7 Use case xác nhận tài khoản
5.1.4.4.5. Thêm sách
Tên Thêm sách
Mô tả Người dùng thêm sách vào bộ sưu tập
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng thêm sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng điền tất cả
thông tin của sách.
2 Nhấn vào nút thêm sách
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng lưu thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng thêm thất bại.
Điều kiện tiên quyết • Tính năng thêm sách hoạt động bình thường.
• Người dùng đang ở màn hình thêm sách.
Điều kiện sau • Thêm sách thành công: chuyển sang màn hình thông báo thêm sách thành công.
• Thêm sách thất bại: thông báo cho người dùng
Bảng 8 Use case thêm sách
5.1.4.4.6. Chỉnh sửa sách
Tên Chỉnh sửa sách
Mô tả Người dùng muốn chỉnh sửa thông tin sách trong bộ sưu tập
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng chỉnh sửa sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn sách cần
chỉnh sửa thông tin
2. Người dùng điền thông tin cần chỉnh của sách.
3 Nhấn vào nút chỉnh sửa
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng lưu thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng thêm thất bại.
Điều kiện tiên quyết • Tính năng chỉnh sửa sách hoạt động bình thường.
• Người dùng đang ở màn hình chỉnh sửa sách.
Điều kiện sau • Chỉnh sửa sách thành công: thông báo chỉnh sửa sách thành công.
• Chỉnh sửa sách thất bại: thông báo cho người dùng
Bảng 9 Use case chỉnh sửa sách
5.1.4.4.7. Xoá sách
Tên Xoá sách
Mô tả Người dùng muốn xoá sách trong bộ sưu tập
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng xoá sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn sách cần
xoá
2 Nhấn vào nút xoá sách
1 Xoá sách trong database.
Thông báo người dùng xoá thành công. Nếu không tiến hành luồng thay thế 1.
Luồng thay thế Luồng thay thế 1 Luồng thay thế 1
• Thông báo cho người dùng xoá thất bại.
Điều kiện tiên quyết • Tính năng xoá sách hoạt động bình thường.
• Người dùng đang ở màn hình xoá sách.
Điều kiện sau • Xoá sách thành công: thông báo xoá sách thành công.
• Xoá thất bại: thông báo cho người dùng
Bảng 10 Use case xoá sách
5.1.4.4.8. Tạo bài đăng
Tên Tạo bài đăng
Mô tả Người dùng muốn tạo bài đăng đánh giá sách
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng tạo bài đăng
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng điền tất cả
thông tin của bài đăng.
2 Nhấn vào nút tạo bài đăng.
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng tạo bài đăng thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng tạo bài đăng thất bại.
Điều kiện tiên quyết • Tính năng tạo bài đăng hoạt động bình thường.
• Người dùng đang ở màn hình tạo bài đăng.
Điều kiện sau • Thêm sách thành công: chuyển sang màn hình thông báo tạo bài đăng thành công.
• Thêm sách thất bại: thông báo cho người dùng
Bảng 11 Use case tạo bài đăng
5.1.4.4.9. Chỉnh sửa bài đăng
Tên Chỉnh sửa bài đăng
Mô tả Người dùng muốn chỉnh sửa thông tin bài đăng
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng chỉnh sửa bài đăng
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn bài đăng
cần chỉnh sửa thông tin 2. Người dùng điền thông tin cần chỉnh.
3 Nhấn vào nút chỉnh sửa.
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng lưu thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng chỉnh sửa thất bại thất bại.
Điều kiện tiên quyết • Tính năng chỉnh sửa bài đăng hoạt động bình thường.
• Người dùng đang ở màn hình chỉnh sửa bài đăng.
Điều kiện sau • Chỉnh sửa bài đăng thành công: thông báo chỉnh sửa bài đăng thành công.
• Chỉnh sửa bài đăng thất bại: thông báo cho người dùng
Bảng 12 Use case chỉnh sửa bài đăng
5.1.4.4.10. Xoá bài đăng
Tên Xoá bài đăng
Mô tả Người dùng muốn xoá bài bài đăng
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng xoá bài đăng
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn bài đăng
cần xoá
2 Nhấn vào nút xoá bài đăng.
1 Xoá bài đăng trong database. Thông báo người dùng xoá thành công. Nếu không tiến hành luồng thay thế 1.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng xoá thất bại.
Điều kiện tiên quyết • Tính năng xoá bài đăng hoạt động bình thường.
• Người dùng đang ở màn hình xoá bài đăng.
Điều kiện sau • Xoá sách thành công: thông báo xoá bài đăng thành công.
• Xoá thất bại: thông báo cho người dùng
Bảng 13 Use case xoá bài đăng
5.1.4.4.11. Bình luận bài đăng
Tên Bình luận bài đăng
Mô tả Người dùng bình luận bài đăng đang xem
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực hiện tính năng bình luận. (nhấn vào nút bình luận)
Luồng chính Hành động của tác nhân Hành động của hệ thống
1. Người dùng điền nội dung bình luận.
2 Nhấn vào nút bình luận
1. Lấy thông tin bình luận và bài đăng
2. Gửi yêu cầu đến server.
3. Lưu lại thông tin trong cơ sở dữ liệu.
4. Thông báo cho người dùng Luồng thay thế Không
Điều kiện tiên quyết • Tính năng bình luận hoạt động bình thường.
• Người dùng đang ở màn hình xem chi tiết bài đăng Điều kiện sau • Bình luận thành công: Hiện bình luận lên danh sách
bình luận.
• Bình luận thất bại: Thông báo cho người dùng.
Bảng 14 Use case bình luận bài đăng
5.1.4.4.12. Tìm kiếm
Tên Tìm kiếm
Mô tả Người dùng tìm kiếm sách trong bộ sưu tập của mình
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực hiện tính năng tìm kiếm
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng điền thông tin
liên quan đến sachs (tên, tác giả,…)
2 Nhấn vào nút tìm kiếm
1. Truy xuất dữ liệu khớp với thông tin của người dùng đã nhập
2. Hiện danh sách đã tìm được.
Luồng thay thế Không
Điều kiện tiên quyết • Tính năng tìm kiếm hoạt động bình thường.
• Người dùng đang ở màn hình bộ sưu tập
Điều kiện sau • Tìm kiếm thành công: Hiện danh sách sách phù hợp
Bảng 15 Use case tìm kiếm
5.1.4.4.13. Xem danh sách sách
Tên Xem danh sách
Mô tả Người dùng muốn xem danh sách sách người dùng khác
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực hiện tính năng xem danh sách sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Nhấn vào nút bộ sưu tập
của người dùng khác
1. Truy xuất dữ liệu. Nếu thất lại hiển thị thông báo cho người dùng.
2. Hiện danh sách sách của người dùng khác.
Luồng thay thế Không
Điều kiện tiên quyết • Tính năng xem danh sách sách hoạt động bình thường.
• Người dùng đang ở màn hình trang cá nhân người dùng khác
Điều kiện sau • Lấy thông tin thành công: Hiện các danh sách sách.
Bảng 16 Use case xem danh sách sách
5.1.4.4.14. Thay đổi thông tin tài khoản
Tên Chỉnh sửa thông tin tài khoản
Mô tả Người dùng muốn chỉnh sửa thông tin tài khoản
Tác nhân Người dùng
5.1.4.4.15. Đóng góp sách
Tên Đóng góp sách
Mô tả Người dùng muốn đóng góp sách của mình vào hệ thống Điều kiện kích hoạt Người dùng thực tính tính năng chỉnh sửa thông tin tài khoản Luồng chính Hành động của tác nhân Hành động của hệ thống
1. Người dùng chọn bài đăng cần chỉnh sửa thông tin tài khoản
2. Người dùng điền thông tin cần chỉnh.
3 Nhấn vào nút chỉnh sửa.
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng lưu thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng chỉnh sửa thất bại.
Điều kiện tiên quyết • Tính năng chỉnh sửa thông tin hoạt động bình thường.
• Người dùng đang ở màn hình chỉnh sửa thông tin tài khoản.
Điều kiện sau • Chỉnh sửa thông tin tài khoản thành công: thông báo chỉnh sửa bài đăng thành công.
• Chỉnh sửa thông tin tài khoản thất bại: thông báo cho người dùng chỉnh sửa thất bại
Bảng 17 Use case thay đổi thông tin tài khoản
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính đóng góp sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn sách
muốn đóng góp
2. Người dùng điền thông tin hai loại mã code: ISBN và Normal.
3 Nhấn vào nút đóng góp.
1. Kiểm tra dữ liệu người dùng nhập vào. Nếu không hợp lệ tiến hành luồng thay thế 1.
2. Lưu thông tin vào database.
Thông báo người dùng lưu thành công. Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thông báo cho người dùng thông tin sai
• Yêu cầu người dùng nhập lại Luồng thay thế 2
• Thông báo cho người dùng thao tác thất bại.
Điều kiện tiên quyết • Tính năng đóng góp sách hoạt động bình thường.
• Người dùng đang ở màn hình chi tiết sách
Điều kiện sau • Đóng góp thành công: thông báo đóng góp thành công.
• Đóng góp thất bại: thông báo đóng góp thất bại
Bảng 18 Use case đóng góp sách
5.1.4.4.16. Phê duyệt sách
Tên Phê duyệt sách
Mô tả Admin phê duyệt sách người dùng đóng góp vào hệ thống
Tác nhân Admin
Điều kiện kích hoạt Admin thực hiện tính nang phê duyệt sách
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Admin chọn sách cần phê
duyệt
2. Admin kiểm tra thông tin sách.
3. Admin nhấn nút phê duyệt.
1. Thay đổi trạng thái sách đóng góp thành đã phê duyệt.
2. Lưu thông tin vào database.
Thông báo lưu thành công.
Nếu không tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 2
• Thông báo cho admin phê duyệt sách thất bại.
Điều kiện tiên quyết • Tính năng đóng góp sách hoạt động bình thường.
• Người dùng đang ở màn hình chi tiết sách.
Điều kiện sau • Đóng góp thành công: thông báo phê duyệt thành công.
• Đóng góp thất bại: thông báo phê duyệt thất bại
Bảng 19 Use case phê duyệt sách
5.1.4.4.17. Quét mã tìm sách
Tên Quét mã tìm sách
Mô tả Người dùng muốn sử dụng tính năng quét mã để tìm thông tin sách nhanh
Tác nhân Người dùng
Điều kiện kích hoạt Người dùng thực tính tính năng quét mã
Luồng chính Hành động của tác nhân Hành động của hệ thống 1. Người dùng chọn tính đăng
thêm sách.
2. Người chọn nút quét mã.
1. Kiểm tra dữ liệu người dùng quét được. Nếu là mã ISBN tiến hành luồng thay
3. Người dùng quét mã trong sách.
thế 1. Ngược lại tiến hành luồng thay thế 2.
Luồng thay thế Luồng thay thế 1
• Thực hiện tìm kiếm trong database sách có mã ISBN đã quét được và trả kết quả về cho người dùng. Nếu không tìm thấy tiến hành luồng thay thế 3.
Luồng thay thế 2
• Thực hiện tìm kiếm trong database sách có mã Normal đã quét được và trả kết quả về cho người dùng. Nếu không tìm thấy tiến hành luồng thay thế 3.
Luồng thay thế 3
• Thông báo cho người dùng không tìm thấy sách nào.
Người dùng bắt buộc phải nhập tay.
Điều kiện tiên quyết • Tính năng quét mã hoạt động bình thường.
• Người dùng đang ở thêm sách.
Điều kiện sau • Quét và tìm sách thành công: trả về thông tin sách cho người dùng.
• Quét và tìm sách thất bại: thông báo cho người dùng.
Bảng 20 Use case quét mã tìm sách