Tác nhânTiền điều kiện Đã có tài khoản trong hệ thống Use case bắt đầu khi người dùng muốn đăng nhập : Người dùng nhập đầy đủ thông tin và chọn đăng nhập Hiển thị đăng nhập thành côn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC THĂNG LONG
KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG MẠNG XÃ HỘI
TS Trần Đức Minh Phạm Văn Nguyên_A36555_TT32H4
Ngành: Công nghệ thông tin Nguyễn Thị Tâm Anh_A34915_TT32E1 Ngành: Công nghệ thông tin
HÀ NỘI – 2023
Trang 2MỤC LỤC
CHƯƠNG 1 TỔNG QUAN HỆ THỐNG 6
1.1 Mô tả bài toán 6
1.2 Mô tả hệ thống 6
1.2.1 Sơ đồ tổng quan chức năng hệ thống 6
1.2.2 Các tác nhân (actor) tham gia hệ thống 8
1.2.3 Các chức năng chính của hệ thống 8
CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG VÀ KIẾN TRÚC TỔNG THỂ 11 2.1 Các công nghệ sử dụng 11
2.1.1 ReactJS 11
2.1.2 NodeJS 11
2.1.3 ExpressJS 13
2.1.4 MongoDB 13
2.1.5 JSON Web Tokens (JWT) 15
2.1.6 Firebase Cloud Messaging (FCM) 15
2.1.7 Cloudinary 16
2.1.8 Socket.io 17
2.1.9 Nodemailer 18
2.1.10 Redux 18
2.1.11 Hooks 19
2.1.12 NuxtJS 19
2.1.13 OpenCV 20
2.1.14 YOLO 20
Trang 32.2.3 Cấu trúc solution web app 25
2.2.4 API 25
CHƯƠNG 3 ĐẶC TẢ CHỨC NĂNG CHÍNH CỦA HỆ THỐNG 27 3.1 Đăng ký 27
3.2 Đăng nhập 29
3.3 Trò chuyện 31
3.4 Tạo bài đăng 32
3.5 Tương tác bài viết 34
3.6 Chỉnh sửa thông tin cá nhân 36
3.7 Theo dõi 37
3.8 Hủy theo dõi 38
3.9 Gửi lời mời kết bạn 40
3.10 Xác nhận lời mời kết bạn 41
3.11 Tìm kiếm 43
3.12 Xem thông báo 45
3.13 Thống kê 46
3.14 Quản lý bài viết 48
3.15 Quản lý người dùng 50
3.16 Quản lý báo cáo 52
3.17 Đăng xuất 54
3.18 Tạo tin ngày 55
3.19 Tự động xóa bài vi phạm 56
3.20 Quản lý bài viết cá nhân 58
3.21 Quản lý danh sách bạn bè 59
3.22 Gửi thông báo tương tác bài viết 61
3.23 Gửi thông báo chờ kết bạn 62
3.24 Gửi thông báo kiểm duyệt bài đăng 64
3.25 Kiểm duyệt bài đăng 65
3.26 Gửi thông báo tin nhắn 66
Trang 43.28 Gửi thông báo theo dõi 69
3.29 Quên mật khẩu 71
CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ Cơ sở dữ liệu 73
4.1 Biểu đồ lớp thiết kế 73
4.2 Quan hệ giữa các lớp 74
4.3 Biểu đồ tuần tự 77
4.3.1 Đăng ký 77
4.3.2 Đăng nhập 78
4.3.3 Đăng xuất 79
4.3.4 Trò chuyện 80
4.3.5 Tạo bài đăng 80
4.3.6 Chỉnh sửa thông tin cá nhân 82
4.3.7 Tương tác bài viết 82
4.3.8 Gửi yêu cầu kết bạn 83
4.3.9 Xác nhận lời mời kết bạn 83
4.3.10 Theo dõi/ hủy theo dõi 84
4.3.11 Xem thông báo 85
4.3.12 Quản lý bài viết 85
4.3.13 Quản lý người dùng 86
4.3.14 Quản lý báo cáo 86
4.3.15 Tự động xóa bài viết vi phạm 87
4.3.16 Tạo tin ngày 87
4.3.17 Tìm kiếm 88
4.3.18 Quản lý bài viết cá nhân 89
4.3.19 Quên mật khẩu 89
Trang 55.2.2 Chức năng đăng nhập 92
5.2.3 Chức năng đăng ký 93
5.2.4 Chức năng chỉnh sửa thông tin cá nhân 94
5.2.5 Chức năng tương tác 95
5.2.6 Chức năng nhắn tin 97
5.2.7 Chức năng tạo bài đăng 98
5.2.8 Chức năng tạo story 99
5.2.9 Chức năng xem thông báo 101
5.2.10 Chức năng quản lý bạn bè 102
5.2.11 Chức năng tạo nhóm chat 103
5.2.12 Giao diện trang admin 103
CHƯƠNG 6 KẾT LUẬN 104
6.1 Kết quả đạt được 104
Trang 6DANH MỤC MINH HỌA
Hình 1.1 Sơ đồ chức năng hệ thống 7
Hình 2.1 Công nghệ ReactJS 11
Hình 2.2 Công nghệ NodeJS 11
Hình 2.3 Công nghệ ExpressJS 13
Hình 2.4 Công nghệ MongoDB 14
Hình 2.5 Công nghệ JWT 15
Hình 2.6 Công nghệ FCM 16
Hình 2.7 Công nghệ Cloudinary 17
Hình 2.8 Công nghệ socket.io 17
Hình 2.9 Công nghệ Redux 19
Hình 2.10 Công nghệ NuxtJS 20
Hình 2.11 Công nghệ OpenCV 20
Hình 2.12 Công nghệ gRPC 21
Hình 2.13 Công nghệ Python 21
Hình 2.14 Kiến trúc Client-Server 22
Hình 2.15 Kiến trúc MVC 23
Hình 2.16 Mô hình kiến trúc tổng thể 25
Hình 2.17 Mô tả cấu trúc web app 1 25
Hình 2.18 Mô tả cấu trúc web app2 25
Hình 2.19 API 25
Hình 3.1 Giao diện lỗi chức năng đăng ký 28
Hình 3.2 Giao diện chức năng đăng ký 29
Hình 3.3 Giao diện lỗi chức năng đăng nhập 30
Hình 3.4 Giao diện chức năng đăng nhập 31
Trang 7Hình 4.3.Biểu đồ tuần tự chức năng đăng xuất 80
Hình 4.4 Biểu đồ tuần tự chức năng trò chuyện 80
Hình 4.5 Biểu đồ tuần tự chức năng tạo bài đăng 81
Hình 4.6 Biểu đồ tuần tự chỉnh sửa thông tin cá nhân 82
Hình 4.7.Biểu đồ tuần tự tương tác bài viết 82
Hình 4.8 Biểu đồ tuần tự gửi yêu cầu kết bạn 83
Hình 4.9.Biểu đồ tuần tự xác nhận lời mời kết bạn 83
Hình 4.10 Biểu đồ tuần tự theo dõi/hủy theo dõi 84
Hình 4.11 Biểu đồ tuần tự chức năng xem thông báo 85
Hình 4.12 Biểu đồ tuần tự quản lý bài viết 85
Hình 4.13 Biểu đồ tuần tự chức năng quản lý người dùng 86
Hình 4.14 Biểu đồ tuần tự chức năng quản lý báo cáo 86
Hình 4.15 Biểu đồ tuần tự chức năng tự động xóa bài viết vi phạm 87
Hình 4.16 Biểu đồ tuần tự chức năng tạo tin ngày 88
Hình 4.17 Biểu đồ tuần tự chức năng tìm kiếm 89
Hình 4.18 Biểu đồ tuần tự chức năng quản lý bài viết cá nhân 89
Hình 4.19 Biểu đồ tuần tự chức năng quên mật khẩu 91
Hình 4.20 Biểu đồ tuần tự chức năng thống kê 92
Hình 4.21 Biểu đồ tuần tự chức năng gửi thông báo tương tác 93
Hình 4.22 Biểu đồ tuần tự chức năng gửi thông báo tin nhắn 94
Hình 4.23 Biểu đồ tuần tự chức năng gửi thông báo chờ kết bạn 95
Hình 4.24 Biểu đồ tuần tự chức năng gửi thông báo xác nhận lời mời kết bạn 96
Hình 4.25 Biểu đồ tuần tự chức năng gửi thông báo theo dõi 97
Hình 4.26.Biểu đồ tuần tự chức năng gửi thông báo kiểm duyệt bài đăng 98
Hình 5.1.Mockup giao diện trang chủ 99
Hình 5.2 Mockup giao diện đăng nhập 100
Hình 5.3 Mockup giao diện đăng ký 101
Hình 5.4 Mockup giao diện chỉnh sửa thông tin 102
Hình 5.5 Mockup giao diện chức năng tương tác 103
Hình 5.6 Mockup giao diện chi tiết chức năng chia sẻ 104
Hình 5.7 Mockup giao diện chức năng nhắn tin 105
Trang 8Hình 5.9 Mockup giao diện chức năng tạo story 107
Hình 5.10 Giao diện mockup tạo story chi tiết 108
Hình 5.11 Mockup giao diện chức năng xem thông báo 109
Hình 5.12 Mockup giao diện chức năng quản lý bạn bè 110
Hình 5.13 Mockup giao diện chức năng tạo nhóm chat 111
Hình 5.14 Mockup giao diện trang quản trị viên 111
Trang 9GIẢI THÍCH CÁC THUẬT NGỮ
ADMIN Quản trị viên
DOM Document Object Model, được dịch là mô hình các đối
tượng tài liệuJSX JSX = JavaScript + XML , là một cú pháp mở rộng của
JavaScriptRDBMS Relational Database Management System, có nghĩa là hệ
quản trị cơ sở dữ liệuJSON Javascript Object Notation
URL Uniform Resource Locator, là địa chỉ web
API Application Programming Interface, là phương thức kết
nối với các thư viện và ứng dụng khác
TCP Transmission Control Protocol, giao thức tiêu chuẩn trên
internet
HTTP Hypertext Transfer Protocol là một giao thức (quy tắc truyền
tin) để trao đổi thông tin giữa máy chủ Web và trình duyệtWeb
XML Extensible Markup Language là ngôn ngữ đánh dấu mở rộng
URI Uniform Resource Identifier – Nhận diện tài nguyên thống
nhấtNPM Node Package Manager
SMTP Simple Mail Transfer Protocol là giao thức chuẩn TCP/IP
Trang 10Bảng 1.1 Bảng giải thích các thuật ngữ
Trang 11CHƯƠNG 1 GIỚI THIỆU
1.1 Mô tả bài toán
MATA là một trang web về mạng xã hội Mạng xã hội MATA được phát triển nhằm đápứng nhu cầu thay đổi của người dùng trong bối cảnh thời đại số hóa ngày càng phát triển Mụcđích của trang web là nơi mọi người có thể kết nối với nhau một cách dễ dàng, có thể gặp gỡ,giao tiếp thông qua trò chuyện, chia sẻ và tạo nội dung, phản ứng với nội dung này Bên cạnh
đó, MATA còn tập trung vào việc phát triển các tính năng độc đáo và công nghệ tiên tiến đểgiúp người dùng dễ dàng tiếp nhận thông tin, học hỏi và cải thiện cuộc sống của họ Sự ra đờicủa MATA không chỉ giúp đa dạng hóa thị trường mạng xã hội mà còn đáp ứng nhu cầu ngàycàng cao của người dùng về một nền tảng kết nối chất lượng và an toàn
1.2 Yêu cầu bài toán
1.3 Mô tả hệ thống
Trang 12CHƯƠNG 2 TỔNG QUAN HỆ THỐNG
2.1 Yêu cầu chức năng
2.1.1 Các tác nhân (actor) tham gia hệ
Khi truy cập vào trang quản trị, quản trị viên có thể xem thống kê, quản lý người dùng, tìm kiếm, quản lý bài viết
dùng là những người có nhu cầu kết nối với mọi người trên mạng xã hội
Khi truy cập vào hệ thống, người dùng
có thể nhắn tin, tương tác, xem các hoạt động, xem thông báo, chỉnh sửa thông tin cá nhân được hiển thị, theo dõi và kết bạn, chia sẻ thông tinBảng 1.2 Các tác nhân tham gia hệ thống
và tham gia hệ thốngUC#03-Trò chuyện Cho phép người dùng giao tiếp với nhau
bằng văn bản thông qua hệ thốngUC#04-Tạo bài đăng Cho phép người dùng tạo một bài viết trên
trang cá nhân với nội dung: là một dòng
Trang 13xóa các thông tin cá nhân được hiển thị trêntrang cá nhân của mình: thông tin cá nhân, bài viết, hình ảnh
UC#07-Theo dõi Cho phép người dùng kết nối với nhau
thông qua việc hiển thị bài đăng của người mình theo dõi trên bảng tin cá nhân
UC#08-Hủy theo dõi Cho phép người dùng hủy theo dõi, những
bài viết mới của bạn bè sẽ không hiển thị cho dù vẫn là bạn bè của nhau trên mạng xãhội
UC#09-Gửi lời mời kết bạn Cho phép người dùng kết bạn mới
UC#10-Xác nhận lời mời kết bạn Cho phép người dùng chấp nhận hoặc
không chấp nhận lời mời kết bạnUC#11-Tìm kiếm Cho phép người dùng tìm kiếm các nội
dung khác nhau: tìm kiếm người, từ khóa.UC#12-Xem thông báo Cho phép người dùng xem thông báo hệ
thống gửi đến cho mìnhUC#13-Thống kê Cho phép quản trị viên quản lý thống kê
nhiều nội dung như : số lượng người dùng,
số lượng bài viết được tải lên, số lượng tin ngày được tải lên
UC#14-Quản lý bài viết Cho phép quản trị viên quản lý những bài
viết được tải lên, chặn bài viết vi phạm.UC#15-Quản lý người dùng Cho phép quản trị viên quản lý tài khoản
thông tin người dùng bao gồm: tìm kiếm, chặn Người dùng sẽ không đăng nhập được vào hệ thống khi bị chặn
UC#16- Quản lý báo cáo Cho phép quản trị viên thao tác với bài viết
bị người dùng báo cáo, chặn hoặc mở chặn bài viết
UC#17-Đăng xuất Cho phép người dùng tạm thời thoát ra khỏi
hệ thống
UC#18-Tạo tin ngày Cho phép người dùng tạo bài đăng dưới
dạng tin ngày, bài đăng chỉ xuất hiện trong vòng 24h
UC#19-Tự động xóa bài vi phạm Cho phép hệ thống tự động xóa bài viết vi
phạm (cụ thể là súng)UC#20- Quản lý bài viết cá nhân Cho phép người dùng chỉnh sửa hoặc xóa
bài viết của mình
UC#21- Quản lý danh sách bạn bè Cho phép người dùng quản lý danh sách
bạn bè: xóa bạn bè, thêm bạn bèUC#22- Gửi thông báo tương tác bài viết Cho phép hệ thống gửi thông báo cho người
dùng khi bạn bè tương tác bài viết
Trang 14UC#23- Gửi thông báo chờ kết bạn Cho phép hệ thống gửi thông báo cho người
dùng khi có lời mời kết bạnUC#24- Gửi thông báo kiểm duyệt bài
đăng
Cho phép hệ thống gửi thông báo cho ngườidùng khi bài đăng bị vi phạm
UC#25- Kiểm duyệt bài đăng Hệ thống tự động kiểm tra bài viết vi phạm
UC#26- Gửi thông báo tin nhắn Cho phép hệ thống gửi thông báo cho người
dùng khi có tin nhắn được gửi từ bạn bè.UC#27- Gửi thông báo xác nhận lời mời
kết bạn Cho phép hệ thống gửi thông báo cho ngườidùng khi có người xác nhận lời mời kết
bạn
UC#28- Gửi thông báo theo dõi Cho phép hệ thống gửi thông báo cho người
dùng khi có người theo dõi tài khoản
UC#29- Quên mật khẩu Cho phép người dùng sử dụng chức năng
để tạo mật khẩu mới khi người dùng quên mật khẩu đăng nhập
Bảng 1.3 Các chức năng chính của hệ thống
2.1.3 Sơ đồ Use Case
Trang 152.2 Yêu cầu phi chức năng
2.2.1 Hiệu suất 2.2.2 Bảo mật 2.2.3 Tính khả dụng 2.2.4 Tính mở rộng
Trang 16CHƯƠNG 3 PHÂN TÍCH YÊU CẦU
3.1 Phân loại yêu cầu
3.2 Phân tích Use Case
Quản trị viên, Người dùng
Tiền điều kiện
Mở trang web chọn chưa có tài khoản
Hậu
điều
kiện
Thành công Hiển thị nhập thông tin cá nhân và mật khẩuLỗi
Hiển thị đăng ký không thành công
Trang 17Hình 3.1 Giao diện lỗi chức năng đăng ký
Luồng A1: Người dùng nhập không đúng định dạng mật khẩu
Hệ thống thông báo nhập sai định dạng và yêu cầu nhập đúng theo định dạng mặcđịnh
Giao diện minh họa
Trang 18Hình 3.2 Giao diện chức năng đăng ký
3.2.2 Đăng nhập
thường
Trang 19Tác nhân
Tiền điều kiện
Đã có tài khoản trong hệ thống
Use case bắt đầu khi người dùng muốn đăng nhập :
Người dùng nhập đầy đủ thông tin và chọn đăng nhập
Hiển thị đăng nhập thành công và chuyển đến trang chủ
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Người dùng nhập sai/ không nhập thông tin đăng nhập
Hệ thống báo lỗi
Hình 3.3 Giao diện lỗi chức năng đăng nhập
Trang 20Luồng A1: Người dùng quên mật khẩu
Hệ thống yêu cầu nhập mã xác nhận được gửi về số điện thoại / email được đăng ký.Người dùng được yêu cầu nhập mật khẩu mới
Giao diện minh họa
Hình 3.4 Giao diện chức năng đăng nhập
Tác nhân
Người dùng
Trang 21kiện Lỗi
ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
3 Luồng chính
Use case bắt đầu khi người dùng gửi tin nhắn cho một người/ nhóm người khác:
Hệ thống nhận tin nhắn từ người dùng sau đó sẽ gửi đến người thứ 2
Khi người thứ 2 gửi tin nhắn hệ thống sẽ nhận và gửi đến người dùng
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Kết nối bị gián đoạn
Hiển thị lỗi:’Không gửi được tin nhắn”, người dùng có thể thử lại hoặc kết thúc usecase
Luồng A1:
N/A
Giao diện minh họa
Hình 3.5 Giao diện chức năng nhắn tin
3.2.4 Tạo bài đăng
UC#04
Tạo bài đăng Độ phức tạp: Bình
thường
Trang 22Mô tả
Cho phép người dùng chia sẻ một bài viết, một vănbản, một hình ảnh trên trang cá nhân Người dùng cóthể sửa hoặc xóa bài đăng của mình
Tác nhân
Người dùng
Tiền điều kiện
Đăng nhập vào hệ thống , chọn chức năng tạo bài viết
Use case bắt đầu khi người dùng nhấn Tạo bài đăng
Hiển thị phần nhập nội dung, chọn ảnh, chọn gắn thẻ, vị trí.vv
Người dùng nhập nội dung theo mong muốn
Người dùng chọn nút đăng
Sau khi bài viết đã được đăng, người dùng có thể chọn sửa hoặc xóa bài viết
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Hủy bài đăng
Hiển thị thông báo “xác nhận hủy”
Luồng A1: Tạo bài đăng không thành công
Hiển thị thông báo bài đăng bị thiếu thông tin
Giao diện minh họa
Trang 23Hình 3.6 Giao diện chức năng tạo bài đăng
3.2.5 Tương tác bài viết
Tác nhân
Người dùng
Tiền điều kiện
Đăng nhập vào hệ thống, chọn bài viết đã được tạo,chọn chức năng bình luận hoặc giữ nút thích và chọnbiểu tượng cảm xúc
Thành
công Hiển thị bình luận đã được gửi đi, hiển thị biểu tượng cảmxúc đã tạo
Trang 24 Bình luận / cảm xúc / bài chia sẻ được lưu vào hệ thống và được hiển thị.
Sau đó người dùng có thể sửa hoặc xóa bình luận / biểu tượng cảm xúc / bài chia sẻ của mình
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Mất kết nối internet
Hiển thị thông báo: “Lỗi bình luận” Người dùng có thể thử lại để tải bình luận lên
Luồng A1: N/a
Giao diện minh họa
Trang 25Hình 3.7 Giao diện chức năng tương tác bài viết
3.2.6 Chỉnh sửa thông tin cá nhân
Tác nhân
Người dùng
Tiền điều kiện
Đăng nhập vào hệ thống, chọn trang cá nhân
Hậu
Thành
công Hiển thị thông tin cá nhân đã sửa
Trang 26kiện Lỗi
ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
6 Luồng chính
Use case bắt đầu khi người dùng truy cập vào trang cá nhân
Hiển thị thông tin cá nhân sau khi thay đổi (ảnh đại diện, ảnh bìa, tên, bài đăng,vv)
Luồng sự kiện phát sinh/Kịch bản phát sinh
N/A
Giao diện minh họa
Trang 27Cho phép người dùng theo dõi tài khoản của bạn bè ngay
cả khi chưa trở thành bạn bè trên hệ thống
Tác nhân
Người dùng
Tiền điều kiện
Phải đăng nhập vào hệ thống, chọn người theo dõi
Use case bắt đầu khi người dùng muốn theo dõi tài khoản của bạn bè:
Người dùng chọn tài khoản muốn theo dõi
Chọn nút “theo dõi” trên trang cá nhân của bạn bè
Hiển thị trạng thái đang theo dõi, những bài viết ở chế độ công khai của người được theo dõi hiển thị trên dòng thời gian của người dùng
Luồng sự kiện phát sinh/Kịch bản phát sinh
Trang 28Hình 3.9 Giao diện chức năng theo dõi
3.2.8 Hủy theo dõi
Tác nhân
Người dùng
Tiền điều kiện
Đăng nhập vào hệ thống, chọn tài khoản muốn hủytheo dõi
Trang 29Luồng sự kiện phát sinh/Kịch bản phát sinh
N/A
Giao diện minh họa
Hình 3.10 Giao diện chức năng hủy theo dõi
3.2.9 Gửi lời mời kết bạn
Tiền điều kiện
Đăng nhập vào hệ thống, chọn một tài khoản cần thêmbạn bè
Trang 309 Luồng chính
Use case bắt đầu khi người dùng nhấn “Thêm bạn bè”:
Người dùng chọn một tài khoản rồi chọn “Thêm bạn bè”
Hiển thị trạng thái đã gửi lời mời kết bạn
Hệ thống lưu lại hành động và gửi cho tài khoản đó chờ phản hồi
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Yêu cầu kết bạn bị từ chối
Trạng thái bạn bè giữa hai người không thay đổi, nút “Thêm bạn bè” xuất hiện
Luồng A1:
N/A
Giao diện minh họa
Hình 3.11 Giao diện chức năng gửi lời mời kết bạn
Trang 31Tiền điều kiện
Use case bắt đầu khi người dùng muốn phản hồi yêu cầu kết bạn của tài khoản khác:
Người dùng chọn mục lời mời kết bạn
Hiển thị danh sách lời mời kết bạn
Sau đó người dùng chọn xác nhận hoặc hủy
Trạng thái của từng ô sẽ chuyển về đã xác nhận hoặc đã hủy, dữ liệu được lưu vào hệ thống và thông báo cho tài khoản được xác nhận
Luồng sự kiện phát sinh/Kịch bản phát sinh
Trang 32Hình 3.12 Giao diện chức năng phản hồi lời mời
Trang 33 Hiển thị danh sách người dùng/ bài viết có chứa từ khóa tìm kiếm
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A:
Luồng A1:
N/A
Giao diện minh họa
Hình 3.13 Giao diện chức năng tìm kiếm
Trang 343.2.12 Xem thông báo
Tác nhân
Người dùng
Tiền điều kiện
Phải đăng nhập vào hệ thống, chọn chức năng thôngbáo
Use case bắt đầu khi người dùng muốn xem danh sách thông báo
- Người dùng chọn chức năng thông báo
- Hệ thống hiển thị danh sách các loại thông báo
Luồng sự kiện phát sinh/Kịch bản phát sinh
Trang 35Hình 3.14.Giao diện chức năng xem thông báo
Trang 36Mô tả
Tác nhân
Quản trị viên
Tiền điều kiện
Phải đăng nhập vào hệ thống
Use case bắt đầu khi quản trị viên muốn sử dụng chức năng thống kê
- Hệ thống hiển thị lên giao diện chức năng thống kê bao gồm : thống kê sốlượng người dùng mới, số lượng bài viết đã tải lên, số lượng tin ngày đã tảilên
Luồng sự kiện phát sinh/Kịch bản phát sinh
Trang 37Hình 3.15 Giao diện chức năng thống kê
3.2.14 Quản lý bài viết
Tiền điều kiện
Phải đăng nhập vào hệ thống và chọn quản lý bài viết
Hậu
Thành
công Hiển thị danh sách bài viết bao gồm id, số tương tác, ngàytạo, trạng thái và nút hành động của quản trị viên
Trang 38Use case bắt đầu khi người dùng muốn quản lý bài viết:
- Hệ thống hiển thị lên danh sách bài viết và các thông tin về bài viết
- Quản trị viên có thể sử dụng các chức năng tìm kiếm bài viết,xóa bài viết vàhành động block/active, xem chi tiết bài viết
Luồng con: Xóa bài viết
- Trên danh sách bài viết, bên cạnh thông tin bài viết sẽ có button “Delete”
- Quản trị viên click vào button “Delete”
- Bài viết bị xóa khỏi hệ thống và cập nhật lại danh sách bài viết
Luồng con: Xem chi tiết bài viết
- Trên danh sách bài viết, có id của từng bài viết
- Quản trị viên click vào id
- Hệ thống hiển thị chi tiết bài viết
Luồng con: Hành động block/active:
- Trên danh sách bài viết, bên cạnh thông tin bài viết sẽ có button Block/Active
- Quản trị viên click vào button “Block”
- Bài viết cập nhật lại trạng thái
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A:
N/A
Luồng A1:
N/A
Trang 39Hình 3.16 Giao diện chức năng quản lý bài viết
3.2.15 Quản lý người dùng Quản lý người dùng Độ phức tạp: Bình
thường
Trang 40Tiền điều kiện
Phải đăng nhập vào hệ thống, chọn chức năng quản lýngười dùng
Hậu
điều
kiện
Thành công
Hiển thị danh sách người dùng bao gồm các thông tin cá nhân như id, họ tên, email, ngày tạo tài khoản
Use case bắt đầu khi quản trị viên muốn quản lý danh sách người dùng
- Hiển thị danh sách người dùng bao gồm các thông tin của người dùng, trạngthái tài khoản và button “Block/Active” của quản trị viên
- Quản trị viên có thể sử dụng chức năng tìm kiếm và Block/Active người dùng
Luồng con: Chặn người dùng
- Khi quản trị viên phát hiện người dùng có vi phạm, quản trị viên có thể chặnngười dùng
- Quản trị viên click button “Block”
- Trạng thái người dùng sẽ từ “Actice”chuyển sang “Block”
- Hệ thống sẽ gửi thông báo cho người dùng và hạn chế quyền lợi của ngườidùng
Luồng sự kiện phát sinh/Kịch bản phát sinh