Báo cáo Đồ án môn học: Xây dựng Ứng dụng Quản lý Chi tiêu Cá nhân - PTIT

Tiểu luận báo cáo đồ án môn học về ứng dụng quản lí chi tiêu cá nhân, giúp tối ưu hóa tài chính và nâng cao hiệu quả chi tiêu hàng ngày.

Người đăng

Ẩn danh

Thể loại

tiểu luận

2023

90
8
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn làm đồ án ứng dụng quản lí chi tiêu từ A Z

Việc thực hiện một tiểu luận báo cáo đồ án môn học về đề tài ứng dụng quản lí chi tiêu cá nhân là một lựa chọn phổ biến và mang tính thực tiễn cao cho sinh viên ngành công nghệ thông tin. Đề tài này không chỉ giúp củng cố kiến thức về phân tích thiết kế hệ thống, lập trình ứng dụng mà còn giải quyết một nhu cầu thiết thực trong cuộc sống hiện đại. Quản lý tài chính hiệu quả là nền tảng cho sự ổn định và tự do tài chính, nhưng nhiều người gặp khó khăn trong việc theo dõi các khoản thu chi. Một app quản lý chi tiêu được xây dựng bài bản sẽ trở thành công cụ đắc lực, giúp người dùng có cái nhìn tổng quan về tình hình tài chính, từ đó đưa ra các quyết định chi tiêu thông minh. Đồ án này bao trùm nhiều lĩnh vực kiến thức, từ thiết kế cơ sở dữ liệu SQL để lưu trữ giao dịch, xây dựng ứng dụng mobile trên nền tảng Android/iOS, cho đến việc phát triển REST API để kết nối các thành phần. Do đó, việc hoàn thành tốt một khóa luận công nghệ thông tin với đề tài này chứng tỏ sinh viên có khả năng áp dụng lý thuyết vào việc tạo ra một sản phẩm hoàn chỉnh, đáp ứng nhu cầu thực tế của thị trường. Đây là một cơ hội tuyệt vời để rèn luyện kỹ năng làm việc nhóm, quản lý dự án và chuẩn bị hành trang vững chắc cho sự nghiệp sau khi ra trường.

1.1. Tầm quan trọng của việc quản lý tài chính cá nhân hiện nay

Trong bối cảnh kinh tế hiện đại, việc quản lý tài chính cá nhân đã trở thành một kỹ năng sống còn. Nó không chỉ đơn thuần là ghi chép lại các khoản chi tiêu mà còn bao gồm việc lập kế hoạch ngân sách, đặt ra các mục tiêu tiết kiệm và đầu tư một cách khôn ngoan. Thiếu một kế hoạch tài chính rõ ràng, nhiều người dễ rơi vào tình trạng “cháy túi” cuối tháng, nợ nần hoặc không thể thực hiện được các mục tiêu lớn như mua nhà, mua xe. Một hệ thống quản lý tốt giúp xác định rõ các nguồn thu nhập và các khoản chi tiêu, từ đó nhận ra những khoản lãng phí không cần thiết để cắt giảm. Kỹ năng này mang lại sự tự chủ, giảm bớt căng thẳng tài chính và tạo ra một nền tảng vững chắc cho tương lai. Các công cụ kỹ thuật số chính là trợ thủ đắc lực cho quá trình này.

1.2. Lý do chọn đề tài cho khóa luận công nghệ thông tin

Chọn đề tài ứng dụng quản lí chi tiêu cá nhân cho luận văn tốt nghiệp hoặc đồ án môn học là một quyết định chiến lược. Thứ nhất, đề tài có tính ứng dụng cao và gần gũi, giúp sinh viên dễ dàng hiểu rõ yêu cầu người dùng. Thứ hai, nó cho phép áp dụng một loạt công nghệ hiện đại như lập trình Android/iOS, phát triển backend với kiến trúc REST API, quản trị cơ sở dữ liệu SQL, và thiết kế giao diện người dùng (UI/UX). Thứ ba, sản phẩm cuối cùng là một ứng dụng hoàn chỉnh, có thể đưa vào portfolio cá nhân để gây ấn tượng với nhà tuyển dụng. Quá trình làm đồ án giúp sinh viên trải nghiệm toàn bộ vòng đời phát triển phần mềm, từ khâu lên ý tưởng, phân tích, thiết kế, lập trình, kiểm thử đến triển khai. Đây là kinh nghiệm quý báu mà không phải môn học lý thuyết nào cũng mang lại.

II. Thách thức quản lí chi tiêu và vai trò của ứng dụng

Quản lý chi tiêu thủ công bằng sổ sách hoặc bảng tính Excel tồn tại nhiều bất cập. Người dùng thường quên ghi chép, tính toán sai sót, và khó có cái nhìn tổng quan về dòng tiền của mình. Việc theo dõi chi tiêu hàng ngày trở thành một gánh nặng, dẫn đến việc từ bỏ chỉ sau một thời gian ngắn. Các thách thức chính bao gồm: thiếu tính nhất quán trong việc ghi chép, khó khăn trong việc phân loại chi tiêu, và không có khả năng phân tích dữ liệu để đưa ra cảnh báo khi chi tiêu vượt ngân sách. Đây chính là lúc các app quản lý chi tiêu phát huy vai trò của mình. Một phần mềm quản lý thu chi hiện đại sẽ tự động hóa nhiều quy trình. Nó cho phép người dùng nhập liệu nhanh chóng, phân loại giao dịch tự động, và cung cấp các biểu đồ thống kê chi tiêu trực quan. Nhờ vậy, người dùng có thể dễ dàng nhận ra thói quen chi tiêu của mình, xác định các khoản chi lớn nhất và điều chỉnh kịp thời. Ứng dụng hoạt động như một sổ thu chi online, có thể truy cập mọi lúc mọi nơi, giúp việc quản lý tài chính trở nên liền mạch và hiệu quả hơn, từ đó hỗ trợ tiết kiệm tiền hiệu quả và đạt được các mục tiêu tài chính đã đề ra.

2.1. Khó khăn khi theo dõi chi tiêu hàng ngày bằng phương pháp thủ công

Phương pháp thủ công để theo dõi chi tiêu hàng ngày đòi hỏi sự kiên trì và kỷ luật cao. Việc phải lưu giữ tất cả hóa đơn và dành thời gian mỗi ngày để ghi chép vào sổ hoặc nhập vào bảng tính rất tốn thời gian và dễ gây nản lòng. Sai sót trong quá trình nhập liệu là điều khó tránh khỏi, dẫn đến các con số thống kê không chính xác. Hơn nữa, việc tổng hợp và phân tích dữ liệu từ sổ sách rất phức tạp. Người dùng khó có thể nhanh chóng trả lời các câu hỏi như: “Tháng này đã chi bao nhiêu cho việc ăn uống?” hay “Ngân sách cho mua sắm còn lại bao nhiêu?”. Những hạn chế này làm giảm hiệu quả của việc quản lý tài chính và khiến nhiều người không thể duy trì thói quen này lâu dài.

2.2. Sự cần thiết của một phần mềm quản lý thu chi chuyên dụng

Một phần mềm quản lý thu chi chuyên dụng ra đời để giải quyết triệt để các vấn đề của phương pháp thủ công. Bằng cách tự động hóa và đơn giản hóa quy trình, nó giúp người dùng tiết kiệm thời gian và công sức. Các tính năng như liên kết với tài khoản ngân hàng, quét hóa đơn, tự động phân loại giao dịch làm cho việc nhập liệu trở nên dễ dàng. Quan trọng hơn, phần mềm cung cấp các công cụ phân tích mạnh mẽ, biến những con số khô khan thành các báo cáo tài chính cá nhân và biểu đồ dễ hiểu. Người dùng có thể thiết lập ngân sách cho từng hạng mục và nhận cảnh báo khi sắp chi tiêu quá mức. Điều này giúp họ kiểm soát tài chính một cách chủ động và hiệu quả hơn.

III. Phương pháp phân tích thiết kế hệ thống ứng dụng chi tiêu

Nền tảng của một ứng dụng quản lí chi tiêu cá nhân thành công nằm ở khâu phân tích thiết kế hệ thống bài bản. Quá trình này bắt đầu bằng việc xác định rõ các yêu cầu chức năng và phi chức năng. Về mặt kiến trúc, dự án này áp dụng các mô hình phổ biến và hiệu quả. Đối với backend và ứng dụng web, mô hình MVC (Model-View-Controller) được lựa chọn để phân tách rõ ràng giữa logic xử lý dữ liệu (Model), giao diện người dùng (View), và phần điều khiển luồng ứng dụng (Controller). Cấu trúc này giúp mã nguồn trở nên có tổ chức, dễ bảo trì và mở rộng. Đối với xây dựng ứng dụng mobile, mô hình MVVM (Model-View-ViewModel) được ưu tiên sử dụng. MVVM giúp tách biệt giao diện (View) khỏi logic nghiệp vụ (ViewModel), tạo điều kiện thuận lợi cho việc binding dữ liệu và kiểm thử tự động. Trái tim của hệ thống là một cơ sở dữ liệu SQL được thiết kế cẩn thận, bao gồm các bảng như mp_users (người dùng), mp_transactions (giao dịch), mp_categories (danh mục), và mp_goals (mục tiêu) để đảm bảo tính toàn vẹn và khả năng truy vấn dữ liệu hiệu quả. Tất cả được kết nối thông qua một hệ thống REST API, đóng vai trò là cầu nối trung gian, cho phép các client (Android, iOS, Web) giao tiếp một cách nhất quán với server.

3.1. Thiết kế cơ sở dữ liệu SQL cho việc lưu trữ dữ liệu

Thiết kế cơ sở dữ liệu SQL là bước khởi đầu quan trọng. Cấu trúc dữ liệu cần được chuẩn hóa để tránh dư thừa và đảm bảo tính nhất quán. Các bảng chính trong hệ thống bao gồm mp_users để lưu thông tin người dùng, mp_accounts để quản lý các tài khoản ngân hàng, mp_transactions là bảng trung tâm ghi lại mọi giao dịch thu và chi, liên kết với người dùng và tài khoản. Bảng mp_categories giúp phân loại các giao dịch (ví dụ: ăn uống, mua sắm), trong khi mp_budgetsmp_goals hỗ trợ người dùng lập kế hoạch ngân sách và theo dõi mục tiêu tiết kiệm. Việc định nghĩa rõ ràng các mối quan hệ giữa các bảng (một-nhiều, nhiều-nhiều) và các ràng buộc toàn vẹn sẽ đảm bảo hệ thống hoạt động ổn định và chính xác.

3.2. Lựa chọn mô hình MVC và MVVM trong xây dựng ứng dụng

Việc lựa chọn mô hình kiến trúc phù hợp là yếu tố quyết định đến chất lượng của sản phẩm phần mềm. Với ứng dụng web, mô hình MVC (Model-View-Controller) là một lựa chọn kinh điển. Controller nhận yêu cầu từ người dùng, tương tác với Model để xử lý dữ liệu và cuối cùng trả kết quả về cho View hiển thị. Đối với xây dựng ứng dụng mobile (Android/iOS), mô hình MVVM (Model-View-ViewModel) tỏ ra ưu việt hơn. ViewModel chịu trách nhiệm chuẩn bị và quản lý dữ liệu cho View, giúp giảm sự phụ thuộc và làm cho mã nguồn dễ kiểm thử hơn. Sự kết hợp giữa MVC cho web và MVVM cho mobile tạo nên một hệ thống linh hoạt, dễ bảo trì và phát triển.

3.3. Xây dựng kiến trúc REST API để kết nối client và server

REST API (Representational State Transfer Application Programming Interface) đóng vai trò xương sống, kết nối các client (web, mobile) với máy chủ backend. Kiến trúc này sử dụng các phương thức HTTP tiêu chuẩn (GET, POST, PUT, DELETE) để thực hiện các thao tác trên tài nguyên. Ví dụ, một yêu cầu GET /api/transactions sẽ trả về danh sách các giao dịch. Việc sử dụng định dạng JSON để trao đổi dữ liệu giúp hệ thống trở nên nhẹ nhàng và linh hoạt. Một hệ thống API được thiết kế tốt cần có tài liệu rõ ràng, cơ chế xác thực (ví dụ: JWT) và xử lý lỗi nhất quán, đảm bảo các ứng dụng client có thể tương tác với server một cách an toàn và hiệu quả.

IV. Công nghệ xây dựng app quản lý chi tiêu cá nhân hiệu quả

Để xây dựng ứng dụng mobile và web quản lý chi tiêu, việc lựa chọn công nghệ phù hợp là cực kỳ quan trọng. Phía máy chủ (backend) của dự án này được xây dựng trên stack công nghệ LAMP, một bộ tứ mạnh mẽ bao gồm Linux (hệ điều hành), Apache (máy chủ web), MySQL (hệ quản trị cơ sở dữ liệu SQL), và PHP (ngôn ngữ lập trình). Đây là một lựa chọn phổ biến, ổn định và có cộng đồng hỗ trợ lớn. Phía client, ứng dụng được phát triển cho cả hai nền tảng di động phổ biến. Lập trình Android được thực hiện bằng các ngôn ngữ như Java hoặc Kotlin, tận dụng tối đa sức mạnh của hệ điều hành. Tương tự, ứng dụng cho iOS được xây dựng bằng Swift hoặc Objective-C. Ngoài ra, các công nghệ cross-platform như React Native/Flutter cũng là một lựa chọn đáng cân nhắc để tiết kiệm thời gian và chi phí phát triển. Giao tiếp giữa client và server được thực hiện thông qua REST API, đảm bảo dữ liệu được đồng bộ hóa một cách nhất quán trên mọi thiết bị. Toàn bộ hệ thống này tạo nên một phần mềm quản lý thu chi toàn diện, từ backend vững chắc đến giao diện người dùng thân thiện trên các nền tảng khác nhau.

4.1. Môi trường máy chủ Webserver LAMP và vai trò của PHP MySQL

Stack LAMP (Linux, Apache, MySQL, PHP) là một nền tảng mã nguồn mở mạnh mẽ và đáng tin cậy để phát triển các ứng dụng web. Linux cung cấp một hệ điều hành ổn định, Apache xử lý các yêu cầu HTTP từ client, MySQL (một hệ quản trị cơ sở dữ liệu SQL) chịu trách nhiệm lưu trữ và truy vấn dữ liệu một cách hiệu quả, và PHP là ngôn ngữ kịch bản phía máy chủ xử lý logic nghiệp vụ. Sự kết hợp này tạo ra một môi trường phát triển linh hoạt, chi phí thấp và được hỗ trợ bởi một cộng đồng rộng lớn, rất phù hợp cho các dự án của sinh viên và các ứng dụng có quy mô vừa và nhỏ.

4.2. Công nghệ lập trình Android iOS Native và Cross platform

Khi xây dựng ứng dụng mobile, có hai hướng tiếp cận chính: lập trình native hoặc cross-platform. Lập trình native (lập trình Android bằng Kotlin/Java, iOS bằng Swift) mang lại hiệu năng cao nhất và trải nghiệm người dùng tốt nhất vì nó tận dụng trực tiếp các tính năng của hệ điều hành. Tuy nhiên, nó đòi hỏi phải phát triển và duy trì hai cơ sở mã nguồn riêng biệt. Ngược lại, các framework cross-platform như React Native/Flutter cho phép viết mã một lần và triển khai trên cả hai nền tảng, giúp tiết kiệm thời gian và nguồn lực. Lựa chọn công nghệ nào phụ thuộc vào yêu cầu cụ thể của dự án, ưu tiên về hiệu năng và nguồn lực của đội ngũ phát triển.

V. Top tính năng cốt lõi của một app quản lý chi tiêu hiệu quả

Một app quản lý chi tiêu thành công phải cung cấp đầy đủ các tính năng cần thiết để người dùng có thể quản lý tài chính một cách toàn diện. Tính năng cơ bản nhất là quản lý giao dịch, cho phép người dùng ghi lại các khoản thu nhập và chi tiêu một cách nhanh chóng. Giao diện thêm mới và chỉnh sửa cần đơn giản, hỗ-trợ-phân-loại-giao-dịch-theo-danh-mục (Category) như ăn uống, đi lại, giải trí. Tính năng quản lý tài khoản (Card) giúp theo dõi số dư của nhiều tài khoản ngân hàng hoặc ví điện tử khác nhau. Để nâng cao hiệu quả, ứng dụng cần có tính năng lập kế hoạch ngân sách (Budget), cho phép người dùng đặt ra giới hạn chi tiêu cho từng hạng mục và nhận cảnh báo khi gần vượt mức. Bên cạnh đó, tính năng đặt mục tiêu (Goal) giúp người dùng lên kế hoạch cho các mục tiêu tài chính lớn như mua xe, du lịch. Cuối cùng, một hệ thống báo cáo tài chính cá nhân và thống kê mạnh mẽ là không thể thiếu. Các biểu đồ thống kê chi tiêu theo tuần, tháng, hoặc theo danh mục sẽ giúp người dùng trực quan hóa dữ liệu, từ đó có cái nhìn sâu sắc về thói quen tài chính của mình và đưa ra quyết định tốt hơn.

5.1. Chức năng cốt lõi Quản lý giao dịch như sổ thu chi online

Chức năng quản lý giao dịch là trái tim của ứng dụng, hoạt động như một sổ thu chi online thông minh. Người dùng phải có khả năng thêm, sửa, xóa các giao dịch thu nhập và chi tiêu một cách dễ dàng. Mỗi giao dịch cần có các thông tin cơ bản như số tiền, ngày tháng, danh mục, và mô tả. Giao diện nên được tối ưu để việc nhập liệu diễn ra nhanh nhất có thể. Tính năng tìm kiếm và lọc giao dịch theo thời gian, danh mục hoặc tài khoản cũng rất quan trọng, giúp người dùng dễ dàng tra cứu lại các khoản chi tiêu trong quá khứ. Một số ứng dụng còn hỗ trợ nhập giao dịch hàng loạt từ file CSV, tiện lợi cho người dùng chuyển đổi từ các hệ thống khác.

5.2. Các tính năng nâng cao Lập kế hoạch ngân sách và đặt mục tiêu

Để thực sự tiết kiệm tiền hiệu quả, người dùng cần các công cụ lập kế hoạch. Tính năng lập kế hoạch ngân sách cho phép họ đặt ra giới hạn chi tiêu cho từng hạng mục trong một khoảng thời gian nhất định (ví dụ: 2 triệu đồng cho ăn uống mỗi tháng). Ứng dụng sẽ tự động theo dõi và cảnh báo khi chi tiêu sắp chạm ngưỡng. Tương tự, tính năng đặt mục tiêu (Goal) giúp người dùng xác định các khoản tiết kiệm cụ thể (ví dụ: tiết kiệm 20 triệu cho chuyến du lịch) và theo dõi tiến độ hoàn thành. Những tính năng này biến ứng dụng từ một công cụ ghi chép đơn thuần thành một cố vấn tài chính cá nhân.

5.3. Báo cáo và thống kê Trực quan hóa dữ liệu bằng biểu đồ chi tiêu

Dữ liệu chỉ thực sự hữu ích khi được phân tích và trình bày một cách dễ hiểu. Tính năng báo cáo và thống kê đóng vai trò này. Ứng dụng cần cung cấp các biểu đồ thống kê chi tiêu đa dạng như biểu đồ tròn để thể hiện tỷ trọng chi tiêu theo từng danh mục, hoặc biểu đồ cột để so sánh thu chi qua các tháng. Các báo cáo tài chính cá nhân này giúp người dùng nhanh chóng nhận ra các xu hướng, xác định các lĩnh vực chi tiêu nhiều nhất và đánh giá hiệu quả của kế hoạch ngân sách. Việc trực quan hóa dữ liệu giúp việc quản lý tài chính trở nên sinh động và hấp dẫn hơn.

VI. Cách hoàn thiện báo cáo đồ án và chuẩn bị bảo vệ thành công

Hoàn thiện tiểu luận báo cáo đồ án môn học và bảo vệ thành công là bước cuối cùng và quan trọng nhất. Một bản báo cáo thực tập hay đồ án cần có cấu trúc rõ ràng, logic, bao gồm các phần như đặt vấn đề, tổng quan, phân tích thiết kế, kết quả thực hiện và kết luận. Nội dung cần trình bày chi tiết về các công nghệ đã sử dụng, các quyết định thiết kế và các chức năng đã hoàn thành. Phần kết quả cần có hình ảnh minh họa giao diện ứng dụng và các chức năng chính. Để chuẩn bị cho buổi bảo vệ, việc thiết kế một slide bảo vệ đồ án chuyên nghiệp là rất cần thiết. Slide nên ngắn gọn, tập trung vào các điểm chính, sử dụng hình ảnh và biểu đồ để minh họa thay vì chữ viết dày đặc. Trong buổi bảo vệ, sinh viên cần trình bày tự tin, rõ ràng, làm chủ được nội dung và công nghệ của mình. Việc chuẩn bị một bản demo ứng dụng chạy mượt mà sẽ là điểm cộng lớn. Cuối cùng, việc chia sẻ mã nguồn ứng dụng một cách có tổ chức trên các nền tảng như GitHub không chỉ giúp giảng viên dễ dàng đánh giá mà còn là một phần quan trọng trong portfolio của sinh viên.

6.1. Cấu trúc một bài luận văn tốt nghiệp về ứng dụng quản lý chi tiêu

Một bài luận văn tốt nghiệp hay báo cáo đồ án cần tuân thủ cấu trúc học thuật chuẩn. Phần Mở đầu nêu lý do chọn đề tài và mục tiêu. Chương 1 - Tổng quan, trình bày các khái niệm liên quan đến quản lý tài chính cá nhân và các ứng dụng tương tự. Chương 2 - Phân tích thiết kế hệ thống, mô tả chi tiết về yêu cầu, mô hình kiến trúc (MVC/MVVM), và thiết kế cơ sở dữ liệu SQL. Chương 3 - Hiện thực chương trình, trình bày các công nghệ sử dụng và các chức năng chính đã xây dựng. Chương 4 - Kết quả và Đánh giá, trình bày kết quả đạt được và so sánh với mục tiêu ban đầu. Cuối cùng là phần Kết luận và Hướng phát triển trong tương lai. Cấu trúc này đảm bảo bài báo cáo đầy đủ, logic và dễ theo dõi.

6.2. Mẹo thiết kế slide bảo vệ đồ án và trình bày ấn tượng

Bài trình bày quyết định rất lớn đến kết quả bảo vệ. Một bộ slide bảo vệ đồ án hiệu quả cần tuân thủ nguyên tắc "ít chữ, nhiều hình". Mỗi slide chỉ nên tập trung vào một ý chính. Sử dụng hình ảnh chụp màn hình ứng dụng, sơ đồ kiến trúc, biểu đồ để minh họa. Màu sắc và font chữ cần nhất quán, chuyên nghiệp. Khi trình bày, hãy tập trung vào việc kể một câu chuyện: vấn đề là gì, giải pháp của bạn ra sao, và nó mang lại kết quả như thế nào. Chuẩn bị một phần demo (trình diễn) trực tiếp trên ứng dụng sẽ tạo ấn tượng mạnh mẽ hơn là chỉ nói lý thuyết. Hãy luyện tập trước để đảm bảo thời gian trình bày hợp lý và trả lời các câu hỏi một cách tự tin.

6.3. Chia sẻ mã nguồn ứng dụng và các tài liệu tham khảo hữu ích

Việc cung cấp mã nguồn ứng dụng là một phần không thể thiếu trong các đồ án công nghệ thông tin. Hãy đưa mã nguồn lên một kho lưu trữ công khai như GitHub, với cấu trúc thư mục rõ ràng và một file README.md hướng dẫn cài đặt và sử dụng. Điều này thể hiện sự chuyên nghiệp và giúp người khác dễ dàng tiếp cận sản phẩm của bạn. Ngoài ra, việc đính kèm danh sách các tài liệu tham khảo (sách, bài báo khoa học, blog công nghệ) đã sử dụng trong quá trình làm đồ án cho thấy sự đầu tư nghiên cứu nghiêm túc và là nguồn tài nguyên quý giá cho những người đi sau muốn tìm hiểu về đề tài này.

13/07/2025

Trích đoạn nội dung tài liệu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI TP. HỒ CHÍ MINH Khoa CNTT 2  BÁO CÁO ĐỒ ÁN MÔN HỌC Đề tài: ỨNG DỤNG QUẢN LÍ CHI TIÊU CÁ NHÂN Môn học : Phát triển phần mềm hướng dịch vụ Giảng viên : ThS. Huỳnh Trung Trụ Nhóm : 34 Danh sách 1. Nguyễn Văn Chung N18DCCN024 2. Nguyễn Đăng Hậu N18DCCN060 3. Nguyễn Thành Phong N18DCCN147 4. Lương Đình Khang N18DCCN093 TP. Hồ Chí Minh, tháng 06 năm 2022 NHẬN XÉT CỦA GIẢNG VIÊN LỜI CẢM ƠN Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến “Học viện Công nghệ Bưu chính viễn thông” đã đưa môn học Phát triển phần mềm hướng dịch vụ vào chương trình giảng dạy. Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giáo viên bộ môn - thầy giáo Huỳnh Trung Trụ đã dạy dỗ, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua. Trong thời gian tham gia lớp học Phát triển phần mềm hướng dịch vụ, chúng em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để chúng em có thể vững bước sau này. Bộ môn Phát triển phần mềm hướng dịch vụ là môn học thú vị, vô cùng bổ ích và có tính thực tế cao. Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ. Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét và góp ý để bài báo cáo của nhóm 3 4 chúng em được hoàn thiện hơn. Chúng em xin chân thành cảm ơn. NHÓM 34 Chương 1: MÔ TẢ HỆ THỐNG I. Mô tả hệ thống 1. Mô hình sơ đồ Recommended for you Document continues below 6183.0 Architecture… 147 Phát triển 100% (2) dịch vụ giá… Reading-Pass2 - anh Phân tích 4 100% (1) thiết kế hệ… Correctional Administration 8 Criminology 96% (113) English - huhu 10 Led hiển thị 100% (3) b. Đặc tả sơ đồ Tên bảng Mô tả Bảng mục tiêu, sẽ là những mục tiêu mp_goals cần đạt được Bảng chứa danh sách các giao dịch của mp_transactions người dùng Bảng chưa toàn bộ danh sách các thể mp_categories loại của giao dịch: mua sắm, ăn uống, … Bảng chưa danh sách các budget (ngân mp_budgets sách chi tiêu) là số tiền mà bạn dự định sẽ bỏ ra để chi cho cái gì đó Bảng chứa danh sách người dùng trong mp_users hệ thống Bảng chưa danh sách các tài khoản ngân hàng (không có chứa mật khẩu), mp_acounts Gồm: tên, mô tả, số tài khoản, số tiền hiện có bảng chứa thông báo của hệ thống tới mp_notifications người dùng Bảng chứa các thông tin khác của mp_general_data website 4. Kiến trúc REST API a. Mô hình kiến trúc b. Đặc tả kiến trúc Rest API là một ứng dụng được dùng để chuyển đổi cấu trúc của dữ liệu có những phương thức giúp kết nối với các thư viện và ứng dụng khác nhau. Rest Api thường không được xem là công nghệ, mà nó là giải pháp giúp tạo ra những ứng dụng web services chuyên dụng để thay thế cho nhiều kiểu khác như: SOAP, WSDL,. API là từ viết tắt của cụm từ Application Programming Interface, đây là tập hợp những quy tắc và cơ chế mà theo đó thì: Một ứng dụng hoặc một thành phần nào đó sẽ tương tác với một ứng dụng hoặc một số thành phần khác. API có thể sẽ được trả về dữ liệu mà người dùng cần cho chính ứng dụng của bạn với những kiểu dữ liệu được dùng phổ biến như JSON hoặc XML. Rest là từ viết tắt của Representational State Transfer: Nó là một trong những dạng chuyển đổi cấu trúc, với kiểu kiến trúc thường được viết API. Rest thường sử dụng dụng phương thức HTTP đơn giản để có thể tạo ra giao tiếp giữa các máy.Bởi vì thế, thay vì phải sử dụng một URL cho việc xử lý một số thông tin của người dùng thì Rest sẽ yêu cầu HTTP như: GET, POST, DELETE,. đến với bất kỳ một URL để được xử lý dữ liệu. Kiến trúc MVC trong PHP Mô hình MVC là mô hình gồm 3 lớp: Model, View, Controller. Cụ thể như sau:  Model: Lớp này chịu trách nhiệm quản lí dữ liệu: giao tiếp với cơ sở dữ liệu, chịu trách nhiệm lưu trữ hoặc truy vấn dữ liệu.  View: Lớp này chính là giao diện của ứng dụng, chịu trách nhiệm biểu diễn dữ liệu của ứng dụng thành các dạng nhìn thấy được.  Controller: Lớp này đóng vai trò quản lí và điều phối luồng hoạt động của ứng dụng. Tầng này sẽ nhận request từ client, điều phối các Model và View để có thể cho ra output thích hợp và trả kết quả về cho người dung. Kiến trúc MVVM trong Android / iOS MVVM được hiểu như thế nào? View: Tương tự như trong mô hình MVC, View là phần giao diện của ứng dụng để hiển thị dữ liệu và nhận tương tác của người dùng. Một điểm khác biệt so với các ứng dụng truyền thống là View trong mô hình này tích cực hơn. Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng binding, command. Model: Cũng tương tự như trong mô hình MVC. Model là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự. ViewModel: Lớp trung gian giữa View và Model. ViewModel có thể được xem là thành phần thay thế cho Controller trong mô hình MVC. Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.  ViewModel không hề biết gì về View, một ViewModel có thể được sử dụng cho nhiều View (one-to-many). ViewModel sử dụng Observer design pattern để liên lạc với View (thường được gọi là binding data, có thể là 1 chiều hoặc 2 chiều tùy nhu cầu ứng dụng). Chính đặc điểm này MVVM thường được phối hợp với các thư viện hỗ trợ Reactive Programming hay Event/Data Stream, đây là triết lý lập trình hiện đại và hiệu quả phát triển rất mạnh trong những năm gần đây. Chương 2: MÔI TRƯỜNG MÁY CHỦ WEBSERVER LAMP là viết tắt của Linux, Apache, MySQL và PHP (cũng có thể là Python, Perl nhưng bài này chỉ nói về Php), mỗi trong số đó là các gói phần mềm riêng lẻ được kết hợp để tạo thành một giải pháp máy chủ web linh hoạt. Các thành phần này, được sắp xếp theo các lớp hỗ trợ lẫn nhau, tạo thành các stack phần mềm.  Linux: là lớp đầu tiên trong stack. Hệ điều hành này là cơ sở nền tảng cho các lớp phần mềm khác.  Apache đóng vai trò một HTTP server dùng để xử lý các yêu cầu gửi tới máy chủ.  Mysql là cơ sở dữ liệu để lưu trữ mọi thông tin trên website.  PHP sau đó sẽ xử lý các nhiệm vụ cần thiết hoặc kết nối với CSDL MySQL để lấy thông tin cần thiết sau đó trả về cho Apache. Apache cuối cùng sẽ trả kết quả nhận được về cho máy khách đã gửi yêu cầu tới. Chương 3: CÁC CLIENT, APPLICATION TRUY CẬP API I. Ứng dụng Android Home Activity Đây là activity quan trọng, đóng vai trò là màn hình chính của ứng dụng. Từ home activity ta có thể truy cập tới bất kì chức năng khác nếu muốn. Activity này là nơi quản lý và sử dụng các Fragment Introduce Activity Đây là nơi hiển thị các màn hình giới thiệu nếu đây là lần đầu tiên người dùng mở ứng dụng lên Màn hình giới thiệu ứng dụng Main Activity Bản chất là màn hình đăng nhập. Nếu người dùng lần đầu mở ứng dụng thì sẽ đi qua Introduce Activity trước rồi mới tới màn hình Đăng nhập. Ngược lại, nếu đã đăng nhập tài khoản thì khi mở ứng dụng sẽ vào ngay màn hình Home Activity. Màn hình đăng nhập ứng dụng. Hỗ trợ 3 hình thức đăng nhập khác nhau Màn hình chính và các chức năng chủ chốt Transaction Quản lý các nguồn thu nhập/hoạt động chi tiêu và tạo sao kê với nhiều tùy chọn khác nhau Chức năng quản lý các hoạt động thu nhập/chi tiêu Thêm mới hoặc chỉnh sửa nội dung dễ dàng Tạo sao kê với nhiều tùy chọn lọc dữ liệu Sao kê với các thông tin theo chuẩn Ngân hàng Trung ương Việt Nam Card Tạo thẻ ngân hàng và kiểm soát số dư tài khoản Category Tạo các thể loại thu nhập/chi tiêu theo mong muốn Goal Chức năng này giúp bạn đặt ra các mục tiêu để và kiểm soát việc tiết kiệm tiền bạc Để dành thêm được một khoản tiền ?? Cập nhật ngay thôi Notification Hiển thị thông báo ngay trên thanh quick-setting của thiết bị Dark Mode Hỗ trợ mạnh mẽ và toàn diện chế độ ban đêm II. Ứng dụng iOS II. Ứng dụng web  Giao diện đăng nhập Giao diện đăng nhập Giao diện đầu tiên người dùng nhìn thấy khi truy cập trang web. Bao gồm các tính năng cơ bản như đăng nhập, nhớ mật khẩu, quên mật khẩu.  Giao diện quên mật khẩu Người dùng có thể chọn quên mật khẩu và làm theo hướng dẫn theo từng bước để đến giao diện đổi mật khẩu.  Giao diện dashboard Vì đây là giao diện chính của trang web nên có rất nhiều mục để thao tác.  Thanh điều hướng Thanh điều hướng giúp người dùng thuận tiện trong việc chuyển đổi giao diện để thao tác, Bên cạnh đó còn có thanh sáng giúp người dùng nhận biết mình đang ở giao diện nào.  Giao dịch và thống kê Giao dịch và thống kê Đây được coi là mục chính của dashboard vì chứa tất cả các thông tin của người dùng hiện tại bao gồm số dư, giao dịch trong tháng hoặc năm.  Quick menu Quick menu Đây là menu giúp người dùng đi thẳng đến giao diện thêm các giao dịch và ngân sách.  Giao dịch Giao dịch được chia ra làm 2 phần là thu nhập và chi tiêu( income & expense). Quản lý thu nhập Quản lý chi tiêu Ở đây người dùng có thể thêm xóa sửa bất cứ giao dịch nào vì đây là giao dịch cá nhân của người dùng. Ngoài ra còn có tính năng import nhanh giao dịch bằng file CSV thích hợp cho việc người dùng chuyển đổi tài khoản nhưng vẫn muốn lưu giữ giao dịch cũ mà không cần thêm lại từng cái. Giao diện quản lý account Người dùng có thể thêm xóa sửa các tài khoản ngân hàng của mình.  Quản lý ngân sách Giao diện quản lý ngân sách Thêm xóa sửa các ngân sách đặt ra.  Quản lý mục tiêu Giao diện quản lý mục tiêu Thêm xóa sửa các mục tiêu và thêm tiền để đạt được mục tiêu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ