====o0o==== BÁO CÁO NHÓM KHOA CÔNG NGHỆ THÔNG TIN MÔN HỌC PHÂN TÍCH, THIẾT KẾ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI XÂY DỰNG WEBSITE MẠNG XÃ HỘI CÓ KIỂM SOÁT NỘI DUNG Giáo viên hướng dẫn ThS NGUYỄN AN.
====o0o==== BÁO CÁO NHĨM KHOA: CƠNG NGHỆ THƠNG TIN MƠN HỌC: PHÂN TÍCH, THIẾT KẾ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI: XÂY DỰNG WEBSITE MẠNG XÃ HỘI CĨ KIỂM SỐT NỘI DUNG Giáo viên hướng dẫn: ThS NGUYỄN ANH HÀO Sinh viên thực hiện: MSSV VŨ TUẤN ANH N18DCCN010 NGUYỄN HẢI ĐĂNG N18DCCN040 TP Hồ Chí Minh, ngày 18 tháng 10 năm 2022 I Giới thiệu Tên đồ án: Xây dựng website mạng xã hội có kiểm soát nội dung Loại đồ án: Xây dựng phần mềm ứng dụng Mục đích mục tiêu đồ án: - Mục đích: Ứng dụng cho phép muốn chia sẻ thơng tin, cảm nghĩ xã hội thu nhỏ - Mục tiêu: Tạo môi trường giúp người dễ dàng kết nối, giao lưu, chia sẻ kiến thức bàn luận vấn đề từ đâu thơng qua mạng Internet Thơng tin chia sẻ kiểm duyệt nội dung thông qua sách quản trị viên ban hành nhằm đảm bảo mơi trường thơng tin mạng bổ ích, phù hợp văn minh II Phân tích hệ thống Ngữ cảnh hệ thống: Hiện nay, mạng xã hội trở thành nơi mà người dùng sử dụng để kết nối với Đây nơi gặp mặt người thân, bạn bè cách xa mặt địa lý, mạng xã hội giúp trì mối quan hệ thân thiết tạo lập, xây dựng mối quan hệ Tuy nhiên, cần nhận thấy khơng người dùng nghĩ tự internet, tự mạng xã hội vô hạn, không thấy rõ gắn bó quyền lợi với nghĩa vụ trách nhiệm tham gia mạng xã hội Đặc biệt, tình trạng tin giả, lừa đảo, xuyên tạc, bịa đặt qua mạng xã hội vấn đề nhức nhối lên thời gian qua Do việc kiểm duyệt nội dung cần thiết để đảm bảo tính mạng xã hội Nhưng mạng xã hội không hỗ trợ kiểm duyệt nội dung tự động, quản trị viên phải kiểm duyệt nội dung cách thủ cơng Lược đồ usecase cho phân tích Lược đồ tuần tự: Sơ đồ Usecase U01: Tạo viết - Actors: User, Bài viết Sơ đồ Usecase U02: Tạo bình luận - Actors: User, Bài viết Sơ đồ Usecase U03: Thích viết - Actors: User, Bài viết Sơ đồ usecase tổng quát: Lược đồ tuần tự: Sơ đồ Usecase U04: Gửi lời mời kết bạn, Nhận lời mời, Hồi đáp lời mời - Actors: User, lời mời kết bạn Sơ đồ Usecase U05: Gửi tin nhắn, Nhận tin nhắn - Actors: User, Hộp tin nhắn Inputs: Tin nhắn người dùng gửi Outputs: Hiện tin nhắn nhận gửi Xử lý: Sử dụng API 10.1 để gửi tin nhắn sử dụng API 10.2 để nhận tin nhắn b) Api/Service - SendMessageToUser: API10.1 Inputs: Id người dùng A, Id người dùng B, tin nhắn nhập người dùng A Outputs: gửi ghi thành công, thất bại Xử lý: Gửi tin nhắn đến người dùng B sử dụng SP10.1 để lưu tin nhắn - ReceiveMessageFromUser: API10.2 Inputs: Id người dùng A, Id người dùng B Outputs: Những tin nhắn nhận từ người dùng A Xử lý: Liên tục nhận tin nhắn từ người dùng A c) DBMS Procedure - SP_ SendMessageToUser: SP10.1 Inputs: Id người dùng A, Id người dùng B, tin nhắn nhập người dùng A Outputs: ghi cập nhập thành công, thất bại Tables: User, Message 2.11 Usecase UD011 -Vai trị: Cho phép Admin trực tiếp xóa viết bình luận người dùng -Tương tác: +Form: UF11.1 +Api:API 11.1, 11.2 a) Forms Form UF1.3 Inputs: Admin chọn nút xóa viết nút xốt bình luận Outputs: Hiện thơng báo xóa thành cơng thất bại Xử lý: dùng API 11.1 11.2 để xóa liệu b) Api/Service - DeletePost: API11.1 Inputs: Id người dùng, Id viết Outputs: xóa thành cơng, thất bại Xử lý: Gọi SP11.1 để xóa liệu - DeleteComment: API11.2 Inputs: Id người dùng, Id viết, Id comment Outputs: xóa thành cơng, thất bại Xử lý: Gọi SP11.2 để xóa liệu c) DBMS Procedure - SP_ DeletePost: SP11.1 Inputs: Id người dùng, Id viết Outputs: xóa thành công, thất bại Tables: User, Post - SP_ DeleteComment: SP11.2 Inputs: Id người dùng, Id viết, Id comment Outputs: xóa thành cơng, thất bại Tables: User, Post, Comment 2.12 Usecase UD012 -Vai trị: Cho phép Admin quản lý hình phạt vi phạm -Tương tác: +Form: UF12.1 +Api: API 12.1 a) Forms Form UF12.1 Inputs: Hình phạt Admin chọn thêm vào xóa cho User vi phạm sách Outputs: Áp dụng hình phạt loại bỏ hình phạt cập nhật thành cơng, sau gửi thơng báo cho người dùng Xử lý: dùng API 12.1 để cập nhật hình phạt, API 12.2 để xóa hình phạt, API 12.3 để thêm người dùng vi phạm, API để xóa người dùng vi phạm, API 12.5 để gửi thông báo tới người dùng b) Api/Service - UpsertRules: API12.1 Inputs: RuleEntity Outputs: ghi thành công, thất bại Xử lý: Gọi SP11.1 để cập nhập liệu - DeleteRules: API12.2 Inputs: Id Rule Outputs: xóa thành cơng, thất bại Xử lý: Gọi SP12.2 để xóa hình phạt - AddUserToBlacklist: API12.3 Inputs: Id Blacklist, Id Rule, Id User Outputs: thêm thành công, thất bại Xử lý: Gọi SP12.3 để thêm người dùng vào danh sách vi phạm - RemoveUserFromBlacklist: API12.4 Inputs: Id User, Id Blacklist Outputs: xóa thành cơng, thất bại Xử lý: Gọi SP12.4 để xóa vi phạm - NotifyUser: API12.5 Inputs: Id User, Id Rule Outputs: gửi thành công, thất bại Xử lý: Gửi thơng báo cho người dùng hình phạt c) DBMS Procedure - SP_ UpsertRules: SP12.1 Inputs: RuleEntity Outputs: cập nhập thành công, thất bại Tables: Rules - SP_ DeleteRules: SP12.2 Inputs: Id Rule Outputs: xóa thành cơng, thất bại Tables: Rules - SP_ AddUserToBlacklist: SP12.3 Inputs: Id Blacklist, Id Rule, Id User Outputs: cập nhập thành công, thất bại Tables: Blacklists - SP_ RemoveUserFromBlacklist: SP12.4 Inputs: Id Blacklist, Id User Outputs: xóa thành cơng, thất bại Tables: Blacklists 2.13 Usecase UD013 -Vai trò: Cho phép admin soạn sách -Tương tác: +Form: UF13.1 +Api: API 13.1 a) Forms Form UF13.1 Inputs: Policy entity admin nhập vào Outputs: Thông báo thành công thông báo lỗi Xử lý: Dùng API13.1 để ghi liệu b) Api/Service - UpsertPolicy: API13.1 Inputs: PolicyEntity, RuleEntity[ ] Outputs: ghi thành công, thất bại Xử lý: Gọi SP13.1 để ghi liệu c) DBMS Procedure - SP_ UpsertPolicy: SP13.1 Inputs: PolicyEntity, RuleEntity[ ] Outputs: ghi thành công, thất bại Tables: Policies, Rules Cơ sở liệu ràng buộc 3.1 Lược đồ ERD 3.2 Database diagram 3.3 a) Bảng ràng buộc User Thuộc tính Id Email Password FirstName LastName Phone DateOfBirth CreatedTime UpdatedTime -Thẻ CRC: Kiểu liệu uniqueidentifier nvarchar(max) nvarchar(max) nvarchar(max) nvarchar(max) nvarchar(max) datetime2(7) datetime2(7) datetime2(7) Diễn giải Mã định danh người dùng Email người dùng, dùng để đăng nhập Mật dùng để đăng nhập Tên Họ Số điện thoại Ngày tháng năm sinh Thời gian tạo Thời gian cập nhật b) Posts Thuộc tính Id Caption UserId SharePostId CreatedTime UpdatedTime -Thẻ CRC: Kiểu liệu uniqueidentifier nvarchar(max) uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) Diễn giải Mã định danh viết Tiêu đề viết Mã tham chiếu đến bảng Users Mã định danh viết chia sẻ Thời gian tạo Thời gian cập nhật c) Contents Thuộc tính Id TextContent LinkContent Type PostId CreatedTime UpdatedTime - d) Kiểu liệu uniqueidentifier nvarchar(max) nvarchar(max) int uniqueidentifier datetime2(7) datetime2(7) Diễn giải Mã định danh nội dung Mô tả nội dung Tên file liên kết với nội dung Kiểu nội dung Mã tham chiếu đến bảng Posts Thời gian tạo Thời gian cập nhật Kiểu liệu uniqueidentifier int uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) Diễn giải Mã định danh tương tác Loại tương tác Mã tham chiếu đến bảng Users Mã tham chiếu đến bảng Posts Thời gian tạo Thời gian cập nhật Thẻ CRC: Reacts Thuộc tính Id Type UserId PostId CreatedTime UpdatedTime -Thẻ CRC: e) Comments Thuộc tính Id Comment UserId PostId CreatedTime UpdatedTime Kiểu liệu uniqueidentifier nvarchar(max) uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) Diễn giải Mã định danh bình luận Nội dung bình luận Mã tham chiếu đến bảng Users Mã tham chiếu đến bảng Posts Thời gian tạo Thời gian cập nhật -Thẻ CRC: f) Friendship Thuộc tính Id UserId FriendId Status CreatedTime UpdatedTime Kiểu liệu uniqueidentifier uniqueidentifier uniqueidentifier int datetime2(7) datetime2(7) Diễn giải Mã định danh kết bạn Mã người dùng 1, tham chiếu đến bảng Users Mã người dùng 2, tham chiếu đến bảng Users Trạng thái kết bạn Thời gian tạo Thời gian cập nhật g) Messages Thuộc tính Id Message UserId ChatroomId CreatedTime UpdatedTime Kiểu liệu uniqueidentifier nvarchar(max) uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) Diễn giải Mã định danh tin nhắn Nội dung tin nhắn Mã tham chiếu đến bảng Users Mã tham chiếu đến bảng Chatrooms Thời gian tạo Thời gian cập nhật -Thẻ CRC: h) Chatrooms Thuộc tính Id ChatroomName CreatedTime UpdatedTime -Thẻ CRC: Kiểu liệu uniqueidentifier nvarchar(max) datetime2(7) datetime2(7) Diễn giải Mã định danh trò chuyện Tên trò chuyện Thời gian tạo Thời gian cập nhật i) ChatroomEntityUserEntity Thuộc tính ChatMembersId ChatroomsId j) Kiểu liệu uniqueidentifier uniqueidentifier Diễn giải Mã tham chiếu đến bảng Users Mã tham chiếu đến bảng Chatrooms Kiểu liệu uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) datetime2(7) Diễn giải Mã định danh sách Người tạo sách Trạng thái Thời gian tạo Thời gian cập nhật Kiểu liệu uniqueidentifier uniqueidentifier int int int datetime2(7) datetime2(7) Diễn giải Mã định danh qui tắc Mã định danh sách Tên trị chuyện Hình phạt Số ngày phạt Thời gian tạo Thời gian cập nhật Policies Thuộc tính Id PolicyOwnerId Status CreatedTime UpdatedTime -Thẻ CRC: k) Rules Thuộc tính Id PolicyId Rule Punishment PunishmentDays CreatedTime UpdatedTime -Thẻ CRC: l) Blacklists Thuộc tính Id PunishedUserId ViolatedRuleId ExpireDate CreatedTime UpdatedTime -Thẻ CRC: Kiểu liệu uniqueidentifier uniqueidentifier uniqueidentifier datetime2(7) datetime2(7) datetime2(7) Diễn giải Mã định danh danh sách đen Mã định danh người dùng phạm luật Mã định danh luật vi phạm Ngày hết hạn lệnh trừng phạt Thời gian tạo Thời gian cập nhật ... UseCas e ID Nội dung yêu cầu StackHolder Thông báo cho người dùng đăng viết U03 UseCas e Người dùng nhận thông báo lượt thích từ viết họ Thơng báo 2-3 người dùng gần với tổng số lượt thích F01.01... sách phía người dùng F01.01 Phải có thơng báo cảnh cáo người dùng đăng bài, chia sẻ, bình luận với nội dung vi phạm sách Người dùng có quyền bỏ qua thơng báo cho ngữ cảnh nội dung phần mềm phát... biệt, emoji Ví dụ: Ck Editor Thơng báo viết cho người dùng U02 Khi người dùng dùng kí hiệu @ để tag người dùng Thì người F01.02 dùng đặt trorng kí hiệu @ nhận thơng báo viết UseCas e Mạng xã hội ID