Professional Documents
Culture Documents
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
2|Page
IE213 – Kỹ thuật phát triển hệ thống Web
3|Page
IE213 – Kỹ thuật phát triển hệ thống Web
4|Page
IE213 – Kỹ thuật phát triển hệ thống Web
LỜI MỞ ĐẦU
Những năm gần đây, mạng xã hội đã có bước phát triển mạnh mẽ, tác động lớn đến
đời sống xã hội ở hầu hết các quốc gia trên thế giới, trong đó có Việt Nam. Mạng xã hội
đã trở thành một thuật ngữ phổ biến với những tính năng đa dạng cho phép người dùng
kết nối, chia sẻ, tiếp nhận thông tin một cách nhanh chóng, hiệu quả.
Ngày nay, bất kỳ ai chỉ với một chiếc điện thoại thông minh, một máy tính bảng hay
máy tính cá nhân có kết nối internet đều có thể tham gia vào mạng xã hội. Với nội dung
phong phú và cách thức sử dụng dễ dàng, mạng xã hội mang lại rất nhiều tiện ích nổi bật:
(1) Góp phần củng cố niềm tin của quần chúng nhân dân đối với sự lãnh đạo của Đảng,
Nhà nước và điều hành của Chính phủ, (2) Góp phần tích cực vào sự phát triển nhận
thức, tư duy và kỹ năng sống của cong người, (3) Góp phần tích cực vào sự phát triển của
văn hóa cộng đồng, (4) Góp phần thúc đẩy quá trình hội nhập quốc tế trên các lĩnh vực
văn hóa của Việt Nam,…
Vì 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ủa
ngườ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”.
5|Page
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 2-5: Giao diện thanh menu / tin nhắn / thông báo...........................................27
6|Page
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 4-16: Giao diện cài đặt cuộc trò chuyện nhóm..............................................102
7|Page
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 6-2: Giao diện quản lý source code Backend trên Github.............................119
Hình 6-3: Giao diện quản lý source code Frontend trên Github............................119
Hình 6-5: Giao diện quản lý hình ảnh của trang web.............................................121
8|Page
IE213 – Kỹ thuật phát triển hệ thống Web
9|Page
IE213 – Kỹ thuật phát triển hệ thống Web
Bảng 4-19: Mô tả thành phần cài đặt cuộc trò chuyện nhóm.................................102
10 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Bảng 4-26: Mô tả thành phần trang cài đặt người dùng.........................................110
11 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
MỤC LỤC
LỜI MỞ ĐẦU...........................................................................................................5
MỤC LỤC...............................................................................................................12
1.5.2 Kế hoạch chi tiết – áp dụng quy trình phát triển phần mềm..................20
12 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
2.2.1 Facebook...............................................................................................25
2.2.2 Instagram...............................................................................................29
13 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
14 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
5.1.1 Front-end.............................................................................................112
5.1.2 Back-end..............................................................................................113
5.1.3 Database..............................................................................................113
15 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
6.1.3 Ưu điểm...............................................................................................121
16 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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ột
cá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ạo
lậ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ười
dù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 vui
củ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è khi
gặ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ực
hiệ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
17 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
riê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ười
dù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ạng
bạ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ực
hiệ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 a g e
IE213 – Kỹ thuật phát triển hệ thống Web
tươ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ửa chữa để đề tài mang tính khả thi hơn.
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.
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ốt
vò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ười
dù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ến hiện nay là lược đồ use-case của UML.
1.5.2 Kế hoạch chi tiết – áp dụng quy trình phát triển phần mềm
20 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- 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.
3. Vẽ sơ đồ luồng.
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.
- Deploy.
1. Deploy hệ thống Frontend bằng Netlify.
2. Deploy hệ thống Backend bằng Heroku.
- Báo cáo.
Sử dụng Quy trình Thác nước Cải tiến để thực hiện đồ án:
21 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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 đó quy
trì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.
22 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
➔ 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ủa giai đoạn trước để thực hiện giai đoạn hiện tại.
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ể quay
lạ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 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.
Trello
Thiết kế diagram:
Draw.io
23 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Figma
Photoshop
Github
24 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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ốn
chấp hành mong muốn cũng như yêu cầu của chính phủ nước CHXHCN VN, chúng em
quyế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ội
phá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 tin
trê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.1 Facebook
25 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
26 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
27 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 2-6: Giao diện thanh menu / tin nhắn / thông báo
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ình
thao tác.
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 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ận
cho 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.
28 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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:
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 Facebook
Pay, 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
29 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
30 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Nhìn chung giao diện của Instagram tương đối đơn giản tối ưu cho trải nghiệm
ngườ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àn
hì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ủa
mình.
31 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- 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ội khá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ục IGTV, 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ười
thâ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.
- 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è.
- 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.
32 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- Thời gian đáp ứng yêu cầu của người dùng nhanh.
- Cài đặt
- Hệ thống
- 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
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:
33 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- 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.
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.
Phạm vi:
Hệ thống phải có đầy đủ các chức năng được liệt kê trong mô tả.
Thời gian:
34 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Chi phí:
Chi phí xây dựng hệ thống không được vượt quá định mức.
Tài nguyên
- 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.
Chi phí:
- 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:
- Phạm vi dự án không vượt quá định mức so với dự kiến ban đầu.
Lịch trình:
- Hoàn thành dự án trong khoảng thời gian 3-4 tháng đã được đề xuất.
Phương pháp:
Công nghệ:
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ả.
36 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Presentation
layer
Application
Layer
Data layer
37 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Mô tả Actor:
39 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Mô tả use-case
40 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
3 UC30 – Quản lý Actor01-Người dùng có thể tạo/xóa ra UC31 – Tạo cuộc trò
cuộc trò chuyện một cuộc trò chuyện, có thểm thêm chuyện
41 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
nhiều người dùng khác vào hoặc xóa UC32 – Xóa cuộc trò
thành viên ra khỏi nhóm trò chuyện. chuyện
Trong cuộc trò chuyện, Actor01 có
UC33 – Quản lý
thể gửi tin nhắn, chuyển tiếp tin, yêu
thành viên
thích tin nhắn của mọi người, gọi điện
hoặc gọi video. UC331 – Thêm thành
viên
5 UC50 – Đăng Actor01 - Người dùng đăng nhập vào Đăng nhập vào hệ
nhập hệ thống. thống
43 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
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.
Mô tả kịch bản
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Điều kiện sau:
44 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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
Kịch bản chính:
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.
Đặc tả use-case
Mô tả tóm tắ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.
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 sau đó người dùng sẽ thao tác tùy trên đối
tượng muốn cập nhật (cập nhật lại thông tin cá nhân, cập nhật danh sách
follow, cập nhật các post đã đăng).
Mô tả kịch bản
45 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
UC112-Xem follower/following
Đặc tả use-case
Mô tả tóm tắ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.
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 sau đó người dùng nhấn vào nút “theo dõi”
hoặc nút “đang theo dõi” để xem danh sách các follower hoặc following.
Mô tả kịch bản
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Điều kiện sau:
46 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
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
Kịch bản chính:
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.
UC12-Theo dõi
Đặc tả use-case
Mô tả tóm tắ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.
Tóm lược: người dùng gửi yêu cầu theo dõi đến một tài khoản, sau khi
tài khoản đó chấp nhận thì người dùng có thể xem các bài viết mà người
dùng đó đăng.
Mô tả kịch bản
Điều kiện đầu: user đã đăng nhập vào hệ thống.
Điều kiện sau:
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.
47 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
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.
Mô tả kịch bản
Điều kiện đầu: user đã đăng nhập vào hệ thống, use đã theo dõi tài khoản
trước đó.
Điều kiện sau:
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.
48 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
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è.
Tóm lược: Người dùng điền đầy đủ thông tin trong form hiện ra bao gồm
chọn hình ảnh, caption của bải viết và chọn biểu tượng cảm xúc sau đó
nhấn nút đăng bài để đăng bài viết.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
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.
Kịch bản chính:
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.
50 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
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.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
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.
Kịch bản chính:
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.
Đặc tả use-case
51 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Mô tả tóm tắ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.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
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.
Kịch bản chính:
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.
Đặc tả use-case
Mô tả tóm tắ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.
52 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Tóm lược: Người dùng nhấn vào biểu tượng “share” ở dưới bài post để
sau đó popup hiện ra để người dùng chọn đối tượng để gửi bài post,
người dùng chọn đối tượng và nhấn gửi.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
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.
Kịch bản chính:
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.
53 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắ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 đó.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
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.
Kịch bản chính:
1. Load giao diện người dùng, hệ thống dựa vào dữ liệu bạn đã like bài viết
hay chưa để hiển thị, nếu thích rồi thì hiển thị trái màu đỏ còn nếu chưa
thì hiển thị trái tim không màu.
2. Người dùng nhấn vào biểu tượng hình trái tim để chuyển từ thích sang
không thích hoặc ngược lại.
3. Hệ thống nhận dữ liệu và lưu vào cơ sở dữ liệu.
3.1 <<include>> UC60-Gửi thông báo.
Đặc tả use-case
Mô tả tóm tắt
54 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
6. Hệ thống sử dụng socket.io nên người dùng khác đang trong bài post
cũng có thể thấy bình luận bạn vừa mới đăng realtime.
Các kịch bản khả dĩ khác:
55 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Hệ thống không lưu được bình luận è báo lỗi cho người dùng
2. Bạn chưa nhập bình luận mà nhấn nút “Đăng” hiển thị thông báo
không thực hiện được và yêu cầu người dùng nhâp vào bình luận.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: xóa bình luận của bài viết.
Mục đích: người dùng có thể xóa bình luận của mình đã viết trước đó
nếu muốn.
Tóm lược: Người dùng nhấn vào ô xóa bình luận hệ thống hiển thị
confirm xác nhận người dùng có muốn xóa hay không, nếu có thì hệ
thống tiến hành xóa
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và bình luận muốn
xóa phải là bình luận của mình.
Điều kiện sau:
Trường hợp thành công: bình luận được xóa đi, tổng số bình luận
của bài viết giảm xuống.
Trường hợp thất bại: hệ thống thông báo lỗi.
Kịch bản chính:
1. Load giao diện người dùng, người dùng nhấn vào chi tiết bài viết cảu
bạn bè, hệ thống hiển thị giao diện chi tiết bài viết bao gồm danh sách
các bình luận đã có trước đó của bài viết.
56 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
2. Nếu đó là bình luận của mình thì hệ thống sẽ hiển thị dấu “…” còn
không thì không có dấu “…”.
3. Người dùng nhấn vào dấu “…” và nhấn nút xóa.
4. Hệ thống hiển thị một confirm xác nhận người dùng có muốn xóa hay
không.
5. Nếu xóa thì hệ thống tiến hành xóa bình luận trong cơ sở dữ liệu và load
lại danh sách bình luận mới.
Các kịch bản khả dĩ khác:
1. Hệ thống không xóa được bình luận báo lỗi cho người dùng.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Yêu thích bình luận.
Mục đích: người dùng có thể thể hiện cảm xúc yêu thích với bình luận
mình mong muốn.
Tóm lược: Người dùng nhấn vào biểu tượng trái tym ở ngoài cùng bình
luận để tiến hàng chuyển từ không tym sang tym hoặc ngược lại.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống.
Điều kiện sau:
Trường hợp thành công: màu sắc biểu tượng yêu thích và tổng
lượt yêu thích của bình luận bị thay đổi.
Trường hợp thất bại: biểu tượng và lượt yêu thích không có gì
thay đổi.
Kịch bản chính:
57 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Load giao diện người dùng, người dùng nhấn vào chi tiết bài viết cảu
bạn bè, hệ thống hiển thị giao diện chi tiết bài viết bao gồm danh sách
các bình luận đã có trước đó của bài viết đồng thời kiếm tra bình luận đó
mình đã tym hay chưa, nếu tym rồi thì trái tym màu đỏ, nếu không thì
trái tym không màu.
2. Người dùng có thể nhấn vào dấu trái tym để chuyển từ không thích sang
thích hoặc ngược lại.
3. Hệ thống cập nhật lại cơ sở dữ liệu.
3.1 <<include>> UC6-Gửi thông báo
4. Hệ thống điều chỉnh lại số người thích bình luận +1 nếu người dùng
chuyển từ không tym sang tym và -1 nếu ngược lại.
5. Người dùng có thể nhấn vào số lượt thích hiển thị dưới mỗi comment để
xem danh sách các tài khoản đã tym bình luận này.
6. Danh sách các tài khoản hiện lên và hệ thống kiểm tra ứng với mỗi tài
khoản nếu là tài khoản người dùng đăng nhập đã follow thì hiển thị nút
“Unfollow” bên cạnh còn ngược lại thì nút “Follow”
7. Hệ thống tiến hành cập nhật lại cơ sở dữ liệu.
58 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
59 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
60 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
61 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
62 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Xóa thành viên.
Mục đích: người dùng có thể xóa một thành viên trong một nhóm chat đã
có sẵn.
Tóm lược: Người dùng chọn cuộc hội thoại có sẵn và nhấn vào setting è
thêm thành viên để tiến hành thêm thành viên mới.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và là người tạo ra
cuộc trò chuyện đó.
Điều kiện sau:
Trường hợp thành công: thành viên được yêu cầu bị xóa khỏi
cuộc trò chuyện.
Trường hợp thất bại: hệ thống thông báo lỗi.
Kịch bản chính:
1. Người dùng nhấn vào cuộc hội thoại muốn thêm thành viên hệ thống
hiển thị ra danh sách các tin nhắn đã có trước đó.
2. Người dùng nhấn vào biểu tượng setting bên trên cuộc hội thoại è chọn
thêm thành viên để tiến hành xóa thành viên.
5. Hệ thống sẽ hiển thị lên popup xác nhận xóa thành viên ra khỏi cuộc trò
chuyện.
64 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Rời cuộc trò chuyện.
Mục đích: người dùng có thể rời khỏi cuộc trò chuyện nếu không muốn
nhắn tin trong nhóm nữa.
Tóm lược: Người dùng chọn cuộc hội thoại có sẵn và nhấn vào setting è
rời cuộc trò chuyện để tiến hành rời cuộc trò chuyện nếu muốn.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và người dùng đã ở
trong cuộc hội thoại muốn rời khỏi.
Điều kiện sau:
Trường hợp thành công: cuộc trò chuyện sẽ không còn tồn tại
trên trang chat.
Trường hợp thất bại: hệ thống thông báo lỗi.
Kịch bản chính:
65 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Người dùng nhấn vào cuộc hội thoại muốn thêm thành viên hệ thống
hiển thị ra danh sách các tin nhắn đã có trước đó.
2. Người dùng nhấn vào biểu tượng setting bên trên cuộc hội thoại è chọn
rời cuộc trò chuyện.
3. Hệ thống sẽ hiển thị lên confirm để người dùng xác nhận có muốn rời
khỏi cuộc trò chuyện hay không.
4. Người xác nhận, hệ thống sẽ tiến hành xóa người dùng khỏi cuộc hội
thoại trên hệ thống và thông báo trong cuộc hội thoại là có người vừa rời
khỏi nhóm.
Các kịch bản khả dĩ khác:
1. Hệ thống xử lý xóa người dùng khỏi cơ sở dữ liệu không thành công è
báo lỗi cho người dùng hệ thống đang bị lỗi, và gợi ý người dùng thực
hiện lại sau.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Quản lý tin nhắn.
Mục đích: người dùng có thể quản lý tin nhắn trong một cuộc trò chuyện.
Tóm lược: Người dùng chọn cuộc hội thoại có sẵn và thực hiện các thao
tác với tin nhắn có trên đó.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và đã có cuộc trò
chuyện trước đó.
Điều kiện sau:
Trường hợp thành công: các thao tác được thực hiện.
Trường hợp thất bại: hệ thống thông báo lỗi.
66 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Gửi tin nhắn.
Mục đích: người dùng có thể nhắn tin đến mọi người trong một cuộc trò
chuyện.
Tóm lược: Người dùng chọn cuộc hội thoại muốn nhắn tin è nhập tin
nhắn và nhấn icon gửi để tiến hành gửi tin nhắn.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và người dùng đã
có cuộc hội thoại trước đó.
Điều kiện sau:
Trường hợp thành công: tin nhắn được gửi tin trong cuộc trò
chuyện và mọi người trong đó có thể đọc được.
Trường hợp thất bại: tin nhắn không được gửi đi, hệ thống thông
báo lỗi.
Kịch bản chính:
67 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Người dùng nhấn vào cuộc hội thoại muốn nhắn tin.
2. Hệ thống sẽ hiển thị danh sách các tin nhắn đã có trước đó trong cuộc
hội thoại.
3. Người dùng nhập tin nhắn vào ô input và nhấn icon “gửi” để gửi tin
nhắn dạng text.
4. Người dùng cũng có thể nhấn vào icon hình ảnh bên dưới ô input để gửi
tin nhắn hình ảnh.
5. Người dùng có thể gửi kèm biểu tượng cảm xúc bằng cách nhấn vào
icon hình khuôn mặt ngay bên cạnh ô input.
6. Hệ thống sẽ hiển thị một popup với rất nhiều icon để người dùng lựa
chọn.
7. Sau khi người dùng gửi hệ thống sẽ dùng socket để thành viên khác
trong cuộc hội thoại có thể nhìn thấy tin nhắn realtime mà không cần
phải load lại website.
8. Hệ thống tiến hành lưu tin nhắn vào cơ sở dữ liệu.
9. Tin nhắn được hiển thị lên cho người dùng.
Các kịch bản khả dĩ khác:
1. Hệ thống load tin nhắn trước đó không được è báo lỗi cho người dùng là
hệ thống đang bị lỗi không gửi tin nhắn được.
2. Gửi tin nhắn không được do server bị lỗi è báo lỗi cho người dùng tin
nhắn không gửi được.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Gỡ tin nhắn.
68 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Mục đích: người dùng có thể xóa hoặc gỡ một tin nhắn trước đó nếu
không muốn người khác xem nội dung tin nhắn nữa.
Tóm lược: Người dùng hover vào tin nhắn đã có, icon “xóa” sẽ hiện lên,
người dùng nhấn vào để tiến hành xóa.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và có tin nhắn
người dùng muốn xóa.
Điều kiện sau:
Trường hợp thành công: tin nhắn bị gỡ trong cuộc trò chuyện và
mọi người không thể đọc được nó.
Trường hợp thất bại: tin nhắn không được gỡ đi, hệ thống thông
báo lỗi.
Kịch bản chính:
1. Hệ thống load giao diện danh sách các tin nhắn đã có trong cuộc hội
thoại.
2. Người dùng hover vào tin nhắn muốn xóa.
3. Icon “xóa” hiện ra, người dùng nhấn vào để xóa tin nhắn.
4. Hoặc người dùng muốn gỡ thì nhấn vào gỡ tin nhắn.
5. Hệ thống sẽ hiển thị popup xác nhận người dùng có muốn gỡ hay xóa tin
nhắn hay không.
6. Hệ thống tiến hành xóa và cập nhật lại hiển thị cho người dùng, nếu gỡ
thì nội dung tin nhắn sẽ chuyển thành “tin nhắn đã gỡ” còn xóa thì tin
nhắn sẽ mất.
Các kịch bản khả dĩ khác:
1. Hệ thống load tin nhắn trước đó không được è báo lỗi cho người dùng là
hệ thống đang bị lỗi không gửi tin nhắn được.
2. Người dùng xác nhận không xóa è Usecase kết thúc không thành công.
69 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Chuyển tiếp tin nhắn.
Mục đích: người dùng có thể gửi một tin nhắn đã có sang một cuộc hoại
thoại khác.
Tóm lược: Người dùng hover vào tin nhắn đã có, icon “share” sẽ hiện
lên, người dùng nhấn vào và chọn cuộc hội thoại muốn gửi tin nhắn tới.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và tin nhắn người
dùng muốn chuyển tiếp đã có trước đó.
Điều kiện sau:
Trường hợp thành công: tin nhắn được chuyển đến cuộc trò
chuyện khác.
Trường hợp thất bại: tin nhắn không được chuyển đi, hệ thống
thông báo lỗi.
Kịch bản chính:
1. Hệ thống load giao diện danh sách các tin nhắn đã có trong cuộc hội
thoại.
2. Người dùng hover vào tin nhắn muốn chuyển tiếp.
3. Icon “share” hiện ra, người dùng nhấn vào để tiến hành chuyển tiếp tin
nhắn.
4. Sau khi nhấn icon, một popup hiện ra để người dùng chọn đối tượng
nhận tin nhắn.
5. Popup chứa các danh sách bạn bè đang follow và các nhóm chat.
70 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
6. Người dùng có thể chọn một hay nhiều đối tượng nhận tin nhắn.
7. Sau khi chọn người dùng có thể bỏ đối tượng ra bằng cách nhấn vào dấu
“x” bên cạnh tên đối tối tượng được chọn.
8. Hệ thống sẽ gửi tin nhắn realtime cho đối tượng được chọn thông qua
socket.
9. Hệ thống sẽ lưu tin nhắn vào cơ sở dữ liệu.
Các kịch bản khả dĩ khác:
1. Hệ thống load tin nhắn trước đó không được è báo lỗi cho người dùng là
hệ thống đang bị lỗi không gửi tin nhắn được.
2. Hệ thống không load được danh sách các đối tượng trong popup è báo
lỗi cho người dùng.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Yêu thích tin nhắn.
Mục đích: người dùng có thể bày tỏ cảm xúc đối với một tin nhắn.
Tóm lược: Người dùng hover vào tin nhắn đã có, biểu tượng trái tim sẽ
hiện lên, người dùng nhấn vào để yêu thích tin nhắn
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và tin nhắn người
dùng muốn tym đã có trước đó.
Điều kiện sau:
Trường hợp thành công: tin nhắn được hiện trái tim bên cạnh.
Trường hợp thất bại: tin nhắn không hiện gì.
Kịch bản chính:
71 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Hệ thống load giao diện danh sách các tin nhắn đã có trong cuộc hội
thoại.
2. Người dùng hover vào tin nhắn yêu thích.
3. Biểu tượng trái tim hiện ra, người dùng nhấn vào.
4. Hệ thống sẽ hiển thị việc yêu thích tin nhắn realtime cho đối tượng khác
trong nhóm chat.
5. Hệ thống sẽ lưu tin nhắn vào cơ sở dữ liệu.
Các kịch bản khả dĩ khác:
1. Hệ thống load tin nhắn trước đó không được è báo lỗi cho người dùng là
hệ thống đang bị lỗi không gửi tin nhắn được.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Quản lý cuộc gọi.
Mục đích: người dùng có thể quản lý cuộc gọi trong một cuộc trò
chuyện.
Tóm lược: Người dùng chọn cuộc hội thoại có sẵn và nhấn vào biểu
tượng điện thoại để thực hiện cuộc gọi.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và đã có cuộc trò
chuyện trước đó.
Điều kiện sau:
Trường hợp thành công: các người dùng trong nhóm chat có thể
thực hiện cuộc gọi.
Trường hợp thất bại: không thể thực hiện cuộc gọi, hệ thống
thông báo lỗi.
72 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
UC35-Gọi video
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Goi video.
Mục đích: người dùng có thể gọi và thấy hình ảnh.
Tóm lược: Người dùng chọn cuộc hội thoại có sẵn và nhấn vào biểu
tượng camera để thực hiện cuộc gọi video.
Mô tả kịch bản
Điều kiện đầu: Người dùng phải đăng nhập vào hệ thống và đã có cuộc trò
chuyện trước đó.
Điều kiện sau:
Trường hợp thành công : các người dùng trong nhóm chat có thể
thực hiện cuộc gọi và xem được hình ảnh của nhau.
Trường hợp thất bại: không thể thực hiện cuộc gọi hoặc không
thể thấy hình ảnh, hệ thống thông báo lỗi.
Kịch bản chính:
73 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
1. Người dùng nhấn vào cuộc hội thoại muốn thực hiện cuộc gọi.
2. Người dùng nhấn vào biểu camera để thực hiện cuộc gọi video.
3. Hệ thống sẽ kết nối đến những người dùng khác.
Các kịch bản khả dĩ khác:
1. Hệ thống thực hiện kết nối không thành công è báo lỗi cho người dùng
hệ thống đang bị lỗi, và gợi ý người dùng thực hiện lại sau.
2. Người dùng được kết nối đến không chấp nhận cuộc gọi Usecase kết
thúc không thành công.
3. Camera của người dùng không hoạt động Usecase kết thúc không
thành công.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Đăng ký.
Mục đích: giúp người dùng tạo tài khoản để truy cập vào website
Tóm lược: người dùng cần điền đầy đủ các thông tin trong form hiện ra
để thực hiện tạo tài khoản.
Mô tả kịch bản
Điều kiện đầu: không có.
Điều kiện sau:
Trường hợp thành công : người dùng tạo được tài khoản trên hệ
thống.
74 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Trường hợp thất bại: tạo tài khoản không thành công, hệ thống
thông báo lỗi.
Kịch bản chính:
1. Người dùng nhấn vào nút đăng ký tài khoản
2. Hệ thống hiển thị các thông tin để khách hàng đăng ký tài khoản: tên
đăng nhập, email, ngày sinh, giới tính, ….
3. Hệ thống xác nhận thông tin và tạo tài khoản cho khách hàng.
4. Hệ thống chuyển vào trang chủ.
Các kịch bản khả dĩ khác:
1. Hệ thống không tạo được tài khoản è thông báo lỗi cho người dùng.
2. Các trường thông tin người dùng nhập không hợp lệ è hiển thị nhắc nhở
ngay sau khi khách hàng nhập trường thông tin đó.
Đặc tả use-case
Mô tả tóm tắt
Tên use-case: Đăng nhập
Mục đích: giúp người dùng truy cập vào website.
Tóm lược: người dùng nhập email và mật khẩu đã đăng ký trước đó để
đăng nhập vào hệ thống.
Mô tả kịch bản
Điều kiện đầu: người dùng đã đăng ký tài khoản thành công.
Điều kiện sau:
Trường hợp thành công: người dùng có thể truy cập vào ứng
dụng.
75 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Trường hợp thất bại: người dùng không truy cập vào được, hệ
thống thông báo lỗi.
Kịch bản chính:
1. Load giao diện người dùng.
2. Người dùng nhập email và password vào form hiện ra và nhấn login để
đăng nhập vào hệ thống.
3. Hệ thống kiểm tra thông tin đăng nhập và điều hướng tới trang chủ.
Các kịch bản khả dĩ khác:
1. Các trường thông tin khách hàng nhập không hợp lệ è hiển thị nhắc nhở
ngay sau khi khách hàng nhập trường đó.
2. Server có lỗi không đăng nhập được è hiển thị thông báo cho người
dùng biết.
76 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Dung lượng
STT Nghiệp vụ Tốc độ xử lý Ghi chú
lưu trữ
1 Đăng/sửa/xóa bài viết Ngay tức thì
Follow/unfollow người Ngay tức thì
2
dùng
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ì
6 Chat Ngay tức thì
7 Call 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.
78 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
79 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
80 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
81 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
82 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- User: đây là thành phần chính của hệ thống. Mỗi người dùng có 1 profile bao gồm
ảnh đại diện, người theo dõi, người đang theo dõi và hình ảnh,. Các người dùng có
thể theo dõi nhau hoặc được gợi ý để gửi yêu cầu theo dõi đến người dùng khác.
- Search: ứng dụng hỗ trợ tính năng tìm kiếm theo tên người dùng.
- Conversation: người dùng có thể tạo cuộc trò chuyện, thêm người dùng khác vào
cuộc trò chuyện đó, đổi tên và quản lý cuộc trò chuyện.
- Message: người dùng có thể gửi nhiều tin nhắn dưới dạng văn bản, hình ảnh hoặc
video. Một tin nhắn gửi đi có thể được xóa, chuyển tiếp hoặc được yêu thích bởi
người những người dùng khác trong cuộc trò chuyện.
- Comment: người dùng có thể thêm các bình luận vào bài viết, một comment có thể
được yêu thích, chỉnh sửa và được phản hồi từ những người dùng khác.
- Notification: lớp thông báo sẽ gửi thông báo đến người dùng.
83 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Collection USER
Bảng 4-6: Collection USER
Collection POST
Bảng 4-7: Collection POST
Collection COMMENT
Bảng 4-8: Collection COMMENT
85 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Collection CONVERSATION
Bảng 4-9: Collection CONVERSATION
Collection MESSAGE
86 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Collection NOTIFICATION
Bảng 4-11: Collection NOTIFICATION
4: Follow
5 desId String Mã bài viết hoặc mã người
dùng
6 isSeen Boolean Giá trị để kiểm tra thông báo đã
87 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
88 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
3 Trang chủ Xem các bài viết mới nhất từ những người dùng khác.
4 Tin nhắn Gửi tin nhắn qua lại giữa những người dùng, tạo 1
nhóm các người dùng có thể trò chuyện trao đổi với
nhau.
5 Đăng bài Chia sẻ một bài viết của mình lên với mọi người.
7 Trang cá nhân Hiển thị thông tin cá nhân, các bài viết đã chia sẻ, các
bài viết đã lưu.
8 Cài đặt Cài đặt, chỉnh sửa các thông tin cá nhân của người
dùng.
Khi nhập tên tài khoản người dùng vào thanh tìm kiếm, hệ thống sẽ tìm các tài
khoản có kết quả phù hợp ở bên dưới.
90 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
91 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đây là giao diện popup khi thêm bài viết với. Người dùng nhấn biểu tượng “dấu
cộng” trên thanh header thì popup này sẽ hiện lên.
93 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Sau khi nhấn biểu tượng “người dùng” trên thanh header thì một drop list sẽ hiện ra.
Đây là giao diện form đăng ký khi chưa tạo tài khoản trên hệ thống.
96 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Đây là giao diện bảng tin của trang chủ, ở đây hiện tất cả bài đăng mới nhất của
những người dùng khác mà người dùng này đang theo dõi.
98 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
99 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
10 linkToUser Dynamic Link Đi đến trang cá nhân của người dùng
khác.
11 linkToProfile Link Đi đến trang cá nhân của mình.
12 listSuggestedUser List View Danh sách các người dùng khác có thế
biết hoặc quan tâm.
12.1 btnFollow Button Theo dõi một tài khoản khác.
12.2 btnSeeMore Button Xem thêm danh sách tài khoản được
đề xuất khác.
Đây là giao diện thông tin chi tiết của một bài viết.
101 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
3.2 txtMessage TextBox Nhận tin nhắn cần gửi của người
dùng nhập vào.
3.3 btnImg Button Gửi ảnh vào tin nhắn.
3.4 btnSend Button Gửi tin nhắn vào cuộc trò chuyện.
3.5 btnLikeMessage Button Thể hiện yêu thích đối với tin
nhắn.
3.6 btnSettingMessage Button Hiện các chức năng đối với tin
nhắn.
3.7 btnDeleteMessage Button Xóa tin nhắn.
3.8 btnForwardMessage Button Chuyển tiếp tin nhắn đó với người
dùng khác.
3.9 btnCallVideo Button Thực hiện cuộc gọi giữa các người
dùng trong 1 cuộc trò chuyện.
3.10 btnSettingConversation Button Di chuyển qua lại giữa phần cài
đặt cuộc hội thoại và tin nhắn của
cuộc hội thoại.
102 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
4.2.6.2 Giao diện cài đặt cuộc trò chuyện trong một nhóm
Hình 4-28: Giao diện cài đặt cuộc trò chuyện nhóm
Bảng 4-23: Mô tả thành phần cài đặt cuộc trò chuyện nhóm
103 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
on
3 btnAddMember Button Thêm thành viên mới vào cuộc trò
chuyện .
4 btnDelete Button Xóa cuộc trò chuyện này.
104 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
người dùng.
2 listUserInfo List view Các thông tin cơ bản của người
dùng.
3 tabNavigation Tab components Khung điều hướng gồm các
đường dẫn đến những tab khác.
2.1 popupFollowers Button Hiện popup danh sách những
người đang theo dõi người dùng.
2.2 popupFollowing Button Hiện danh sách những tài khoản
mà người dùng đang theo dõi.
4 gridImg Grid View Các hình ảnh, video mà người
dùng đăng tải.
4.1 tabPosts Link Hiện những hình ảnh mà người
dùng đăng tải.
4.2 tabSaved Link Hiện những bài viết đã lưu của
người dùng.
4.3 tabTagged Link Hiện những bài viết mà người
dùng được gắn tên cùng.
107 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
108 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
109 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
110 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
111 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Bảng 4-30: Mô tả thành phần trang cài đặt người dùng
112 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
113 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
5.1.1 Front-end
HTML5: HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ
Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang
web trên World Wide Web. Nó có thể được trợ giúp bởi các công nghệ như CSS và các
ngôn ngữ kịch bản giống như JavaScript. Các trình duyệt web nhận tài liệu HTML từ một
web server hoặc một kho lưu trữ cục bộ và render tài liệu đó thành các trang web đa
phương tiện. HTML mô tả cấu trúc của một trang web về mặt ngữ nghĩa và các dấu hiệu
ban đầu được bao gồm cho sự xuất hiện của tài liệu.
CSS3: CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử
dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML)
thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục,
màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc,…
Javascript: JavaScript là một ngôn ngữ lập trình website, được tích hợp và nhúng
trong HTML giúp website sống động hơn. JavaScript cho phép kiểm soát các hành vi của
trang web tốt hơn so với khi chỉ sử dụng mỗi HTML. Vậy ứng dụng thực tiễn của
JavaScript là gì? Các slideshow, pop-up quảng cáo và tính năng autocomplete của
Google là những ví dụ dễ thấy nhất cho bạn, chúng đều được viết bằng JavaScript.
ReactJS: ReactJS là một thư viện Javascript dùng để xây dựng giao diện người
dùng. Được tạo ra bởi Facebook, React càng ngày càng được sử dụng rộng rãi, đặc biệt là
114 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
trong các trang web đòi hỏi yêu cầu cao về giao diện với các khả năng nổi bật như nhanh,
dễ học, code ngắn và tái sử dụng tốt.
5.1.2 Back-end
NodeJS –ExpressJS: NodeJS là một nền tảng mã nguồn mở chạy trên server-side và
Networking applications. Được viết bằng ngôn ngữ JavaScript và có thể chạy trên các hệ
điều hành như Mac OS X, Windows, Linux, FreeBSD, IBM i. Node JS cung cấp một
kiến trúc event-driven architecture và là một non-blocking I/O API băng thông của một
ứng dụng và có khả năng mở rộng. Node JS cho phép tạo ra những máy chủ web và các
công cụ sử dụng ngôn ngữ JavaScript cùng module. Các module của NodeJS đã giúp việc
viết code đơn giản hơn, giảm đi độ phức tạp cho việc viết ứng dụng trên server. Sử dụng
Google V8 JavaScript engine để chạy code và có một lượng lớn module được viết bằng
Javascript. Node JS chạy được trên Server Apache và IIS. Đặc biệt Node JS được chọn
làm nền tảng phát triển của Microsoft, Yahoo, Walmart, Groupon, SAP, LinkedIn,
Rakuten, Paypal, Voxer và GoDaddy. Áp dụng cho các sản phẩm có lượng truy cập lớn,
cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có
thể. Cung cấp các thư viện cần thiết như Express, Mongoose, Body-parser, ejs, Multer,
… Express giúp tương tác giữa Server và Client. Multer giúp upload và lưu file (Ảnh,
video, …).
Socket.io: là một thư viện JavaScript hướng sự kiện cho các ứng dụng web thời gian
thực. Nó cho phép giao tiếp hai chiều giữa các máy khách và máy chủ web. Bao gồm hai
phần: thư viện phía máy khách (socket.io-client) chạy trong trình duyệt và thư viện phía
máy chủ (socket.io) cho Node.js.
115 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
5.1.3 Database
MongoDB: là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết
bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản (Document),
là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường tương tự như các đối tượng
JSON. MongoDB được phát triển bởi MongoDB Inc. dưới dạng giấy phép Server Side
Public License (SSPL).
Mongoose: là một framework JavaScript thường được sử dụng trong ứng dụng
Node.js với database là MongoDB.
116 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
3 Quản lý tin nhắn 95% Hoàn thành các chức năng: tạo cuộc trò
chuyện, thêm thành viên, rời cuộc trò
chuyện, gửi tin nhắn, xóa tin nhắn,
chuyển tiếp tin nhắn, thả tim tin nhắn,
gửi hình ảnh, video, emoji,…
118 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
(Link: https://trello.com/b/dPh39FfG/ie213)
119 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 6-37: Giao diện quản lý source code Backend trên Github
(Link: https://github.com/sonlam137216/SocialNetwork_BE)
Hình 6-38: Giao diện quản lý source code Frontend trên Github
(Link: https://github.com/giathai1505/SocialMediaWebSite)
120 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
(Link: https://www.figma.com/proto/I66ZPLX5xD1gkOZrKEUjpO/ig)
121 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
Hình 6-40: Giao diện quản lý hình ảnh của trang web
Xây dựng phần mềm thỏa mãn một số yêu cầu và biểu mẫu đề ra ban đầu.
Hiểu được và vận dụng các kiến thức được học trên lớp về các quy trình phát triển
phần mềm, các kiến thức lập trình từ CSDL Nosql (MongoDB), Backend (Express -
NodeJS), Frontend (ReactJS) đến các kiến thức khác như cách deploy web lên Heroku,
Netify…
Biết cách sử dụng 1 số công cụ, phần mềm phục vụ cho việc lập trình, làm việc
chung như Trello, Github, Figma, Cloudinary.
Các thành viên trong nhóm có cơ hội học tập, làm việc chung nhiều hơn. Biết cách
phối hợp làm việc nhóm và sử dụng các công cụ để làm việc từ xa.
122 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
6.1.3 Ưu điểm
- Các thành viên tích cực tham gia đóng góp ý kiến cũng như trao đổi trong quá
trình thực hiện đồ án.
- Nhóm hỗ trợ nhau khá tốt, các thành viên sẵn sàng hướng dẫn nhau để cùng tiến
bộ.
- Việc quản lý công việc nhóm được thực hiện một cách dễ dàng hơn khi sử dụng
công cụ Trello.
- Công việc được phân chia khá phù hợp với định hướng của các thành viên.
Về sản phẩm:
- Phần mềm xây dựng đáp ứng các yêu cầu cơ bản của một trang mạng xã hội, thỏa
mãn các yêu cầu và biểu mẫu trình bày trên.
- Giao diện trực quan, dễ sử dụng với hầu hết bộ phận người dùng.
- Có một số hiệu ứng đáp ứng trải nghiệm sử dụng cho người dùng.
- Hệ thống cần đăng nhập trước khi sử dụng, đồng thời mật khẩu được mã hóa trong
quá trình đăng nhập cũng như lưu xuống cơ sở dữ liệu, đảm bảo yêu cầu về bảo
mật cho người dùng.
- Nhóm bước đầu đã thực hiện theo các bước của quy trình thác nước cải tiến, tuy
nhiên nhóm vẫn chưa hoàn toàn ứng dụng và thực hiện theo mô hình này.
123 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- Đôi khi các thành viên chưa hoàn thành công việc đúng tiến độ do các lý do khách
quan/chủ quan.
- Đôi khi công việc được phân chia không đồng đều, do trình độ của các thành viên
hơi chênh lệch.
Về sản phẩm:
Do thời gian thực hiện đồ án là có hạn, nhóm đã hoàn thành được những kết quả
trình bày trên. Trong tương lai, nhóm đề ra một số hướng phát triển để trang web tiếp tục
được duy trì và hoàn thiện hơn từng ngày.
Dưới đây là hướng phát triển của nhóm chúng em:
- Tối ưu giao diện bằng cách thiết kế giao diện chuyên nghiệp hơn và thực hiện
responsive cho trang web.
- Thêm các yếu tố tạo nên thương hiệu cá nhân cho trang web để có thể đưa trang
web vào dự án thực trong cuộc sống.
- Hoàn thiện chức năng call video.
- Thêm chức năng report người dùng hoặc bài đăng không hợp lệ/vi phạm.
- Hoàn thiện, nâng cao các chức năng đã xây dựng.
- Tối ưu source code để giảm thời gian chờ, từ đó nâng cao trải nghiệm khi sử dụng
trang web của người dùng.
124 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
- Nâng cao tính bảo mật và quyền riêng tư của người dùng.
- Thêm chức năng đăng tải video, gắn thẻ người dùng khác vào bài viết, lưu bài
viết.
- Tiến hành các phương pháp tối ưu hóa công cụ tìm kiếm để trang web có thứ hạng
cao trong kết quả trả về của các trình duyệt.
125 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
126 | P a g e