Tải bản đầy đủ (.pdf) (63 trang)

Xây dựng ứng dụng chia sẻ trích dẫn hay mỗi ngày trên nền tảng Android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.51 MB, 63 trang )

DATN-ĐH

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
--------------------------

NGUYỄN ANH TÚ
XÂY DỰNG ỨNG DỤNG CHIA SẺ TRÍCH DẪN HAY MỖI NGÀY TRÊN NỀN TẢNG ANDROID

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 7480201

HÀ NỘI - 2021

HÀ NỘI - 2021


TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
-------------⁂-------------

ĐỒ ÁN TỐT NGHIỆP
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH ỨNG DỤNG
ĐỀ TÀI
Xây dựng ứng dụng chia sẻ trích dẫn hay mỗi ngày
trên nền tảng Android

SINH VIÊN THỰC HIỆN

CÁN BỘ HƯỚNG DẪN



NGUYỄN ANH TÚ

GV.ThS ĐẶNG VĂN NAM

MÃ SINH VIÊN: 1621050292

BỘ MÔN KHOA HỌC MÁY TÍNH

LỚP: DCCTKH61A

LỚP: DCCTKH61A

HÀ NỘI - 2021


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

MỤC LỤC

MỤC LỤC .......................................................................................................................1
DANH MỤC HÌNH ẢNH ...............................................................................................4
DANH MỤC BẢNG BIỂU .............................................................................................6
LỜI CẢM ƠN ..................................................................................................................7
LỜI NÓI ĐẦU .................................................................................................................8
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI .......................................................................9
1.1 Giới thiệu chung .....................................................................................................9
1.2 Đặt vấn đề ..............................................................................................................9
1.3 Lý do chọn đề tài ..................................................................................................10
1.4 Bài toán cần giải quyết .........................................................................................10

1.5 Mục tiêu của đề tài ...............................................................................................11
1.6 Nội dung nghiên cứu ............................................................................................12
1.7 Phạm vi của đề tài ................................................................................................12
CHƯƠNG 2: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG ................................................13
2.1 Mơ tả hệ thống chia sẻ trích dẫn hay ...................................................................13
2.2 Xác định đối tượng (tác nhân) tương tác với hệ thống ........................................14
2.3 Xác định yêu cầu chức năng ................................................................................15
2.3.1 Xác định các chức năng chi tiết và gom nhóm các chức năng ......................15
2.3.2 Xây dựng biểu đồ phân rã chức năng ............................................................17
2.4 Xây dựng các mơ hình luồng dữ liệu ...................................................................18
2.4.1 Ký hiệu sử dụng .............................................................................................18
2.4.2 Lập sơ đồ luồng dữ liệu .................................................................................18
2.5 Thiết kế các Bảng dữ liệu của hệ thống ...............................................................22
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

1


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
2.6 Xây dựng biểu đồ quan hệ thực thể .....................................................................25
2.6.1 Ký hiệu sử dụng .............................................................................................25
2.6.2 Lập biểu đồ quan hệ thực thể .........................................................................25
2.6.3 Mối liên kết trong biểu đồ quan hệ thực thể ..................................................25
2.7 Xác định các yêu cầu phi chức năng ....................................................................26
CHƯƠNG 3 CƠ SỞ LÝ THUYẾT ...............................................................................28
3.1 Hệ điều hành Android ..........................................................................................28
3.1.1 Giới thiệu .......................................................................................................28
3.1.2 Kiến trúc của hệ điều hành Android ..............................................................29
3.1.3 Ưu nhược điểm của hệ điều hành Android ....................................................30
3.2 Ngơn ngữ lập trình Java .......................................................................................31

3.2.1 Lịch sử ...........................................................................................................31
3.2.2 Đặc điểm ........................................................................................................31
3.3 Firebase ................................................................................................................33
3.3.1 Firebase là gì? ................................................................................................33
3.3.2 Lịch sử phát triển ...........................................................................................33
3.3.3 Cách thức hoạt động của Firebase .................................................................34
3.3.4 Ưu nhược điểm của Firebase .........................................................................35
3.4 Android Studio .....................................................................................................39
3.4.1 Giới thiệu chung ............................................................................................39
3.4.2 Những tính năng chính ..................................................................................39
CHƯƠNG 4: XÂY DỰNG/PHÁT TRIỂN ỨNG DỤNG ............................................40
4.1 Thiết kế giao diện .................................................................................................40
4.2 Firebase Realtime Database .................................................................................41
4.3 Thiết kế giao diện ứng dụng.................................................................................47
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

2


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
4.3.1 Giao diện đăng ký, đăng nhập .......................................................................47
4.3.2 Giao diện trang chủ ........................................................................................50
4.3.3 Giao diện trang cá nhân .................................................................................51
4.3.4 Giao diện các người dùng ..............................................................................52
4.3.5 Giao diện nhắn tin ..........................................................................................53
4.3.6 Giao diện đăng bài viết ..................................................................................54
4.3.7 Giao diện sửa thông tin cá nhân ....................................................................55
4.4 Kiểm thử và đánh giá hệ thống ............................................................................56
4.4.1 Kiểm thử chức năng đăng ký, đăng nhập ......................................................56
4.4.2 Kiểm thử chức năng đăng bài viết .................................................................57

4.4.3 Kiểm thử chức năng sửa thông tin cá nhân ...................................................57
4.4.4 Kiểm thử chức năng tạo nhóm chat ...............................................................58
4.4.5 Kiểm thử chức năng thích, bình luận, chia sẻ................................................58
ĐÁNH GIÁ – KẾT LUẬN............................................................................................59
TÀI LIỆU THAM KHẢO .............................................................................................61

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

3


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

DANH MỤC HÌNH ẢNH

Hình 2 - 1 Sơ đồ phân rã chức năng. .............................................................................17
Hình 2 - 2 Ký hiệu sử dụng. ..........................................................................................18
Hình 2 - 3 Cách truy xuất dữ liệu. .................................................................................18
Hình 2 - 4 Biểu đồ luồng dữ liệu mức ngữ cảnh (mức 0). ............................................18
Hình 2 - 5 Biểu đồ luồng dữ liệu mức đỉnh (mức 1). ....................................................19
Hình 2 - 6 Mức dưới đỉnh (mức 2) của chức năng Quản lý tài khoản. .........................19
Hình 2 - 7 Mức dưới đỉnh (mức 2) của chức năng Quản lý bài viết chung. .................20
Hình 2 - 8 Mức dưới đỉnh (mức 2) của chức năng Quản lý bài viết cá nhân. ...............20
Hình 2 - 9 Mức dưới đỉnh (mức 2) của chức năng Quản lý hồ sơ cá nhân. ..................21
Hình 2 - 10 Mức dưới đỉnh (mức 2) của chức năng Quản lý tin nhắn. .........................21
Hình 2 - 11 Mức dưới đỉnh (mức 2) của chức năng Quản lý tin nhắn nhóm. ...............22
Hình 2 - 12 Ký hiệu sử dụng trong biểu đồ quan hệ thực thể .......................................25
Hình 2 - 13 Lược đồ quan hệ thực thể ...........................................................................25

Hình 3 - 1 Biểu tượng của hệ điều hành Android .........................................................28

Hình 3 - 2 Kiến trúc của hệ điều hành Android ............................................................30
Hình 3 - 3 Quá trình biên dịch qua máy ảo JVM ..........................................................32
Hình 3 - 4 Biểu tượng của Firebase ...............................................................................34
Hình 3 - 5 Minh họa sự kết hợp của Firebase và Google Cloud Platform ....................36
Hình 3 - 6 Biểu tượng API Cloud Vision của Google ..................................................38

Hình 4 - 1 Cơ sở dữ liệu dạng JSON .............................................................................41
Hình 4 - 2 Các model ánh xạ tương ứng .......................................................................41
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

4


Đồ án tốt nghiệp chun ngành Khoa học máy tính
Hình 4 - 3 Dữ liệu của Các tin nhắn trong cơ sở dữ liệu ...............................................42
Hình 4 - 4 Dữ liệu của Danh sách nhóm tin nhắn trong cơ sở dữ liệu ..........................42
Hình 4 - 5 Dữ liệu của Các bài viết trong cơ sở dữ liệu ................................................43
Hình 4 - 6 Dữ liệu của Các người dùng trong cơ sở dữ liệu .........................................43
Hình 4 - 7 Quản lý người dùng với Firebase Authentication ........................................44
Hình 4 - 8 Quản lý tài nguyên với Firebase Storage .....................................................44
Hình 4 - 9 Lấy dữ liệu tất cả người dùng ......................................................................45
Hình 4 - 10 Cập nhật bài viết khơng ảnh .......................................................................45
Hình 4 - 11 Cấp quyền truy cập vào máy ảnh và kho lưu trữ .......................................46
Hình 4 - 12 Xóa ảnh trong bài viết ................................................................................46
Hình 4 - 13 Giao diện đăng ký, đăng nhập ....................................................................47
Hình 4 - 14 Giao diện chức năng đăng ký .....................................................................48
Hình 4 - 15 Giao diện chức năng đăng nhập .................................................................49
Hình 4 - 16 Giao diện trang chủ ....................................................................................50
Hình 4 - 17 Giao diện trang cá nhân..............................................................................51
Hình 4 - 18 Giao diện Các người dùng .........................................................................52

Hình 4 - 19 Giao diện nhắn tin ......................................................................................53
Hình 4 - 20 Giao diện đăng bài viết ..............................................................................54
Hình 4 - 21 Giao diện sửa thơng tin cá nhân .................................................................55

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

5


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

DANH MỤC BẢNG BIỂU

Bảng 2 - 1 Thiết kế cấu trúc bảng người dùng. .............................................................22
Bảng 2 - 2 Thiết kế cấu trúc bảng bài viết. ....................................................................23
Bảng 2 - 3 Thiết kế cấu trúc bảng tin nhắn....................................................................23
Bảng 2 - 4 Thiết kế cấu trúc bảng danh sách nhắn tin...................................................23
Bảng 2 - 5 Thiết kế cấu trúc bảng bình luận. ................................................................24
Bảng 2 - 6 Thiết kế cấu trúc các nhóm nhắn tin. ...........................................................24
Bảng 2 - 7 Thiết kế cấu trúc bảng tin nhắn nhóm. ........................................................24

Bảng 4 - 1 Kiểm thử chức năng đăng ký, đăng nhập ....................................................56
Bảng 4 - 2 Kiểm thử chức năng đăng bài viết ...............................................................57
Bảng 4 - 3 Kiểm thử chức năng Sửa thông tin cá nhân .................................................57
Bảng 4 - 4 Kiểm thử chức năng tạo nhóm nhắn tin.......................................................58
Bảng 4 - 5 Kiểm thử chức năng thích, bình luận, chia sẻ..............................................58

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

6



Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

LỜI CẢM ƠN

Em xin chân thành cảm ơn trường Đại học Mỏ - Địa chất, khoa Công nghệ thông
tin và bộ mơn Khoa học máy tính đã tạo điều kiện cho em hoàn thành đồ án tốt nghiệp.
Nhờ đồ án tốt nghiệp này em đã có thêm rất nhiều kinh nghiệm quý báu. Những kinh
nghiệm đó sẽ giúp em nhiều trong công việc sau này.
Em cũng xin cảm ơn các thầy, cô trong Bộ môn, trong Khoa và trong Trường đã
tận tình giảng dạy và trang bị cho em những kiến thức cần thiết. Những kiến thức này
đã hỗ trợ cho em rất nhiều trong việc hoàn thành đồ án tốt nghiệp.
Hơn cả, em xin cảm ơn thầy giáo - Ths. Đặng Văn Nam đã hướng dẫn, cung cấp
một số tài liệu giúp em hoàn thành đồ án tốt nghiệp. Những điều thầy chỉ dẫn giúp em
có được hướng đi trong cơng việc sắp tới.
Vì thời gian có hạn và kinh nghiệm cịn thiếu nên đồ án của em khó tránh khỏi
những thiếu sót. Em mong nhận được sự chỉ bảo, đóng góp ý kiến của thầy, cơ để em
có thêm kinh nghiệm giúp hồn thành tốt đề tài của mình hơn.
Một lần nữa em xin chân thành cảm ơn.

Sinh viên thực hiện
NGUYỄN ANH TÚ

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

7


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính


LỜI NÓI ĐẦU

Trong thời đại hiện nay, mạng xã hội là một nơi gần như không thể tách rời đối
với hầu hết mọi người và chúng phục vụ nhiều mục đích, nhu cầu khác nhau của mỗi
người. Chính vì mạng xã hội quá mở khiến cho nhiều người thường xuyên bị xao lãng
vào những thứ không mang lại nhiều giá trị thiết thực cho cuộc sống của chính họ.
Với mong muốn hưởng ứng sự kêu gọi, tuyên truyền, xây dựng thói quen đọc
sách cho đại bộ phận người dân Việt Nam để đưa đất nước ta trở thành quốc gia khởi
nghiệp trong những thập kỷ tiếp theo, bắt kịp với sự phát triển ngày càng nhanh của
khoa học công nghệ và mức sống, mức thu nhập ngày càng tăng cao của xã hội.
Khác với mạng xã hội tin tức hay mạng xã hội hình ảnh thì mạng xã hội sách là
nơi tập trung giao lưu về chủ đề sách, những trải nghiệm thú vị học được khi đọc một
cuốn sách nào đó hay một hành động cụ thể, kinh nghiệm thực tế từng trải qua để kể lại,
chia sẻ lại cho mọi người để học hỏi và cùng nhau phát triển đi lên.
Ngồi ra, mạng xã hội sách cịn là nơi để mọi người review những cuốn hay, phân
tích, bàn luận hay phản biện với nhau về những giá trị hiện tại mà cuốn sách mang lại
cho người đọc, tập trung vào một hoặc một số thứ tích cực nhất định thật sự có ích lợi
lớn cho những người sử dụng.
Và ứng dụng chia sẻ trích dẫn nhỏ này là một phần trong những mong muốn xây
dựng một cộng đồng mạng xã hội sách cho người Việt Nam.
Nhờ vào những trích dẫn ngắn, nhỏ, tinh túy, tâm đắc cũng có thể khơi dậy sự
hiếu kỳ, sự tò mò, ham muốn thèm đọc, mở lối cho những bế tắc, những bài toán mà
cuộc sống đặt ra cần phải giải quyết của cá nhân mỗi người.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

8



Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu chung
▪ Tên đề tài bằng tiếng việt: Xây dựng ứng dụng chia sẻ trích dẫn hay mỗi ngày
trên nền tảng Android.
▪ Tên đề tài bằng tiếng anh: Build apps to share good quotes every day on Android.
▪ Thời gian thực hiện: 2 tháng (26/04/2021 – 27/06/2021).
▪ Môi trường phát triển: Android Studio phiên bản 4.4.1.
▪ Ngơn ngữ lập trình: Java.
▪ Lưu trữ Cơ sở dữ liệu: Firebase.
▪ Nền tảng phát triển: Hệ điều hành Android 5.0 (Lollipop) API 21 trở lên.
▪ Thiết bị điện tử được cài đặt: Điện thoại di động thông minh.
▪ Đối tượng sử dụng: Bất kỳ ai.
1.2 Đặt vấn đề
Với sự phát triển như vũ bão của nền công nghiệp hiện đại, đặc biệt là ngành
công nghệ thông tin, truyền thơng, giải trí, các phương tiện nghe, nhìn (điện thoại, máy
tính bảng, laptop, …) tỏ ra vượt trội và tính năng tiện dụng, có sức hấp dẫn, lơi cuốn
mạnh mẽ hơn so với các trang sách báo truyền thống.
Nhiều người trẻ hiện nay thường khơng có thói quen đọc sách với rất nhiều lí do
khác nhau nhưng lại ln mất thời gian của mình vào những thói quen vô bổ như lướt
mạng xã hội Facebook hay xem các video tiktok được sáng tạo nội dung để thu hút
người dùng dành sự quan tâm vào đó mà quên đi những mục tiêu và ước muốn cá nhân.
Trong thời đại tiêu dùng nhanh như hiện nay thì người trẻ thường xuyên bị sao
lãng bởi các phương tiện truyền thông và tâm lý thích sự giản đơn, nhanh chóng và tiện
lợi muốn nhanh chóng đạt được khiến việc đọc sách bị xem nhẹ.
Cá nhân em nói riêng cũng thường cảm thấy ngại đọc nhiều chữ hay lấy lí do bận
rộn với các vấn đề của tuổi trưởng thành (như tình yêu, cơng việc làm thêm, bài tập lớn,
…) mà ít khi dành thời gian cho việc đọc sách.
Những người luôn muốn thay đổi bản thân tiến bộ hơn thường dành thời gian đọc

sách, cảm thấy được truyền cảm hứng, có động lực thay đổi, sống tích cực hơn.
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

9


Đồ án tốt nghiệp chun ngành Khoa học máy tính
Thơng thường mọi người sẽ đánh dấu vào sách những câu viết mà họ tâm đắc
hoặc viết ra một cuốn sổ tay để đọc lại những khi cảm thấy thiếu sức mạnh ý chí. Nhưng
nhiều khi những ghi chú đó ít khi được đọc lại thường xuyên bởi vì những bộn bề của
công việc và cuộc sống hối hả, tấp nập khiến ta quên mất đi những giá trị tinh túy của
những cuốn sách ta đã đọc, những thức tỉnh của bản thân mỗi khi đọc được chúng.
Ít khi đọc lại, lười ngại việc đọc lại nên không nhớ những bài học, lời khun
nhỏ, châm ngơn sống, dịng tâm trạng, triết lý về cuộc sống để có thể ghi nhớ và vận
dụng trong các tình huống, trường hợp cụ thể.
Các ứng dụng trích dẫn đa phần là ứng dụng chỉnh sửa và đi kèm với ghép ảnh.
1.3 Lý do chọn đề tài
Với ý muốn tận dụng sự phát triển, sự thuận tiện của khoa học công nghệ, kỹ thuật điện
tử như hiện nay để có thể:
▪ Tạo thói quen văn hóa đọc trong người trẻ nói riêng và mọi người dân nói chung.
▪ Giúp tập trung sự chú ý vào những thứ tích cực hữu ích thay vì bị xao lãng một
▪ Dung nạp những suy nghĩ, ý niệm tích cực, lạc quan hàng ngày hàng giờ, cả trước
khi đi vào giấc ngủ hay ngay sau khi thức dậy.
▪ Và còn là nơi để tìm đến khi bế tắc cần động viên, khích lệ, an ủi, định hướng,
trấn an tinh thần, cổ vũ ý chí, sức mạnh, sự tự tin, niềm hy vọng, sự dũng cảm.
▪ Nhắc nhở bản thân sống tích cực, lạc quan, tự tin, mạnh mẽ hơn trong cuộc sống.
▪ Tự đọc lên những câu chữ như đang tự mình nhắn nhủ chính mình.
▪ Tạo sự tương tác với mọi người khác để thi đua với nhau, xếp hạng thành tích và
thử thách giúp người dùng vượt lên chính mình, thay đổi để trở thành một con
người tốt hơn.

Chính vì những lý do trên mà em quyết định lựa chọn đề tài “Xây dựng ứng dụng
chia sẻ trích dẫn hay mỗi ngày trên nền tảng Android” để làm đồ án tốt nghiệp.
1.4 Bài toán cần giải quyết
Thứ nhất, mọi người thường có thói quen là lướt mạng xã hội một cách vơ thức
để tìm kiếm thú vui hay tin tức nhằm thỏa mãn cơn khát thông tin mà thường thì những
thơng tin vụn vặt hay những video tiêu khiển khơng đem lại nhiều giá trị hữu ích thật sự
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

10


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
cho cá nhân họ, vì vậy ứng dụng sẽ giúp thỏa mãn sự thèm khát thơng tin bằng những
mẩu tin, trích dẫn ngắn hay từ nhiều cuốn sách khác nhau của các cá nhân khác nhau.
Thứ hai, từ những trích dẫn ngắn hay khiến người dùng ứng dụng thấy tâm đắc
sẽ tị mị và tìm đến đọc sách. Những gì đã đọc, học và làm được người ta thường có xu
hướng muốn chia sẻ chúng tới mọi người khác, do vậy ứng dụng sẽ cho tạo điều kiện
cho người dùng viết bài, thể hiện suy nghĩ, cảm nhận, bài học hay ho mà mình lĩnh hội
được cho mọi người trong cộng đồng.
Thứ ba, nhắc nhở, thu hút, lôi kéo sự lơ đãng, thiếu tập trung của người dùng khi
đang lướt các mạng xã hội khác một cách vô thức bằng những thông báo bài viết.
Thứ tư, tạo một ứng dụng di động cho phép người dùng thể hiện nhận xét, đánh
giá về những cuốn sách, sự yêu thích đối với những bài viết hay hữu ích.
1.5 Mục tiêu của đề tài
Xây dựng được ứng dụng trên nền tảng Android cho phép kết nối mọi người cùng
sở thích vào một cộng đồng chung để chia sẻ những câu nói, quyển sách, bài học ý nghĩa
trong cuộc sống.
Cụ thể, ứng dụng “Chia sẻ trích dẫn hay” này cung cấp cho người dùng những
tính năng như:
▪ Ghi lại các câu trích dẫn tâm đắc.

▪ Ghi lại các câu từ hay trong các cuốn sách đã đọc hay tóm tắt lại ý chính và viết
lại để kích thích sự tị mị về cuốn sách đó để tìm đọc lại.
▪ Được thơng báo hàng ngày các câu trích dẫn ngắn ưa thích của cá nhân để cổ vũ
tinh thần, tiếp thêm sức mạnh, động lực, sự tự tin, sức sống cho một ngày mới
tràn đầy năng lượng.
▪ Chia sẻ được những câu trích dẫn hay cho bạn bè, mọi người.
▪ Ngồi ra cịn có thơng báo những câu trích dẫn mới mỗi ngày về những chủ đề,
những tác giả, những cuốn sách, những trạng thái cảm xúc mà bạn quan tâm.
▪ Và không chỉ là một ứng dụng đọc khơng mà cịn là một ứng dụng để giải trí, duy
trì thói quen đọc.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

11


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
1.6 Nội dung nghiên cứu
Để đạt được những mục tiêu ở trên em cần nghiên cứu, tìm hiểu những nội dung sau:
▪ Tìm hiểu về cơng cụ phát triển ứng dụng Android Studio.
▪ Nghiên cứu về nền tảng Firebase.
▪ Khảo sát, phân tích yêu cầu hệ thống.
▪ Thiết kế, xây dựng cấu trúc dữ liệu.
▪ Tìm kiếm các thư viện hỗ trợ
1.7 Phạm vi của đề tài
Phạm vi của đề tài này là tập trung xây dựng lên một ứng dụng với những chức
năng cơ bản của một mạng xã hội nhỏ cho phép người dùng đăng bài viết, bình luận,
bày tỏ cảm xúc và nhắn tin lẫn nhau trên các thiết bị di động thông minh hệ điều hành
Android.


Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

12


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính

CHƯƠNG 2: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG

2.1 Mơ tả hệ thống chia sẻ trích dẫn hay
Một nhóm người dùng muốn xây dựng một ứng dụng để phục vụ và giúp quản
lý các trích dẫn mà họ yêu thích và tâm đắc. Người dùng thường xuyên ghi lại các trích
dẫn và lời khun hữu ích để có thể đọc lại khi cần.
Do vậy hệ thống cần phải cho phép ghi và lưu nhận các trích dẫn và thơng báo
lại các câu nói hay đó với người dùng.
Hệ thống chia sẻ trích dẫn là chương trình phần mềm được sử dụng để ghi lại các
phiên viết trích dẫn, lưu giữ và thông báo lại thường xuyên với người dùng, chủ yếu
phục vụ những người dùng cá nhân.
Hệ thống chia sẻ trích dẫn có một kho lưu trữ đám mây Firebase để lưu dữ liệu
chung của mọi người dùng.
Hệ thống của ứng dụng cho phép tất cả các trao đổi được thực hiện bởi một người
dùng đã đăng ký tài khoản với tên đăng nhập là hòm thư điện tử (email) của họ với hệ
thống ứng dụng.
Một người dùng được yêu cầu đăng ký tài khoản với email cá nhân và mật khẩu
để đăng nhập ứng dụng, email và mật khẩu mã hóa sẽ được gửi đến hệ thống lưu trữ
thơng tin (Firebase) để xác nhận.
Hệ thống tự động gửi thư xác nhận đăng ký của người dùng. Sau khi đã đăng ký
thành cơng người dùng sẽ có thể sử dụng và thực hiện một hoặc nhiều sự trao đổi. Sau
khi đăng nhập thành cơng, tài khoản sẽ được duy trì đăng nhập tự động trên máy cho
đến khi người dùng đăng xuất.

Người dùng chỉ có thể sử dụng ứng dụng trên thiết bị điện thoại di động thông
minh hệ điều hành Android.
Một người dùng phải có khả năng xem lại các câu trích dẫn cá nhân của mình
Người dùng được thơng báo về các bài viết mới cũng như tin nhắn đến.
Người dùng phải có khả năng chia sẻ bài viết của mình cho mọi người, bạn bè.
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

13


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
Người dùng phải có khả năng bày tỏ cảm xúc với bài viết của người dùng khác.
Người dùng phải có thể bình luận với bài viết của người dùng khác.
Người dùng phải có khả năng tìm kiếm các trích dẫn, các tác giả, các bạn bè.
Người dùng có thể hủy bỏ bài viết bằng cách chạm ‘Hủy’.
Nếu hệ thống Firebase xác định rằng mật khẩu của người dùng là không hợp lệ,
người dùng sẽ được yêu cầu nhập lại mật khẩu. Nếu người dùng nhập qn mật khẩu thì
có thể khơi phục thì hệ thống sẽ gửi thư xác nhận lại mật khẩu vào hòm thư email đã
đăng ký tài khoản của người dùng.
Hệ thống phải cung cấp cho người dùng danh sách các bài đã viết của cá nhân
sau khi lưu thành công, gồm các thông tin ngày tháng, thời gian, chủ đề, lượt thích.
Thơng tin của mỗi người dùng được lưu trữ trong hệ thống gồm Mã người dùng,
địa chỉ Email, một người dùng có chỉ có thể có một tài khoản cho một email, một tài
khoản chỉ thuộc một người dùng.
Hệ thống hiển thị tất cả các trích dẫn của mọi người về các lĩnh vực chủ đề.
Hệ thống sẽ có thể hiển thị 2 ngơn ngữ chính là tiếng việt và tiếng anh.
Người dùng có thể sửa đổi tên, mật khẩu, ảnh đại diện của mình.
2.2 Xác định đối tượng (tác nhân) tương tác với hệ thống
Ứng dụng được phát triển hướng tới tất cả các đối tượng là cá nhân có nhu cầu
phát triển hồn thiện bản thân nhờ vào việc đọc các trích dẫn ngắn tâm đắc được thông

báo nhắc nhớ, khơi dậy sự nhận thức, tỉnh ngộ về những giá trị sống quanh mình.
Dựa vào bản mô tả hệ thống trên, ta xác định được đối tượng sau:
▪ Firebase: Là hệ thống quản lý thông tin lưu giữ trên Firebase.
▪ Người dùng (hay người đọc): Là những người sử dụng hệ thống để ghi chú
và được thơng báo nhắc về những gì đã ghi hoặc những trích dẫn hay khác do
người khác đăng tải.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

14


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
2.3 Xác định yêu cầu chức năng
2.3.1 Xác định các chức năng chi tiết và gom nhóm các chức năng
Trên cơ sở khảo sát các bài toán thực tế, ứng dụng sẽ có các chức năng chính sau:
Nhóm chức năng Quản lý tài khoản:
• Đăng ký: Người dùng mới có thể tạo một tài khoản cho riêng mình để quản lý,
theo dõi, cá nhân hóa nhu cầu sử dụng ứng dụng của mình.
• Đăng nhập: Nếu người dùng đã có tài khoản thì có thể đăng nhập vào để sử dụng
các chức năng khác nhau của ứng dụng.
• Đăng xuất: Khi người dùng muốn đổi tài khoản đăng nhập khác hay đăng ký tài
khoản mới hoặc chỉ là không muốn duy trì đăng nhập trên ứng dụng để bảo mật
dữ liệu cá nhân.
• Xem danh sách người dùng: Người dùng có thể xem danh sách những người đăng
ký khác đang sử dụng ứng dụng và có thể nhắn tin trị chuyện, kết nối với nhau
và tạo ra những nhóm chat nhỏ riêng.
• Tìm kiếm chung: Cho phép người dùng tìm kiếm các người dùng, bài viết khác
bằng tên hoặc email cá nhân.
• Đổi mật khẩu: Cho phép người dùng thay đổi mật khẩu đăng nhập vào hệ thống.

Nhóm chức năng Quản lý bài viết chung:
• Xem bài viết chung: Người dùng có thể xem được tất cả các bài viết của những
người dùng khác.
• Bày tỏ cảm xúc: Người dùng có thể chạm vào nút thích để thêm số lượt thích cho
bài viết mà mình ấn tượng.
• Xem những người thích: Cho phép người dùng xem thông tin về những người đã
thích bài viết.
• Bình luận bài viết: Cho phép người dùng viết nhận xét, bày tỏ quan điểm, cảm
nhận của mình về bài viết.
• Xem bình luận: Cho phép người dùng xem, đọc các dòng viết nhận xét của người
khác về bài viết đó.
• Chia sẻ bài viết: Cho phép người dùng chia sẻ bài viết sang các ứng dụng hay
nền tảng khác như email, tin nhắn, …
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

15


Đồ án tốt nghiệp chun ngành Khoa học máy tính
Nhóm chức năng Quản lý bài viết cá nhân:
• Xem bài viết cá nhân: Cho phép người dùng xem các bài mình đã viết
• Tạo bài viết: Cho phép người dùng viết bài và đăng tải cho mọi người dùng khác
đọc bài viết đó.
• Xóa bài viết: Cho phép người dùng xóa những bài mình đã viết.
• Sửa bài viết: Cho phép người dùng chỉnh sửa, thêm bớt chữ, hình ảnh đăng tải.
Nhóm chức năng Quản lý hồ sơ cá nhân:
• Đổi biệt danh hiển thị: Cho phép người dùng chỉnh sửa, thay đổi tên hiển thị của
mình với những người dùng khác.
• Đổi ảnh đại diện: Cho phép người dùng thay đổi hình ảnh nhận diện của cá nhân.
• Đổi ảnh bìa: Cho phép người dùng chỉnh sửa ảnh nền cá nhân mình bắt mắt hơn.

• Đổi số điện thoại: Cho phép người dùng thay đổi thông tin liên hệ trực tiếp.
• Xem thơng tin cá nhân: Cho phép người dùng xem lại những bài viết của mình,
số lượt thích, lượt người bình luận về bài viết.
Nhóm chức năng Quản lý tin nhắn (hay Quản lý chat):
• Viết tin nhắn: Cho phép người viết tin nhắn riêng cho mỗi người hoặc nhắn chung
cho tất cả mọi người trong nhóm.
• Xem tin nhắn: Người dùng đọc được các tin nhắn gửi đến và đã gửi đi.
• Xem danh sách nhắn tin: Người dùng có thể xem danh sách những người mình
đã nhắn tin.
• Xóa tin nhắn: Cho phép người dùng xóa đi tin mình đã gửi.
• Khóa người dùng khác: Cho phép người dùng chặn tin nhắn từ những người dùng
khác.
Nhóm chức năng Quản lý nhóm tin nhắn:
• Tạo nhóm chat: Người dùng có thể tạo một nhóm nhắn tin để trị chuyện chung
với những thành viên trong nhóm.
• Xem danh sách nhóm: Xem danh sách các nhóm người dùng đã lập ra hay được
mời tham gia vào.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

16


Đồ án tốt nghiệp chun ngành Khoa học máy tính
• Xem danh sách thành viên: Cho phép người dùng xem được những người có mặt
trong nhóm chat.
• Thêm thành viên: Cho phép người dùng thêm các thành viên vào nhóm tin nhắn
• Sửa nhóm: Cho phép người dùng sửa mơ tả nhóm và tên nhóm.
• Xóa nhóm: Cho phép người dùng xóa nhóm.
• Rời nhóm: Người dùng có thể thốt khỏi nhóm và khơng nhận tin nhắn của nhóm.

2.3.2 Xây dựng biểu đồ phân rã chức năng
Trên cơ sở các chức năng chi tiết đã xác định được bên trên em tiến hành xây dựng
biểu đồ phân rã chức năng của hệ thống như hình sau đây:

Hình 2 - 1 Sơ đồ phân rã chức năng.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

17


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
2.4 Xây dựng các mơ hình luồng dữ liệu
2.4.1 Ký hiệu sử dụng

Hình 2 - 2 Ký hiệu sử dụng.

Hình 2 - 3 Cách truy xuất dữ liệu.
2.4.2 Lập sơ đồ luồng dữ liệu

Hình 2 - 4 Biểu đồ luồng dữ liệu mức ngữ cảnh (mức 0).

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

18


Đồ án tốt nghiệp chun ngành Khoa học máy tính

Hình 2 - 5 Biểu đồ luồng dữ liệu mức đỉnh (mức 1).


Hình 2 - 6 Mức dưới đỉnh (mức 2) của chức năng Quản lý tài khoản.
Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

19


Đồ án tốt nghiệp chun ngành Khoa học máy tính

Hình 2 - 7 Mức dưới đỉnh (mức 2) của chức năng Quản lý bài viết chung.

Hình 2 - 8 Mức dưới đỉnh (mức 2) của chức năng Quản lý bài viết cá nhân.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

20


Đồ án tốt nghiệp chun ngành Khoa học máy tính

Hình 2 - 9 Mức dưới đỉnh (mức 2) của chức năng Quản lý hồ sơ cá nhân.

Hình 2 - 10 Mức dưới đỉnh (mức 2) của chức năng Quản lý tin nhắn.

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

21


Đồ án tốt nghiệp chun ngành Khoa học máy tính


Hình 2 - 11 Mức dưới đỉnh (mức 2) của chức năng Quản lý tin nhắn nhóm.
2.5 Thiết kế các Bảng dữ liệu của hệ thống
❖ Bảng người dùng: Lưu trữ thông tin của các người dùng trong hệ thống.
Bảng 2 - 1 Thiết kế cấu trúc bảng người dùng.
STT

Thuộc tính

Kiểu dữ liệu

Mơ tả

1

name

String

Tên biệt danh người dùng

2

email

String

Hịm thư điện tử đã đăng ký của người dùng

3


search

String

Tìm kiếm người dùng

4

phone

String

Số điện thoại người dùng

5

image

String

Ảnh đại diện người dùng

6

cover

String

Ảnh bìa người dùng


7

uid

String

Mã người dùng

8

onlineStatus

String

Trạng thái sử dụng

9

typingTo

String

Trạng thái nhập liệu

10

isBlocked

Boolean


Người dùng có bị chặn hay không

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

22


Đồ án tốt nghiệp chuyên ngành Khoa học máy tính
❖ Bảng bài viết: Lưu trữ thông tin của các bài viết trong hệ thống.
Bảng 2 - 2 Thiết kế cấu trúc bảng bài viết.
STT

Thuộc tính

Kiểu dữ liệu

Mơ tả

1

pId

String

Mã bài viết

2

pTitle


String

Tiêu đề bài viết

3

pDescr

String

Mơ tả bài viết

4

pLikes

String

Số lượt thích bài viết

5

pComments

String

Số lượt bình luận bài viết

6


pImage

String

Ảnh bài viết

7

pTime

String

Thời gian viết bài

8

uid

String

Mã người dùng

9

uEmail

String

Hòm thư điện tử người dùng


10

uDp

String

Ảnh đại diện người dùng

11

uName

String

Tên biệt danh người dùng

❖ Bảng tin nhắn: Lưu trữ thông tin các tin nhắn trong hệ thống.
Bảng 2 - 3 Thiết kế cấu trúc bảng tin nhắn
STT

Thuộc tính

Kiểu dữ liệu

Mô tả

1

message


String

Nội dung tin nhắn

2

receiver

String

Mã người nhận

3

sender

String

Mã người gửi

4

timeStamp

String

Mốc thời gian nhắn tin

5


type

String

Kiểu tin nhắn

6

isSeen

Boolean

Đã xem tin nhắn hay chưa

❖ Bảng danh sách nhắn tin: Lưu trữ mã người dùng trên hệ thống Firebase.
Bảng 2 - 4 Thiết kế cấu trúc bảng danh sách nhắn tin.
STT

Thuộc tính

Kiểu dữ liệu

Mơ tả

1

Id

String


Mã người dùng

Sinh viên: Nguyễn Anh Tú – Khoa học máy tính K61A

23


×