GIỚI THIỆU CHUNG
Mục đích tài liệu
Trong thời đại công nghiệp 4.0 hiện nay, mạng xã hội đã trở thành một công cụ thiết yếu cho mọi người, với nhiều tính năng nổi bật giúp kết nối, chia sẻ thông tin và trò chuyện một cách nhanh chóng và thuận tiện.
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ư:
Mạng xã hội giúp kết nối các mối quan hệ, cho phép chúng ta gặp gỡ người thân và bạn bè dù ở xa Nó duy trì các mối quan hệ thân thiết và tạo ra cơ hội xây dựng mối quan hệ mới Bên cạnh đó, mạng xã hội là nguồn thông tin phong phú, giúp người dùng cập nhật những xu hướng mới trong cuộc sống hàng ngày Người dùng có thể dễ dàng tiếp cận thông tin và kiến thức trong lĩnh vực mà họ quan tâm, từ đó nắm bắt thông tin một cách nhanh chóng và kịp thời.
Mạng xã hội là nơi lý tưởng để người dùng chia sẻ cảm xúc, từ niềm vui đến nỗi buồn Qua những bài viết và tâm sự, người dùng có thể kết nối với bạn bè, nhận được sự an ủi và chia sẻ từ những người xung quanh, tạo nên một cộng đồng hỗ trợ lẫn nhau trong những lúc khó khăn.
Kinh doanh quảng cáo miễn phí trên mạng xã hội đang trở thành xu hướng phổ biến Trước đây, việc bán hàng chủ yếu diễn ra tại chợ và siêu thị, nhưng với sự phát triển của các nền tảng như Facebook, Instagram và Zalo, người dùng giờ đây có thể dễ dàng quảng bá và kinh doanh sản phẩm mà không tốn chi phí Nhiều doanh nhân chuyên nghiệp còn tạo ra các trang bán hàng riêng để thu hút khách hàng Sự thuận tiện và hiệu quả của việc kinh doanh trên mạng xã hội đã thu hút sự quan tâm của đông đảo người tiêu dùng.
Sau một ngày dài làm việc và học tập căng thẳng, mạng xã hội trở thành nơi lý tưởng để giải trí và thư giãn Với các tính năng tiện ích như nghe nhạc, xem phim và chơi game, người dùng có thể dễ dàng tìm thấy niềm vui và sự thoải mái cho tâm hồn.
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ể:
Mạng xã hội thu hút người dùng với nhiều tính năng tiện ích, nhưng cũng khiến họ mất kiểm soát và trở nên nghiện Điều này đặc biệt ảnh hưởng đến giới trẻ, khi họ dành quá nhiều thời gian trong ngày chỉ để lướt mạng xã hội, dẫn đến việc bỏ bê 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 đang trở thành vấn đề phổ biến hiện nay, khi mà bạn bè thường chỉ giao tiếp qua điện thoại Hành động này khiến cho các mối quan hệ trở nên xa cách và thiếu đi sự gắn kết cần thiết.
Lừa đảo qua mạng đang gia tăng do thông tin trên mạng xã hội không được bảo mật tốt, khiến người dùng dễ bị đánh cắp dữ liệu cá nhân Ngoài ra, tình trạng mạo danh cũng trở nên phổ biến, dẫn đến việc tài khoản của người dùng có thể bị mất và bị lợi dụng để thực hiện các hành vi phi pháp, như lừa gạt tiền bạc từ danh sách bạn bè.
Nhằm nâng cao kiến thức, nhóm chúng em đã thực hiện đề tài dưới sự hướng dẫn của ThS Võ Tấn Khoa Tài liệu này chỉ mang tính chất tương đối do lượng kiến thức còn hạn chế, vì vậy nhóm mong nhận được ý kiến đóng góp và chỉnh sửa để đề tài trở nên khả thi hơn.
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.
Khái niệm, thuật ngữ
Mô hình thác nước cải tiến là một phương pháp phát triển phần mềm theo trình tự, tương tự như mô hình thác nước truyền thống Tuy nhiên, nó bổ sung thêm một vòng lặp để tạo ra sản phẩm mẫu, giúp đánh giá và làm rõ yêu cầu trước khi tiến hành phát triển phần mềm Điều này đảm bảo rằng các yêu cầu được xác định chính xác, từ đó nâng cao chất lượng sản phẩm cuối cùng.
Use-Case là một kỹ thuật quan trọng trong kỹ thuật phần mềm, giúp nắm bắt yêu cầu chức năng của hệ thống Nó mô tả sự tương tác giữa người dùng bên ngoài (actor) và hệ thống, cung cấp cái nhìn rõ ràng về các chức năng cần thiết Một trong những cách biểu diễn phổ biến cho use-case hiện nay là lược đồ use-case trong UML, giúp trực quan hóa các tương tác này một cách hiệu quả.
Mô tả tài liệu
Tài liệu bao gồm các phần chính sau:
- Phần 2: Khảo sát hiện trạng.
- Phần 3: Đặc tả yêu cầu hệ thống.
- Phần 6: Đánh giá và kết luận
- Phần 7: Tài liệu tham khảo.
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.
1.5.2 Kế hoạch chi tiết – áp dụng quy trình phát triển phần mềm
- Khảo sát hiện trạng/khảo sát ứng dụng liên quan.
Phân tích tính khả thi và cách thức thực hiện.
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.
- 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.
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.
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.
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.
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:
Hình 1-1: Mô hình thác nước cải tiến
Giải thích về quy trình:
Mô hình thác nước là một quy trình phát triển phần mềm đặc trưng bởi sự tuần tự chặt chẽ của các giai đoạn Mỗi pha trong quy trình được thực hiện theo một trình tự nghiêm ngặt, đảm bảo rằng các bước phát triển được hoàn thành trước khi chuyển sang giai đoạn tiếp theo Các giai đoạn chính của mô hình này bao gồm: yêu cầu, thiết kế, lập trình, kiểm thử và bảo trì.
Mô hình này tương tự như mô hình thác nước, nhưng cho phép quay lại các bước trước để hoàn thiện hoặc sửa lỗi trước khi tiếp tục Nhờ đó, người dùng dễ dàng nắm bắt thông tin từ giai đoạn trước, giúp thực hiện hiệu quả 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ư
Nhóm chúng em đã tổ chức thảo luận và họp bàn để phân công nhiệm vụ, tìm hiểu kiến thức về từng giai đoạn Mỗi thành viên sẽ đảm nhận vai trò riêng, và sau khi nắm vững kiến thức về giai đoạn của mình, chúng em sẽ tiến hành đào tạo và thực hiện ngay.
Sau mỗi giai đoạn hoàn thành, cần tiến hành kiểm tra Nếu phát hiện lỗi, có thể quay lại bước trước để sửa chữa hoặc hoàn thiện trước khi tiếp tục sang giai đoạn tiếp theo.
Cứ như vậy cho tớ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 kỳ.
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:
KHẢO SÁT HIỆN TRẠNG
Kế hoạch khảo sát
Trong bối cảnh dịch bệnh COVID-19 diễn biến phức tạp, chúng tôi đã quyết định thực hiện đồ án khảo sát thông qua việc tìm hiểu thông tin trên internet nhằm chấp hành yêu cầu của chính phủ Việt Nam Sự phát triển của mạng xã hội có liên quan chặt chẽ đến sự phát triển của internet, do đó, việc nghiên cứu thông tin trực tuyến sẽ mang lại cái nhìn tổng quát về sự hình thành, phát triển và xu hướng hiện tại của mạng xã hội.
Khảo sát các mạng xã hội hiện có
Các màn hình giao diện chính:
Hì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ý
Hì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
Hình 2-6: Giao diện thanh menu / tin nhắn / thông báo
Giao diện Facebook được thiết kế với bố cục rõ ràng và dễ hiểu, giúp người dùng dễ dàng thao tác nhờ vào sự sắp xếp logic của các khối nội dung.
Giao diện có hai tùy chỉnh màu chủ đạo (dark mode và light mode), làm đa dạng hóa về sự lựa chọn màu chủ đạo cho người dùng
Giao diện sử dụng các biểu tượng giúp tăng tính sinh động và tạo cảm giác dễ tiếp cận cho người dùng Sự phối hợp màu sắc giữa biểu tượng, chữ viết và các vùng sáng tối rất hài hòa, mang lại trải nghiệm trực quan tốt hơn.
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.
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.
Facebook không chỉ là một nền tảng mạng xã hội mà còn cung cấp nhiều chức năng tiện ích như bán hàng, quảng cáo, livestream, và tìm kiếm địa điểm hiến máu Ngoài ra, người dùng có thể quyên góp hỗ trợ cho những người bị ảnh hưởng bởi thiên tai, dịch bệnh hoặc khủng hoảng, cũng như tìm kiếm thông tin về sức khỏe tinh thần Facebook còn tích hợp phương thức thanh toán Facebook Pay, Messenger Kids và các trò chơi giải trí, cùng với cập nhật 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.
Các màn hình giao diện chính:
Hì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
Hình 2-9: Giao diện màn hình chat của instagram
Giao diện của Instagram được thiết kế đơn giản, tối ưu hóa trải nghiệm người dùng Nền tảng này chủ yếu tập trung vào việc chia sẻ hình ảnh và video, vì vậy các màn hình tin nhắn và giao diện phụ được tối giản để phục vụ cho mục đích chính của nó.
Nhận xét về chức năng:
Xem và chia sẻ hình ảnh, video trên Instagram giúp bạn truyền tải suy nghĩ và cảm xúc một cách dễ dàng Ứng dụng cho phép bạn xem lại những bức ảnh, video đã thích trong khoảng thời gian từ vài tuần đến vài tháng trước Bên cạnh đó, bạn cũng có thể thiết lập quyền riêng tư để quản lý ai có quyền xem và thích những nội dung của mình.
Công cụ chỉnh sửa ảnh và video trên Instagram giúp bạn tạo ra những hình ảnh sống động và ấn tượng trước khi chia sẻ trên bảng tin Với các tính năng đơn giản như bộ lọc, hiệu ứng, làm mờ, làm rõ nét và chỉnh sửa màu sắc, bạn có thể dễ dàng biến những bức ảnh của mình trở nên đẹp nhất.
Instagram là một ứng dụng mạng xã hội phổ biến toàn cầu, cho phép người dùng dễ dàng tìm kiếm và khám phá nội dung đa dạng từ cộng đồng Tại đây, bạn có thể thưởng thức hình ảnh và video trong các mục như IGTV, cửa hàng, trang trí, du lịch và kiến trúc, mang đến trải nghiệm phong phú và đầy cảm hứng.
Tích hợp công cụ nhắn tin trên Instagram cho phép bạn trò chuyện và nhắn tin với bạn bè, người thân và những người có sở thích chung Bên cạnh đó, bạn còn có thể tận dụng tính năng gọi video call miễn phí ngay trong ứng dụng để kết nối dễ dàng hơn.
Danh sách các yêu cầu
- 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.
- 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.
Mô tả tổng thể
Phần mềm bao gồm 6 phân hệ chính:
- Quản lý bạn bè, theo dõi
- Quản lý thông tin cá nhân
Dựa vào các phân hệ của hệ thống, hệ thống được phát triển theo các chức năng sau:
- Cài đặt: Chỉnh sửa cài đặt về quy định
- Hệ thống: Đăng nhập, đăng ký
Like, bình luận bài đăng
Xóa, chỉnh sửa bài đăng
Xem thông tin, bài đăng của bạn bè
Theo dõi hoặc bỏ theo dõi bạn bè
- Quản lý thông báo: thông báo cho người dùng khi có bạn bè thích, bình luận bài đăng hoặc có người theo dõi mới.
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ưu trữ 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.
Ràng buộc, giả định và phụ thuộc
Hệ thống phải có đầy đủ các chức năng được liệt kê trong mô tả.
Hệ thống phải được hoàn tất trong vòng 3-4 tháng.
Chi phí xây dựng hệ thống không được vượt quá định mức.
- Sự tham gia của tất cả các thành viên nhóm, mỗi người được giao nhiệm vụ khác nhau với chi tiết công việc rõ ràng
- Đầy đủ công cụ để thực hiện đồ án.
- Ngân sách không thay đổi so với dự kiến trong quá trình phát triển dự án
- Phạm vi dự án không vượt quá định mức so với dự kiến ban đầu
- Hoàn thành dự án trong khoảng thời gian 3-4 tháng đã được đề xuất
- Sử dụng mô hình thác nước cải tiến
- 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
Việc xây dựng mô hình cơ sở dữ liệu là bước quan trọng để triển khai các chức năng của phần mềm Giao diện sẽ được hoàn thiện sau khi các chức năng thành phần được mô tả đầy đủ.
ĐẶC TẢ YÊU CẦU
Thiết kế kiến trúc
Hình 3-10: Mô hình kiến trúc hệ thống
Mô tả sơ đồ chức năng
3.2.1 Sơ đồ Usecase tổng quát
Bảng 3-1: Bảng chú giải sơ đồ Usecase
Ký hiệu Tên Diễn giải
Actor Actor: có thể là người dùng hoặc một hệ thống nào khác bất kỳ
Usecase Usecase: là chức năng mà Actor có thể sử dụng
Communication Link: kết nối giữa Actor và Usecase, cho biết Actor đó có những sự tương tác nào đối với hệ thống.
Relationship Relationship: mối quan hệ giữa các Usecase với nhau.
- Quan hệ Include: mô tả Usecase lớn được chia thành các Usecase nhỏ hơn để dễ cài đặt.
- Quan hệ Extend: sử dụng khi có một Usecase được tạo ra để bổ xung chức năng cho một Usecase có sẵn.
- Quan hệ Generalization: thể hiện quan hệ kế thừa giữa các Actor hoặc giữa các Usecase với nhau.
Ranh giới hệ thống được sử dụng để xác định phạm vi của hệ thống mà bạn đang thiết kế Các đối tượng nằm ngoài ranh giới này và có sự tương tác với hệ thống được gọi là các Actor.
Bảng 3-2: Bảng mô tả Actors
1 A01- Người dùng Người đã đăng ký tài khoản trên ứng dụng mạng xã hội
2 A02- Hệ thống Hệ thống ứng dụng mạng xã hội.
Sơ đồ usecase tổng quát
Hình 3-11: Sơ đồ Usecase tổng quát
Bảng 3-3: Bảng mô tả Usecase
STT Tên Use-case Ý nghĩa Mô tả chức năng
1 UC10 – Quản lý người dùng
Người dùng có thể dễ dàng cập nhật thông tin tài khoản của mình, xem danh sách các tài khoản đang theo dõi và những người mà mình đang theo dõi Ngoài ra, họ cũng có thể thực hiện việc theo dõi hoặc hủy theo dõi một tài khoản bất kỳ.
UC112 – Xem follower/following UC12 – Theo dõi
2 UC20 – Quản lý bài viết
Actor01-Người dùng có thể đăng/sửa/xóa/ chia sẻ đối với bài viết; và có thể yêu thích, bình luận đối với tất cả các bài viết.
UC23 – Bình luận bài post
UC24 – Gửi post dưới dạng tin nhắn cho bạn bè
3 UC30 – Quản lý cuộc trò chuyện
Actor01-Người dùng có thể tạo/xóa ra một cuộc trò chuyện, có thểm thêm
UC31 – Tạo cuộc trò chuyện nhiều người dùng khác vào hoặc xóa thành viên ra khỏi nhóm trò chuyện
Trong cuộc trò chuyện, Actor01 có thể gửi tin nhắn, chuyển tiếp tin, yêu thích tin nhắn của mọi người, gọi điện hoặc gọi video.
UC32 – Xóa cuộc trò chuyện
UC33 – Quản lý thành viên
UC34 – Quản lý tin nhắn
UC343 – Chuyển tiếp tin nhắn
UC344 – Yêu thích tin nhắn
Actor01-Người dùng đăng ký một tài khoản vào trong hệ thống Đăng ký tài khoản
Actor01 - Người dùng đăng nhập vào hệ thống. Đăng nhập vào hệ thống
Hình 3-12: Sơ đồ Usecase quản lý người dùng
Tên use-case: Quản lý profile
Mục đích: giúp người dùng quản lý thông tin cá nhân của tài khoản.
Tóm lược: người dùng nhấn vào nút “Xem trang cá nhân” và website sẽ chuyển đến trang cá nhân của bạn tương tự như Facebook hoặc Instagram.
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Trường hợp thành công: người dùng vào được trang cá nhân, xem được các thông tin trên trang và có thể thao tác.
Trường hợp thất bại: hệ thống thông báo lỗi
1 Load giao diện người dùng.
2 Người dùng nhấn vào nút “Xem thông tin cá nhân” hệ thống sẽ điều hướng khách hàng sang trang cá nhân Hệ thống kiểm tra thông tin đăng nhập và điều hướng tới trang chủ.
3 Người dùng có thể xem các thông tin như: thông tin cá nhân: tên đăng nhập, ảnh đại diện, ngày tháng năm sinh Thông tin bài post bao gồm tất cả các bài post đã đăng và nhấn vào bài post để xem chi tiết bài post đó. Thông tin bạn bè bao gồm danh sách các bạn bè đã follow.
Các kịch bản khả dĩ khác:
1 Khi người dùng nhấn vào trang cá nhân mà hệ thống không load được thông tin của người dùng è hiển thị message thông báo hệ thống lỗi cho người dùng biết.
Tên use-case: Cập nhật profile.
Mục đích: giúp người dùng có thể cập nhật lại thông tin tài khoản.
Người dùng có thể nhấn vào nút “Xem trang cá nhân” để truy cập trang cá nhân của mình Tại đây, họ có thể thực hiện các thao tác như cập nhật thông tin cá nhân, chỉnh sửa danh sách theo dõi và quản lý các bài đăng đã đăng.
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Trường hợp thành công: trang cá nhân được cập nhật lại.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Load giao diện trang cá nhân.
2 Người dùng muốn sửa thông tin cá nhân thì nhấn vào nút “Edit profile” ở đây người dùng có thể chỉnh sửa các thông tin cơ bản như: Tên đăng nhập, ngày tháng năm sinh, giới tính, avatar, …
3 Hệ thống sẽ cập nhật lại thông tin chỉnh sửa và hiển thị ra cho người dùng.
Các kịch bản khả dĩ khác:
1 Khi thông tin cập nhật thất bại è hiển thị message cho người dùng biết.
Tên use-case: Xem follower/following.
Mục đích: giúp người dùng có thể xem các tài khoản mà mình đang theo dõi và các tài khoản đang theo dõi mình.
Người dùng có thể truy cập trang cá nhân bằng cách nhấn vào nút "Xem trang cá nhân" Tại đây, họ có thể nhấn vào nút "theo dõi" hoặc "đang theo dõi" để xem danh sách những người theo dõi hoặc những người mà họ đang theo dõi.
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Trường hợp thành công: người dùng xmem được danh sách follower hoặc following.
Trường hợp thất bại: hệ thống thông báo lỗi
1 Load giao diện trang cá nhân.
2 Người dùng nhấn vào nút “theo dõi” hoặc “đang theo dõi’ để xem danh sách các tài khoản.
3 Hệ thống sẽ hiện thị danh sách lên cho người dùng.
Các kịch bản khả dĩ khác:
1 Khi thông tin hiển thị thất bại è hiển thị message cho người dùng biết.
Tên use-case: Theo dõi.
Mục đích: giúp người dùng có thể theo dõi người dùng của các tài khoản khác.
Người dùng gửi yêu cầu theo dõi một tài khoản, và khi tài khoản đó chấp nhận, người dùng có thể xem các bài viết mà tài khoản đó đăng tải.
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Trường hợp thành công: người dùng theo dõi tài khoản thành công và xem được các bài viết mới nhất trên bản tin.
Trường hợp thất bại: hệ thống thông báo lỗi
1 Người dùng nhấn nút “theo dõi” trên trang cá nhân của một tài khoản nào đó hoặc trên danh sách tài khoản được đề xuất ở trang chủ hoặc trên danh sách follower của người dùng.
2 Hệ thống cập nhật lại thông tin và thông báo đến tài khoản được theo dõi.
3.1 UC60-Gửi thông báo
Các kịch bản khả dĩ khác:
1 Người dùng được gửi yêu cầu không chấp nhận è Usecase kết thúc không thành công.
Tên use-case: Hủy theo dõi.
Mục đích: giúp người dùng có thể hủy theo dõi một tài khoản khác.
Tóm lược: Người dùng hủy theo dõi tài khoản, các bài viết mới nhất của tài khoản đó sẽ không xuất hiện trên bảng tin.
Điều kiện đầu: user đã đăng nhập vào hệ thống, use đã theo dõi tài khoản trước đó.
Trường hợp thành công: người dùng hủy theo dõi tài khoản thành công và hệ thống cập nhật lại thông tin.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Người dùng nhấn nút “hủy theo dõi” trên trang cá nhân của một tài khoản hoặc trên danh sách following.
2 Hệ thống sẽ cập nhật lại thông tin các người dùng trên cơ sở dữ liệu.
Các kịch bản khả dĩ khác:
1 Hệ thống xử lý hủy theo dõi không thành công è Hệ thống thông báo lỗi cho người dùng.
Hình 3-13: Sơ đồ Usecase quản lý bài đăng
Tên use-case: Đăng bài viết.
Mục đích: giúp người dùng có thể đăng một bài viết mới cập nhật thông tin bản thân để chia sẻ với bạn bè.
Người dùng cần điền đầy đủ thông tin vào biểu mẫu, bao gồm việc chọn hình ảnh, viết caption cho bài viết và chọn biểu tượng cảm xúc Sau khi hoàn tất, họ chỉ cần nhấn nút đăng bài để công khai bài viết của mình.
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Trường hợp thành công: bài viết được đăng lên bản tin của những người theo dõi tài khoản.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Người dùng nhấn vào biểu tượng thêm mới bài viết trên header.
2 Hệ thống hiển thị form để người dùng điền thông tin bài post.
3 Hệ thống xử lý dữ liệu lưu bài viết vào cơ sở dữ liệu và trả về thông báo đăng post thành công cho người dùng.
4 Hệ thống điều hướng sang thông tin chi tiết của bài post người dùng vừa đăng.
Các kịch bản khả dĩ khác:
1 Hệ thống lưu bài post không thành công vào cơ sở dữ liệu è hiển thị thông báo không thành công cho người dùng.
Tên use-case: Chỉnh sửa bài viết.
Mục đích: giúp người dùng có thể xóa một bài viết đã đăng.
Tóm lược: Người dùng mở một bài viết đã đăng, nhấn biểu tượng thùng rác để xóa bài viết.
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Trường hợp thành công: bài viết không còn tồn tại trên hệ thống.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Người dùng nhấn vào bài viết nào đó mà mình từng đăng tải.
2 Người dùng nhấn chọn biểu tượng thùng rác và xác nhận xóa bài viết.
3 Hệ thống thực hiện xóa bài viết.
Các kịch bản khả dĩ khác:
1 Hệ thống xóa bài viết không thành công è Hệ thống hiển thị thông báo không thành công cho người dùng.
2 Người dùng hủy xác nhận xóa bài viết è Usecase kết thúc không thành công.
UC23-Chỉnh sửa bài viết
Tên use-case: Chỉnh sửa bài viết.
Mục đích: giúp người dùng có thể chỉnh sửa một bài viết đã đăng.
Tóm lược: Người dùng mở một bài viết đã đăng, nhấn biểu tượng cây bút để thực hiện chỉnh sửa bài viết.
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Trường hợp thành công: thông tin bài viết được cập nhật lại.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Người dùng nhấn vào bài viết nào đó mà mình từng đăng tải.
2 Người dùng nhấn chọn biểu tượng cây bút để thực hiện chỉnh sửa.
3 Người dùng thực hiện chỉnh sửa nội dung caption hoặc hình ảnh rồi lưu các thay đổi.
4 Hệ thống thực hiện lưu thông tin thay đổi của bài viết.
Các kịch bản khả dĩ khác:
1 Hệ thống lưu thay đổi bài viết không thành công è Hệ thống hiển thị thông báo thay đổi không thành công cho người dùng.
UC24-Chia sẻ bài viết
Tên use-case: Chia sẻ bài viết.
Mục đích: người dùng có thể gửi một bài viết dến một cuộc trò chuyện.
Người dùng có thể chia sẻ bài viết bằng cách nhấn vào biểu tượng "share" dưới bài post Sau đó, một cửa sổ popup sẽ xuất hiện, cho phép người dùng chọn đối tượng để gửi bài viết Sau khi chọn xong, người dùng chỉ cần nhấn gửi để hoàn tất quá trình chia sẻ.
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Trường hợp thành công: bài viết được gửi trong cuộc trò chuyện.
Trường hợp thất bại: hệ thống thông báo lỗi.
1 Load giao diện người dùng ở trang home hiển thị danh sách các bài viết. Khi người dùng muốn gửi bài viết nào đó thì nhấn vào icon “share” phía dưới bài viết.
2 Popup hiện ra để người dùng chọn đối tượng người dùng gửi tới bao gồm các bạn bè mà người dùng đã follow hoặc các nhóm chat đã có sẵn.
3 Người dùng có thể chọn một hoặc nhiều đối tượng nhận bài post.
4 Sau khi chọn nếu người dùng không muốn gửi nửa có thể nhấn dấu “x” bên cạnh tên đối tượng được chọn để bỏ đối tượng đó ra khỏi danh sách nhận tin nhắn.
5 Người dùng nhấn “Gửi” để tiến hành gửi tin nhắn cho đối tượng đã chọn.
6 Hệ thống dùn socket để người dùng khác sẽ nhận được tin nhắn realtime.
7 Hệ thống sẽ lưu tin nhắn vào trong cơ sở dữ liệu.
UC25-Yêu thích bài viết
Tên use-case: Yêu thích bài viết.
Mục đích: người dùng có thể thể hiện cảm xúc của người dùng cho chủ bài viết biết.
Tóm lược: Người dùng nhấn vào biểu tượng hình trái tim bên dưới bài viết để yêu thích hoặc bỏ like bài viết đó.
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Trường hợp thành công: biểu tượng chuyển màu, số lượt yêu thích của bài viết tăng lên hoặc giảm đi.
Trường hợp thất bại: người dùng không thực hiện đươc hành động.
Yêu cầu phi chức năng
Danh sách yêu cầu tiện dụng
- Giao diện trang web rõ ràng, đơn giản, dễ sử dụng đối với đối tượng sử dụng (mất 1-2 phút hướng dẫn).
- Các thao tác/chức năng được thực hiện dễ dàng, không cần chuyển quá nhiều trang.
- Nội dung ngắn gọn, súc tích, từ ngữ chính xác, thống nhất từ ngữ đối với các nhãn/nút/tiêu đề… đối với các phần có cùng ý nghĩa.
Bảng 3-4: Danh sách yêu cầu tiện dụng
STT Nghiệp vụ Mức độ dễ học Mức độ dễ sử dụng
1 Đăng/sửa/xóa bài viết 2 phút hướng dẫn Dễ sử dụng
1 phút hướng dẫn Dễ sử dụng
3 Tìm kiếm người dùng 1 phút hướng dẫn Dễ sử dụng
4 Comment bài viết 1 phút hướng dẫn Dễ sử dụng
5 React bài viết 1 phút hướng dẫn Dễ sử dụng
6 Chat 2 phút hướng dẫn Dễ sử dụng
7 Call 2 phút hướng dẫn Dễ sử dụng
Danh sách yêu cầu hiệu quả
- Các chức năng thực hiện đúng với ý nghĩa của nó, tránh trường hợp xảy ra lỗi phía trang web.
- Tốc độ load trang từ trung bình đến nhanh.
Bảng 3-5: Danh sách yêu cầu hiệu quả
STT Nghiệp vụ Tốc độ xử lý Dung lượng lưu trữ Ghi chú
1 Đăng/sửa/xóa bài viết Ngay tức thì
3 Tìm kiếm người dùng Ngay tức thì
4 Comment bài viết Ngay tức thì
5 React bài viết Ngay tức thì
- Xây dựng chức năng đăng ký để tạo tài khoản người dùng.
- Xây dựng chức năng đăng nhập/đăng xuất để bảo mật quá trình sử dụng trang web.
- Mật khẩu cần được mã hóa trong quá trình giao tiếp giửa máy chủ và máy khách,đồng thời mã hóa trước khi lưu ở cơ sở dữ liệu.