1. Trang chủ
  2. » Công Nghệ Thông Tin

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH BUILDING AN APPLICATION TO CONNECT AND SHARE AMONG FAMILY MEMBERS

65 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Kết Nối Và Chia Sẻ Giữa Các Thành Viên Trong Gia Đình
Tác giả Hồ Nguyên Bảo
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại khóa luận tốt nghiệp
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 65
Dung lượng 578,85 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP CỦA CÁN BỘ HƯỚNG DẪN Tên khóa luận: XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH Nhóm SV thực hiện: Cán bộ hướng dẫn: Hồ Nguyê

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

HỒ NGUYÊN BẢO

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH

BUILDING AN APPLICATION TO CONNECT AND

SHARE AMONG FAMILY MEMBERS

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2021ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

KHOA CÔNG NGHỆ PHẦN MỀM

HỒ NGUYÊN BẢO – 17520267

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ

GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH

BUILDING AN APPLICATION TO CONNECT AND

SHARE AMONG FAMILY MEMBERS

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN ThS LÊ THANH TRỌNG

TP HỒ CHÍ MINH, 2021THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày

……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

1 ……… – Chủ tịch

Trang 3

2 ……… – Thư ký

3 ……… – Uỷ viên

4 ……… – Uỷ viên

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc

TP.HCM, ngày……tháng… năm……

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH Nhóm SV thực hiện: Cán bộ hướng dẫn: Hồ Nguyên Bảo 17520267 ThS Lê Thanh Trọng Đánh giá Khóa luận 1 Về cuốn báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét về hình thức cuốn báo cáo: ………

………

………

2 Về nội dung nghiên cứu: ………

………

………

………

3 Về chương trình ứng dụng: ………

………

………

Trang 4

(Ký tên và ghi rõ họ tên)

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc

TP.HCM, ngày……tháng… năm……

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:

XÂY DỰNG ỨNG DỤNG KẾT NỐI VÀ CHIA SẺ

GIỮA CÁC THÀNH VIÊN TRONG GIA ĐÌNH

Nhóm SV thực hiện: Cán bộ phản biện: Hồ Nguyên Bảo 17520267 ThS Nguyễn Tấn Toàn

Đánh giá Khóa luận

5 Về cuốn báo cáo:

Số trang Số chương Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

………

………

Trang 5

……… 6 Về nội dung nghiên cứu:

………

………

………

………

7 Về chương trình ứng dụng: ………

………

………

………

8 Về thái độ làm việc của sinh viên: ………

………

Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm từng sinh viên: Hồ Nguyên Bảo: ……/10

Người nhận xét

(Ký tên và ghi rõ họ tên)

LỜI CẢM ƠN

Khoá luận tốt nghiệp với đề tài “Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình” là minh chứng cho quá trình học tập, rèn luyện không ngừng nghỉ của bản thân em trong những năm học qua Bên cạnh đó, quá trình làm khoá luận còn trang bị cho em hành trang ra trường và bước đi trên con đường sự nghiệp sau này

Để hoàn thành được khoá luận tốt nghiệp, bên cạnh những nỗ lực của bản thân, em còn nhận được sự giúp

đỡ tận tình của các thầy cô giáo, gia đình và bạn bè Đầu tiên, em xin gửi lời cảm ơn chân thành đến quý thầy cô trường Đại học Công nghệ thông tin Đặc biệt là các thầy cô trong khoa Công nghệ phần mềm đã tận tình giảng dạy những kiến thức nền tảng bổ ích để em có thể hoàn thành tốt khoá luận tốt nghiệp này

Em xin chân thành cảm ơn thầy Lê Thanh Trọng, người đã trực tiếp tận tình hướng dẫn, chỉ bảo cùng với những lời nhận xét, đánh giá quý báu đã giúp em đưa ra những quyết định đúng đắn

Trang 6

Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm luận văn đã đưa ra những lời khuyên, góp ý bổ ích để em có thể hoàn thiện khoá luận của mình

Cuối cùng, em xin cảm ơn gia đình, người thân, bạn bè đã luôn bên cạnh, ủng hộ, động viên

Thành phố Hồ Chí Minh, tháng 07 năm 2021

Sinh viên

Hồ Nguyên Bảo

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình

Cán bộ hướng dẫn: ThS Lê Thanh Trọng

Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 20/06/2021

Trang 7

Sinh viên thực hiện:

Mặc dù thực trạng sử dụng mạng xã hội ngày càng gia tăng, đến nay tại Việt Nam vẫn chưa

có một ứng dụng chuyên dụng để gắn kết những người thân trong gia đình hay những cặp đôi.Mạng xã hội kết nối nhiều người gây nên khó khăn cho người sử dụng về vấn đề tiếp nhận thôngtin Thông tin với số lượng lớn với tính chất từ quan trọng đến thứ yếu kết hợp với nhau, ngườidùng không thể chú tâm vào những người thân, những người mà họ thật sự cần đầu tư thời gian

để quan tâm Bên cạnh đó, việc lưu trữ và chia sẻ nội dung hình ảnh, âm thanh, tin nhắn chưađược định dạng theo kết cấu hợp lý, gây khó khăn trong việc tìm kiếm và chia sẻ

Vì nhận thấy việc cải thiện các vấn đề nêu trên là cần thiết, hơn nữa, để góp phần xây dựng

một một ứng dụng cho phép kết nối và chia sẻ giữa các nhóm nhỏ, thành viên trong gia đình,

các cặp đôi, tác giả lựa chọn đề tài: Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình

2 Mục tiêu của đề tài

Xây dựng ứng dụng di động giúp các thành viên trong gia đình và các cặp đôi có thể lưu lại những kỉ niệm, chia sẻ những cảm nghĩ hiện tại, trao đổi tin nhắn nhóm cùng nhau Thông qua những chức năng này, người dùng có thể dễ dàng nắm bắt được tình hình của các thành viên, ôn lại kỉ niêm, từ đó thúc đẩy

họ quan tâm nhau nhiều hơn

3 Phạm vi

o Ứng dụng chạy trên hệ điều hành Android

o Thiết bị phải có kết nối Internet

4 Đối tượng

o Các thành viên trong gia đình

o Các cặp đôi

5 Phương pháp thực hiện

Trang 8

o Làm việc dưới sự tư vấn, hướng dẫn của giảng viên hướng dẫn

o Khảo sát, tìm hiểu những mong đợi của người dùng về phần mềm

o Nghiên cứu các ứng dụng hiện có trên thị trường

o Phát triển hệ thống theo phương pháp Agile

6 Kết quả mong đợi của đề tài

o Hoàn thiện được các chức năng của ứng dụng

o Ứng dụng sử dụng được trong thực tế

o Ứng dụng chạy tốt trên các thiết bị Android hiện nay

o Ứng dụng có giao diện thân thiện, người dùng có thể dễ dàng sử dụng

o Hệ thống có thể dễ dàng được mở rộng sau này

Kế hoạch thực hiện:

Sprint 0 01/03/2021 –

14/03/2021

Tìm hiểu và lựa chọn đề tài

Tìm hiểu và lựa chọn công nghệ

Tìm hiểu các ứng dụng có liên quan

Sprint 1 15/03/2021 –

28/03/2021

Khảo sát mức độ quan tâm tới tính năng, mong đợi của người dùng ở tính năng đó

Xây dựng Product Backlog

Xây dựng môi trường lập trình

Trang 9

Sprint 5 10/05/2021 –

23/05/2021

Tạo Sprint Backlog Phân tích, đặc tả các hạng mục

Thiết kế hệ thống và xây dựng tài Sprint 6 24/05/2021 –

06/06/2021

Tạo Sprint Backlog Phân tích, đặc tả các hạng mục

Thiết kế hệ thống và xây dựng tài liệu liên quan Lập trình, kiểm thử và triển khai

Thực nghiệm sản phẩm

Sprint 7 07/06/2021 –

20/06/2021

Hoàn thiện báo cáo

Chuẩn bị nội dung slide và demo

Chuẩn bị phản biện và bảo vệ

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày 09 tháng 03 năm

2021 Sinh viên

(Ký tên và ghi rõ họ tên)

MỤC LỤC

LỜI CẢM ƠN 8

DANH MỤC TỪ VIẾT TẮT 15

TÓM TẮT KHÓA LUẬN 18

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 19 1.1 Giới thiệu về đề tài 19 1.2

Lý do chọn đề tài 19 1.3 Mục tiêu .20 1.4 Phạm vi .21 1.5 Phương pháp thực hiện 21 1.6 Ý nghĩa thực tiễn 21 1.7 Kết quả dự kiến 21 1.8 Đánh

Trang 10

giá hiện trạng và hướng giải quyết 22

1.8.1 Đánh giá hiện trạng 22 1.8.2 Hướng giải quyết 22 Chương 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 23 VÀ XÂY DỰNG ỨNG DỤNG 23 2.1 Phân tích yêu cầu hệ thống 23 2.1.1 Phân tích yêu cầu chức năng 23 2.1.2 Phân tích yên cầu phi chức năng 23 2.2 Phân tích yêu cầu người dùng 24 2.2.1 Mô hình use case toàn hệ

thống 24 2.2.2 Danh sách các Actors 25 2.2.3 Danh sách các Use

case 25 2.2.4 Chi tiết một số usecase 27 2.3 Phân tích thiết kế hệ thống 36 2.3.1 Thiết kế xử

lý 36 2.3.2 Thiết kế cơ sở dữ liệu 47 2.3.3

Mô tả các bảng dữ liệu 47 2.3.4 Thuật toán và công nghệ sử dụng 55 2.3.5 Thiết kế kiến trúc hệ thống 61 2.3.6 Thiết kế giao diện 63

Chương 3 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 70 3.1 Kết quả đạt được .70 3.2 Thuận lợi và khó khăn 70

3.2.1 Thuận lợi 70 3.2.2 Khó khăn 70 3.3 Hướng phát triển 71 TÀI LIỆU THAM

KHẢO 72

DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Tên đầy đủ Diễn giải

Trang 11

2 UI User Interface Là những gì chúng ta nhìn thấy

và giao tiếp với ứng dụng

Programming Interface

Giao diện lập trình ứng dụng Sử dụng để truy cập 1 số phương thức của hệ thống, từ đó có thể trao đổi dữ liệu từ các ứng dụng

Development Kit

Là các công cụ và phần mềm dùng để phát triển ứng dụng thông qua một nền tảng nhất định

Transfer Protocol

Giao thức truyền tải siêu văn bản Đây là giao thức tiêu chuẩn cho Word Wide Web để truyền tải dữ liệu dưới dạng văn bản, âm thanh, hình ảnh, video

State Transfer

Một kiểu kiến trúc lập trình, định nghĩa các quy tắc để thiết kế web service

Messaging

Dịch vụ của Google cho phép tạo thông báo đẩy tới ứng dụng một cách tiện lợi

DANH MỤC HÌNH

Hình 2.1: Sơ đồ usecase hệ thống 24

Hình 2.2: Sơ đồ usecase “Tham gia nhóm” 28

Hình 2.3: Sơ đồ usecase “Rời nhóm” 29

Hình 2.4: Sơ đồ usecase “Tạo nhóm” 30

Hình 2.5: Sơ đồ usecase “Cập nhật cảm nghĩ hiện tại” 31

Hình 2.6: Sơ đồ usecase “Gửi tin nhắn văn bản” 32

Hình 2.7: Sơ đồ usecase “Gửi tin nhắn hình ảnh” 33

Hình 2.8: Sơ đồ usecase “Gửi tin nhắn video” 34

Hình 2.9: Sơ đồ usecase “Thêm kỉ niệm” 35

Trang 12

Hình 2.10: Lược đồ tuần tự thao tác đăng ký 36

Hình 2.11: Lược đồ tuần tự thao tác đăng nhập 37

Hình 2.12: : Lược đồ tuần tự thao tác yêu cầu đổi mật khẩu 38

Hình 2.13: Lược đồ tuần tự thao tác khôi phục mật khẩu 40

Hình 2.14: Lược đồ tuần tự thao tác tạo nhóm 41

Hình 2.15: Lược đồ tuần tự thao tác tham gia nhóm 42

Hình 2.16: Lược đồ tuần tự thao tác rời nhóm 43

Hình 2.17: Lược đồ tuần tự thao tác cập nhật cảm nghĩ 44

Hình 2.18: Lược đồ tuần tự thao tác tạo kỉ niệm trên nhật ký 45

Hình 2.19: Lược đồ tuần tự thao tác gửi tin nhắn 46

Hình 2.20: Lược đồ cơ sở dữ liệu của hệ thống 47

Hình 2.21: Biểu tượng của công nghệ GraphQL 56

Hình 2.22: Sơ đồ mô tả cơ chế hoạt động của GraphQL 57

Hình 2.23: Thông tin các thành phần trong GraphQL 58

Hình 2.24: Biểu tượng của công nghệ React Native 59

Hình 2.25: Biểu tượng của công nghệ Firebase Cloud Messaging 60

Hình 2.26: Sơ đồ kiến trúc hệ thống 61

Hình 2.27: Sơ đồ kiến trúc ứng dụng di động 62

16 DANH MỤC BẢNG Bảng 2.1: Danh sách các Actors 25

Bảng 2.2: Danh sách các usecase .27

Bảng 2.3: Đặc tả use case “Tham gia nhóm” 28

Bảng 2.4: Đặc tả usecase “Rời nhóm” 29

Bảng 2.5: Đặc tả usecase “Quản lý nhóm” 30

Bảng 2.6: Đặc tả usecase “Cập nhật cảm nghĩ hiện tại” 31

Bảng 2.7: Đặc tả usecase “Gửi tin nhắn văn bản” 32

Bảng 2.8: Đặc tả usecase “Gửi tin nhắn hình ảnh” 33

Bảng 2.9: Đặc tả usecase Gửi tin nhắn video” 34

Bảng 2.10: Đặc tả usecase Thêm kỉ niệm” 35

Bảng 2.11: Mô tả bảng Users .49

Bảng 2.12: Mô tả bảng Groups 49

Trang 13

Bảng 2.13: Mô tả bảng GroupDetails 50

Bảng 2.14: Mô tả bảng Feelings 51

Bảng 2.15: Mô tả bảng Emoticons .52

Bảng 2.16: Mô tả bảng Chats .53

Bảng 2.17: Mô tả bảng Diary .54

Bảng 2.18: Mô tả bảng ResetTokens 54

Bảng 2.19: Mô tả bảng Medias 55

Bảng 2.20: Danh sách các màn hình 64

17

TÓM TẮT KHÓA LUẬN

Khoá luận với đề tài “Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình” tập trung vào nghiên cứu, phân tích thực trạng và từ đó đưa ra giải pháp, xây dựng ứng dụng Android đáp ứng nhu cầu kết nối và chia sẻ giữa các thành viên trong gia đình

Đề tài được bắt đầu từ việc tìm hiểu thực trạng, đưa ra các vấn đề còn tồn đọng hoặc có thể cải thiện Xác định mục tiêu, phạm vi của đề tài cũng như các chức năng cần có của hệ thống Đồng thời em cũng đã tìm hiểu và sử dụng các công nghệ mới để tối ưu chi phí, thời gian phát triển ứng dụng và nâng cao trải nghiệm người dùng

Việc xây dựng hệ thống được xây dựng theo phương pháp Agile, giúp hệ thống thích nghi nhanh với việc thay đổi về chức năng và đưa ra sản phẩm sử dụng được một cách nhanh nhất Kết quả thu được trong giai đoạn thiết kế như kiến trúc hệ thống, cơ sở dữ liệu, giao diện được thể hiện bằng sơ đồ người dùng, sơ đồ tuần tự Trong giai đoạn thực hiện, client và server được phát triển song song sử dụng ngôn ngữ lập trình Javascript, công cụ phát triển Visual Studio Code

Trang 14

Phần cuối cùng của khoá luận là trình bày kết quả đã thực hiện lên cuốn báo cáo, đưa ra kết luận và hướng phát triển cho hệ thống trong tương lai

Nội dung khoá luận được trình bày trong 3 chương:

Chương 01: Tổng quan về đề tài : Trình bày về lý do chọn đề tài, mục tiêu, phạm vi,

phương pháp thực hiện, kết quả dự kiến và hiện trạng của đề tài

Chương 02: Phân tích, thiết kế hệ thống và xây dựng ứng dụng: Phân tích yêu cầu, phân

tích hệ thống, thiết kế hệ thống, giới thiệu về các công nghệ sử dụng và triển khai hệ thống

Chương 03: Kết luận và hướng phát triển: Những thuận lợi, khó khăn trong quá trình

phát triển đề tài và đưa ra hướng phát triển trong tương lai

18

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Giới thiệu về đề tài

Gia đình là tế bào của xã hội, là tổ ấm của mỗi người chúng ta Gia đình đóng vai trò rấtquan trọng trong việc hình thành và phát triển nhân cách của mỗi con người Yếu tố tạo nên sựbền vững trong gia đình chính là sự gắn kết về huyết thống, tình cảm, trách nhiệm giữa cácthành viên trong gia đình Sự gắn kết ấy bền chặt bao nhiêu thì ắt sẽ tạo nên tình yêu thương, sựđồng cảm, thấu hiểu giữa các thành viên bấy nhiêu Tuy nhiên ngày nay, do tác động của nhiềuyếu tố khách quan và chủ quan, tích cực và tiêu cực đã và đang khiến cho sự gắn kết gia đình trởnên lỏng lẻo, ảnh hưởng tới không khí đầm ấm, vui vẻ, hạnh phúc trong gia đình Đó được xem

là nguyên nhân tạo nên khoảng cách giữa cha mẹ và con cái, giữa các thế hệ trong gia đình

Để có thể gắn kết hơn với nhau, mỗi gia đình nên nắm và vận dụng được những “ngôn ngữ”ứng xử gia đình: tôn trọng – bình đẳng, yêu thương và chia sẻ [1] Trong đó, chia sẻ là bứcthông điệp yêu thương bày tỏ nỗi niềm, đó là thông báo cần thiết hoặc tiếp nhận những thông tincần thiết để người thân hiểu rõ, hiểu thêm, hiểu sâu, hiểu kỹ những vấn đề vướng mắc, nhữngtrăn trở băn khoăn, những gì cần giúp đỡ, hợp tác, giải tỏa, giải quyết Sự cởi mở trong giao tiếpgia đình chính là nhịp cầu nối những yêu thương và xây dựng hạnh phúc Nếu không có sự sẻchia, trong đời sống gia đình sẽ dẫn đến những khép kín tâm tư, tạo ra sự cách biệt vợ chồng,

Trang 15

cách biệt giữa các thế hệ ở chung một mái nhà [1]

Nhằm góp phần giúp các thành viên trong gia đình chia sẻ với nhau hiệu quả, đề tài khóa luận đã được lên ý tưởng và triển khai thực hiện

1.2 Lý do chọn đề tài

Trong cuộc sống hiện đại ngày nay, các mạng xã hội phát triển mạnh và thu hút một lượnglớn người sử dụng Mạng xã hội tạo ra một hệ thống kết nối các thành viên với các cùng mụcđích sử dụng khác nhau, không phân biệt không gian, thời gian với nhiều tính năng như kết bạn,chat, voice chat dựa trên kết nối Internet

Mặc dù thực trạng sử dụng mạng xã hội ngày càng gia tăng, đến nay tại Việt Nam vẫn chưa

có một ứng dụng chuyên dụng để gắn kết những người thân trong gia đình hay những cặp đôi.Mạng xã hội kết nối nhiều người gây nên khó khăn cho người sử dụng về vấn đề

19 tiếp nhận thông tin Thông tin với số lượng lớn với tính chất từ quan trọng đến thứ yếu kết hợpvới nhau, người dùng không thể chú tâm vào những người thân, những người mà họ thật sự cầnđầu tư thời gian để quan tâm Bên cạnh đó, việc lưu trữ và chia sẻ nội dung hình ảnh, âm thanh,tin nhắn chưa được định dạng theo kết cấu hợp lý, gây khó khăn trong việc tìm kiếm và chia sẻ

Vì nhận thấy việc cải thiện các vấn đề nêu trên là cần thiết, hơn nữa, để góp phần xây dựngmột một ứng dụng cho phép kết nối và chia sẻ giữa các nhóm nhỏ, thành viên trong gia đình,các cặp đôi, tác giả lựa chọn đề tài: Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viêntrong gia đình

1.3 Mục tiêu

Xây dựng được ứng dụng Android với chức năng kết nối, nhắn tin nhóm cho những nhómnhỏ, thành viên trong gia đình, cặp đôi Đồng thời, ứng dụng giúp các thành viên trong gia đìnhhoặc cặp đôi chia sẻ những cảm nghĩ, kỷ niệm hình ảnh với nhau Để thực hiện được mục đích

đó, ứng dụng tập trung vào các chức năng sau:

Chức năng Chia sẻ cảm nghĩ hiện tại

o Cho phép người dùng xem được cảm nghĩ hiện tại của các thành viên trực quan o

Người dùng có thể chia sẻ cảm nghĩ một cách dễ dàng và nhanh chóng o Truyền

tải tâm trạng của người dùng thông qua emoticon

o Các thành viên được thông báo khi một người chia sẻ tâm trạng

Chức năng Phòng chat

o Các thành viên có thể trao đổi tin nhắn với nhau

Trang 16

o Người dùng có thể trích dẫn được cảm nghĩ của các thành viên khác trong nhóm

o Chức năng Đếm ngày bên nhau

o Người dùng cặp đôi có thể thiết lập ngày bắt đầu mối quan hệ

o Ứng dụng sẽ hiển thị số ngày hai người đã ở bên nhau

1.4 Phạm vi

Đề tài “Xây dựng ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình” tập trungxây dựng một ứng dụng kết nối và chia sẻ giữa các thành viên trong gia đình thông qua mộtứng dụng Android

Đề tài hướng tới những đối tượng sử dụng sau:

o Những thành viên trong một gia đình

o Cặp đôi

Đề tài tập trung vào giải quyết những vấn đề sau:

o Môi trường để các thành viên chia sẻ suy nghĩ của mình

o Mội trường lưu giữ các kỉ niệm của gia đình

o Môi trường để các thành viên trong gia đình trao đổi tin nhắn với nhau

1.5 Phương pháp thực hiện

Đề tài được thực hiện bằng cách tìm hiểu, đánh giá các giải pháp đã có Tìm ra những điểmhay và phù hợp với đề tài để kế thừa, cải tiến Sau đó đề tài sẽ được bổ sung các tính năng mới,cần thiết để trở nên hoàn thiện và đáp ứng được nhu cầu thực tế của người dùng

Ứng dụng phương pháp Agile vào quá trình phát triển phần mềm Các công nghệ mới hữuích cho đề tài sẽ được tìm hiểu ở giai đoạn đầu và triển khai trong suốt quá trình phát triển

1.6 Ý nghĩa thực tiễn

Thông qua việc cung cấp một môi trường kết nối và chia sẻ giữa các thành viên trong gia

Trang 17

đình, ứng dụng giúp các thành viên gắn kết với nhau hơn từ những tương tác trao đổi thông tinthường ngày đến việc ôn lại kỉ niệm với nhau

1.7 Kết quả dự kiến

Tạo ra sản phẩm là ứng dụng chạy trên nền tảng Android, có đầy đủ các tính năng đã được thiết kế: Chia sẻ cảm nghĩ hiện tại, phòng chat, nhật ký chung và đếm ngày bên nhau

21 Đồng thời, xây dựng được sản phẩm có độ hoàn thiện cao, giao diện thân thiện, dễ sử dụng đối với hầu hết mọi độ tuổi trong gia đình, thời gian phản hồi nhanh, có khả năng mở rộng và sẵn sàng đưa vào môi trường thực tế

Bên cạnh đó, về mặt công nghệ là hiểu rõ về cú pháp, cách hoạt động của các frameworkliên quan như React Native, GraphQL, Express, Socket.IO, SMTP, Firebase CloudMessaging, và ứng dụng một cách hợp lý vào xây dựng ứng dụng kết nối và chia sẻ giữa cácthành viên trong gia đình

1.8 Đánh giá hiện trạng và hướng giải quyết

1.8.1 Đánh giá hiện trạng

Hiện nay, sự phát triển mạnh của mạng xã hội là đòn bẩy để kết nối và chia sẻ, mở rộng mốiquan hệ của bản thân Tuy nhiên, việc kết nối và chia sẻ giữa các người thân trong gia đình lạikhông được nâng cao

Các ứng dụng mạng xã hội hiện nay tập trung vào việc kết nối giữa người với người, chưa

có ứng dụng nào tập trung vào kết nối những người thân trong gia đình lại với nhau Vậy nêncần thiết để xây dựng một ứng dụng có thể dễ dàng được sử dụng với mọi thành viên trong giađình để kết nối và chia sẻ với nhau

1.8.2 Hướng giải quyết

Xây dựng ứng dụng kế thừa các chức năng mang tính kết nối và chia sẻ từ mạng xã hội,đồng thời xây dựng tập trung các chức năng hỗ trợ kết nối và chia sẻ trong nhóm vào một ứngdụng duy nhất

Trang 18

22

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

VÀ XÂY DỰNG ỨNG DỤNG

2.1 Phân tích yêu cầu hệ thống

2.1.1 Phân tích yêu cầu chức năng

2.1.1.1 Yêu cầu lưu trữ

Tính năng lưu trữ là một trong những tính năng rất quan trọng của hệ thống, ảnh hưởngtrực tiếp đến các chức năng trong hệ thống Để hệ thống hoạt động tốt và đạt yêu cầu, ta cần lưutrữ các thông tin như sau:

o Thông tin người dùng: Các thông tin tài khoản, thông tin cơ bản của người dùng như tên, ngày sinh, số điện thoại, email…

o Thông tin của nhóm gia đình bao gồm mã tham gia nhóm, các thành viên trong nhóm,

mã tham gia nhóm và ngày thành lập nhóm

o Thông tin cảm nghĩ của các thành viên trong gia đình bao gồm nội dung cảm nghĩ và biểu tượng cảm xúc

o Thông tin tin nhắn của nhóm bao gồm: nội dung tin nhắn, người gửi, thời gian gửi

o Thông tin nhật ký kỉ niệm của nhóm bao gồm hình ảnh, mô tả, ngày kỉ niệm, người tạo

2.1.1.2 Yêu cầu về tính năng

Ứng dụng là ứng dụng di động chạy trên nền tảng Android, có khả năng truy cập ở tất cả mọi ví trí, thời điểm có kết nối Internet Một vài yêu cầu cơ bản mà hệ thống cần đáp ứng:

o Chức năng cập nhật: Chức năng cập nhật luôn được thực hiện và giảm thiểu tối đa sai sót của người dùng

o Chức năng tự động: Có khả năng tự động thông báo, cập nhật dữ liệu khi cần thiết

2.1.2 Phân tích yên cầu phi chức năng

Trang 19

2.2 Phân tích yêu cầu người dùng

2.2.1 Mô hình use case toàn hệ thống

Hình 2.1: Sơ đồ usecase hệ thống

24

STT

2.2.2 Danh sách các Actors

1 Người dùng ứng dụng Những người có nhu cầu sử dụng ứng

dụng và đã thực hiện đăng ký tài khoản Cóquyền truy cập vào tài nguyên dùng chung vàđược sở hữu bởi tài khoản đã đăng ký

Bảng 2.1: Danh sách các Actors

2.2.3 Danh sách các Use case

ST

T Tên Use case

Trang 20

1 Quản lý tài khoản Quản lý các thông tin liên quan đến tài

khoản, thông tin người dùng

2 Đăng ký Người dùng đăng ký tài khoản để có thể truy

cập và sử dụng các tính năng hệ thống cungcấp

3 Đăng nhập Người dùng có thể đăng nhập vào hệ thống

bằng tài khoản đã đăng ký

4 Khôi phục mật khẩu Cho phép lấy lại mật khẩu thông qua email

6 Quản lý nhóm Quản lý các thông tin liên quan đến nhóm

8 Xem thông tin thành

viên khác trong nhóm

Xem thông tin email, tên, username, số điện thoại của các thành viên khác trong nhóm

25

11 Tham gia nhóm Người dùng tham gia vào nhóm đã được tạo

13 Rời nhóm Người dùng rời khỏi nhóm hiện tại

Xem ngày nhóm được thành lập

21 Quản lý cảm nghĩ Quản lý thông tin cảm nghĩ của nhóm

Trang 21

25 Xem lịch sử cảm nghĩ

của bản thân

Người dùng xem được lịch sử cảm nghĩ của bản thân theo thời gian

26 Quản lý tin nhắn Quản lý tin nhắn trong nhóm

27 Xem tin nhắn của các

30 Gửi tin nhắn văn bản Người dùng có thể gửi văn bản vào nhóm

31 Gửi tin nhắn video Người dùng có thể gửi tin nhắn video vào

nhóm

32 Gửi biểu tượng cảm

xúc

Người biểu tượng cảm xúc vào nhóm

33 Quản lý kỉ niệm Quản lý thông tin kỉ niệm trong nhóm

34 Thêm kỉ niệm Thêm kỉ niệm hình ảnh và nội dung vào

niệm ngẫu nhiên

Người dùng có thể xem được danh sách kỉ niệm trong nhóm ngẫu nhiên

37 Tải xuống kỉ niệm Người dùng có thể tải về điện thoại kỉ niệm

được tạo bởi người dùng đó trong nhóm

38 Xoá kỉ niệm Người dùng có thể chỉnh sửa kỉ niệm được

tạo bởi người dùng đó trong nhóm

Bảng 2.2: Danh sách các usecase

2.2.4 Chi tiết một số usecase

Trang 22

27

Usecase “Tham gia nhóm”

Hình 2.2: Sơ đồ usecase “Tham gia nhóm”

Mô tả Người dùng tham gia vào nhóm đã được tạo

Tiền điều kiện Người dùng đã đăng nhập và chưa tham gia nhóm

nàoHậu điều kiện Người dùng tham gia nhóm thành công

Luồng sự kiện chính 1 Người dùng điền mã tham gia nhóm 2

Người dùng nhấn nút tham gia

3 Ứng dụng hiển thị người dùng tham gia nhóm thành công

Luồng sự kiện phụ 1 Người dùng điền mã tham gia nhóm 2

Người dùng nhấn nút tham gia

3 Ứng dụng hiển thị người dùng tham gia khôngthành công nếu không tồn tại mã tham gia nhóm

Bảng 2.3: Đặc tả use case “Tham gia nhóm”

Usecase “Rời nhóm”

28

Trang 23

Hình 2.3: Sơ đồ usecase “Rời nhóm”

Tiền điều kiện Người dùng đã đăng nhập và đã tham gia nhóm.Hậu điều kiện Người dùng rời nhóm thành công

Luồng sự kiện chính 1 Người dùng nhấn nút Rời nhóm

2 Ứng dụng hiển thị rời nhóm thành công.Luồng sự kiện phụ Không có

Bảng 2.4: Đặc tả usecase “Rời nhóm”

Usecase “Tạo nhóm”

29

Trang 24

Hình 2.4: Sơ đồ usecase “Tạo nhóm”

Tiền điều kiện Người dùng đã đăng nhập và hiện không

tham gia nhóm nào

Luồng sự kiện chính 1 Người dùng nhấn nút Tạo nhóm mới

2 Ứng dụng hiển thị tạo nhóm mớithành công và hiển thị mã tham gia nhómnày

Bảng 2.5: Đặc tả usecase “Quản lý nhóm”

30

Usecase “Cập nhật cảm nghĩ hiện tại”

Trang 25

Hình 2.5: Sơ đồ usecase “Cập nhật cảm nghĩ hiện tại”

Mô tả Người dùng cập nhật cảm nghĩ hiện tại của mình

Tiền điều kiện Người dùng đã đăng nhập và đã tham gia nhómHậu điều kiện Người dùng cập nhật cảm nghĩ thành công

Luồng sự kiện chính 1 Người dùng nhấn chọn emoticon

2 Ứng dụng hiển thị ô điền cảm nghĩ hiện tại 3 Người dùng nhấn nút Lưu để cập nhật cảm nghĩ hiện tại

4 Ứng dụng cập nhật lại emoticon, cảm nghĩ hiện tại của người dùng và hiển thị lại

Luồng sự kiện phụ 1 Người dùng nhấn chọn emoticon

2 Ứng dụng hiển thị ô điền cảm nghĩ hiện tại 3 Người dùng nhấn nút Thoát để thoát ô nhập cảm nghĩ

4 Ứng dụng cập nhật lại emoticon và hiển thị nội dung cảm nghĩ trống

Bảng 2.6: Đặc tả usecase “Cập nhật cảm nghĩ hiện tại”

31

Usecase “Gửi tin nhắn văn bản”

Trang 26

Hình 2.6: Sơ đồ usecase “Gửi tin nhắn văn bản”

Mô tả Người dùng gửi tin nhắn văn bản vào trong nhóm

chat

Tiền điều kiện Người dùng đã đăng nhập và đã tham gia nhómHậu điều kiện Người dùng gửi tin nhắn văn bản thành công.Luồng sự kiện chính 1 Người dùng gõ tin nhắn vào trong ô soạn thảo

2 Người dùng nhấn nút gửi

3 Ứng dụng gửi và hiển thị lại tin nhắn của người dùng trong cửa sổ tin nhắn

Bảng 2.7: Đặc tả usecase “Gửi tin nhắn văn bản”

Usecase “Gửi tin nhắn hình ảnh”

32

Trang 27

Hình 2.7: Sơ đồ usecase “Gửi tin nhắn hình ảnh”

nhóm chat

Tiền điều kiện Người dùng đã đăng nhập và đã tham gia

nhómHậu điều kiện Người dùng gửi tin nhắn hình ảnh thành

công

Luồng sự kiện chính 1 Người dùng nhấn nút đính kèm

2 Ứng dụng hiển thị cửa sổ chọn ảnh 3 Người dùng nhấn chọn ảnh cần gửi 4 Ứng dụng gửi ảnh và hiển thị tin nhắn hình ảnh của người dùng trong cửa sổ tin nhắn

Bảng 2.8: Đặc tả usecase “Gửi tin nhắn hình ảnh”

Usecase “Gửi tin nhắn video”

33

Trang 28

Hình 2.8: Sơ đồ usecase “Gửi tin nhắn video”

vào trong nhóm chat

3 Người dùng nhấn chọn video cần gửi

4 Ứng dụng gửi video và hiển thịtin nhắn video của người dùngtrong cửa sổ tin nhắn

Bảng 2.9: Đặc tả usecase Gửi tin nhắn video”

34

Usecase “Thêm kỉ niệm”

Trang 29

Hình 2.9: Sơ đồ usecase “Thêm kỉ niệm”

Mô tả Người dùng gửi tin nhắn video vào trong nhóm

5 Người dùng nhập nội dung

6 Người dùng nhấn nút Lưu

7 Ứng dụng cập nhật kỉ niệm mới và hiển thị lại cho người dùng

Luồng sự kiện phụ Không có

Bảng 2.10: Đặc tả usecase Thêm kỉ niệm”

Trang 30

Hình 2.10: Lược đồ tuần tự thao tác đăng ký

Mô tả:

o Đầu tiên người dùng đăng ký thông tin tài khoản (1)

o Giao diện tiến hành gọi hàm đăng ký với các thông tin người dùng cung cấp (2) o Hàm đăng ký gửi thông tin lên server để tiến hành đăng ký (3)

o Nếu thông tin hợp lệ, server gọi service để tạo user với các thông tin được cung cấp (4), service tiến hành truy vấn DB để tạo user (5) và trả lại thông tin tạo thành công cho server (6), nếu không hợp lệ thì trả lại thông tin không hợp lệ cho client (11) o Giao diện sau khi nhận kết quả từ server thì hiển thị thông báo tương ứng (10,13)

36

2.3.1.2 Lược đồ tuần tự thao tác đăng nhập

Trang 31

Hình 2.11: Lược đồ tuần tự thao tác đăng nhập

Mô tả:

o Đầu tiên, người dùng đăng nhập với thông tin tài khoản (1)

o Thành phần giao diện gọi hàm xử lý login (2)

37

o Hàm xử lý gửi thông tin đăng nhập tới server để tiến hành kiểm tra thông tin tài khoản (3)

o Server gọi service phụ trách người dùng để kiểm tra xem người dùng hợp lệ (4) o

Service tiến hành truy vấn tới DB để lấy thông tin user tương ứng (5) o DB trả thông

tin của người dùng liên quan tới service (6,11)

o Nếu tìm thấy người dùng thì server kiểm tra xem mật khẩu và trạng thái hoạt động, nếungười dùng hợp lệ thì trả lại thông tin đăng nhập thành công kèm theo jwt để xác thực sau này(16), nếu người dùng không hợp lệ hoặc người dùng không được tìm thấy thì trả lại thông tinkhông hợp lệ hoặc lỗi không tìm thấy (8,13)

Trang 32

2.3.1.3 Lược đồ tuần tự thao tác quên mật khẩu

Yêu cầu đường dẫn đổi mật khẩu

Hình 2.12: : Lược đồ tuần tự thao tác yêu cầu đổi mật khẩu

38

Mô tả

o Người dùng điền thông tin email và nhấn nút quên mật khẩu (1)

o Giao diện gọi hàm ResetPassword() của model tương ứng (2)

o Model gửi yêu cầu đổi mật khẩu cho tài khoản với email được cung cấp lên GraphQL Server (3)

o GraphQL Server gọi User Service để tìm kiếm user với email được cung cấp (4) o User Service tiến hành truy vấn thông tin user trong database (5)

o Nếu không tìm thấy user thì hệ thống trả thông tin lần lượt để thông báo email không tồn tại (18,19,20,21,22)

o Nếu tìm thấy user thì GraphQL Server tiến hành tạo ra một token ngẫu nhiên và lưu vàotrong Database (8,9,10) Sau đó tiến hành yêu cầu gửi đường dẫn xác nhận đổi mật khẩu tới địachỉ email của user (13) Sau đó thông báo đã gửi email xác nhận đổi mật khẩu cho user (17)

Ngày đăng: 18/12/2021, 22:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w