Ứng Dụng Quản Lý Chi Tiêu Cá Nhân Trong Phát Triển Phần Mềm Hướng Dịch Vụ

Người đăng

Ẩn danh

Thể loại

Báo Cáo Đồ Án

2023

89
0
0

Phí lưu trữ

30.000 VNĐ

Mục lục chi tiết

1. CHƯƠNG 1: MÔ TẢ HỆ THỐNG

1.1. Mô tả hệ thống

1.2. Đặc tả sơ đồ

1.3. Kiến trúc REST API

1.3.1. Mô hình kiến trúc

1.3.2. Đặc tả kiến trúc Rest API

1.4. Kiến trúc MVC trong PHP

1.5. Kiến trúc MVVM trong Android / iOS

2. CHƯƠNG 2: MÔI TRƯỜNG MÁY CHỦ WEBSERVER

3. CHƯƠNG 3: CÁC CLIENT, APPLICATION TRUY CẬP API

3.1. Ứng dụng Android

3.1.1. Home Activity

3.1.2. Introduce Activity

3.1.3. Main Activity

3.1.4. Transaction

3.1.5. Card

3.1.6. Category

3.1.7. Goal

3.1.8. Notification

3.1.9. Dark Mode

3.2. Ứng dụng iOS

3.3. Ứng dụng web

3.3.1. Giao diện đăng nhập

3.3.2. Giao diện quên mật khẩu

3.3.3. Giao diện dashboard

3.3.3.1. Thanh điều hướng
3.3.3.2. Giao dịch và thống kê
3.3.3.3. Quick menu

3.3.4. Giao dịch

3.3.4.1. Quản lý thu nhập
3.3.4.2. Quản lý chi tiêu

3.3.5. Giao diện quản lý account

3.3.6. Quản lý ngân sách

3.3.7. Quản lý mục tiêu

3.3.8. Lịch

3.3.9. Thống kê và báo cáo

3.3.10. Quản lý users (chức năng admin)

3.3.11. Quản lý thể loại

3.3.12. Quản lý settings

3.3.12.1. Quản lý profile
3.3.12.2. Quản lý ứng dụng
3.3.12.3. Quản lý cài đặt email SMTP

4. CHƯƠNG 4: REST API

4.1. Overview

4.2. Error Codes

4.3. Property Description

4.4. Rate limit

4.5. Xác thực

4.6. Categories

4.6.1. Sửa thể loại

4.6.2. Lấy danh sách thể loại income

4.6.3. Thêm mới thể loại

4.6.4. Xóa thể loại

4.6.5. Lấy thông tin chi tiết một thể loại

4.6.6. Lấy danh sách thể loại expense

4.7. Tài khoản

4.7.1. Lấy danh sách tài khoản

4.7.2. Sửa tài khoản

4.7.3. Xóa tài khoản

4.7.4. Tạo mới tài khoản

4.7.5. Lấy danh sách giao dịch theo account

4.7.6. Lấy thông tin chi tiết một tài khoản

4.8. Mục tiêu

4.8.1. Lấy danh sách mục tiêu

4.8.2. Sửa mục tiêu

4.8.3. Thêm mới mục tiêu

4.8.4. Xóa mục tiêu

4.8.5. Thêm tiền cho mục tiêu

4.8.6. Lấy thông tin chi tiết một mục tiêu

Tóm tắt

I. Tổng quan đồ án ứng dụng quản lý chi tiêu hướng dịch vụ

Báo cáo đồ án này trình bày chi tiết quá trình xây dựng và phát triển một ứng dụng quản lý chi tiêu cá nhân hoàn chỉnh, áp dụng kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA). Mục tiêu cốt lõi của dự án là cung cấp một công cụ hiệu quả cho người dùng trong việc ghi chép chi tiêu, theo dõi thu chilập ngân sách một cách khoa học. Trong bối cảnh tài chính cá nhân ngày càng phức tạp, việc có một hệ thống hỗ trợ là vô cùng cần thiết. Đồ án không chỉ giải quyết bài toán của người dùng cuối mà còn là một tài liệu thực tiễn cho sinh viên ngành công nghệ phần mềm về quy trình phân tích thiết kế hệ thống, lựa chọn công nghệ và triển khai một sản phẩm thực tế. Nền tảng của ứng dụng là một hệ thống backend mạnh mẽ, cung cấp các RESTful API để các client trên nền tảng Web, Android và iOS có thể truy cập và tương tác dữ liệu một cách đồng bộ. Việc lựa chọn kiến trúc hướng dịch vụ giúp hệ thống có khả năng mở rộng, bảo trì và tích hợp dễ dàng trong tương lai. Toàn bộ quá trình, từ phân tích yêu cầu người dùng ban đầu đến thiết kế giao diện người dùng (UI/UX) và triển khai, đều được ghi nhận trong báo cáo này. Đây là minh chứng cho việc áp dụng thành công các kiến thức từ môn học Phát triển phần mềm hướng dịch vụ vào một dự án có tính ứng dụng cao, giải quyết một nhu cầu thực tiễn trong xã hội hiện đại.

1.1. Thách thức trong việc theo dõi thu chi và quản lý tài chính

Việc quản lý tài chính cá nhân thủ công thường gặp nhiều khó khăn như dễ sai sót, mất thời gian và khó có cái nhìn tổng quan về tình hình tài chính. Người dùng thường không thể theo dõi thu chi một cách nhất quán, dẫn đến việc chi tiêu vượt mức kế hoạch. Thách thức đặt ra là cần một hệ thống tự động hóa, cho phép ghi chép chi tiêu nhanh chóng, phân loại giao dịch thông minh và cung cấp các báo cáo trực quan. Hơn nữa, việc lập ngân sách cho từng hạng mục cụ thể và nhận cảnh báo khi gần vượt ngưỡng là một yêu cầu quan trọng mà các phương pháp truyền thống không thể đáp ứng hiệu quả. Đồ án này ra đời nhằm giải quyết trực tiếp những thách thức đó bằng một giải pháp phần mềm toàn diện.

1.2. Mục tiêu của đồ án phát triển phần mềm hướng dịch vụ

Mục tiêu chính của đồ án bao gồm: 1) Phân tích thiết kế hệ thống một ứng dụng quản lý chi tiêu cá nhân hoàn chỉnh. 2) Áp dụng thành công kiến trúc hướng dịch vụ (SOA) để xây dựng một hệ thống backend linh hoạt, dễ mở rộng. 3) Thiết kế và triển khai bộ RESTful API chuẩn hóa để phục vụ cho nhiều nền tảng client khác nhau. 4) Xây dựng các ứng dụng client (Web, Android, iOS) với giao diện người dùng (UI/UX) thân thiện, cung cấp đầy đủ chức năng cốt lõi như quản lý giao dịch, tài khoản, ngân sách và mục tiêu tiết kiệm. 5) Đảm bảo tính nhất quán dữ liệu và bảo mật thông tin người dùng trên toàn hệ thống. Đồ án này là một báo cáo đồ án tốt nghiệp mẫu mực, thể hiện năng lực áp dụng lý thuyết vào thực tiễn.

II. Hướng dẫn phân tích thiết kế hệ thống quản lý chi tiêu

Quá trình phân tích thiết kế hệ thống là nền tảng quyết định sự thành công của ứng dụng quản lý chi tiêu cá nhân. Giai đoạn này bắt đầu bằng việc phân tích yêu cầu người dùng, xác định các chức năng cần có như: quản lý giao dịch, quản lý tài khoản ngân hàng, lập ngân sách theo tháng/năm, và thiết lập mục tiêu tài chính. Dựa trên các yêu cầu đó, kiến trúc tổng thể của hệ thống được định hình. Trong đồ án này, kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) được lựa chọn làm kim chỉ nam. Các dịch vụ được phân tách một cách logic, ví dụ: dịch vụ quản lý người dùng, dịch vụ quản lý giao dịch, dịch vụ báo cáo. Tiếp theo là thiết kế cơ sở dữ liệu, nơi các bảng dữ liệu như mp_users, mp_transactions, mp_categories, mp_budgets được tạo ra để lưu trữ thông tin một cách có cấu trúc và hiệu quả. Các sơ đồ use case được vẽ để mô tả tương tác giữa người dùng và hệ thống, trong khi sơ đồ lớpsơ đồ hoạt động giúp làm rõ cấu trúc và luồng xử lý bên trong. Toàn bộ thiết kế này đảm bảo ứng dụng không chỉ đáp ứng yêu cầu hiện tại mà còn sẵn sàng cho việc mở rộng các tính năng mới mà không ảnh hưởng đến các thành phần hiện có.

2.1. Lựa chọn kiến trúc hướng dịch vụ SOA và Microservices

Lựa chọn Service-Oriented Architecture (SOA) là một quyết định chiến lược. Kiến trúc này cho phép chia nhỏ ứng dụng thành các dịch vụ độc lập, có thể tái sử dụng và giao tiếp với nhau thông qua các giao thức chuẩn. Mỗi dịch vụ đảm nhiệm một chức năng kinh doanh cụ thể (ví dụ: xác thực, quản lý giao dịch). Điều này khác với kiến trúc nguyên khối (Monolithic) truyền thống, giúp việc phát triển, triển khai và nâng cấp từng phần của hệ thống trở nên dễ dàng hơn. Mặc dù đồ án tập trung vào SOA, nó cũng mở ra hướng tiếp cận microservices, một biến thể chi tiết hơn của SOA, nơi các dịch vụ được thiết kế nhỏ và độc lập hơn nữa. Ưu điểm chính là khả năng mở rộng linh hoạt và lựa chọn công nghệ phát triển phần mềm đa dạng cho từng dịch vụ.

2.2. Chi tiết thiết kế cơ sở dữ liệu cho việc ghi chép chi tiêu

Việc thiết kế cơ sở dữ liệu được thực hiện cẩn thận để đảm bảo tính toàn vẹn và hiệu suất. Tài liệu đồ án mô tả chi tiết các bảng chính: mp_transactions lưu trữ mọi giao dịch thu/chi; mp_categories phân loại giao dịch (ăn uống, mua sắm); mp_budgets chứa thông tin ngân sách người dùng đặt ra; mp_users quản lý thông tin người dùng; và mp_goals để theo dõi thu chi cho các mục tiêu tiết kiệm. Mối quan hệ giữa các bảng được thiết lập hợp lý, ví dụ, mỗi giao dịch trong mp_transactions sẽ liên kết với một người dùng trong mp_users và một thể loại trong mp_categories. Cấu trúc này cho phép truy vấn dữ liệu phức tạp để tạo báo cáo, thống kê một cách nhanh chóng và chính xác.

2.3. Sơ đồ Use Case và sơ đồ lớp mô tả chức năng hệ thống

Để trực quan hóa hệ thống, các sơ đồ Use Case đã được xây dựng. Ví dụ, use case 'Thêm giao dịch mới' sẽ bao gồm các bước: người dùng nhập số tiền, chọn thể loại, chọn tài khoản và lưu lại. Các tác nhân (Actor) chính là 'Người dùng' và 'Quản trị viên'. Bên cạnh đó, sơ đồ lớp chi tiết hóa các thực thể trong hệ thống như User, Transaction, Category, Budget, mô tả các thuộc tính và phương thức của chúng. Các sơ đồ này không chỉ là tài liệu thiết kế mà còn là công cụ giao tiếp hiệu quả trong nhóm phát triển, đảm bảo mọi thành viên đều có chung một sự hiểu biết về cách hệ thống hoạt động.

III. Phương pháp xây dựng RESTful API cho ứng dụng tài chính

Trái tim của ứng dụng quản lý chi tiêu cá nhân này là hệ thống RESTful API. Đây là cầu nối trung gian cho phép các client (Web, Android, iOS) giao tiếp với server để xử lý dữ liệu. Việc xây dựng API tuân thủ nghiêm ngặt các nguyên tắc của REST, sử dụng các phương thức HTTP (GET, POST, PUT, DELETE) một cách có ý nghĩa. Ví dụ, GET /api/transactions được dùng để lấy danh sách giao dịch, trong khi POST /api/transactions dùng để tạo một giao dịch mới. Dữ liệu trao đổi chủ yếu ở định dạng JSON, một định dạng nhẹ và dễ xử lý. Một khía cạnh quan trọng khác là bảo mật thông tin. Mọi yêu cầu truy cập tài nguyên người dùng đều phải được xác thực thông qua JSON Web Token (JWT). Token này được cấp cho người dùng sau khi đăng nhập thành công và phải được đính kèm trong header của mỗi request sau đó. Hệ thống API được tài liệu hóa rõ ràng, mô tả chi tiết từng endpoint, tham số đầu vào, và cấu trúc dữ liệu trả về, giúp cho việc tích hợp phía client trở nên thuận lợi. Source code app quản lý chi tiêu phần backend cho thấy sự tổ chức khoa học của các controller, service và model, tuân thủ theo các mô hình thiết kế phổ biến.

3.1. Đặc tả kiến trúc và quy tắc hoạt động của REST API

Theo tài liệu báo cáo, mọi request API đều trả về một cấu trúc JSON thống nhất bao gồm các thuộc tính result (0 hoặc 1), msg (thông báo), methoddata. Quy tắc này giúp phía client dễ dàng xử lý kết quả, dù thành công hay thất bại. Ví dụ, endpoint GET /api/accounts sẽ trả về danh sách các tài khoản ngân hàng của người dùng trong thuộc tính data. Endpoint được thiết kế theo tài nguyên, ví dụ các API liên quan đến thể loại được nhóm dưới /api/incomecategories hoặc /api/expensecategories. Cách thiết kế này giúp API trở nên dễ hiểu và dễ bảo trì.

3.2. Cơ chế xác thực và bảo mật thông tin người dùng qua JWT

Để đảm bảo bảo mật thông tin, hệ thống sử dụng phương thức xác thực bằng JWT. Khi người dùng đăng nhập thành công qua endpoint POST /api/login, server sẽ tạo ra một accessToken. Client phải lưu trữ token này và gửi nó trong header Authorization của mỗi request tiếp theo (ví dụ: Authorization: JWT <token>). Server sẽ giải mã và xác thực token này trước khi xử lý bất kỳ yêu cầu nào. Cơ chế này giúp bảo vệ các API, đảm bảo rằng chỉ người dùng đã được xác thực mới có thể truy cập vào dữ liệu cá nhân của mình, ngăn chặn các truy cập trái phép.

IV. Demo ứng dụng quản lý chi tiêu trên đa nền tảng tối ưu

Một trong những thành công lớn của đồ án là việc triển khai thành công các client trên nhiều nền tảng, mang lại trải nghiệm liền mạch cho người dùng. Ứng dụng quản lý chi tiêu cá nhân này có mặt trên Web, Android và iOS, tất cả đều kết nối đến cùng một hệ thống backend thông qua RESTful API. Phiên bản Web được xây dựng với giao diện dashboard mạnh mẽ, cho phép người dùng thực hiện các thao tác phức tạp như xem báo cáo, thống kê, và nhập dữ liệu hàng loạt từ file CSV. Phiên bản di động (Android và iOS) tập trung vào sự tiện lợi và nhanh chóng, tối ưu hóa cho việc ghi chép chi tiêu ngay khi phát sinh. Các ứng dụng này sử dụng các kiến trúc hiện đại như MVC cho Web (PHP) và MVVM cho Android/iOS. Giao diện người dùng (UI/UX) được thiết kế đơn giản, trực quan với các tính năng hữu ích như Dark Mode, thông báo đẩy, và biểu đồ phân tích chi tiêu. Phần demo ứng dụng cho thấy khả năng đồng bộ hóa dữ liệu tức thì giữa các thiết bị: một giao dịch được thêm vào trên điện thoại sẽ ngay lập tức xuất hiện trên phiên bản web và ngược lại. Điều này thể hiện sức mạnh của kiến trúc hướng dịch vụ đã được lựa chọn.

4.1. Giao diện người dùng UI UX và các chức năng trên Web

Ứng dụng web cung cấp một giao diện dashboard toàn diện. Người dùng có thể dễ dàng quản lý các giao dịch thu chi, tài khoản, ngân sách và mục tiêu. Các tính năng nổi bật bao gồm: thanh điều hướng tiện lợi, quick menu để thêm nhanh giao dịch, khả năng lọc và tìm kiếm mạnh mẽ. Đặc biệt, chức năng thống kê và báo cáo cho phép người dùng xem biểu đồ phân tích chi tiêu theo thể loại, theo thời gian, giúp đưa ra các quyết định tài chính thông minh hơn. Đối với quản trị viên, giao diện web còn có chức năng quản lý người dùng, thể loại và các cài đặt hệ thống.

4.2. Trải nghiệm ứng dụng trên Android và iOS với kiến trúc MVVM

Các ứng dụng di động được phát triển với trọng tâm là tốc độ và sự đơn giản. Kiến trúc MVVM (Model-View-ViewModel) được áp dụng để tách biệt logic giao diện và logic nghiệp vụ, giúp mã nguồn sạch sẽ và dễ bảo trì. Các chức năng chính như thêm giao dịch, xem số dư, kiểm tra tiến độ mục tiêu đều được tối ưu hóa cho thao tác một tay. Home Activity đóng vai trò là màn hình chính, từ đó người dùng có thể truy cập mọi tính năng khác. Ứng dụng cũng hỗ trợ các tính năng hiện đại như đăng nhập bằng tài khoản Google/Facebook và chế độ Dark Mode để bảo vệ mắt người dùng.

V. Kết luận đồ án và hướng phát triển cho ứng dụng tương lai

Đồ án ứng dụng quản lý chi tiêu cá nhân đã hoàn thành xuất sắc các mục tiêu đề ra, từ việc phân tích thiết kế hệ thống đến triển khai một sản phẩm phần mềm hoàn chỉnh hoạt động trên đa nền tảng. Việc áp dụng thành công kiến trúc hướng dịch vụ và xây dựng một hệ thống RESTful API mạnh mẽ là thành tựu kỹ thuật nổi bật nhất. Sản phẩm cuối cùng không chỉ là một công cụ hữu ích cho việc quản lý tài chính cá nhân mà còn là một báo cáo đồ án tốt nghiệp chất lượng, minh chứng cho kiến thức và kỹ năng của nhóm phát triển. Các chức năng cốt lõi như ghi chép chi tiêu, lập ngân sách, và theo dõi thu chi đều hoạt động ổn định và hiệu quả. Tuy nhiên, dự án vẫn còn những hạn chế nhất định và nhiều tiềm năng để phát triển trong tương lai. Hướng đi tiếp theo có thể bao gồm việc tích hợp AI để tự động phân loại giao dịch từ tin nhắn SMS của ngân hàng, phát triển các tính năng đầu tư, hoặc cung cấp các gói tư vấn tài chính cá nhân. Những cải tiến này sẽ giúp ứng dụng trở nên thông minh và toàn diện hơn, đáp ứng nhu cầu ngày càng cao của người dùng.

5.1. Tổng kết các kết quả đạt được của đồ án phần mềm

Kết quả chính của đồ án là một hệ thống phần mềm hoàn chỉnh bao gồm: một backend xây dựng theo kiến trúc hướng dịch vụ, một bộ RESTful API được tài liệu hóa đầy đủ, và ba ứng dụng client (Web, Android, iOS) có giao diện thân thiện và đồng bộ dữ liệu tốt. Đồ án đã áp dụng thành công các công nghệ phát triển phần mềm phổ biến như PHP (cho web server), MySQL (cơ sở dữ liệu), và các framework hiện đại cho di động. Hệ thống đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng đã đề ra ban đầu, đặc biệt là tính ổn định và khả năng mở rộng.

5.2. Hạn chế và tiềm năng phát triển mở rộng các dịch vụ

Mặc dù đã thành công, đồ án vẫn còn một số hạn chế như giao diện chưa được tối ưu hóa hoàn toàn cho mọi kích thước màn hình và chưa có các tính năng nâng cao như liên kết trực tiếp với tài khoản ngân hàng để tự động đồng bộ giao dịch. Hướng phát triển trong tương lai rất rộng mở. Hệ thống có thể mở rộng bằng cách thêm các dịch vụ mới (microservices) như dịch vụ phân tích, dự báo chi tiêu bằng máy học, dịch vụ quản lý danh mục đầu tư, hoặc tích hợp với các ví điện tử. Việc này sẽ nâng cao giá trị của ứng dụng, biến nó từ một công cụ ghi chép đơn thuần thành một trợ lý tài chính thông minh.

09/07/2025
Báo cáo đồ án môn học đề tài ứng dụng quản lí chi tiêu cá nh

Bạn đang xem trước tài liệu:

Báo cáo đồ án môn học đề tài ứng dụng quản lí chi tiêu cá nh