Bối cảnh và vấn đề nghiên cứu
Trong đời sống hằng ngày, sinh viên phải chi trả cho nhiều khoản sinh hoạt phí phát sinh thường xuyên như tiền xăng xe, ăn trưa, học phí và các nhu yếu phẩm khác. Việc ghi nhớ và kiểm soát các chi phí này theo cách thức truyền thống chủ yếu dựa vào sổ tay cá nhân ghi chép bằng giấy. Tuy nhiên, phương pháp thủ công này bộc lộ nhiều bất cập như tốn thời gian, khó đối chiếu tổng hợp và người dùng rất dễ làm thất lạc sổ sách ghi chép. Trước sự phát triển mạnh mẽ của các thiết bị di động thông minh (smartphone, máy tính bảng), việc chuyển đổi hình thức quản lý tài chính từ giấy tờ sang ứng dụng di động trở thành một nhu cầu thiết thực, giúp người học theo dõi ngân sách thuận tiện và nhanh chóng hơn.
Trên cơ sở khảo sát thực tế và nghiên cứu quá trình sử dụng các ứng dụng quản lý chi tiêu hiện có trên thị trường như phần mềm Sổ thu chi Misa và phần mềm Ví điện tử - Money Manager, nhóm tác giả nhận thấy việc trang bị một công cụ chuyên biệt cho sinh viên là cần thiết nhằm hỗ trợ kiểm soát dòng tiền cá nhân một cách chặt chẽ.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:
- Vận dụng các kiến thức lý thuyết nền tảng đã được đào tạo trong chuyên ngành Kỹ thuật Phần mềm kết hợp với khảo sát thực tiễn để thiết kế và xây dựng một phần mềm quản lý chi tiêu cá nhân hoàn chỉnh trên hệ điều hành Android.
- Cung cấp một giải pháp tiện ích hỗ trợ sinh viên ghi nhận nhanh các khoản thu chi, quản lý số dư của nhiều nguồn tiền (ví ảo), thiết lập kế hoạch tiết kiệm cho các mục đích cụ thể và thống kê dòng tiền theo thời gian.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình quản lý thu chi, ngân sách cá nhân và mô hình phát triển phần mềm di động trên hệ điều hành Android.
- Khách thể áp dụng: Sinh viên đang theo học tại các trường đại học, cao đẳng.
- Phạm vi không gian và thời gian: Đề tài được thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Thành phố Hồ Chí Minh vào năm 2020.
Cơ sở lý thuyết và phương pháp
Khóa luận thuộc lĩnh vực Kỹ thuật Phần mềm, tập trung vào việc áp dụng kiến thức kỹ thuật lập trình di động và mô hình hóa hệ thống thông tin. Các cơ sở lý thuyết và công nghệ chính được tác giả sử dụng bao gồm:
-
Kiến trúc hệ điều hành Android: Hệ thống được xây dựng trên nền tảng Android với cấu trúc 5 tầng phân cấp rõ rệt:
- Tầng nhân Linux (Linux Kernel): Chịu trách nhiệm quản lý phần cứng, giao tiếp thiết bị mức thấp và trình điều khiển.
- Tầng thư viện (Libraries): Chứa các thư viện lõi hệ thống như WebKit (xử lý trình duyệt) và SQLite (quản trị cơ sở dữ liệu quan hệ nhúng).
- Tầng Android Runtime: Bao gồm các thư viện lõi Java và máy ảo (máy ảo Dalvik cho các phiên bản Android cũ dưới 4.4 và máy ảo ART cho các phiên bản mới hơn) nhằm biên dịch mã, quản lý tài nguyên vi xử lý và tiết kiệm pin.
- Tầng khung ứng dụng (Android Framework): Cung cấp các giao diện lập trình cấp cao (API) phục vụ thông báo, truy xuất dữ liệu, định vị và kết nối.
- Tầng ứng dụng (Application): Nơi chứa các phần mềm người dùng cuối, bao gồm ứng dụng tài chính cá nhân được xây dựng.
-
Vòng đời thành phần giao diện (Activity và Fragment):
- Chu trình vòng đời của Activity với các trạng thái Running, Pause, Stop, Dead và hệ thống phương thức điều hướng gồm
onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy().
- Cấu trúc Fragment như một thành phần con độc lập gắn liền với Activity cha, sở hữu vòng đời riêng biệt thông qua các hàm gọi lại đặc thù như
onAttach(), onCreateView(), onActivityCreated(), onDestroyView(), onDetach().
-
Cơ chế lưu trữ dữ liệu:
- Hệ quản trị cơ sở dữ liệu SQLite: Cơ sở dữ liệu mã nguồn mở nhúng trực tiếp dạng tệp tin, tuân thủ chuẩn SQL92, kích thước nhỏ dưới 300 kB, hỗ trợ các thao tác CRUD thông qua lớp trợ giúp
SQLiteOpenHelper, đối tượng thực thi SQLiteDatabase, đối tượng con trỏ Cursor và ánh xạ dữ liệu ContentValues.
- Bộ nhớ cấu hình Shared Preferences: Lưu trữ dữ liệu dạng cặp khóa - giá trị (key-value) theo mô hình bộ nhớ in-memory kết hợp lưu trữ vật lý trên đĩa cứng; sử dụng hai cơ chế ghi dữ liệu là
commit() (đồng bộ, trả về boolean) và apply() (bất đồng bộ, không trả về giá trị).
-
Cơ chế lập lịch tác vụ hệ thống (AlarmManager):
- Đóng vai trò cầu nối kích hoạt dịch vụ báo thức và nhắc nhở thời gian thực thông qua
BroadcastReceiver và PendingIntent. Hệ thống xử lý sự kiện dựa trên hàm ghi đè onReceive(), hỗ trợ tiếp nhận bản tin định thời ngay cả khi ứng dụng bị tắt khỏi bộ nhớ tạm.
Về phương pháp nghiên cứu và phát triển phần mềm:
- Nhóm tác giả áp dụng phương pháp phân tích và thiết kế hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất UML (Use Case Diagram, Activity Diagram, Sequence Diagram).
- Thiết kế giao diện luồng người dùng (Screen Flow) và mô hình hóa bản vẽ khung (Mockup) trước khi lập trình giao diện người dùng bằng XML.
- Phát triển mã nguồn thực thi bằng ngôn ngữ lập trình Java.
Các công cụ hỗ trợ xây dựng phần mềm gồm:
- Android Studio: Môi trường phát triển tích hợp (IDE) chuyên dụng, tích hợp bộ công cụ phát triển Android SDK và máy ảo giả lập.
- GitHub: Hệ thống quản lý mã nguồn phân tán dựa trên Git phục vụ cộng tác nhóm và kiểm soát phiên bản.
- Enterprise Architect: Phần mềm chuyên dụng để vẽ sơ đồ phân tích và thiết kế hệ thống theo chuẩn UML.
- Mockflow: Công cụ hỗ trợ thiết kế giao diện ứng dụng dưới dạng Wireframe và Mockup.
Nội dung chính theo từng chương
Báo cáo khóa luận được bố cục thành 5 chương chính với các nội dung chi tiết như sau:
Chương 1: Giới thiệu
Chương này khái quát bối cảnh thực tế về sự cần thiết của việc quản lý tài chính cá nhân ở lứa tuổi sinh viên. Tác giả xác định rõ mục tiêu đề tài, phạm vi nghiên cứu và đặc tả các yêu cầu kỹ thuật đối với hệ thống phần mềm:
- Yêu cầu chức năng: Bao gồm chức năng xác thực (đăng nhập, đăng ký tài khoản có bảo mật nhằm tránh truy cập ngoài ý muốn); quản lý tài khoản (cập nhật thông tin, đổi mật khẩu, cấp lại mật khẩu qua mã bí mật); quản lý nguồn tiền (thêm, cập nhật, xóa ví, chuyển tiền giữa các ví); quản lý thu chi (ghi chép số tiền, thời gian, đối tượng, danh mục, đặt nhắc nhở); tính toán tổng hợp thu chi tự động (ngày, tháng, năm); quản lý kế hoạch tiết kiệm (theo dõi tiến độ mục tiêu, ghi nhận trạng thái thành công/thất bại); quản lý danh mục phân loại chi tiêu và gán ví ưu tiên mặc định.
- Yêu cầu phi chức năng: Phần mềm phải đảm bảo kích thước tệp cài đặt gọn nhẹ, tốc độ xử lý nhanh, vận hành chính xác các phép toán số học, bảo mật dữ liệu nhạy cảm cá nhân và cung cấp giao diện trực quan, dễ tiếp cận.
Chương 2: Cơ sở lý thuyết
Tác giả trình bày hệ thống lý thuyết cốt lõi về nền tảng di động Android và lập luận về lợi thế khi lựa chọn hệ điều hành này cho giải pháp phần mềm (chi phí đầu tư thấp nhờ SDK miễn phí, chu kỳ triển khai nhanh, tính linh hoạt trên hệ sinh thái đa thiết bị và mức độ bảo mật cao từ Android P). Chương này đào sâu phân tích cơ chế vòng đời của Activity và Fragment; kiến trúc và nguyên lý thao tác dữ liệu cục bộ với hệ CSDL SQLite (SQLiteOpenHelper, con trỏ Cursor); phương thức lưu trữ bộ nhớ đệm Shared Preferences và cơ chế lên lịch thông báo hệ thống của AlarmManager kết hợp cùng PendingIntent. Đồng thời, chương 2 cũng giới thiệu tính năng của các phần mềm hỗ trợ kỹ thuật gồm Android Studio, GitHub, Enterprise Architect và Mockflow.
Chương 3: Phân tích
Chương 3 tập trung vào tiến trình phân tích hệ thống phần mềm dựa trên chuẩn mô hình UML:
- Xác định mô hình tác nhân (Actor) và mô hình Use case tổng quát.
- Khảo sát và đặc tả chi tiết 25 ca sử dụng (Use case) phân bổ theo từng nghiệp vụ quản lý tài chính cụ thể.
- Xây dựng 25 sơ đồ hoạt động (Activity Diagram) và 25 sơ đồ tuần tự (Sequence Diagram) tương ứng với từng Use case nhằm mô tả luồng dữ liệu và tương tác giữa các lớp đối tượng.
- Thiết kế cấu trúc dữ liệu với Mô hình quan hệ thực thể (ERD) và chuyển đổi thành Mô hình cơ sở dữ liệu quan hệ vật lý phục vụ việc cài đặt bảng trên SQLite.
Danh mục 25 ca sử dụng chính trong phần mềm được tổng hợp trong bảng sau:
| Mã Use case |
Tên ca sử dụng |
Nhóm chức năng |
| UC01 |
Đăng ký tài khoản |
Quản lý người dùng & bảo mật |
| UC02 |
Đăng nhập |
Quản lý người dùng & bảo mật |
| UC03 |
Quên mật khẩu |
Quản lý người dùng & bảo mật |
| UC04 |
Thống kê thu chi |
Phân tích & Báo cáo |
| UC05 |
Xem thông tin tài khoản |
Quản lý người dùng & bảo mật |
| UC06 |
Cập nhật thông tin tài khoản |
Quản lý người dùng & bảo mật |
| UC07 |
Đổi mật khẩu |
Quản lý người dùng & bảo mật |
| UC08 |
Đăng xuất |
Quản lý người dùng & bảo mật |
| UC09 |
Thêm ví |
Quản lý nguồn tiền (ví ảo) |
| UC10 |
Cập nhật ví |
Quản lý nguồn tiền (ví ảo) |
| UC11 |
Xóa ví |
Quản lý nguồn tiền (ví ảo) |
| UC12 |
Chuyển tiền |
Quản lý nguồn tiền (ví ảo) |
| UC13 |
Xem lịch sử chuyển tiền |
Quản lý nguồn tiền (ví ảo) |
| UC14 |
Thêm khoản thu chi |
Quản lý giao dịch thu chi |
| UC15 |
Cập nhật khoản thu chi |
Quản lý giao dịch thu chi |
| UC16 |
Xóa khoản thu chi |
Quản lý giao dịch thu chi |
| UC17 |
Xem lịch sử khoản thu chi |
Quản lý giao dịch thu chi |
| UC18 |
Thêm kế hoạch tiết kiệm |
Quản lý mục tiêu tiết kiệm |
| UC19 |
Thêm khoản thu chi cho kế hoạch tiết kiệm |
Quản lý mục tiêu tiết kiệm |
| UC20 |
Xem chi tiết kế hoạch tiết kiệm |
Quản lý mục tiêu tiết kiệm |
| UC21 |
Xem lịch sử khoản thu chi cho kế hoạch tiết kiệm |
Quản lý mục tiêu tiết kiệm |
| UC22 |
Xóa kế hoạch tiết kiệm |
Quản lý mục tiêu tiết kiệm |
| UC23 |
Thêm danh mục thu chi |
Cấu hình danh mục phân loại |
| UC24 |
Xóa danh mục thu chi |
Cấu hình danh mục phân loại |
| UC25 |
Cập nhật danh mục thu chi |
Cấu hình danh mục phân loại |
Chương 4: Thiết kế và hiện thực
Chương 4 trình bày chi tiết quá trình hiện thực hóa mô hình thiết kế vào ứng dụng thực tế:
- Cấu hình môi trường phần cứng và môi trường phần mềm thử nghiệm.
- Thiết kế sơ đồ phân luồng màn hình (Screen Flow) thể hiện sự điều hướng tương tác giữa các thành phần giao diện.
- Thiết kế bản vẽ Mockup cho 10 màn hình chức năng trọng tâm: Thêm mới ví, Đăng nhập, Thêm khoản thu chi, Đăng ký tài khoản, Quản lý kế hoạch tiết kiệm, Quản lý danh mục thu chi, Thống kê thu chi, Thêm kế hoạch tiết kiệm, Chuyển tiền, Cập nhật thông tin tài khoản.
- Hiện thực mã nguồn giao diện XML và xử lý logic Java trên môi trường Android Studio tương ứng với các màn hình thiết kế.
- Xây dựng danh sách kịch bản kiểm thử (Bảng 4.1 Danh sách các tình huống kiểm thử) nhằm rà soát và đánh giá tính chính xác của các ca sử dụng chức năng trên thiết bị.
Chương 5: Kết luận
Chương kết thúc tóm lược toàn bộ kết quả chức năng đạt được của phần mềm, chỉ ra những hạn chế kỹ thuật hiện tại và vạch ra định hướng nâng cấp, phát triển hệ thống trong tương lai.
Thiết kế và triển khai
Hệ thống được thiết kế và triển khai dựa trên các công nghệ và quy chuẩn kỹ thuật phần mềm di động:
- Kiến trúc phân luồng điều hướng (Screen Flow):
Ứng dụng tổ chức điều hướng màn hình bắt đầu từ các tác vụ khởi tạo tài khoản và xác thực người dùng (Đăng nhập, Đăng ký, Khôi phục mật khẩu). Khi đăng nhập thành công, hệ thống dẫn tới giao diện trung tâm hiển thị trạng thái tài chính tổng quan, từ đó phân nhánh thành các luồng thao tác:
- Luồng quản lý ví: Thiết lập danh sách ví, cập nhật số dư ban đầu, thực hiện chuyển tiền giữa các ví và kiểm tra lịch sử biến động số dư.
- Luồng quản lý giao dịch thu chi: Tiếp nhận đầu vào gồm số tiền, ngày phát sinh, phân loại danh mục, đối tượng chi trả, ví trích tiền và thiết lập chuông nhắc nhở.
- Luồng kế hoạch tiết kiệm: Cho phép khởi tạo mục tiêu tiền bạc, định kỳ nạp/rút tiền vào quỹ tiết kiệm, theo dõi tiến độ hoàn thành và kích hoạt thông báo khi đến hạn.
- Luồng danh mục và báo cáo: Quản lý danh sách danh mục chi tiêu chuẩn và tùy chỉnh; thống kê tổng thu chi theo chu kỳ ngày, tháng, năm.
- Công nghệ triển khai:
- Môi trường phát triển: Android Studio kết hợp bộ Android SDK.
- Ngôn ngữ lập trình: Java.
- Cơ sở dữ liệu: SQLite được tích hợp sẵn trong hệ thống Android, hỗ trợ các bảng dữ liệu lưu trữ người dùng, ví tiền, giao dịch thu chi, kế hoạch tiết kiệm và danh mục. Việc mở, tạo bảng và nâng cấp phiên bản lược đồ CSDL được kiểm soát qua lớp
SQLiteOpenHelper.
- Bộ nhớ tạm: Shared Preferences phục vụ lưu trữ trạng thái đăng nhập và các khóa cấu hình ứng dụng nhanh chóng.
- Hệ thống nhắc nhở: Sử dụng
AlarmManager phát PendingIntent tới một lớp kế thừa từ BroadcastReceiver để nhận diện sự kiện thời gian và phát chuông/thông báo hệ thống cho người dùng.
- Kiểm thử phần mềm:
Tác giả thiết lập kịch bản kiểm thử (Bảng 4.1 Danh sách các tình huống kiểm thử) bao quát toàn bộ 25 ca sử dụng của hệ thống. Kiểm thử tập trung vào việc xác nhận tính toàn vẹn của dữ liệu thu chi, kiểm tra tính hợp lệ của dữ liệu đầu vào (validation), kiểm thử chuyển đổi trạng thái khi chuyển tiền giữa các ví và kiểm thử tính toán tổng hợp ngân sách.
Kết quả và đóng góp
Kết quả thực nghiệm chính của đề tài bao gồm việc hiện thực hóa thành công ứng dụng quản lý tài chính cá nhân trên thiết bị di động Android với các chức năng đã được kiểm thử:
- Quản lý thu chi: Người dùng thêm mới khoản thu hoặc khoản chi, quản lý danh sách lịch sử giao dịch, hỗ trợ sửa, xóa khoản thu chi và thiết lập thông báo nhắc nhở các giao dịch trong tương lai.
- Quản lý ví ảo: Tạo mới nhiều ví khác nhau, điều chỉnh số dư, xóa ví và thực hiện chuyển đổi dòng tiền qua lại giữa các ví.
- Quản lý tài khoản: Đăng ký, đăng nhập, thay đổi mật khẩu, cập nhật thông tin cá nhân và khôi phục mật khẩu qua mã bí mật.
- Quản lý kế hoạch tiết kiệm: Thiết lập mục tiêu tích lũy tài chính, theo dõi số tiền nạp vào/rút ra, tự động chuyển đổi trạng thái kế hoạch sang thành công (nếu tích lũy đủ mục tiêu) hoặc thất bại (nếu hết hạn mà chưa đủ số tiền), đi kèm thông báo khi đến hạn.
- Thống kê báo cáo: Tự động tổng hợp và kết xuất dữ liệu tổng thu nhập, tổng chi tiêu theo chu kỳ ngày, tháng, năm dựa trên các giao dịch thực tế đã ghi nhận.
Đóng góp tự nêu của nhóm tác giả:
- Cung cấp một công cụ phần mềm tiện ích chạy trên điện thoại thông minh, giải quyết triệt để nhược điểm dễ thất lạc, tốn công ghi chép của phương pháp ghi sổ tay truyền thống.
- Xây dựng một quy trình quản lý tài chính phù hợp với đối tượng học sinh, sinh viên, hỗ trợ theo dõi chi tiêu cá nhân nhanh chóng, trực quan và tạo thói quen tích lũy tài chính có kế hoạch.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ ra một số hạn chế kỹ thuật và phạm vi phát triển như sau:
- Hạn chế: Theo tự nhận định của tác giả, ứng dụng vẫn chưa đạt đến mức độ hoàn hảo tuyệt đối; mô hình hiện tại chủ yếu vận hành và lưu trữ dữ liệu cục bộ trên tệp tin SQLite của từng thiết bị, chưa có cơ chế đồng bộ dữ liệu đám mây đa nền tảng hoặc chia sẻ tài khoản trực tuyến giữa nhiều thiết bị.
- Hướng phát triển tiếp theo: Nếu có điều kiện nghiên cứu sâu hơn, nhóm tác giả định hướng sẽ tiếp tục hoàn thiện ứng dụng một cách toàn diện, nâng cấp thêm các tính năng phân tích tài chính chuyên sâu và tối ưu hóa trải nghiệm người dùng.
Giá trị tham khảo
Báo cáo khóa luận là nguồn tài liệu tham khảo hữu ích cho:
- Sinh viên chuyên ngành Kỹ thuật Phần mềm và Công nghệ Thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về phát triển ứng dụng di động trên nền tảng Android bằng ngôn ngữ Java.
- Người nghiên cứu có nhu cầu tìm hiểu phương pháp phân tích thiết kế hệ thống theo chuẩn UML, bao gồm quy trình xây dựng đầy đủ 25 Use case đi kèm sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram), mô hình ERD và mô hình cơ sở dữ liệu quan hệ.
- Lập trình viên mới tiếp cận lập trình Android cần tài liệu mẫu về kỹ thuật thao tác với CSDL nhúng SQLite (
SQLiteOpenHelper, Cursor, ContentValues), cơ chế lưu trữ Shared Preferences và giải pháp thiết lập thông báo định thời với AlarmManager và BroadcastReceiver.
Câu hỏi thường gặp
1. Ứng dụng sử dụng cơ chế nào để lưu trữ dữ liệu tài chính của sinh viên?
Phần mềm sử dụng hệ quản trị cơ sở dữ liệu SQLite mã nguồn mở được tích hợp sẵn trong hệ điều hành Android. Dữ liệu được lưu trữ trực tiếp vào tệp tin trên bộ nhớ thiết bị mà không cần cấu hình máy chủ độc lập. Quá trình khởi tạo bảng, nâng cấp phiên bản và thực thi truy vấn CRUD được quản lý thông qua hai đối tượng cốt lõi là SQLiteOpenHelper và SQLiteDatabase.
2. Hệ thống hỗ trợ bao nhiêu ca sử dụng (Use case) và thuộc những phân hệ nào?
Hệ thống được thiết kế với tổng cộng 25 ca sử dụng (từ UC01 đến UC25), phân bổ thành 5 nhóm nghiệp vụ chính: Quản lý người dùng và bảo mật (đăng ký, đăng nhập, quên mật khẩu, cập nhật thông tin, đổi mật khẩu, đăng xuất); Quản lý ví ảo (thêm, sửa, xóa ví, chuyển tiền, xem lịch sử chuyển tiền); Quản lý khoản thu chi (thêm, cập nhật, xóa, xem lịch sử); Quản lý kế hoạch tiết kiệm (thêm kế hoạch, nạp tiền vào kế hoạch, xem chi tiết, xem lịch sử, xóa kế hoạch); Cấu hình danh mục thu chi và Thống kê tổng hợp.
3. Sự khác biệt giữa phương thức commit() và apply() trong Shared Preferences được đề tài phân tích như thế nào?
Theo phân tích trong khóa luận, commit() lưu dữ liệu vào bộ nhớ tạm in-memory trước rồi ghi đồng bộ xuống bộ nhớ đĩa (disk-storage), làm dừng tiến trình chính (main thread bị block) và trả về một giá trị boolean để xác nhận thao tác thành công hay thất bại. Ngược lại, apply() lưu giá trị vào in-memory rồi ghi dữ liệu bất đồng bộ xuống bộ nhớ đĩa, giúp luồng chính không bị khóa, do đó không trả về giá trị xác nhận nhưng tối ưu hiệu năng hơn.
4. Những phần mềm nào đã được nhóm tác giả khảo sát trước khi thiết kế ứng dụng?
Trước khi bắt tay vào xây dựng phần mềm, nhóm tác giả đã tìm hiểu và trải nghiệm thực tế hai ứng dụng quản lý chi tiêu sẵn có trên thị trường gồm: phần mềm "Sổ thu chi Misa" và phần mềm "Ví điện tử - Money Manager".
5. Cơ chế phát thông báo nhắc nhở các khoản thu chi hoặc kết thúc kế hoạch tiết kiệm được hiện thực ra sao?
Cơ chế này được xây dựng dựa trên AlarmManager của Android kết hợp với BroadcastReceiver và PendingIntent. Một bundle chứa thông tin giao dịch sẽ được gói trong Intent; khi đến mốc thời gian thiết lập trước, hệ thống phát sóng bản tin broadcast để lớp tiếp nhận (kế thừa từ BroadcastReceiver) đón bắt trong phương thức onReceive() và hiển thị thông báo nhắc nhở người dùng, ngay cả khi ứng dụng đã bị đóng.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Đình Thuận và Bùi Đức Thuận Phát đã xây dựng thành công ứng dụng quản lý tài chính cá nhân trên hệ điều hành Android dành riêng cho đối tượng sinh viên. Bằng việc kết hợp ngôn ngữ Java, hệ quản trị cơ sở dữ liệu SQLite và công cụ AlarmManager, phần mềm giải quyết hiệu quả nhu cầu ghi chép, theo dõi nguồn tiền, lập kế hoạch tiết kiệm và thống kê thu chi định kỳ. Công trình cung cấp tài liệu mô tả đầy đủ từ khâu phân tích 25 ca sử dụng theo chuẩn UML đến thiết kế giao diện Mockup và kịch bản kiểm thử, đóng vai trò là một tài liệu tham khảo kỹ thuật hữu ích cho sinh viên chuyên ngành Kỹ thuật Phần mềm.