TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
-----🙚🙘🕮🙚🙘----BÁO CÁO TỔNG HỢP ĐỒ ÁN MÔN HỌC
Đồ án 1
Đồ án:
Mạng xã hội chia sẻ Sách - Book Net
Giảng viên hướng dẫn:
ThS. Thái Thụy Hàn Uyển
Sinh viên thực hiện:
19521515 - Võ Đức Trung Hiếu
19520205 - Nguyễn Yến Nhi
Tp.HCM, tháng 01 năm 2022
LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của cô Thái Thị Hàn Uyển
- giảng viên hướng dẫn Đồ án 1 đã hỗ trợ những thông tin cần thiết và giải đáp những
thắc mắc cho nhóm trong suốt quá trình thực hiện đề tài.
Đồng thời nhóm em cũng muốn gửi lời cảm ơn đến các anh chị khóa trên, đặc biệt là
những anh chị trong khoa đã chia sẻ những kinh nghiệm quý báu về môn học cũng như
những kiến thức liên quan.
Vì kiến thức của chúng em vẫn còn hạn hẹp nên không thể tránh khỏi những thiếu sót
trong quá trình thực hiện đồ án. Vì vậy nhóm chúng em luôn mong đợi nhận được những
ý kiến đóng góp quý báu từ phía giảng viên để qua đó có thể rút kinh nghiệm, tự sửa
chữa, hoàn thiện bản thân mình trên tinh thần nghiêm túc, tự giác học hỏi. Một lần nữa
nhóm chúng em xin chân thành cảm ơn cô.
Nhóm nghiên cứu
NHẬN XÉT
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………
Lịch sử thay đổi
Phiên bản
Người thực hiện
Thời gian
Nội dung
0.0.1
Võ Đức Trung Hiếu
20/1/2022
- Tạo tài liệu
11:00
0.0.2
Nguyễn Yến Nhi
22/1/2022
15:30
- Cập nhật mục 1, 2,
Use case, cập nhật
hoàn thiện Báo cáo
Danh mục từ viết tắt
#
Từ viết tắt
Từ đầy đủ
Ý nghĩa
1
Use case
Sơ đồ Use - Case
Là đặc tả các chức năng mà người
dùng tương tác với phần mềm
2
CSDL
Cơ sở dữ liệu
3
Actor
Người sử dụng hệ
thống
4
KH
Khách hàng
MỤC LỤC
Lịch sử thay đổi
4
Danh mục từ viết tắt
5
Giới thiệu dự án
Mô tả dự án
Tôn chỉ dự án
Bản tuyên bố dự án
Mục đích dự án
Các yêu cầu phải hoàn thành
Yêu cầu
Mục tiêu
Kế hoạch phát hành
Release 1.0.
Release 2.0.
Thời gian dự án
1
1
1
2
2
2
2
3
3
3
4
5
Phát biểu bài toán
Khảo sát hiện trạng
Hiện trạng nghiệp vụ
Hiện trạng tin học
Khảo sát một số ứng dụng hiện có
Đối tượng hướng đến
Xác định yêu cầu hệ thống
Danh sách các yêu cầu nghiệp vụ
Các yêu cầu chất lượng
Các yêu cầu hệ thống
Các yêu cầu công nghệ
SƠ ĐỒ LUỒNG DỮ LIỆU CHO TỪNG YÊU CẦU
Tạo bài viết
Tạo bình luận
Tương tác
Danh hiệu
Phát nhạc
Câu lạc bộ
5
5
5
5
6
7
7
8
8
10
11
12
12
16
22
24
26
28
Theo dõi người dùng
Tìm kiếm
Quản lí tài khoản
Phân tích
Tác nhân và Use case
Mô tả tác nhân
Sơ đồ Use-Case
Danh sách use case
Yêu cầu chức năng
Các Use-case chi tiết
Đặc tả usecase
Đặc tả Use-case “Đăng nhập”
Đặc tả Use-case “Đăng ký”
Đặc tả Use-case “Đăng xuất”
Đặc tả Use-case “Quên mật khẩu”
Đặc tả Use-case “Tải và đọc sách”
Đặc tả Use-case “Review sách”
Đặc tả Use-case “Thích/Bỏ thích bài viết”
Đặc tả Use-case “Xem danh sách người thích bài viết”
Đặc tả Use-case “Bình luận bài viết”
Đặc tả Use-case “Theo dõi”
Đặc tả Use-case “Phát nhạc”
Đặc tả Use-case “Chọn danh hiệu”
Đặc tả Use-case “Cửa hàng”
Đặc tả Use-case “Chỉnh sửa thông tin”
Đặc tả Use-case “Tham gia Câu lạc bộ”
Đặc tả Use-case “Tạo bài viết”
Đặc tả Use-case “Tìm kiếm”
Sơ đồ hoạt động
Đăng nhập
Đăng ký
Quên mật khẩu
Cập nhật thông tin
Review sách
Phát nhạc
30
32
38
44
44
44
45
46
48
48
48
48
49
50
52
53
54
55
56
57
59
60
61
63
64
65
67
68
70
70
71
72
73
74
75
Chọn danh hiệu
Đổi điểm thưởng
Bình luận
Trả lời bình luận
Đăng bài
Theo dõi người dùng
Tham gia câu lạc bộ
Rời câu lạc bộ
76
77
78
79
80
81
82
83
Thiết kế dữ liệu
Sơ đồ ERD
Thuộc tính chi tiết
Bảng User
Bảng Guild
Bảng News
Bảng NewsType
Bảng PostNews
Bảng GuildNews
Bảng ReviewNews
Bảng Review
Bảng Status
Bảng UseBook
Bảng BookShelf
Bảng AchievementTittle
Bảng AchievementSound
Bảng Book
84
84
84
84
85
85
86
86
86
87
87
87
87
88
88
88
88
Thiết kế kiến trúc
Mô hình Client-Server
Mô hình MVVM
Nguyên lý hoạt động
90
90
90
90
Thiết kế giao diện
Danh sách các màn hình
Chi tiết các màn hình
Màn hình Splash
Giao diện
91
91
94
94
94
Mô tả
Màn hình Welcome
Giao diện
Mô tả
Màn hình đăng ký
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình đăng nhập
Màn hình Authentication Code
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình Choose Book Type
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình đăng nhập
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình Chúc mừng
Giao diện
Mô tả
Màn hình đăng nhập
Giao diện
Mô tả
Màn hình Create Post
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình Guild
Giao diện
Mô tả
Màn hình Guild Detail
Giao diện
Mô tả
95
96
96
97
98
98
99
100
101
101
102
102
104
104
104
105
106
106
107
107
108
108
108
110
110
110
113
113
113
114
114
114
116
116
117
117
Màn hình Guild Detail Joined
Giao diện
Mô tả
Màn hình Book
Giao diện
Mô tả
Màn hình Achievement
Giao diện
Mô tả
Màn hình Personal Achievement
Giao diện
Mô tả
Màn hình Shop
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình đăng nhập
Giao diện
Mô tả
Màn hình EditProfile
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Màn hình đổi mật khẩu
Giao diện
Mô tả
Danh sách biến cố và xử lý tương ứng trên màn hình
Quy trình phát triển
Công cụ phát triển
Công cụ lập trình
Giới thiệu Visual Studio Code
CI/CD
CI là gì?
CD là gì?
Design
119
119
119
120
121
121
123
123
124
125
125
125
127
127
127
128
128
128
129
131
131
132
133
134
134
135
135
136
136
136
136
137
137
137
140
Giới thiệu Figma
Lưu trữ source code
Github là gì?
Quản lý dự án
Ứng dụng notion
Lý do sử dụng Notion để lập kế hoạch và theo dõi công việc cho Project
Tổng kết và đánh giá
Ưu điểm
Kết quả
Điểm đặc sắc của đề tài
Khuyết điểm
140
141
141
142
142
143
143
143
143
143
143
1.
Giới thiệu dự án
1.1.
Mô tả dự án
Sách trước tiên là nguồn tri thức được đúc kết qua nhiều thời kì, cung cấp cho
người nguồn kiến thức khổng lồ từ nhiều lĩnh vực khác nhau, qua sự hấp thụ và tích lũy,
con người sẽ có vốn sống riêng cho bản thân mình có cuộc sống chất lượng hơn. Bên
cạnh đó, sách còn giúp con người nuôi dưỡng tâm hồn, giúp con người tìm ra lí tưởng
sống đúng đắn và hình thành những đức tính đẹp đẽ.
Ngày nay, cùng với sách, các phương tiện thông tin ngày càng trở nên đa dạng.
Văn hóa đọc hình thành từ khi có sách, đến nay không còn giữ nguyên ý nghĩa là đọc
trong sách mà mở rộng thêm: đọc trong báo, đọc trên mạng... Sách tồn tại trong cuộc
sống không chỉ là sách được bán ở hiệu sách mà sách được đưa lên mạng... Dù dưới hình
thức nào, đối với con người, nhu cầu tìm hiểu thế giới tự nhiên và thế giới con người
không bao giờ vơi cạn.
Và bắt đầu với một ý tưởng tạo một nền tảng mới, nơi mà mọi người dùng có thể
tìm kiếm, đọc và xem các nhận xét về sách và khám phá thông tin về các loại sách phù
hợp với sở thích, nhu cầu của mình, đồng thời kết nối với các độc giả khác. Từ đó giúp
người dùng có thể bồi dưỡng và rèn luyện cho mình thói quen đọc sách, đọc để tích lũy
kiến thức, đọc để hiểu biết hơn về cuộc sống.
1.2.
Tôn chỉ dự án
Tên dự án: Mạng xã hội chia sẻ Sách - Book Net
Thông tin về kinh phí:
Cách tiếp cận:
-
Tìm hiểu, khảo sát quy trình đọc sách online của người dùng
-
Tìm hiểu các thể loại sách và hành vi người dùng
-
Tìm hiểu các website, ứng dụng có sẵn về sách
-
Đánh giá hiện trạng để đề ra giải pháp
Vai trò và trách nhiệm:
Vai trò
Họ tên
Trưởng dự án
Võ Đức Trung Hiếu
[email protected]
Thành viên
Nguyễn Yến Nhi
[email protected]
1.3.
Bản tuyên bố dự án
1.3.1.
-
Tổ chức/ Vị trí Liên hệ
Mục đích dự án
Xây dựng được ứng dụng mạng xã hội đọc sách với đầy đủ tính năng giúp người
dùng dễ dàng trong việc tìm đọc, tiếp cận các đầu sách.
-
Ứng dụng tích hợp AI trong việc đề xuất các đầu sách phù hợp với sở thích người
dùng.
-
Trở thành mạng xã hội chia sẻ sách lớn mạnh, đáng tin cậy, đặc biệt là trong cộng
đồng người Việt Nam yêu sách.
1.3.2.
Các yêu cầu phải hoàn thành
1.3.2.1.
Yêu cầu
Nhằm giúp việc đọc, tìm hiểu về sách trở nên thuận lợi hơn, chúng em quyết định
tìm hiểu và thực hiện đồ án về mạng xã hội chia sẻ và đọc sách với những nội dung chính
sau:
-
Các chức năng xác thực tài khoản (A)
-
Đăng nhập
-
Đăng ký
-
Đăng xuất
-
Quên mật khẩu
-
-
-
Các chức năng về sách (B)
-
Đọc và tải sách
-
Review sách
-
Tương tác với sách
-
Tủ sách cá nhân
-
Điểm cá nhân - Danh hiệu
Các chức năng về mạng xã hội (SN)
-
Tương tác với bài đăng
-
Kết bạn
-
Nhắn tin
-
Trang cá nhân (của bản thân hoặc bạn bè)
-
Câu lạc bộ
-
Cửa hàng
Các chức năng nâng cao (E)
-
Đề xuất sách
-
Nhận dạng thể loại sách
1.3.2.2.
-
Mục tiêu
Giai đoạn 1: Xây dựng ứng dụng với các tính năng cơ bản và tiếp cận người dùng.
(Các tính năng A, B, SN)
-
Giai đoạn 2: Xây dựng các tính năng nâng cao tích hợp AI vào ứng dụng, đồng
thời xây dựng chiến lược và mở rộng quy mô mạng xã hội đọc và chia sẻ sách.
(Các tính năng E)
-
Giai đoạn 3: Duy trì và nâng cao chất lượng ứng dụng.
1.3.2.3.
Kế hoạch phát hành
1.3.2.3.1.
Release 1.0.
Bản phát hành
Release 1.0.
Thời gian
20/3/2022 (dự kiến).
Khởi tạo
Sử dụng Flutter Framework và ngôn ngữ Dart để xây dựng giao
diện và phát hành được trên 2 nền tảng hệ điều hành Android và
IOS. Sử dụng NodeJS và Express xây dựng backend
Sử dụng công nghệ Firebase để lưu trữ và quản lý dữ liệu.
Cột mốc
-
Hoàn thành xây dựng cơ sở dữ liệu trên Firebase (dự kiến):
14/2/2022.
-
Hoàn thành xây dựng các màn hình giao diện (dự kiến):
28/2/2022.
Tính năng
-
Hoàn thành các tính năng cơ bản (dự kiến): 18/3/2022
-
Màn hình giao diện, chuyển màn hình, các hành vi,…
-
Các documents dữ liệu trên database của Firebase, đăng ký
máy chủ và đảm bảo đường truyền dữ liệu.
Thư
viện/
framework
-
Các tính năng cơ bản (mã A, B, SN)
-
Flutter Framework
-
Dart
-
NodeJS
-
Express
-
Firebase
1.3.2.3.2.
Release 2.0.
Bản phát hành
Release 2.0.
Thời gian
05/6/2022 (dự kiến).
Khởi tạo
Cột mốc
-
Hoàn thành các tính năng nâng cao tích hợp AI (dự kiến):
18/4/2022
Tính năng
Thư
framework
viện/
-
Các tính năng nâng cao (mã E)
-
Flutter Framework
-
Dart
-
NodeJS
-
Express
-
Firebase
1.3.3.
Thời gian dự án
Ngày bắt đầu dự án: 16/1/2022
Ngày kết thúc dự án: 5/6/2022
Thời gian thực hiện:
2.
Phát biểu bài toán
2.1.
Khảo sát hiện trạng
2.1.1.
Hiện trạng nghiệp vụ
Nhằm phục vụ nhu cầu ngày càng cao của con người, hoạt động đọc và chia sẻ
sách ngày càng phát triển mạnh mẽ. Trong thực tế, việc đọc sách giấy trực tiếp trở nên
ngày càng ít được ưa chuộng. Việc ra cửa hàng mua sách hoặc đặt sách trực tuyến, bảo
quản sách đòi hỏi người dùng về thời gian và công sức, chưa kể đến, việc mua những đầu
sách không phù hợp với nhu cầu, sở thích của người dùng làm cho họ trở nên kém hứng
thú trong việc đọc sách. Vì vậy, những trang mạng xã hội, ứng dụng và website online
với các đầu sách ebook trực tuyến tiện lợi cùng các đánh giá về sách không chỉ giúp tiết
kiệm công sức và thời gian mà còn tăng phần hứng thú của độc giả với sách. Phần mềm
trong tương lai sẽ đáp ứng nhu cầu của rất nhiều độc giả, người yêu thích sách khi xu
hướng ứng dụng máy móc đang dần phổ biến.
2.1.2.
Hiện trạng tin học
Ngày nay, ứng dụng Công nghệ Thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của con người. Từ các hoạt
động của chính phủ, các công ty, cửa hàng cho đến các hoạt động của người dùng cá
nhân; nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ.
Việc xây dựng mạng xã hội chia sẻ và đọc sách để phục vụ cho các nhu cầu riêng
của các cá nhân ngày nay không lấy gì làm xa lạ. Đọc sách là một trong những hoạt động
không thể thiếu góp phần làm cho đời sống con người thêm hiểu biết và phong phú. Tuy
nhiên nó cũng đòi hỏi người ta phải bỏ nhiều thời gian và công sức để mua, tìm hiểu và
bảo quản sách. Chính vì vậy, tin học hóa trong lĩnh vực đọc sách là một yêu cầu tất yếu
và cần thiết.
2.1.3.
Khảo sát một số ứng dụng hiện có
Tên ứng dụng/website
Ưu điểm
Wattpad
- Được sử dụng rộng rãi, có - Vì cho phép người dùng
lượng người dùng lớn
Nhược điểm
đăng sách nên nguồn gốc
- Có tính năng nổi bật như và nội dung sách có thể
trích xuất quotes, comment không được đảm bảo
ở từng trang
- Nhiều quảng cáo
- Giao diện dễ sử dụng
- Giao diện chưa được đẹp
- Nhiều sách
- Có nhiều chế độ đọc (font
chữ, theme)
- Sử dụng được trên nhiều
nền tảng
Sách trên IOS
- Các sách được phân phối - Ít sách
uy tín
- Không có darkmode
- Nhiều đầu sách nước - Một số sách ở dạng pdf
ngoài được bán ebook rẻ và gây khó khăn nếu đọc trên
miễn phí
- Có nhiều chế độ đọc
(chỉnh size chữ)
thiết bị có màn hình nhỏ
- Giao diện đẹp
- Có tính năng ghi chú trên
sách và được cá nhân hóa
2.2.
Đối tượng hướng đến
Người dùng hiển nhiên:
-
Người dùng độ tuổi từ 16 - 60 tuổi, yêu thích đọc sách và có khả năng sử
dụng các thiết bị di động, máy tính bảng, máy đọc sách cá nhân.
-
Người dùng yêu thích đọc sách, tuy nhiên tài chính và thời gian có hạn nên
không thể ra cửa hàng mua sách trực tiếp.
-
Người dùng yêu thích đọc sách, muốn khám phá thêm nhiều sách và kết nối
với cộng đồng yêu sách.
Người dùng tiềm năng:
-
Người dùng thường xuyên lướt các trang thương mại điện tử bán sách như
Tiki, tham gia nhiều các hội nhóm, diễn đàn văn học trên Facebook.
-
Người dùng theo xu hướng tối giản, hiện đại, hay di chuyển, mong muốn
lưu trữ tất cả các sách trên các thiết bị máy móc để tiết kiệm về thời gian và
không gian lưu trữ.
2.3.
Xác định yêu cầu hệ thống
Các vấn đề cần phải xử lý trong ứng dụng mà đề tài đặt ra là :
2.3.1.
STT Tên yêu cầu
Danh sách các yêu cầu nghiệp vụ
Biểu
Qui
mẫu
định
1
Tạo bài viết
BM1
QĐ1
2
Tạo bình luận
BM2
QĐ2
3
Tương tác
QĐ3
4
Danh hiệu
QĐ4
5
Phát nhạc
QĐ5
6
Câu lạc bộ
QĐ6
7
Theo dõi người
Ghi chú
QĐ7
dùng
8
Tìm kiếm
BM8
QĐ8
9
Tài khoản
BM9
QĐ9
2.3.2.
Các yêu cầu chất lượng
2.3.2.1.
STT Nghiệp vụ
Yêu cầu tiến hóa
Tham số cần thay đổi
Miền giá trị cần
thay đổi
1
Sửa thông tin người dùng
Tên người dùng
Danh hiệu
Mật khẩu
User
Giới tính
Ảnh đại diện
2
Thay đổi trạng thái sách trong Kệ Trạng thái
UserBook
sách
2.3.2.2.
Yêu cầu hiệu quả
STT Nghiệp vụ
Tốc độ xử lý
1
Tạo bài viết
1 bài viết/lần
2
Tạo bình luận
1 bình luận/lần
3
Cập nhật bình luận
Ngay tức thì
4
Tra cứu bạn bè/Guild
Ngay tức thì
5
Cập nhật thông tin cá Ngay tức thì
Dung lượng lưu trữ
Ghi chú
nhân
6
Tra cứu bảng xếp hạng
Ngay tức thì
2.3.2.3.
STT Nghiệp vụ
Yêu cầu tiện dụng
Mức độ dễ học
Mức độ dễ sử Ghi chú
dụng
1
Tạo bài viết
5 phút hướng dẫn
2
Tạo bình luận
5 phút hướng dẫn