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

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

63 61 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

Định dạng
Số trang 63
Dung lượng 2,51 MB

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

Nội dung

Đây là báo cáo đồ án tốt nghiệp ngành CNTT ra trường của mình, các bạn có thể tham khảo để làm theo cho hoàn thiện hơn hoặc phát triển, cải tiến thêm cho báo cáo của các bạn.Báo cáo trình bày về ứng dụng chia sẻ trích dẫn hay mỗi ngày trên nền tảng Android và các phân tích thiết kế hệ thống theo hướng cấu trúc (chức năng)

Trang 1

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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 hoà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Ú

Trang 10

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

Ngoà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

Trang 11

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 luôn 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

Trang 12

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 khuyên 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

Trang 13

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

▪ Ngoà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

Trang 14

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

Trang 15

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 khuyên 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è

Trang 16

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 quên 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 hoà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

Trang 17

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, …

Trang 18

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

Trang 19

• 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ể thoá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

Trang 20

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)

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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

Trang 25

❖ 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

Trang 26

❖ Bảng bình luận: Lưu trữ thông tin các bình buận trong hệ thống

Bảng 2 - 5 Thiết kế cấu trúc bảng bình luận

STT Thuộc tính Kiểu dữ liệu Mô tả

1 cId String Mã bình luận

2 comment String Nội dung bình luận

3 timesStamp String Mốc thời gian bình luận

4 uid String Mốc thời gian

5 uEmail String Hòm thư điện tử của người dùng

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

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

❖ Bảng nhóm tin nhắn: Lưu trữ thông tin các nhóm nhắn tin trong hệ thống

Bảng 2 - 6 Thiết kế cấu trúc các nhóm nhắn tin

STT Thuộc tính Kiểu dữ liệu Mô tả

1 groupId String Mã nhóm

2 groupTitle String Tiêu đề nhóm

3 groupDescription String Mô tả nhóm

4 groupIcon String Biểu tượng nhóm

5 timeStamp String Mốc thời gian tạo nhóm

6 createdBy String Được tạo bởi người dùng

7 uId String Mã người dùng

8 messages String Mã tin nhắn trong nhóm

❖ Bảng tin nhắn nhóm: Lưu trữ thông tin các tin nhắn trong nhóm trong hệ thống

Bảng 2 - 7 Thiết kế cấu trúc bảng tin nhắn nhóm

STT Thuộc tính Kiểu dữ liệu Mô tả

1 message String Nội dung tin nhắn nhóm

2 sender String Người gửi tin nhắn

3 timeStamp String Mốc thời gian gửi tin nhắn lên nhóm

Trang 27

2.6 Xây dựng biểu đồ quan hệ thực thể

2.6.1 Ký hiệu sử dụng

Hình 2 - 12 Ký hiệu sử dụng trong biểu đồ quan hệ thực thể

2.6.2 Lập biểu đồ quan hệ thực thể

Hình 2 - 13 Lược đồ quan hệ thực thể

2.6.3 Mối liên kết trong biểu đồ quan hệ thực thể

Quan hệ thực thể giữa Các bài viết và Các người dùng:

• Nhiều người dùng không viết một bài viết nào hoặc viết nhiều bài viết

• Nhiều bài viết được viết bởi một người dùng hoặc nhiều người dùng

Trang 28

Quan hệ thực thể giữa Các bài viết và Các bình luận:

• Nhiều bài viết có nhiều bình luận hoặc nhiều bài viết không có bình luận

• Nhiều bình luận được có trong một bài viết hoặc nhiều bài viết

Quan hệ thực thể giữa Các bình luận và Các người dùng:

• Nhiều người dùng bình luận nhiều hoặc nhiều người dùng không bình luận

• Nhiều bình luận được bình luận bởi một người hoặc bởi nhiều người

Quan hệ thực thể giữa Các người dùng và Danh sách nhắn tin:

• Một người dùng xem một danh sách nhắn tin

• Một danh sách nhắn tin được xem bởi một người dùng

Quan hệ thực thể giữa Các người dùng và Các tin nhắn:

• Nhiều người dùng viết nhiều tin nhắn hoặc không viết tin nhắn nào

• Nhiều tin nhắn được viết bởi một người dùng hoặc nhiều người dùng

Quan hệ thực thể giữa Các tin nhắn và Danh sách nhắn tin:

• Một danh sách nhắn tin chứa một hoặc nhiều tin nhắn

• Nhiều tin nhắn phải thuộc một danh sách nhắn tin

Quan hệ thực thể giữa Các người dùng và Danh sách nhóm tin nhắn:

• Một người dùng xem một danh sách nhóm tin nhắn

• Một danh sách nhóm tin nhắn được xem bởi một người dùng

Quan hệ thực thể giữa Các người dùng và Tin nhắn nhóm:

• Nhiều người dùng viết nhiều tin nhắn nhóm hoặc không viết tin nhắn nhóm nào

• Nhiều tin nhắn nhóm được viết bởi một người dùng hoặc nhiều người dùng Quan hệ thực thể giữa Tin nhắn nhóm và Danh sách nhóm tin nhắn:

• Một danh sách nhóm tin nhắn chứa một hoặc nhiều tin nhắn nhóm

• Nhiều tin nhắn nhóm phải thuộc một danh sách nhóm tin nhắn

2.7 Xác định các yêu cầu phi chức năng

Trang 29

▪ Tương tác giữa người dùng với hệ thống không nên vượt quá 3s

▪ Có thể hoạt động ổn định trên các dòng điện thoại khác nhau

▪ Thời gian xử lý nhanh

▪ Dễ sử dụng với những giao diện đồ họa thân thiện phù hợp với người dùng

Trang 30

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT

3.1 Hệ điều hành Android

3.1.1 Giới thiệu

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Android, Inc với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005

Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào năm 2008

Hình 3 - 1 Biểu tượng của hệ điều hành Android Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh

và phân phối Android một cách tự do

Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các

Trang 31

sửa đổi Tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt

Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian OS vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu

Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android

đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác

Android chiếm 87,7% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 2 năm 2017, với tổng cộng 2 tỷ thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ

3.1.2 Kiến trúc của hệ điều hành Android

Android có một hạt nhân dựa trên nhân Linux phiên bản 2.6, kể từ Android 4.0 Ice Cream Sandwich (bánh ngọt kẹp kem) trở về sau, là phiên bản 3.x, với middleware, thư viện và API viết bằng C, còn phần mềm ứng dụng chạy trên một nền tảng ứng dụng gồm các thư viện tương thích với Java dựa trên Apache Harmony

Android sử dụng máy ảo Dalvik với một trình biên dịch động để chạy 'mã dex' (Dalvik Executable) của Dalvik, thường được biên dịch sang Java bytecode Nền tảng phần cứng chính của Android là kiến trúc ARM Người ta cũng hỗ trợ x86 thông qua dự

án Android x86, và Google TV cũng sử dụng một phiên bản x86 đặc biệt của Android Android được Google tự phát triển riêng cho đến khi những thay đổi và cập nhật

đã hoàn thiện, khi đó mã nguồn mới được công khai

Ngày đăng: 21/08/2021, 13:29

TỪ KHÓA LIÊN QUAN

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

w