Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,21 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN ĐỀ TÀI: “XÂY DỰNG ỨNG DỤNG QUẢN LÝ CHI TIÊU CHO PHÒNG TRỌ” Giảng viên hướng dẫn: ThS Trần Anh Dũng Sinh viên thực hiện: Hoàng Minh Hồng 17520526 Trương Nguyễn Tuấn Nam 17520785 Tp Hồ Chí Minh, ngày 11 tháng 01 năm 2021 LỜI CẢM ƠN Trong trình học tập, nghiên cứu phát triền đề tài “Xây dựng ứng dụng quản lý chi tiêu cho phòng trọ” chúng em nhận giúp đỡ, bảo nhiệt tình thầy để hoàn thành đồ án Chúng em xin bày tỏ biết ơn đặc biệt đến Thầy Trần Anh Dũng người trực tiếp hướng dẫn, giúp đỡ kiến thức, tài liệu phương pháp để chúng em hoàn thành đề tài Chúng em xin chân thành cảm ơn thời gian quý báu thầy dành để kiểm tra, đưa ý kiến nhận xét đóng góp nhiều vào tính năng, hướng phát triển cho đề tài Hi vọng với báo góp ý từ thầy, nhóm đề tài tiếp túc phát triển để ứng dụng ngày mở rộng phục vụ tốt cho người dùng Mặc dù có nhiều cố gắng suốt trình thực đề tài, song cịn có mặt hạn chế, thiếu sót Chúng em mong nhận ý kiến đóng góp dẫn thầy bạn để đề tài chúng em hoàn thiện Chúng em xin trân trọng cảm ơn! Thành phố Hồ Chí Minh, 11 tháng 01 năm 2021 MỤC LỤC Nộ i dung Chương GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài 1.2 Mục đích đề tài 1.3 Chức dự kiến 1.4 Đối tượng nghiên cứu Chương KIẾN THỨC NỀN TẢNG 2.1 Tổng quan mơ hình lớp 2.1.1 Khái niệm 2.1.2 Cấu trúc mơ hình lớp 2.1.2.1 Tầng trình diễn – Presentation Layer (GUI) 2.1.2.2 Tầng logic liệu – Business Logic Layer (BLL) 2.1.2.3 Tầng truy cập liệu – Data Access Layer (DAL) 2.1.3 Ưu điểm mô hình lớp 2.1.4 So sánh MVC 3-tiers Model 2.2 Tổng quan công nghệ Flutter 2.2.1 Khái niệm 2.2.2 Lịch sử phát triển 2.2.3 Ưu điểm Flutter 2.3 Ngôn ngữ Dart 2.3.1 Giới thiệu ngôn ngữ Dart 10 10 2.3.2 Ưu điểm Dart 2.4 Google Firebase Cloud 10 12 2.4.1 Khái niệm Firebase 12 2.4.2 Chức Google Firebase 13 2.4.2.1 Realtime Database – Cơ sở liệu thời gian thực 13 2.4.2.2 Firebase Authentication – Hệ thống xác thực Firebase 13 2.4.2.3 Firebase storage 13 2.4.2.4 Firebase Cloud Messaging 13 Lợi ích Google Firebase 13 2.4.3 2.5 Tổng quan Android 14 2.5.1 Giới thiệu tảng Android 14 2.5.2 Cấu trúc hệ điều hành Android 15 2.5.3 Giới thiệu hệ điều hành mở Android 16 XÂY DỰNG HỆ THỐNG 16 Chương 3.1 Xây dựng kiến trúc hệ thống 3.1.1 Xác định yêu cầu hệ thống 3.1.1.1 Mô tả chức 3.1.2 Phân tích thiết kế hệ thống 16 16 17 19 3.1.2.1 Sơ đồ use case 19 3.1.2.2 Danh sách actors 22 3.1.2.3 Danh sách use cases 22 3.1.3 Sơ đồ lớp 23 3.1.4 Phân tích thiết kế CSDL 24 3.1.4.1 Bảng Thơng tin nhóm 24 3.1.4.2 Bảng Khoản chi nhóm 25 3.1.4.3 Bảng Chi tiết khoản chi 25 3.1.4.4 Bảng Người dùng 26 3.2 Thiết kế giao diện 3.2.1 Giao diện ứng dụng 27 27 3.2.1.1 Giao diện Đăng ký 27 3.2.1.2 Xác minh số điện thoại 28 3.2.1.3 Giao diện Đăng nhập 29 3.2.1.4 Giao diện Quản lý khoản chi 30 3.2.1.5 Giao diện Danh sách nhóm 31 3.2.1.6 Giao diện Tổng quan 32 3.2.1.7 Giao diện Quản lý tài khoản 33 3.2.1.8 Giao diện Thống kê 34 3.2.1.9 Giao diện Thông tin chi tiết khoản chi 35 Chương KẾ HOẠCH THỰC HIỆN 36 4.1 Quá trình thực 36 4.2 Bảng phân cơng cơng việc 37 Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN 38 5.1 Ưu điểm 38 5.2 Nhược điểm 38 5.3 Hướng phát triển 38 Chương TÀI LIỆU THAM KHẢO 39 DANH MỤC HÌNH VẼ Hình 2-1: Mơ hình lớp Hình 2-2: So sánh Mơ hình lớp MVC Hình 2-3:Google Firebase Cloud 10 Hình 2-4: Cấu trúc hệ điều hành Android 13 Hình 3-1: Biểu đồ use case mức tổng quát 16 Hình 3-2: Biểu đồ use case Đăng nhập 17 Hình 3-3: Biểu đồ use case Quản lý khoản chi nhóm 18 Hình 3-4: Biểu đồ use case Tổng quan nhóm 18 Hình 3-5: Biểu đồ lớp 21 Hình 3-6: Giao diện đăng ký 25 Hình 3-7: Giao diện xác minh số điện thoại 26 Hình 3-8: Giao diện đăng nhập 27 Hình 3-9: Giao diện Quản lý khoản chi 28 Hình 3-10: Giao diện Danh sách nhóm 29 Hình 3-11: Giao diện Tổng quan 30 Hình 3-12: Giao diện Quản lý tài khoản 32 Hình 3-13: Giao diện Thống kê 33 Hình 3-14: Giao diện Thông tin chi tiết 34 DANH MỤC BẢNG Bảng 3-1: Danh sách actors 19 Bảng 3-2: Danh sách use cases 20 Bảng 3-3: Các lớp sơ đổ lớp 21 Bảng 3-4: Các đối tượng thuộc tính đối tượng 22 Bảng 3-5: Bảng Khoản chi 22 Bảng 3-6: Bảng Chi tiết khoản chi 22 Bảng 3-7: Bảng Khoản thu 23 Bảng 3-8: Bảng Chi tiết khoản thu 23 Bảng 3-9: Bảng Người dùng 24 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ Giải thích QLTC Quản lý tài Hình thức quản lý tiền bạc CSDL Cơ sở liệu Cơ sở liệu cho ứng dụng RFM RoomFinancialManagement Tên ứng dụng Chương GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài Dựa nhu cầu bạn trọ thường nộp tiền quỹ từ sử dụng dần, hay việc nợ tiền người người khác, hàng mua người sử dụng người kia.v.v Việc quản lý thủ cơng trở nên khó khăn, phần mềm giúp bạn quản lý cách đơn giản gọn nhẹ Kết trả dư nợ người số tiền dư hay thiếu quỹ chung Đối với người tiêu dùng thông minh, chuyện quản lý chi tiêu dễ dàng Nhưng sinh viên học tự quản lý túi tiền nên nhiều ứng dụng làm để giải vấn đề Xây dựng ứng dụng tài đề tài khơng ln mang tính ứng dụng nhu cầu cao từ lập trình viên Với phát triển mạnh mẽ cách mạng công nghệ 4.0, phát triển internet điều dễ dự đốn, mà người có cho riêng thiết bị di động kết nối với internet với đời nhiều ứng dụng quản lý chức tính riêng Phục vụ tốt nhu người dùng người quản lý chi tiêu hoạt động thường ngày Người dùng cần thao tác đơn giản điện thoại di động sử dụng 1.2 Mục đích đề tài - Với bước khởi đầu mơn Đồ án 1, nhóm thực đề tài mong muốn nghiên cứu tìm tính ưu việt để áp dụng thêm vào đề tài - Từ cơng nghệ tìm hiểu, nhóm chọn cơng nghệ phù hợp, mở rộng nâng cấp thêm để ứng dụng hồn thiện theo hướng mong muốn nhóm - Trong phạm vi mơn học, nhóm đặt chức phải thực gồm: ● Xây dựng chức đăng nhập, đăng ký, xác thực tài khoản ● Xây dụng chức quản lý thông tin người dùng ● Xây dựng chức quản lý khoản chi nhóm ● Xây dựng chức tạo nhóm chi tiêu ● Xây dựng chức quản lý thống kê 3.1.4.2 Bảng Khoản chi nhóm Bảng khoản chi nhóm lưu thông tin khoản chi KhoanChiNhom Tên trường id Kiểu liệu String Ràng buộc Primary key ngayMua String Not null idItem List Not null Mô tả Mã khoản chi Ngày tạo khoản chi Danh sách mã khoản chi Bảng 3-6: Bảng Khoản chi nhóm 3.1.4.3 Bảng Chi tiết khoản chi Bảng chi tiết khoản chi lưu thông tin chi tiết khoản chi mà người dùng tạo ChiTietKhoanChi Tên trường Kiểu liệu Ràng buộc idItem String Primary key iconLoai String Not null tenLoai String Not null noiDung String Not null giaTien String Not null nguoiMua String Not null nguoiThamGia List Not null hoaDon String Null ghiChu String Null Bảng 3-7: Bảng Chi tiết khoản chi 25 Mô tả Mã item khoản chi Đường dẫn hình loại khoản chi Tên loại khoản chi Nội dung tạo khoản chi Giá tiền khoản chi Người tạo khoản chi Danh sách người tham gia khoản chi Đường dẫn hình hóa đơn Ghi có 3.1.4.4 Bảng Người dùng Bảng người dùng lưu thông tin người dùng Users Tên trường uid Kiểu liệu String Ràng buộc Primary key displayName String Not null phoneNumber String Not null password String Not null avatar String Null money String Not null idGroup List Null Bảng 3-8: Bảng Chi tiết sản phẩm 26 Mô tả Mã người dùng Tên hiểu thị người dùng Số điện thoại người dùng Mật người dùng Ảnh đại diện người dùng Số tiền có người dùng Danh sách nhóm người dùng tạo tham gia 3.2 Thiết kế giao diện 3.2.1 Giao diện ứng dụng 3.2.1.1 Giao diện Đăng ký Đây giao diện đăng ký ứng dụng, cho phép người dùng đăng ký tài khoản sử dụng ứng dụng Hình 3-6: Giao diện đăng ký 27 3.2.1.2 Xác minh số điện thoại Đây giao diện Xác minh số điện thoại, xác minh lại số điện thoại người dùng Hình 3-7: Giao diện xác minh số điện thoại 28 3.2.1.3 Giao diện Đăng nhập Đây giao diện đăng nhập ứng dụng, cho phép người dùng đăng nhập vào ứng dụng tài khoản đăng ký, tài khoản google, tài khoản facebook Hình 3-9: Giao diện đăng nhập 29 3.2.1.4 Giao diện Quản lý khoản chi Đây giao diện Quản lý khoản chi, hiển thị danh sách khoản chi nhóm Hình 3-9: Giao diện Quản lý khoản chi 30 3.2.1.5 Giao diện Danh sách nhóm Đây giao diện Danh sách nhóm, hiển thị danh sách nhóm mà người dùng tạo tham gia Hình 3-10: Giao diện Danh sách nhóm 31 3.2.1.6 Giao diện Tổng quan Đây giao diện Tổng quan, hiển thị thơng tin tổng quan nhóm Hình 3-11: Giao diện Tổng quan 32 3.2.1.7 Giao diện Quản lý tài khoản Đây giao diện tài khoản, giúp người dùng quản lý tài khoản Hình 3-12: Giao diện Quản lý tài khoản 33 3.2.1.8 Giao diện Thống kê Đây giao diện thống kê, hiển thị thông tin thống kê tháng tháng trước nhóm Hình 3-13: Giao diện Thống kê 34 3.2.1.9 Giao diện Thông tin chi tiết khoản chi Đây giao diện Thông tin chi tiết khoản chi, hiển thị thông tin chi tiết khoản chi ngày mà người dùng chọn Hình 3-14: Giao diện Thông tin chi tiết 35 Chương KẾ HOẠCH THỰC HIỆN 4.1 Quá trình thực Với đề tài nhóm chia q trình thực cụ thể sau: − Sprint 1: tìm hiểu Flutter, Firebase, front end framework Android Studio, tìm hiểu nghiệp vụ, quy trình xử lý thu chi ứng dụng, website tương tự có − Sprint 2: Thiết kế chức ứng dụng sở liệu Xây dựng kiến trúc ứng dụng − Sprint 3: Xây dựng API, xây dựng giao diện ứng dụng để thực số chức xác định sprint − Sprint 4: Xây dựng API, xây dựng giao diện ứng dụng để thực số chức lại sau sprint − Sprint 5: Xây dựng API, xây dựng giao diện ứng dụng để thực số chức lại sau sprint Sprint Hồng Minh Hồng Trương Nguyễn Tuấn Nam Tìm hiểu Flutter, Firebase, nghiệp vụ, quy trình quản lý tài nhóm Tìm hiểu Flutter, Firebase, Android studio Khảo sát ứng dụng có: Số chi tiêu Misa, Mint Khảo sát ứng dụng có: Lazada, MoneyMate (20/10/2020 – 03/11/2020) (04/11/2020 – 17/11/2020) (18/11/2020 – 01/12/2020) Thiết kế chức ứng dụng, sở liệu Xây dựng kiến trúc ứng dụng Xây dựng API Thiết kế chức ứng dụng, sở liệu Xây dựng API Xây dựng giao diện, chức Xây dựng giao diện, chức năng: năng: trang chủ, quản lý chi đăng nhập, lưu thơng tin người tiêu nhóm dùng 36 Xây dựng API (02/12/2020 – 15/12/2020) Xây dựng giao diện, chức năng: tạo khoản thu/chi nhóm, thống kê khoản thu/chi nhóm Viết báo cáo Xây dựng API (16/12/2020 – 29/12/2020) 4.2 Xây dựng giao diện, chức năng: Test chức ứng dụng tìm kiếm thơng tin nhóm, thơng báo Bảng phân chia công công việc Công việc thực Tên MSSV - Phân tích chức ứng dụng Hoàng Minh Hồng 17520526 - Thiết kế Database kiến trúc hệ thống - Thực chức quản lý chi tiêu, tạo nhóm, quản lý nhóm, thống kê - Viết báo cáo - Phân tích chức ứng dụng - Vẽ sơ đồ usecase tổng quan Trương Nguyễn Tuấn Nam 17520785 - Viết đặc tả usecase - Thực chức đăng ký, đăng nhập, quản lý thông tin người dùng - Viết báo cáo 37 Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN 5.1 Ưu điểm − Hồn thành u cầu đặt ban đầu, có đầy đủ tính cần thiết ứng dụng Quản lý chi tiêu − Giao diện đơn giản, bố cục hợp lý, người dùng dễ dàng theo tác ứng dụng − Tốc độ phản hồi thao tác nhanh, tối ưu hóa suất người dùng − Sinh viên thực nắm cách thức làm ứng dụng quản lý chi tiêu, hiểu biết ngôn ngữ Dart, công nghệ Flutter − Ứng dụng triển khai nghiệm thu thành công máy thật 5.2 Nhược điểm − Cịn hạn chế số tính năng: + Chưa tích hợp tính cụ thể cho chiết xuất hóa đơn từ ảnh + Tối ưu code chưa tốt nên tốc độ tương tác ứng dụng chậm 5.3 Hướng phát triển − Xây dựng chức cịn thiếu, hồn thiện chức có − Tích hợp tốn tiền phòng qua Momo, E-bank khác, … − Tối ưu hóa code để tăng tốc độ tương tác − Tối ưu hóa CSDL hợp lý − Tối ưu hóa việc gợi ý − Thêm số gợi ý cho người dùng dựa trên: Dự định chi tiêu, tối ưu hóa chi tiêu cho tháng sau, … 38 Chương TÀI LIỆU THAM KHẢO Diễn đàn công nghệ lập trình viên: https://stackoverflow.com/ Trang web thức để tham khảo thư viện Flutter: https://pub.dev/ Bách khoa toàn thư mở: https://vi.wikipedia.org/wiki/Wikipedia Trang web hướng dẫn cài đặt sử dụng Firebase: https://firebase.google.com/ Diễn đàn cơng nghệ lập trình viên Việt Nam: https://viblo.asia/ Trang web thức Flutter: https://flutter.dev/ Trang web hướng dẫn cài đặt sử dụng Android Studio: https://developer.android.com/ Trang web cung cấp mã nguồn mở miễn phí hàng đầu hiên nay: https://github.com/ 39 ... chức ứng dụng, sở liệu Xây dựng kiến trúc ứng dụng Xây dựng API Thiết kế chức ứng dụng, sở liệu Xây dựng API Xây dựng giao diện, chức Xây dựng giao diện, chức năng: năng: trang chủ, quản lý chi. .. ● Xây dựng chức quản lý khoản chi nhóm ● Xây dựng chức tạo nhóm chi tiêu ● Xây dựng chức quản lý thống kê 1.3 Chức dự kiến - Tạo nhóm chi tiêu thêm người dùng khác vào nhóm - Tạo khoản chi chia... vụ, quy trình xử lý thu chi ứng dụng, website tương tự có − Sprint 2: Thiết kế chức ứng dụng sở liệu Xây dựng kiến trúc ứng dụng − Sprint 3: Xây dựng API, xây dựng giao diện ứng dụng để thực số