CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Mục đích tài liệuHiện nay, trong thờ̀i đại phát triển công nghiệp 4.0, mạng xã hội đã trở thành mộtứng dụng gần như là không thể thiếu đối với mọi ngườ̀i
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
XÂY DỰNG WEBSITE MẠNG XÃ HỘI
ĐỒ ÁN MÔN PHÁT TRIỂN HỆ THỐNG WEB
GVHD: Ths Võ Tấn KhoaSinh viên thực hiện:
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……., ngày…… tháng……năm 2022
Trang 3Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 4BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN
Nguyễn Hữu Khang 19521665
Phạm Hoàng Khang 19521668
Trần Thị Thanh Tuyền 19522503
Võ Đoàn Kim Như 19521972
Lâm Trường Sơn 19522133
Trang 5Vì những tiện ích nổi bật và sự phổ biến của mạng xã hội cũng như nhu cầu củangườ̀i dùng trong việc sử dụng mạng xã hội, nhóm chúng em đã quyết định chọn đề tài là
“Xây dựng website mạng xã hội”
Trang 6DANH MỤC HÌNH
Hinh 1-1: Mô hinh thac nươc cai tiên 22
Hinh 2-1: Giao diện màn hình đăng nhập 25
Hinh 2-2: Giao diện màn hình đăng ký 26
Hinh 2-3: Giao diện màn hình trang cá nhân 26
Hinh 2-4: Giao diện màn hình chính của Facebook 27
Hinh 2-5: Giao diện thanh menu / tin nhắn / thông báo 27
Hinh 2-6: Giao diện trang chủ của instagram 29
Hinh 2-7: Giao diện trang cá nhân của instagram 29
Hinh 2-8: Giao diện màn hình chat của instagram 30
Hinh 3-1: Mô hinh kiên truc hê thông 36
Hinh 3-2: Sơ đô Usecase tông quat 39
Hinh 3-3: Sơ đô Usecase quan ly người dung 43
Hinh 3-4: Sơ đô Usecase quan ly bai đăng 48
Hinh 3-5: Sơ đô Usecase quan ly tin nhăn 58
Trang 7Hinh 4-1: Sơ đô lơp tông thê 80
Hinh 4-2: Cac lơp chinh 82
Hinh 4-3: Cơ sơ dư liêu 83
Hinh 4-4 Sơ đô liên kêt cac man hinh 87
Hinh 4-5: Thanh header 88
Hinh 4-6: Thanh tim kiêm 90
Hinh 4-7: Thêm bai viêt 91
Hinh 4-8: Giao diên sau khi chon anh 92
Hinh 4-9: User navigation 93
Hinh 4-10: Trang đăng nhâp 94
Hinh 4-11: Trang đăng ky 96
Hinh 4-13: Bai viêt 99
Hinh 4-14: Trang tin nhăn 100
Hinh 4-16: Giao diên cai đặt cuôc trò chuyên nhom 102
Hinh 4-17: Popup cai đặt thanh viên 104
Trang 8Hinh 4-18: Trang ca nhân 105
Hinh 4-19: Popup followers 107
Hinh 4-20: Popup xac nhân 108
Hinh 4-21: Popup following 109
Hinh 4-22: Popup xac nhân 110
Hinh 4-23: Trang cai đặt người dung 111
Hinh 6-1: Quá trình làm việc ở Trello 118
Hinh 6-2: Giao diện quản lý source code Backend trên Github 119
Hinh 6-3: Giao diện quản lý source code Frontend trên Github 119
Hinh 6-4: Giao diện thiết kế giao diện trên Figma 120
Hinh 6-5: Giao diện quản lý hình ảnh của trang web 121
Trang 9DANH MỤC BANG
Bang 3-1: Bang chu giai sơ đô Usecase 37
Bang 3-2: Bang mô ta Actors 38
Bang 3-3: Bang mô ta Usecase 39
Bang 3-4: Danh sach yêu câu tiên dung 75
Bang 3-5: Danh sach yêu câu hiêu qua 76
Bang 4-1: Collection USER 83
Bang 4-2: Collection POST 84
Bang 4-3: Collection COMMENT 85
Bang 4-4: Collection CONVERSATION 85
Bang 4-5: Collection MESSAGE 86
Bang 4-6: Collection NOTIFICATION 86
Bang 4-7: Danh sach mang hinh chinh 88
Bang 4-8: Mô ta thanh phân thanh header 88
Bang 4-9: Mô ta thanh phân thanh tim kiêm 90
Trang 10Bang 4-10: Mô ta thanh phân thêm bai viêt mơi 91
Bang 4-11: Mô ta thanh phân thêm bai viêt 92
Bang 4-12: Mô ta thanh phân trang chu 93
Bang 4-13: Mô ta thanh phân trang đăng nhâp 94
Bang 4-14: Mô ta thanh phân trang đăng ky 96
Bang 4-15: Mô ta thanh phân ban tin 98
Bang 4-16: Mô ta thanh phân bai viêt 100
Bang 4-17: Mô ta thanh phân trang tin nhăn 100
Bang 4-19: Mô ta thanh phân cai đặt cuôc trò chuyên nhom 102
Bang 4-20: Mô ta thanh phân Popup xoa thanh viên 104
Bang 4-21: Mô ta thanh phân trang ca nhân 105
Bang 4-22: Mô ta thanh phân Popup followers 107
Bang 4-23: Mô ta thanh phân Popup xac nhân 108
Bang 4-24: Mô ta thanh phân Popup following 108
Bang 4-25: Mô ta thanh phân Popup xac nhân 109
Trang 11Bang 4-26: Mô ta thanh phân trang cai đặt người dung 110
Trang 12MỤC LỤC
BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN 4
LỜI MỞ ĐẦU 5
DANH MỤC HÌNH 6
DANH MỤC BANG 9
MỤC LỤC 12
CHƯƠNG 1: GIỚI THIỆU CHUNG 17
1.1 Mục đích tài liệu 17
1.2 Phạm vi hệ thống 19
1.3 Khái niệm, thuật ngữ 19
1.4 Mô tả tài liệu 19
1.5 Kế hoạch thực hiện đồ án 20
1.5.1 Quy trình quản lý dự án 20
1.5.2 Kế hoạch chi tiết – áp dụng quy trình phát triển phần mềm 20
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG 25
Trang 132.1 Kế hoạch khảo sát: 25
2.2 Khảo sát các mạng xã hội hiện có: 25
2.2.1 Facebook 25
2.2.2 Instagram 29
2.3 Danh sách các yêu cầu 31
2.3.1 Yêu cầu chức năng: 31
2.3.2 Yêu cầu phi chức năng 31
2.4 Mô tả tổng thể 32
2.4.1 Mô tả tổng thể 32
2.4.2 Chức năng hệ thống 32
2.5 Ràng buộc, giả định và phụ thuộc 33
2.5.1 Ràng buộc 33
2.5.2 Giả định 34
2.5.3 Phụ thuộc 35
CHƯƠNG 3: ĐẶC TẢ YÊU CẦU 36
Trang 143.1 Thiết kế kiến trúc 36
3.2 Mô tả sơ đồ chức năng 37
3.2.1 Sơ đô Usecase tông quat 37
3.3 3.3 Yêu cầu chức năng 42
3.3.1 Quản lý user 42
3.3.2 Quản lý bài đăng 48
3.3.3 Quản lý tin nhắn 58
3.3.4 Đăg ky 73
3.3.5 Đăg nhâp 74
3.4 Yêu cầu phi chức năng 75
CHƯƠNG 4: CHƯƠNG 4: THIẾT KẾ 78
4.1 Thiết kế dữ liệu 78
4.1.1 Thiết kế sơ đồ lớp 78
4.1.2 Sơ đồ logic hoàn chỉnh 83
4.1.3 Danh sách các collection trong sơ đồ 83
Trang 154.2 Thiết kế giao diện 87
4.2.1 Sơ đô liên kêt cac mang hinh 87
4.2.2 Thanh phân giao diên dung chung 88
4.2.3 Đăng nhâp 94
4.2.4 Đăng ky 95
4.2.5 Trang chu 97
4.2.6 Trang tin nhăn 100
4.2.7 Trang ca nhân 104
4.2.8 Trang cai đặt 110
CHƯƠNG 5: HIỆN THỰC 112
5.1 Các công nghệ sử dụng 112
5.1.1 Front-end 112
5.1.2 Back-end 113
5.1.3 Database 113
5.2 Cài đặ—t và kiểm thử 114
Trang 16CHƯƠNG 6: ĐÁNH GIÁ VÀ KẾT LUẬN 117
6.1 Nhận xét 117
6.1.1 Quá trình làm việc 117
6.1.2 Kết quả đạt được 120
6.1.3 Ưu điểm 121
6.1.4 Hạn chế 121
6.2 Hướng phát triển 122
TÀI LIỆU THAM KHẢO 124
Trang 17CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Mục đích tài liệu
Hiện nay, trong thờ̀i đại phát triển công nghiệp 4.0, mạng xã hội đã trở thành mộtứng dụng gần như là không thể thiếu đối với mọi ngườ̀i, cùng với nhiều tính năng, tiệních nổi bật giúp mọi ngườ̀i dễ dàng kết nối, chia sẻ thông tin, trò̀ chuyện với nhau mộtcách nhanh nhất
Mạng xã hội xuất hiện và phát triển đã đem lại rất nhiều lợi ích cho cộng đồng như:
Giúp kết nối các mối quan hệ: là nơi chúng ta có thể gặ—p mặ—t ngườ̀i thân, bạn bèmặ—c dù cách xa về mặ—t địa lý, mạng xã hội giúp duy trì các mối quan hệ thân thiết và tạolập, xây dựng các mối quan hệ mới Mạng xã hội là nơi cập nhật những thông tin, xu thếmới trong đờ̀i sống hằng ngày Thông qua mạng xã hội ngườ̀i dùng dễ dàng cập nhậtđược thông tin, kiến thức lĩnh vực mà ngườ̀i dùng quan tâm Mạng xã hội giúp ngườ̀idùng cập nhật, nắm bắt thông tin một cách nhanh chóng, kịp thờ̀i
Nơi chia sẻ cảm xúc: Thông qua mạng xã hội ngườ̀i dùng có thể chia sẻ niềm vuicủa mình đến với mọi ngườ̀i xung quanh và nhận lại những chia sẻ an ủi của bạn bè khigặ—p chuyện buồn thông qua những chia sẻ những tâm sự của mình trên mạng xã hội.Kinh doanh quảng cáo không mất phí: Nếu như trước đây việc bán hàng được thựchiện trực tiếp ở chợ, siêu thị thì hiện nay với sự phát triển của mạng xã hội ngườ̀i dùng cóthể kinh doanh, quảng cáo online trên mạng xã hội mà không mất phí Ngườ̀i kinh doanh
có thể kinh doanh các sản phẩm trên các trang mạng xã hội như facebook, instagram,zalo,…hoặ—c với những nhà kinh doanh chuyên nghiệp họ có thể tạo các trang bán hàng
Trang 18riêng Có thể nói hiện nay việc kinh doanh trên mạng xã hội khá phổ biến và được nhiều ngườ̀i quan tâm.
Nơi để giải trí, thư giãn: Sau một ngày dài làm việc, học tập mệt mỏi thì mạng xãhội với những tính năng tiện ích như nghe nhạc, xem phim, chơi game sẽ giúp ngườ̀idùng thư giãn và thoải mái đầu óc
Bên cạnh những lợi ích trên, thì mạng xã hội cũng đem lại nhiều tác hại đáng kể:Ngườ̀i dùng dành quá nhiều thờ̀i gian vào mạng xã hội: Mạng xã hội thu hút, hấp dẫn ngườ̀i dùng bởi những tính năng tiện ích mà nó mang lại, nhưng cũng chính vì những tính năng tiện ích của mạng xã hội đã khiến nhiều ngườ̀i dùng không kiểm soát được việc dùng mạng xã hội mà bỏ bê công việc, học tập, trở nên nghiện mạng xã hội Đặ—c biệt là những ngườ̀i trẻ, do sức hút quá lớn của mạng xã hội mà nhiều ngườ̀i trẻ dành quá nhiều thờ̀i gian trong một ngày chỉ để lướt mạng xã hội
từ đó làm ảnh hưởng đến công việc và học tập.
Giảm sự tương tác trực tiếp với các mối quan hệ xung quanh: Hiện nay tình trạngbạn bè chỉ tương tác với nhau qua điện thoại quá phổ biến, điều đó làm cho các mối quan
hệ trở nên xa cách hơn
Lừa đảo qua mạng: Do thông tin trên mạng xã hội bảo mật không tốt, ngườ̀i dùng
có thể dễ dàng bị đánh cắp thông tin Ngoài ra, ngườ̀i dùng có thể bị mạo danh Tài khoản của ngườ̀i dùng có thể bị mất và có thể có ngườ̀i mạo danh thực hiện các hành động phi pháp như lừa gạt tiền bạc danh sách bạn bè trên mạng của ngườ̀i dùng.
Với mục đích tìm hiểu và nâng cao kiến thức của mình, nhóm chúng em đã thựchiện đê tài này dưới sự dẫn dắt của ThS Võ Tấn Khoa Tài liệu chỉ mang tính chất 18 | P
Trang 19tương đối vì lượng kiến thức cò̀n hạn hẹp, nhóm chúng em mong nhận được góp ý và sửachữa để đê tài mang tính khả thi hơn.
1.2 Phạm vi hệ thống
Phần mềm được xây dựng với mục đích phục vụ tất cả ngườ̀i dùng có nhu cầu sửdụng mạng xã hội
1.3 Khái niệm, thuật ngữ
Mô hình thác nước cải tiến: Mô hình thác nước là một mô hình có tính trình tự
trong phát triển phần mêm Nó chú trọng vào sự phát triển logic và lần lượt trong suốtvò̀ng đờ̀i phát triển phần mêm Mô hình thác nước cải tiến, bản chất tương tự như môhình thác nước Nhưng sẽ có một vò̀ng lặ—p tạo ra sản phâ m mẫu để đánh giá và xác định
rõ yêu cầu Khi đã đảm bảo yêu cầu sẽ bước vào phát triển phần mêm
Use-Case: là một kỹ thuật được dùng trong kỹ thuật phần mêm và hệ thống để nắm
bắt yêu cầu chức năng của hệ thống Use-case mô tả sự tương tác đặ—c trưng giữa ngườ̀idùng bên ngoài (actor) và hệ thống Một trong những cách biểu diễn trực quan phổ biếnhiện nay là lược đồ use-case của UML
1.4 Mô tả tài liệu
Tài liệu bao gồm các phần chính sau:
- Phần 1: Giới thiệu chung
Trang 20- Phần 7: Tài liệu tham khảo.
1.5 Kế hoạch thực hiện đồ án
1.5.1 Quy trình quản lý dự án
- Phác thảo sơ lược mô hình dữ liệu
- Khảo sát hiện trạng/khảo sát ứng dụng liên quan
- Phân tích đặ—c tả yêu cầu
Khảo sát ứng dụng liên quan (Facebook/Instagram)
- Phác thảo sơ lược mô hình dữ liệu
Phân tích đối tượng và các thuộc tính Vẽ mô hình sơ đồ lớp
Vẽ sơ đồ logic
Trang 21- Phân tích đặ—c tả yêu cầu: Dựa trên các đặ—c tả yêu cầu đã thu thập để phác thảo UI
và thiết kế các tính năng cơ bản
- Thiết kế:
Thiết kế hệ thống
1 Vẽ Use-case: phân tích nghiệp vụ tổng quan
2 Vẽ sơ đồ Squence Diagram
4 Xác định kiến trúc hệ thống Thiết kế dữ liệu
1 Phân tích dữ liệu dựa trên yêu cầu ngườ̀i dùng
2 Kết quả đầu ra là tài liệu thiết kế dữ liệu, dùng để phục vụ thiết kế database
Thiết kế giao diện
1 Dùng figma, photoshop để phác thảo giao diện và xử lí hình ảnh
2 Sau khi phác thảo giao diện, sử dụng visual studio code để tiến hành code giao diện
- Code và kiểm thử
1 Phân chia nhiệm vụ code theo yêu cầu
2 Tạo các test case để test hệ thống
1 Deploy hệ thống Frontend bằng Netlify
2 Deploy hệ thống Backend bằng Heroku
Sử dụng Quy trình Thác nước Cải tiến để thực hiện đồ án:
Trang 22Hình 1-1: Mô hình thac nước cải tiến
Giải thích về quy trình:
Mô hình thác nước là một mô hình của quy trình phát triển phần mêm, trong đó quytrình phát triển trông giống như một dò̀ng chảy, với các pha được thực hiện theo trật tựnghiêm ngặ—t
Đi qua các giai đoạn chính:
Trang 23➔ Bản chất tương tự như mô hình thác nước Nhưng có thể quay lại bước trước đó
để hoàn thiện hay sửa lỗi rồi mới tiếp tục Vì vậy, dễ dàng nắm được toàn bộ thông tin củagiai đoạn trước để thực hiện giai đoạn hiện tại
Cách tổ chức quản lý thành viên:
Leader: Võ Đoàn Kim Như
Team chúng em cùng thảo luận, họp bàn để phân công, phân chia tìm hiểu kiến thức
vê mỗi giai đoạn Mỗi bạn trong nhóm sẽ có vai trò̀ riêng Khi đã nắm được kiến thức vêgiai đoạn mình tìm hiểu → Tiến hành training và thực hiện ngay
Sau mỗi giai đoạn được hoàn thành → Tiến hành kiểm tra, nếu có lỗi có thể quaylại bước trước đó để hoàn thiện hay sửa lỗi rồi mới tiếp tục tới tiếp theo Cứ như vậy chotới khi hoàn thành hết tất cả các giai đoạn, nhóm em sẽ báo cáo cuối ky
Trao đổi thông tin:
Facebook – Messenger: Nơi trao đổi thông tin, tài liệu, vấn đề khi thực hiện dựán
Google Meet: Meeting bàn luận, demo về các chức năng đã thực hiện
Quản lí tiến độ công việc:
Trello
Thiết kế diagram:
Draw.io
Trang 24Thiết kế giao diện:
Figma
Photoshop
Quản lí source code:
Github
Trang 25CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG
2.1 Kế hoạch khảo sát:
Thực hiện đồ án trong bối cảnh dịch bệnh covid-19 cò̀n diễn biến phức tạp, vì muốnchấp hành mong muốn cũng như yêu cầu của chính phủ nước CHXHCN VN, chúng emquyết định thực hiện cuộc khảo sát qua việc tìm hiểu thông tin trên internet Mạng xã hộiphát triển có liên quan trực tiếp đến sự phát triển của internet nên việc tìm hiểu thông tintrên mạng có thể cung cấp một cái nhìn tổng quát về sự hình thành, phát triển cũng như
xu hướng của mạng xã hội hiện nay
2.2 Khảo sát các mạng xã hội hiện có:
2.2.1 Facebook
Các màn hình giao diện chính:
Trang 26Hình 2-2: Giao diện màn hì̀nh đăng nhập
Hình 2-3: Giao diện màn hì̀nh đăng ký
Trang 27Hình 2-4: Giao diện màn hì̀nh trang cá nhân
Hình 2-5: Giao diện màn hì̀nh chính của Facebook
Trang 28Hình 2-6: Giao diện thanh menu / tin nhắn / thông báo
Nhận xét giao diện:
Giao diện của Facebook nhìn chung được xây dựng với bố cục rõ ràng và khá dễhiểu, các khối nội dung được sắp xếp có logic giúp ngườ̀i dùng thuận tiện trong quá trìnhthao tác
Giao diện có hai tùy chỉnh màu chủ đạo (dark mode và light mode), làm đa dạnghóa về sự lựa chọn màu chủ đạo cho ngườ̀i dùng
Giao diện có sử dụng các icon làm tăng sự sinh động và tạo cảm giác dễ tiếp cậncho ngườ̀i dùng Màu sắc của icon, chữ, vùng sáng, tối được phối hợp hài hò̀a
Font chữ sans-serif tạo cảm giác thân thiện và dễ đọc hơn cho ngườ̀i dùng, phù hợp với giao diện web của Facebook
Trang 29 Nhận xét chức năng:
Facebook đã xây dựng một nền tảng mạng xã hội với đa dạng các chức năng, trong
đó các chức năng chính dành cho ngườ̀i dùng bao gồm:
- Đăng nhập, đăng ký tài khoản
- Quản lý thông tin tài khoản ngườ̀i dùng
- Đăng, sửa, xóa, chia sẻ, tương tác bài viết (chứa nội dung văn bản, hình ảnh, âm thanh, video)
- Tìm kiếm (lọc theo nhiều nội dung)
- Kết bạn, follow, tạo nhóm
- Nhắn tin, gọi điện
Ngoài ra, Facebook cung cấp hàng loạt các chức năng tiện ích khác như bán hàng,quảng cáo, livestream, tìm địa điểm hiến máu, quyên góp giúp đỡ ngườ̀i ở các khu vực bịthiên tai/bệnh dịch/khủng hoảng, sức khỏe tinh thần, phương thức thanh toán FacebookPay, Messenger Kids, Games, thờ̀i tiết, …
Hầu hết các chức năng của Facebook được xây dựng đều hoạt động tốt, đáp ứng được nhu cầu ngườ̀i dùng hiện nay
2.2.2 Instagram
Các màn hình giao diện chính:
Trang 30Hình 2-7: Giao diện trang chủ của instagram
Hình 2-8: Giao diện trang cá nhân của instagram
Trang 31Hình 2-9: Giao diện màn hì̀nh chat của instagram
Nhận xét giao diện:
Nhìn chung giao diện của Instagram tương đối đơn giản tối ưu cho trải nghiệmngườ̀i dùng, instagram tập trung chủ yếu vào việc chia sẻ hình ảnh và video nên các mànhình tin nhắn và các giao diện phụ được tối giản để phục vụ cho mục đích chính củamình
Nhận xét về chức năng:
- Xem và chia sẻ hình ảnh và video: Một bức ảnh, video đơn giản có thể nói lên hếtnhững suy nghĩ và cảm xúc của bạn Bạn dễ dàng xem và chia sẻ những hình ảnh, videothay lờ̀i muốn nói trên ứng dụng Instagram Đặ—c biệt, bạn có thể xem lại những hình ảnhbạn đã like dễ dàng từ vài tuần đến vài tháng trước Ngoài ra, bạn có thiết lập quyền riêng tưkhi chia sẻ ảnh và video trên ứng dụng, bạn dễ dàng quản lý ai được quyền xem và likenhững bức ảnh, video của bạn
- Công cụ tạo ảnh và video sống động: Bạn dễ dàng chỉnh sửa ảnh và video bằngInstagram để có những hình ảnh đẹp nhất trước khi đăng lên bảng tin của mình Với nhữngcông cụ chỉnh sửa đơn giản như các bộ lọc, hiệu ứng, bóng mờ̀, làm rõ nét, chỉnh sửa màusắc… để có bức ảnh đẹp nhất
Trang 32- Tìm kiếm và khám phá nhiều nội dung từ cộng đồng: Instagram là ứng dụng mạng
xã hội phát triển rộng rãi trên toàn thế giới Vì vậy, cũng như các ứng dụng mạng xã hộikhác, bạn dễ dàng tìm kiếm và khám phá mọi thứ từ những hình ảnh, video trong các mụcIGTV, cửa hàng, trang trí, du lịch, kiến trúc… được chia sẻ trên Instagram
- Tích hợp công cụ nhắn tin: Bạn có thể nhắn tin, trò̀ chuyện cùng bạn bè ngườ̀ithân, với những ngườ̀i mình yêu quý và có chung sở thích qua Instagram Ngoài ra, bạn cóthể sử dụng tính năng gọi video call để trò̀ chuyện miễn phí ngay trên ứng dụng
2.3 Danh sách các yêu cầu
2.3.1 Yêu cầu chức năng:
- Quản lý tài khoản: đăng nhập, đăng ký, xem và thay đổi thông tin cá nhân
- Quản lý bài đăng: xem các bài đăng của bạn bè, đăng bài và chỉnh sửa bài viết
- Quản lý bạn bè: xem danh sách bạn bè, tìm kiếm và theo dõi bạn bè
- Quản lý thông báo: thông báo cho ngườ̀i dùng khi có thông tin mới
- Quản lý tin nhắn, gọi video: nhắn tin cho bạn bè hoặ—c nhóm bạn bè, xem lịch sử tin nhắn, trả lờ̀i tin nhắn, gọi video với bạn bè
2.3.2 Yêu cầu phi chức năng
- Giao diện đơn giản, dễ sử dụng và dễ tương tác, phù hợp với nhiều ngườ̀i dùng ở mọi lứa tuổi
- Bảo mật thông tin của ngườ̀i dùng và tin nhắn của ngườ̀i dùng với nhau
Trang 33- Sức chứa thông tin phải lớn.
- Thờ̀i gian đáp ứng yêu cầu của ngườ̀i dùng nhanh
- Quản lý bài đăng
- Quản lý bạn bè, theo dõi
- Quản lý thông báo
- Nhắn tin, gọi video
- Quản lý thông tin cá nhân
- Quản lý bài đăng:
Like, bình luận bài đăngXóa, chỉnh sửa bài đăng
Trang 34- Nhắn tin, gọi video:
Nhắn tin với bạn bè: gửi tin nhắn, trả lờ̀i tin nhắn và lưu trữ tin nhắn, chuyển tiếp tin nhắn
Nhắn tin trong nhóm: gửi tin nhắn với nhóm, thêm hoặ—c xóa thanh viên, lưutrữ tin nhắn
- Quản lý thông tin cá nhân:
Chỉnh sửa thông tin cá nhân như: tên, tuổi, nơi ở, giới tính, …
Chỉnh sửa mật khẩu tài khoản
2.5 Ràng buộc, giả định và phụ thuộc
Trang 35- Ngôn ngữ lập trình Front-end: ReactJS, SCSS.
- Hệ cơ sở dữ liệu: MongoDB
- Ngôn ngữ lập trình Back-end: NodeJS, Socket.io
Trang 362.5.3 Phụ thuộc
Bước xây dựng mô hình cơ sở dữ liệu là tiên đê để triển khai chức năng của phần mêm Giao diện được hoàn thiện sau khi các chức năng thành phần được đặ—c tả
Trang 37CHƯƠNG 3: ĐẶC TẢ YÊU CẦU3.1 Thiết kế kiến trúc
Trang 383.2 Mô tả sơ đồ chức năng
3.2.1 Sơ đô Usecase tông quat
Bang chu giai:
Bảng 3-1: Bảng chú giải sơ đồ Usecase
Actor Actor: co thê la người dung hoặc
môt hê thông nao khac bât ky
Usecase Usecase: la chưc năng ma Actor
co thê sư dung
Communication Communication Link: kêt nôilink giưa Actor va Usecase, cho biêt
Actor đo co nhưng sư tương tacnao đôi vơi hê thông
Relationship Relationship: môi quan hê giưa
cac Usecase vơi nhau
- Quan hê Include: mô taUsecase lơn đươc chiathanh cac Usecase nho hơn
Trang 39đê dê cai đặt.
- Quan hê Extend: sư dungkhi co môt Usecase đươctao ra đê bô xung chưcnăng cho môt Usecase cosẵn
- Quan hê Generalization:thê hiên quan hê kê thưagiưa cac Actor hoặc giưacac Usecase vơi nhau
Boundary of System Boundary: dung đê xacSystem đinh pham vi cua hê thông ma ta
đang thiêt kê.Cac đôi tương nămngoai hê thông nayco tương tacvơi hê thông đươc goi la cacActor
Trang 40Sơ đô usecase tông quat
Hình 3-11: Sơ đồ Usecase tổng quat
Mô tả use-case
Bảng 3-3: Bảng mô tả Usecase