1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng quản lý phòng trọ

148 51 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 148
Dung lượng 5,63 MB

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

Nội dung

Các ứng dụng hiệntại đều hướng đến các chức năng như lưu trữ thông tin về phòng, người thuê phòng,hóa đơn, thực hiện truy xuất các thông tin và tạo các thống kê... Nhiệm vụ nghiên cứu Để

Trang 1

TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU

ĐỒ ÁN TỐT NGHIỆP

Ứng dụng “Quản lý phòng trọ”

Trình độ đào tạo: Đại học chính quy.

Ngành: Công nghệ thông tin.

Chuyên ngành: Lập trình ứng dụng di động và game

Giảng viên hướng dẫn: ThS Nguyễn Thị Minh Nương

Sinh viên thực hiện: Lê Thành Trung

Trang 2

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

LỜI CAM ĐOAN

Đồ án này là quá trình nghiên cứu và xây dựng của cá nhân tôi, dưới sự hướng dẫn của giáo viên ThS Nguyễn Thị Minh Nương Các số liệu, những kết luận nghiên cứu được trình bày trong đồ án này là do tôi tự tìm hiểu và hoàn toàn trung thực Ngoài ra, trong bài báo cáo

có sử dụng một số nguồn tài liệu tham khảo đã được trích dẫn nguồn và chú thích rõ ràng

Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này

Vũng Tàu,Ngày 01 tháng 01 năm 2021

Sinh viên thực hiện

Lê Thành Trung

Trang 3

LỜI CẢM ƠN

Trong khoảng thời gian học tập tại Trường Đại Học Bà Rịa – Vũng Tàu, tôi đã nhậnđược sự hướng dẫn, giúp đỡ quý báu của các thầy cô Điều đó giúp tôi tạo điều kiện tíchlũy vốn kiến thức bổ ích từ những bài giảng, kiến thức thực tế của các thầy cô

Tôi xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với quý thầy cô TrườngĐại Học Bà Rịa Vũng Tàu nói chung và các thầy cô khoa Công Nghệ Kỹ Thuật – NôngNghiệp – Công Nghệ Cao của trường nói riêng đã tạo điều kiện thuận lợi để tôi hoànthành tốt đồ án Đặc biệt tôi cũng xin chân thành cảm ơn đến cô ThS Nguyễn Thị MinhNương – người đã tận tình hướng dẫn, giúp đỡ tôi hoàn thành đồ án tốt nghiệp

Tôi xin kính chúc quý thầy cô có nhiều sức khỏe, gặt hái được nhiều thành côngtrên con đường giảng dạy, chúc Trường Đại Học Bà Rịa – Vũng Tàu sẽ là lựa chọnhàng đầu của các thế hệ sinh viên để học tập và nâng cao trình độ của bản thân

Với điều kiện thời gian và kinh nghiệm còn hạn chế nên bài báo cáo này khôngthể tránh được những thiếu sót Tôi rất mong nhận được sự góp ý kiến của các quýthầy cô để tôi có thể học thêm nhiều kinh nghiệm, nâng cao kiến thức

Tôi xin chân thành cảm ơn!

Trang 4

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

LỜI NÓI ĐẦU

1 Tính cấp thiết của đề tài

Theo thống kê mới nhất, tính đến chiều ngày 09/08/2019 dân số thành phố VũngTàu là 351,300 người với 101,347 hộ đang sinh sống, làm việc và học tập Các nhu cầu

ăn uống, du lịch, nghỉ ngơi ngày càng tăng trưởng để đáp ứng con người Đặc biệt tạiVũng Tàu, dịch vụ du lịch, nghỉ dưỡng, thuê phòng phục vụ nghỉ ngơi và làm việc cótốc độ tăng trưởng trong những năm trở lại đây

Với các nhà trọ, nhà nghỉ có số lượng phòng đủ lớn hay đặt biệt là một ký túc xá cho sinh viên có số lượng lên đến vài trăm phòng thì việc quản lý, lưu trữ thông tin trở nên khó khăn Điều

đó thúc đẩy việc xây dựng một phần mềm chuyên dụng để giải quyết các vấn đề trên Lợi ích mà các phần mềm quản lý đem lại khiến ta không thể không thừa nhận tính hiệu quả của nó.

Trong thực tế, vì muốn tiết kiệm chi phí nên một số chủ nhà trọ, nhà nghỉ sử dụng các giấy

tờ để lưu trữ thông tin khách hàng Việc lưu trữ giấy tờ còn gặp nhiều bất cập nếu số lượng khách ngày một đông, giấy tờ hóa đơn ngày càng nhiều từ đó việc lưu trữ trở thành một bài toán khó Đồng thời nó còn dẫn đến khó khăn trong việc kiểm soát, tra cứu, làm thống kê doanh thu.

2 Tình hình nghiên cứu

Trong thời đại kỷ nguyên số, việc nghiên cứu và phát triển một phần mềm ứngdụng không còn xa lạ Hiện nay, có nhiều phần mềm hỗ trợ việc quản lý phòng trênthiết bị di động Bằng việc sử dụng các công cụ này, doanh nghiệp hay chủ nhà có thểlưu trữ các thông tin phòng, người thuê phòng một cách dễ dàng Các ứng dụng hiệntại đều hướng đến các chức năng như lưu trữ thông tin về phòng, người thuê phòng,hóa đơn, thực hiện truy xuất các thông tin và tạo các thống kê

Trang 5

3 Mục đính nghiên cứu

Mục đích xây dựng ứng dụng là để phục vụ các chủ nhà nghỉ, ký túc xá nóichung và các chủ các dãy phòng trọ nói riêng nhằm giải quyết các vấn đề vừa nêu phíatrên Đồng thời thông qua việc sử dụng ứng dụng sẽ giúp giảm tải công việc, nâng caohiệu suất, giảm thiểu rủi ro mất mát dữ liệu

4 Nhiệm vụ nghiên cứu

Để thực hiện mục tiêu vừa nêu phía trên, phần mềm được tiến hành nghiên cứu xây dựng theo trình tự như sau:

✓ Nghiên cứu cách thức hoạt động, nghiệp vụ của một dãy trọ để xây dựng cơ

sở dữ liệu phù hợp cho ứng dụng

✓ Nghiên cứu và tích hợp MPAndroidChart vào ứng dụng với mục đích để hiển thị thống kê dữ liệu thông qua các sơ đồ nhằm tăng cường trải nghiệm người dùng

✓ Nghiên cứu và tích hợp ZXing vào ứng dụng để xử lý các mã vạch 1D/ 2D

✓ Nghiên cứu và tích hợp Firebase vào ứng dụng Cụ thể sử dụng các tính năng:Auth (xác thực người dùng), Realtime Database (cơ sở dữ liệu theo dạng thời gian thực),Storage (nơi lưu trữ các dữ liệu người dùng)

✓ Nghiên cứu thiết kế giao diện, ngôn ngữ lập trình Kotlin để xây dựng ứng dụng

Trang 6

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

✓ Phần mềm Android Studio với ngôn ngữ Kotlin để lập trình, xây dựng cấu trúc của ứng dụng

✓ Sử dụng phần mềm chuyên dụng để thiết kế các icon, background cho ứng dụng như:

Adobe Illustrator, Adobe Photoshop

6 Các kết quả đạt được của đề tài

Thông qua đề tài sẽ xây dựng hai ứng dụng:

✓ Ứng dụng Motel Management có chức năng chính là quản lý thông tin phòng ở (người thuê phòng, các chỉ số điện nước, hóa đơn thanh toán) tại kí túc xá, phòng trọ.

✓ Ứng dụng Search Motel Information dành cho người thuê phòng Người thuêphòng có thể tra cứu thông tin phòng, hóa đơn của phòng mình thông qua một mã do chủcho thuê phòng cung cấp

Hai ứng dụng đều được liên kết chung một dịch vụ cơ sở dữ liệu là Firebase của Google.

Đồng thời hai ứng dụng đều chạy trên hệ điều hành là Android

Trang 7

Chương 1 Cơ sở lý thuyết

1.1 Hệ điều hành Android

1.1.1 Giới thiệu về Android

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ácthiế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

Hình 1.1 Logo Hệ điều hành android

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ớimụ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 đầutiên chạy Android được bán vào năm 2008

1.1.2 Lịch sử phát triển Android

Hình 1.2 Phiên bản android 11

Trang 8

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

Từ tháng 10 năm 2003 đến tháng 12 năm 2020, hệ điều hành Android được phát triển qua nhiều phiên bản Trong đó có các phiên bản nổi bật như sau:

➢ Tháng 10 năm 2003, Android, Inc được thành lập tại Palo Alto, California

➢ Ngày 17 tháng 8 năm 2005, Google mua lại Android.

➢ Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điềuhành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước Tính tới ngày 9tháng 9 năm 2020 phiên bản Android 11 là phiên bản mới nhất

Trang 9

a) Activity

Một Activity được xem như một điểm tiếp xúc với người dùng Nó làmột màn hình đơn với giao diện trên đó Ví dụ, khi cài và chạy lên ứng dụngnày thì màn hình chạy lên các bạn sẽ thấy giao diện hiện thị cho chúng ta xem,

đó là một Activity Activty giúp người dùng tương tác với hệ thống, thựchiện các chức năng cần thiết trên đó, chuyển đổi qua lại giữa các màn hìnhgiao diện/ chức năng

Mỗi hoạt động có một cửa sổ để vẽ lên Thông thường cửa sổ này phủ đầy màn hình, ngoài ra nó cũng có thể có thêm các cửa sổ con khác như là hộp thoại Nội dung của cửa sổ của hoạt động được cung cấp bởi một hệ thống cấp bậc các View (là đối tượng của lớp Views).

⁂ Vòng đời hoạt động

Các hoạt động trong hệ thống được quản lý bởi một cấu trúc dữ liệu ngănxếp Khi có một hoạt động được khởi tạo, nó được đẩy vào trong ngăn xếp,chuyển sang trạng thái thực thi và hoạt trộng trước đó sẽ chuyển sang trạng tháichờ Hoạt động này chỉ trở lại trang thái kích hoạt khi mà hoạt động vừa khởi tạo kếtthúc việc thực thi

Trang 10

GVHD: ThS Nguyễn Thị Minh Nương 3 Sinh Viên:Lê Thành Trung

Trang 11

Vòng đời của một hoạt động có thể được thể hiện trong những quá trình sau:

Hình 1.4 Mô tả vòng đời của Activity

Trang 12

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

b) Services

Service có chức năng giúp ứng dụng vẫn chạy được, nhưng không cần hiện thịtrên giao diện (gọi là chạy ngầm bên dưới )

Hình 1.5 Mô tả service trong android

Ví dụ khi dùng các ứng nghe nhạc, mặc dù đã tắt ứng dụng nhưng vẫn nghe đượcnhạc (đó là vì nó đang chạy dưới nền /background) Chúng ta có thể liên kết/ kết nốigiữa một Activity với một service Khi tải một file từ trên mạng, việc tải thực hiện ởservice, sau đó sẽ trả kết quả phần trăm tải lên activity để hiện thị cho người dùng biết

Trang 13

Vòng đời của Service được thể hiển qua hình dưới dây:

Hình 1.6 Mô tả vòng đời của service

c) Broadcast Receivers

Hình 1.7 Ví dụ mô tả về Android Broadcase Receiver

Broadcast receiver được sử dụng trong nhiều trường hợp, ví dụ: để chuyển dữliệu từ service lên activity (ngoài sử dụng binding) chúng ta có thể sử dụng broadcast

để gửi dữ liệu Hoặc trong các ứng dụng như hẹn giờ, khi đến giờ hẹn, ứng dụng sẽ sửdụng broadcast báo thức, tạo ra notification trên màn hình để báo cho người dùng biết

Trang 14

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

d) Content Provider

Content provider quản lý các cách để ứng dụng có thể lưu trữ dữ

ta sẽ biết cụ thể về thành phần này khi xây dựng các ứng dụng cần lưu

liệu trên hệ thống Chúng trữ vào SQLite

Hình 1.8 Mô tả quá trình truyền tải của Content Provider

Ví dụ trong các ứng dụng từ điển, dữ liệu, từ vựng được lưu trữ trong SQlite vàContent provider gọi để lấy ra cho người dùng xem Ngoài ra thành phần này còn thựchiện các chức năng, thêm, sửa, xóa dữ liệu…

1.2 Ngôn ngữ Kotlin

1.2.1 Giới thiệu về Kotlin

Kotlin là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (Java Virtual Machine)

và có thể được biên dịch sang mã nguồn Java Kotlin được tạo ra bởi JetBrains và xuất hiệnlần đầu tiên vào năm 2011 và được Google thông báo là “Android official language” (Tạmdịch là ngôn ngữ chính thức của Android) vào sự kiện Google I/O năm 2017

Trang 15

Theo website JetBrains, mục tiêu quan trọng của Kotlin là tính hữu dụng Từ khimới xuất hiện vào năm 2011 cho đến phiên bản 1.0 (15/02/2016), JetBrains luôn chútrọng đến tính tương hợp với Java Kotlin ra đời để khắc phục lỗi bug điển hình là nullpointer reference và giảm tính dài dòng của ngôn ngữ Java.

1.2.2 Kotlin trong Android

Trước khi Kotlin xuất hiện để xây dựng và phát triển một phần mềm di động, cáclập trình viên không có sự lựa chọn khác ngoài Java Mặc dù Java xuất hiện sớm vàđược sử dụng rộng rãi Tuy nhiên trong quá trình hoạt động Java sinh ra rất nhiều filerác Kotlin không chỉ giải quyết được vấn đề xử lý file rác mà còn giảm số lượng mãcode, mã code dễ đọc, dễ hiểu hơn Kotlin có khả năng tận dụng các thư viện hiện cócủa JVM (Java Virtual Machine) và có khả năng tương tác với Java 100%

Kể từ Android Studio 3.0 (được phát hành vào tháng 10 năm 2017), nó đượcnhúng trực tiếp vào IDE Android Studio Kotlin ra đời được JetBrains hy vọng sẽ được

sử dụng trong các lĩnh vực khác.Từ ngày xuất đến tới tháng 12 năm 2020 Kotlin đãđược phát triển và cập nhật được qua nhiều phiên bản

➢ Vào ngày 15 tháng 2 năm 2016, Kotlin v1.0 được phát hành Nó được coi

là phiên bản chính thức đầu tiên

➢ Vào ngày 28 tháng 11 năm 2017, Kotlin v1.2 được phát hành Tính năng chia

sẻ mã nguồn giữa nền tảng JVM và JavaScript mới được thêm vào bản này

➢ Vào ngày 29 tháng 10 năm 2018, Kotlin v1.3 được phát hành Các

coroutine API cho lập trình bất đồng bộ

➢ Vào ngày 17 tháng 8 năm 2020, Kotlin v1.4 được phát hành Với phiên bản này JetBrains tập trung vào chất lượng và hiệu suất

Trang 16

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

1.2.4 Ưu và nhược điểm của Kotlin so với Java

Java cũng là một ngôn ngữ lập trình Trong việc phát triển ứng dụng di động cho hệ điều hành Android, Java là ngôn ngữ lựa chọn số 1 trước khi Kotlin được phát triển rộng rãi

Hình 1.10 Mô tả các ứng dụng của ngôn ngữ Java

Java được nhiều người sử dụng bởi vì:

✓ Cú pháp dễ hiểu, lập trình được nhiều thứ-Web, mobile, …

✓ Code Android từ Java tương thích rất tốt, rất ít lỗi.

✓ Có cộng đồng lớn, nhiều hướng dẫn và thư viện.

✓ Có nhiều công ty tuyển dụng.

Tuy có nhiều ưu điểm như thế, nhưng Java cũng có những nhược điểm chí mạng như:

Trang 17

Vì Kotlin sinh sau đẻ muộn cho nên nó được cải tiến khá nhiều và khắc phục được nhiều bất cập còn tồn động trong Java Cụ thể như sau:

a) Sự tương thích

Một trong những ưu điểm của Kotlin là Kotlin và Java có thể chứa cùngchung một dự án Đồng thời, hai ngôn ngữ Kotlin, Java có thể gọi phương thứcgiữa các class với nhau Về tính tương tác giữa Java và Kotlin là tuyệt đối

b) Kotlin ngắn gọn hơn Java

Có thể nói đây là một lợi ích lớn nhất khi so với Java Cũng là một bài toán logic, tuy nhiên bên Java số lượng tạo ra nhiều hơn so Kotlin

Hình 1.11 Ví dụ code giữa Java và Kotlin

Trang 18

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

c) Extension function

Chức năng này có thể thêm một function (tạm dịch là chức năng) cho một class

mà không cần kế thừa lại class đó

Để hiểu rõ Extension là gì ta xem qua ví dụ dưới đây:

// Extension function Ý nghĩa của hàm là để lấy từ đầu tiên của câu

fun String.getFirstWordOfSentences(): String = this.split(" ").get(0)

/ Khai báo biến tên testSentences, giá trị là chuỗi "Kotlin is so cool" var

testSentences = "Kotlin is so cool"

testSentences.getFirstWordOfSentences() // Kết quả là “Kotlin”

Thông qua ví dụ trên thấy chúng ta không hề kế thừa một class nào từ String,

nhưng thông qua Extension ta xây dựng một function mở rộng cho class String

d) Hàm lồng nhau

Trong Kotlin, một function được định nghĩa hay được viết trong một function

được gọi là hàm lồng nhau Sau đây là một số ví dụ về hàm lòng nhau:

//Tạo một class Object User có 3 trường dữ liệu

class User(val id: Int, val name: String, val address: String)

//Tạo một hàm lưu object user vào cơ sở dữ liệu

fun saveUserToDb(user: User) {//Xây dựng thêm một hàm xác thực value có đang bị trống không?

fun validate(user: User, value: String, fieldName: String) {

if (value.isEmpty()) {throw IllegalArgumentException("Can't save user ${user.id}:empty $fieldName")

Trang 19

Một ví dụ khác sử dụng hàm lồng hàm khi sử dụng các Collection có trong Kotlin.

//khởi tạo một danh sách với kiểu dữ liệu là chuỗi có 4 giá trị ban đầu.val numbers = listOf("one", "two", "three", "four")

//Sử dụng một hàm filter để lọc dữ liệu từ danh sách ban đầu ra một danhdánh sách mới

val longerThan3 = numbers.filter { it.length >

3 } println(longerThan3)

val numbersMap = mapOf("key1" to 1, "key2" to 2, "key3" to 3, "key11"

to 11)

val filteredMap = numbersMap.filter { (key, value) -> key.endsWith("1")

& value > 10} println(filteredMap)

Với tham vọng lớn là sử dụng ngôn ngữ Kotlin có thể biên dịch ra nhiều nền tảng

khác nhau: Android, IOS, Window, … Nhưng nó chỉ đang trong giai đoạn chạy thử

nghiệm

Hình 1.12 Ứng dụng đa nền tảng của ngôn ngữ Kotlin

Trang 20

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

1.3 Firebase của Google

Firebase là tiền thân của Firebase evolved do James Tamplin and Andrew Lee – một

dự án khởi nghiệp trong năm 2011 Nó cung cấp cho lập trình viên một API cho phép tíchhợp chức năng trò chuyện trực tuyến vào trang web của họ Hơn thế nữa, nó còn được sửdụng để truyền và đồng bộ dữ liệu theo thời gian thực cho các trò chơi trực tuyến

Những người sáng lập Firebase evolved đã tách biệt hai mảng trò chuyện và động

bộ dữ liệu theo thời gian thực để phát triển Vào tháng 09 năm 2011, họ thành lậpFirebase như là một công ty riêng biệt và đến tháng 4 năm 2012 ra mắt công chúng.Trong năm 2014, Firebase tung ra hai vụ mới là Firebase Hosting, FirebaseAuthentication Đến tháng 10 năm 2014, Firebase đã bị mua lại bởi Google và pháttriển nhanh chóng thành một mảng lưới cung cấp nhiều dịch vụ tiện ích

Trang 21

1.3.3 Các dịch vụ của Firebase

Hình 1.14 Mô tả các dịch vụ trong Firebase

Thực chất các mảng dịch của Firebase được chia làm 3 mảng nhỏ Các mảng dịchnày tuy rằng nó tách biệt về mặt hình thức lẫn nội dung, nhưng mỗi dịch vụ dường như

có sự gắn kết với nhau giúp ứng dụng của lập trình viên hoạt động trơn tru, tăng cườngtính bảo mật và tăng cường trải nghiệm người dùng

✓ Các dịch vụ giúp tăng tương tác cho ứng dụng.

✓ Các dịch vụ kiểm tra và đánh giá chất lượng ứng dụng.

Trong đề tài này tôi sẽ trình bày các dịch vụ xây dựng cho ứng dụng gồm có các dịch vụ

Trang 22

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

Hình 1.15 Dịch vụ xác thực người dùng qua dịch vụ thứ 3

1.3.3.2 Firebase Realtime Database

Firebase Realtime Database là một trong những dịch vụ ra đời sớm nhất vàđạt được rất nhiều thành công Nó là một cơ sở dữ liệu NoQuery lưu dưới dạngchuỗi JSON Khi có một trường dữ liệu được thay đổi (thêm, xóa, sửa) lập tứccác máy khách đều được đồng bộ

Hình 1.16 Dịch vụ Firebasbe Realtime Database

Nếu thiết bị của máy khách đang trong tình trạng ngoại tuyến – không cókết nối mạng thì Firebase Realtime Database sử dụng bộ đệm cục bộ trên thiết bị

để phục vụ và lưu trữ các thay đổi của máy khách Khi máy khách trở lại trạngthái trực tuyến, dữ liệu được lưu trong bộ đệm sẽ được tự động đồng bộ

Trang 23

1.3.3.3 Firebase Storage

Firebase Storage là một giải pháp giúp người dùng có thể tải lên các nội dung như

hình ảnh và video từ các thiết bị Android, IOS, Web

Hình 1.17 Dịch vụ Storage của Firebase

1.4 Thư viện MPAndroidChart

1.4.1 Giới thiệu

MPAndroidChart là một thư viện hỗ trợ cho lập trình viên tạo các biểu đồ.MPAndroidChart được xây dựng bằng ngôn ngữ Java Ngoài xây dựng các biểu đồ nócòn hỗ trợ việc chia tỷ lệ, tạo các hiệu ứng cho biểu đồ

Hình 1.18 Logo thư viện MPAndroidChart

Trang 24

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

1.4.2 Các dạng biểu đồ

MPAndroidChart hỗ trợ khá nhiều dạng biểu đồ Tùy vào mục đích và dữ liệu mà

ta chọn loại biểu đồ thích hợp Dưới đây là một số ví dụ về các loại biểu đồ có trongthư viên MPAndroidChart

Đầu tiên sẽ là các dạng biểu đồ LineChart Dạng biểu đồ này thường được sửdụng thể hiển doanh thu, sự tăng trưởng của tháng, năm hoặc quý

Hình 1.19 Biểu đồ dạng LineChart trong thư viện MPAndroidChart(1)

Hình 1.20 Biểu đồ dạng LineChart trong thư viện MPAndroidChart(2)

Trang 25

Dạng biểu đồ thứ hai là dạng BarChart Các biểu đồ dạng này thể hiển tốc độtăng trưởng, doanh thu từng tháng, từng năm hoặc so sách doanh thu của hai năm.

Hình 1.22 Biểu đồ dạng BarChart trong thư viện MPAndroidChart(1)

Hình 1.23 Biểu đồ dạng BarChart trong thư viện MPAndroidChart(2)

Tiếp theo là loại biểu đồ kết hợp giữa LineChart và BarChart được gọi là Chart Trong một số trường hợp người dùng muốn kết hợp dữ liệu và hiển thị đồng thờihai trong một Các biểu đồ loại này thường hướng tới mục đích thể hiện hai trường dữ liệutrở lên Ví dụ, tại vũng tàu hiển thị lượng khách du lịch, doanh thu của từng tháng

Combined-Hình 1.24 Biểu đồ dạng Combined-Chart trong thư viện MPAndroidChart

Trang 26

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

Dạng biểu đồ tiếp theo là PieChart Loại biểu đồ này thường được sử dụng khi thể hiển số phần doanh thu trong bốn quý Từ đó thể hiển quý nào chiểm doanh thu cao nhất, thấp nhất.

Hình 1.25 Biểu đồ dạng PieChart trong thư viện MPAndroidChart

1.5 Thư viện ZXing

1.5.1 Giới thiệu

ZXing là một thư viện xử lý hình ảnh mã vạch 1D / 2D mã nguồn mở được triểnkhai trên Java, Đây là một thư viện mạnh mẽ được rất nhiều người sử dụng vì yếu tốnhanh chóng và dễ sử dụng của nó

Hình 1.26 Logo của thư viện ZXing

Với các đặc điểm:

✓ Dễ dàng sử dụng khi ZXing được khởi tạo thông qua Intent

✓ Lập trình viên dễ dàng tùy chỉnh lại giao diện quét mã.

✓ Chế độ quét mã có thể thay đổi theo chiều ngang hoặc dọc.

✓ Thời gian khởi động nhanh vì được quản lý trong background thread.

Trang 27

1.5.2 Lịch sử hình thành

ZXing được xây dựng tại Nhật Bản vào năm 1994, nó được sử dụng để theo dõicác bộ phận trong sản xuất xe Ngày nay, ZXing được sử dụng để định danh trong cácsản phẩm, vật dụng trong đời sống nhằm lưu trữ và truy xuất diễn ra dễ dàng

ZXing khi được truy xuất sẽ trả về nội dung mà người đã tạo trước đó Nó có thể

là đoạn text, một dãy số hoặc thậm chí là đoạn text có cấu trúc

Trang 28

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

Chương 2 Phân tích hệ thống

2.1 Mô tả các chức năng chi tiết

2.1.1 Quản lý tài khoản trên Firebase Authenticator

Hình 2.1 Trang quản lý tài khoản của Firebase

Khi đăng nhập vào hệ thống trang web (https://console.firebase.google.com/) củaFirebase hỗ trợ cho admin có thể quản lý trực tiếp Còn với người dùng (user cho chủthuê phòng) chỉ có sử dụng được chức năng thêm tài khoản thông qua ứng dụng

Bảng 2.1 Bảng mô tả các chức năng có trong trang quản lý tài khoản Firebase

1 Thêm tài khoản Cho phép admin có thể tạo thêm một tài khoản mới

2 Khởi tạo lại mật Thực hiện tạo một mật khẩu mới cho tài khoản

khẩu

3 Vô hiệu hóa tài Cho phép admin thực hiện ngăn chặn sự truy cập

4 Xóa một tài khoản Thực hiện xóa vĩnh viễn tài khoản ra khỏi hệ thống

Trang 29

2.1.2 Quản lý cơ sở dữ liệu trên Firebase Realtime Database

Hình 2.2 Trang quản lý cơ sở dữ liệu Firebase Realtime Database

Tại chức năng này, khi đăng nhập vào hệ thống web của Firebase hỗ trợ cho admin quản

lý trực tiếp Còn user cho chủ thuê phòng thông qua ứng dụng có thể thêm, sửa và xóa cơ sở

dữ liệu Riêng user của người thuê phòng chỉ đọc được dữ liệu thông qua ứng dụng

Bảng 2.2 Bảng mô tả chức năng của trang quản lý cơ sở dữ liệu

1 Thêm Cho phép thêm dữ liệu vào cơ sở dữ liệu

2 Xóa Cho phép xóa dữ liệu vĩnh viễn trong cơ sở dữ liệu

3 Cập nhật Cho phép cập nhật dữ liệu trong cơ sở dữ liệu

4 Xuất dữ liệu Xuất dữ liệu ra dưới dạng JSON

5 Nhập dữ liệu Nhập dữ liệu dưới dạng JSON vào cơ sở dữ liệu

Trang 30

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

2.1.3 Quản lý nội dung các phương tiện của người dùng

Hình 2.3 Trang quản lý dữ liệu trên Firebase Storage

Tại chức năng, chỉ có admin mới có quyền truy cập và tương tác Riêng user người cho thuê sử dụng ứng dụng để tương tác với việc cập nhật avatar của user

Bảng 2.3 Mô tả chức năng của trang quản lý dữ liệu Firebase Storage

1 Thêm Cho phép thêm một file vào cơ sở dữ liệu

2 Xóa Cho phép xóa dữ liệu vĩnh viễn vào cơ sở dữ liệu

Trang 31

2.2 Xác định các tác nhân

Hệ thống có ba tác nhân chính: một là admin, hai là user-người cho thuê phòng

và tác nhân cuối cùng là người thuê phòng

2.2.1 Tác nhân Admin

Admin có quản lý Firebase và là tác nhân có quyền hạn cao nhất Admin gồm cácquyền như sau:

✓ Đăng nhập/ đăng xuất trên hệ thống

✓ Quản lý (thêm, xóa, cập nhật) cơ sở dữ liệu trong Firebase Realtime Database.

✓ Quản lý các tài khoản – user chủ cho thuê phòng đã đăng ký.

Sơ đồ 2.1 Mô tả usecase của user Admin

Trang 32

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

2.2.2 Tác nhân user người cho thuê phòng

Nếu như tác nhân Admin có tất cả các quyền thì tác nhân user người cho thuê sẽ

có ở một số các quyền như sau:

✓ Đăng nhập/ đăng xuất hệ thống

✓ Chỉnh sửa thông tin tài khoản.

✓ Thêm, xóa, cập nhật cơ sở dữ liệu của một số bảng.

Sơ đồ 2.2 Mô tả usecase của user - người cho thuê phòng

2.2.3 Tác nhân người thuê phòng

Tại tác nhân này chỉ có thể xem thông tin thông qua một mã code do user chủ cho thuê cung cấp Các thông bao gồm:

✓ Thông tin phòng đang ở

✓ Danh sách hóa đơn của phòng (chưa thanh toán, đã thanh toán).

✓ Danh sách các thành viên ở cùng phòng.

✓ Xem thống kê thông dưới dạng các biểu đồ.

Trang 33

2.3 Đặc tả các use case

2.3.1 Đăng nhập vào hệ thống

Đặc tả: Use case này cho phép đăng nhập vào hệ thống thông qua email vàpassword mà người dùng đã tạo trước đó Use case này không thể hiện cho cách đăngnhập qua phương thức khác (Google, Facebook)

Actor: Dành cho các tài khoản đăng kí trực tiếp qua ứng dụng không qua phươngthức khác Nói cách khác chỉ dành cho tài khoản của người cho thuê phòng

Sơ đồ 2.3 Mô tả sơ đồ tuần tự của quá trình đăng nhập thành công

Sơ đồ 2.4 Mô tả sơ đồ hợp tác của quá trình đăng nhập thành công

Trang 34

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

Sơ đồ 2.5 Mô tả sơ đồ tuần tự của quá trình đăng nhập thất bại

Sơ đồ 2.6 Mô tả sơ đồ hợp tác của quá trình đăng nhập thất bại

Trang 35

2.3.2 Thống kê

Đặc tả: Khi user đăng nhập thành công, user sẽ sử dụng chức năng thống kê.Actor: Dành cho các tài khoản cho thuê phòng

Sơ đồ 2.7 Mô tả sơ đồ tuần tự của quá trình thống kê

Sơ đồ 2.8 Mô tả sơ đồ hợp tác của quá trình thống kê

Trang 36

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

2.3.3 Tìm kiếm dữ liệu

Đặc tả: Khi user đăng nhập thành công, user sẽ sử dụng chức năng tìm kiếm tại màn hình chính của ứng dụng

Actor: Dành cho các tài khoản cho người thuê phòng

Sơ đồ 2.9 Mô tả sơ đồ hợp tác của quá trình thống kê

Sơ đồ 2.10 Mô tả sơ đồ hợp tác của quá trình tìm kiếm

Trang 37

2.3.4 Xem thông tin tài khoản

Đặc tả: Khi user đăng nhập thành công, user sẽ sử dụng chức năng xem thông tin tài khoản tại màn hình DashBoard của ứng dụng

Actor: Dành cho các tài khoản user người cho thuê phòng

Sơ đồ 2.11 Mô tả sơ đồ tuần từ của quá trình xem thông tin tài khoản

Sơ đồ 2.12 Mô tả sơ đồ hợp tác của quá trình xem thông tin tài khoản

Trang 38

Đồ án tốt nghiệp đại học – Khóa 20117-2021 Trường Đại Học Bà Rịa Vũng Tàu

2.3.5 Cập nhật dữ liệu

Đặc tả: Khi user đăng nhập thành công, user có thể tiến hành cập nhật dữ liệu củaFirebase Realtime Database thông qua ứng dụng

Actor: Dành cho các user người cho thuê phòng

Sơ đồ 2.13 Mô tả sơ đồ tuần tự của quá trình cập nhật dữ liệu

Sơ đồ 2.14 Mô tả sơ đồ hợp tác của quá trình cập nhật dữ liệu

Trang 39

2.4 Xây dựng cơ sở dữ liệu

2.4.1 Các thực thể và các thuộc tính

User

Các thựcthểBill

Hình 2.4 Mô tả các thực thể của hệ thống Bảng 2.4 Bảng mô tả các thuộc tính của thực thể

Room

Trang 40

2 electricityNewIndex Integer Chỉ số điện mới

Ngày đăng: 19/11/2021, 23:22

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w