摘 ? ?要
隨著我國居民收入和生活水平的提高,家庭理財成為人們熱議的焦點問題。在需求分析階段,系統從用戶的實際需求出發,確定了用戶賬戶管理、記賬、數據分析和提醒功能等幾個核心需求。用戶賬戶管理包括用戶注冊、登錄和密碼找回等基本操作。記賬功能允許用戶記錄收入和支出。數據分析部分則通過圖表展示用戶的收支情況。提醒功能通過用戶設定的預算和計劃,為用戶提供財務提醒服務。在系統架構設計上,采用了Android作為主要開發平臺,通過Java語言實現APP的前端功能。在后端方面,選擇了Spring Boot框架構建RESTful API,以實現前后端的數據交互。在系統測試階段,進行了多方面的測試,包括功能測試,性能測試,安全性測試等。通過這些測試,系統在各個方面都表現出良好的性能和穩定性。通過本次研究成功設計并實現了一款基于Android的家庭理財APP,該APP具備方便、效率高的財務管理功能。
關鍵詞:家庭理;Android;Java語言;Spring Boot框架
?
ABSTRACT
In the demand analysis stage, the system starts from the actual needs of users, and clarifies several core requirements such as user account management, bookkeeping, data analysis and reminder functions. User account management includes basic operations such as user registration, login, and password retrieval. The bookkeeping feature allows users to keep track of income and expenses. The data analysis part shows the user's income and expenditure through charts. The reminder feature provides users with financial alerts through budgets and schedules set by users.In terms of system architecture design, Android is used as the main development platform, and the front-end functions of APP are realized through Java language. In terms of backend, the Spring Boot framework was selected to build a RESTful API to achieve efficient data interaction between the front and back ends. In the system testing stage, we have carried out many aspects of testing, including functional testing, performance testing, security testing, etc. Through these tests, the system has shown good performance and stability in all aspects.Through this research, we successfully designed and implemented an Android-based family financial management APP, which has convenient financial management functions.?
Key words: family finance;Android;Java language;Spring Boot framework?
?
目 ? ?錄
第1章 緒論?? ?
1.1 研究目的和意義?? ?
1.2 國內外研究現狀?? ?
1.3 研究內容?? ?
1.4 論文組織架構?? ?
第2章 相關技術簡介?? ?
2.1 Android簡介?? ?
2.2 Java介紹?? ?
2.3 Spring Boot介紹?? ?
2.4 Vue.js介紹?? ?
2.5 MySQL數據庫介紹?? ?
第3章 系統分析?? ?
3.1 可行性分析?? ?
3.1.1 技術可行性?? ?
3.1.2 經濟可行性?? ?
3.1.3 法律可行性?? ?
3.1.4 運營可行性?? ?
3.2 需求分析?? ?
3.2.1 功能需求分析?? ?
3.2.2非功能性需求分析?? ?
3.3 業務流程分析?? ?
第4章 系統設計?? ?
4.1 功能模塊設計?? ?
4.2 數據庫設計?? ?
4.2.1 數據庫需求分析?? ?
4.2.2 數據庫概念結構設計
4.2.3 數據庫邏輯結構設計
第5章 系統實現
5.1 實現環境?? ?
5.2 注冊登錄?? ?
5.3 用戶信息管理?? ?
5.4 借出信息管理?? ?
5.5 投資理財管理?? ?
5.6 家庭成員管理?? ?
5.7 收入信息管理
5.8 銀行信息管理?? ?
5.9 理財信息管理?? ?
5.10 公告信息管理?? ?
5.11 理財資訊管理?? ?
第6章 系統測試?? ?
6.1測試目的
6.2測試方法?? ?
6.3 測試用例?? ?
6.3.1 登錄測試用例?? ?
6.3.2 銀行信息管理測試用例?? ?
6.3.3 理財項目管理測試用例?? ?
6.3.4 投資記錄管理測試用例?? ?
6.4測試結論?? ?
結論及展望?? ?
參考文獻
致 ?謝?? ?
?
第1章 緒論?
1.1 研究目的和意義
當今社會,家庭理財是所有家庭都需要重視的話題,對個人和家庭的經濟狀況有著直接的影響。本研究選擇基于Android平臺的家庭理財APP作為研究對象,目的是通過科技手段提供一種智能、便捷的家庭理財解決方案。
研究目的:提高家庭理財效率:通過設計一款基于Android的家庭理財APP,使得每個家庭成員都能夠記錄和管理個人財務。創新家庭理財方式:傳統的家庭理財方式受到限制,而家庭理財APP的使用提供了一種新的、更靈活的理財方式。本設計旨在推動家庭理財方式的創新,更好地適應現代社會的需求滿足家庭的需求。提供智能化財務分析:通過APP內的數據分析功能,系統能夠完美地展示用戶的收支情況,為用戶提供更直觀的財務信息,幫助用戶更好地了解自己的財務狀況。
研究意義:改善家庭理財體驗:設計一款用戶友好、功能完善的家庭理財APP,將有助于提升用戶的理財體驗,使其更加愿意采用數字化工具進行財務管理[2]。促進財務智能化:通過數據分析和提醒功能,家庭理財APP可使家庭成員的財務意識有所提高,家庭成員會更清晰的對自己的財產有一個理性的分配,從而使自己的財產得到更長遠的使用。適應數字化時代需求:隨著數字化時代的發展,家庭理財APP的設計有助于家庭理財領域更好地適應社會需求,推動家庭理財的數字化和智能化發展。
本研究將在家庭理財領域取得一系列創新成果,推動家庭理財的數字化轉型,為廣大家庭提供更加強大的財務管理方案。
1.2 國內外研究現狀
在當今的經濟水平下,人民的生活狀況目前還稱不上富裕,但是隨著我國經濟的飛速發展,人民的生活水平在不斷地提高,可支配的家庭收入也在不斷增加,各種支出也層出不窮,來自家庭的各種突發因素也在增加,所以家庭理財逐漸引起大家的注意了[3]。一個家庭能否經濟富裕,走向小康,看的就是是否會理財,要想學會理財就得學會使用理財軟件。俗話說“食不果腹,衣食無憂,不制定計劃,就不會永遠貧窮”,也就是說,如果你不懂得理財,你就會最終失去有一個家庭。為了過上美好的生活,你需要做的第一件事就是學會如何管理你的財務,需要學習如何使用財務管理軟件。
2020年鄧欽文在《基于Android平臺下家庭理財通軟件的設計》一書中提到操作系統、中間件、用戶界面和應用用軟件這四部分內容,對于移動應用程序的發展有著劃時代的重要作用,Android技術實現家庭財務管理軟件的開發設計起到了重要的突破作用,對于系統的技術應用具有參考意義。
?
2020年王青青、潘東亮等學者在《基于Android的大學生旅游理財APP設計》文中表明Java具有普遍的應用性,并且具有較高的效率。Android的Logo是由Ascender公司設計的,它的設計靈感來自于廁所門上的圖形符號,布洛克根據這個靈感繪制出一個的機器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機器人便誕生了[4]。采用Android操作系統將解決系統設計中的技術缺陷,完善財務管理模塊的設計,使系統具有多個管理模塊,更加方便。
? ? 2019年外國學者Becker Felix,Axhausen Kay W在《Simulation of price,customer behaviour and system impact for a cost-covering automated taxi system in Zurich》指出運用 Android 平臺、Java 技術和 SQLite 數據庫開發的一款家庭理財軟件,使用戶可以隨時隨地的增加刪除查看自己的收支信息,并進行賬務輪轉和執行記賬針對不同的消費目的進行針對性的管理。Android在正式發行之前,原本擁有兩個內部測試版本,并且以著名的機器人名稱來對其進行命名,它們分別是:阿童木(AndroidBeta)和發條機器人(Android 1.0)[5]。
? ? 此外2019年英國研究人員Grozev D,Milchev M,Georgiev I也在《Analysis of the load on the taxi system in a medium-sized city》文中提到在一個數據庫應用程序中,所有類都可以通過名稱訪問創建它們的數據庫,在應用程序之外它們不依賴于數字。Android會使同一系列核心應用程序包一起發布,所有的應用程序均使用JAVA語言編寫的。
? ??
1.3 研究內容
本研究的核心內容是基于Android平臺的家庭理財APP的設計與實現展開,包含了多個方面的研究內容,目的是開發一款方便大眾功能強大的家庭理財工具。
系統功能設計:用戶賬戶管理:包括用戶注冊、登錄、密碼找回等功能,目的是保護用戶的隱私信息和提高系統的安全性。記賬功能:用戶可以通過此來記錄自己的收入和支出情況,可以跟根據自己的習慣設置一些細節信息。數據分析與可視化:通過圖和表等方式展示家庭成員的財務收支狀況,幫助用戶更好地查看和支配自己的財務。財務提醒功能:通過用戶設定支出預算,及時提醒用戶關鍵的使用情況,避免漏單或超支。
系統實現:后端實現:基于Spring Boot框架的后端服務,實現用戶賬戶管理、記賬、數據分析等功能。前端實現:利用Android平臺和Vue構建前端,實現用戶友好的操作體驗。
? ? 系統測試:功能測試:驗證系統各項功能是否正常運行,包括用戶注冊登錄、賬戶、數據分析等。性能測試:檢查高并發、大數據量等情況下的系統性能。保證系統的效率和穩定性。安全性測試:確保用戶信息的安全,防范潛在的安全威脅,保障用戶隱私。
總結研究過程中的主要發現和創新點,對系統的優化和改進提出展望,為未來類似研究提供借鑒和參考[7]。深入地設計與實現一款Android平臺下的家庭理財APP,為通過以上研究內容,本研究旨在全面、家庭提供智能、便捷的財務管理工具。
1.4 論文組織架構?
文章共分七章,專門講述了系統的開發設計過程,為讀者提供了從選題到理論分析、開發環境、軟件代碼等完整的信息。
? ? 第1章,緒論:深入探討本系統研究的背景、重要性以及國內外研究的最新發展動態。
第2章,相關理論和技術:介紹與本系統相關的理論和技術問題。
第3章,系統分析:經濟、技術和操作合理性的三個方面的分析。
第4章,系統設計:介紹功能模塊設計和數據庫設計。
第5章,系統實現:屏幕截圖用于顯示和描述系統的主要功能。
第6章,系統測試:對該系統測試的方式和結果進行介紹。
最后總結在系統開發過程中遇到的困難和感想。
?
第2章 相關技術簡介
2.1 Android簡介
Android的開放性使得開發者可以自由地創建并發布應用程序,因此它成為全球最受歡迎的移動操作系統之一[8]。普遍的設備支持: Android不僅僅用于智能手機,還應用在計算機、電視機、和各種設備上。這驅動Android成為一個多樣化和廣泛應用的生態系統。定制性: 制造商可以根據自己的需求定制Android系統,使其適應不同設備的硬件規格和用戶體驗[9]。靈活性和可定制性:Android供給了多樣的API和開發工具,使開發者能夠創造出各種功能齊全、個性化的應用。
2.2 Java介紹?? ?
Java的一個顯著特征就是跨平臺,只要寫一遍,就可以在多個平臺上自由地執行。此?
外,Java還提供了大量的類庫與開發工具,使得開發人員能夠在較短的時間內完成各種復雜的應用。Java的類庫包含了各種各樣的API,涉及到網絡編程,圖形用戶接口,數據庫連接等;比如安全,開發者可以不需要重新編碼就可以直接使用它們。Java安全機制也很強,它的安全模塊主要有類加載機制、字節碼校驗和安全管理機制等,能夠有效地阻止惡意程序的運行,保障了整個系統的安全。Java是企業中最受歡迎的一種編程語言,它非常適合金融,醫療,電商等對安全有很高需求的行業。在手機網絡蓬勃發展的今天,Java在安卓系統中得到了越來越多的應用。安卓系統是建立在Java語言和API基礎上的,它允許開發者迅速地創建一個特性很強的手機程序,并能夠在諸如谷歌Play這樣的媒體上發行。?
2.3 Spring Boot介紹
? ? ?Spring Boot是由Pivotal團隊提供的基于Spring框架的開源項目,用于簡化和加速基于Java的應用程序的開發和部署。下面是SpringBoot的幾個關鍵特性與優點:簡單的設置、內置的容器、自動化依賴管理、監控和度量、無代碼生成、Spring生態系統、外部化配置、快速開發和集成測試。簡化配置:Spring Boot通過自動化配置和默認值,減少了開發者在項目配置上的工作量,提高了開發效率。依賴管理:Spring Boot通過使用Starter POMs(項目對象模型)簡化了對于依賴庫的管理,開發者只需選擇適合自己需求的Starter POM即可[10]。
?
2.4 Vue.js介紹
Vue.js專注于通過簡單的API實現響應式數據綁定和組合的視圖組件。響應式數據綁定:Vue采取的是響應式數據綁定的概念,當數據變化時,視圖會自動刷新,簡化了開發中的DOM操作。組件化開發:Vue支持將頁面劃分為多個組件,每個組件都有自己的狀態和視圖[11]。組件可以靈活地組合和嵌套,提高代碼的可維護性和復用性。漸進式:Vue被設計成漸進式的框架,可以逐步引入,也可以與其他庫和項目一起使用。
2.5 MySQL數據庫介紹
? ? MySQL是一種開源的關系型數據庫管理系統(RDBMS),由瑞典公司MySQL AB開發,并且現在由Oracle公司進行維護和支持[12]。 ?MySQL數據庫的主要特點體現在其通用性、高性能、高質量、可伸縮性、多存儲引擎支持、安全性、高可用性以及良好的兼容性。這種跨平臺的特性使其能在Windows、Linux和Mac等多種操作系統上運行,為用戶提供了極大的靈活性和選擇空間。 MySQL作為一個廣泛應用于Web系統的數據庫,其特點鮮明:存儲容量大,且擁有多種存儲引擎,每種引擎都有其獨特優勢,用戶可以根據具體需求選擇最合適的引擎,從而顯著提升系統性能。跨平臺性良好,能在多個操作系統上穩定運行,確保了系統的兼容性和穩定性。執行速度快,能夠迅速響應并處理大量數據查詢請求,同時與處理器協同工作,確保高效的數據處理能力。安全性高,通過加密代碼在傳輸過程中的數據,有效提升了數據傳輸的安全性。
第3章 系統分析
3.1 可行性分析 ?
基于Android的家庭理財APP的系統在設計與實現之前,必須要進行可行性分析。可行性分析是指評估項目在技術、經濟、法律和操作等方面的可行性,來判斷項目是否能繼續成功的進行。以下是可行性分析的關鍵方面:
3.1.1 技術可行性
技術可行性評估項目所需技術和工具的可用性和適用性。對于基于Android的家庭理財APP系統,在設計之前必須對其進行足夠的測試與優化,來保證系統能夠在不同設備上穩定運行并提供良好的用戶體驗。考慮以下因素:
? ? 技術棧選擇:Spring Boot框架作為后端技術,Vue作為前端技術,Java語言作為開發語言,MySQL作為數據庫,Navicat作為數據庫工具。
? ? 開發團隊技能: 評估開發團隊的技能水平,確保團隊能夠熟練使用選擇的技術棧。
? ? 第三方集成:考慮是否有必要集成其他第三方服務或工具,以滿足系統功能需求。
3.1.2 經濟可行性
?經濟可行性強調系統開發過程需嚴格控制在預算范圍內,確保各項費用均有詳盡、明確的文檔記錄。所開發系統應具備廣闊的市場前景和顯著優勢,以實現經濟效益最大化。
在這一階段,需要考慮以下方面:項目成本預測、項目收益預測和投資回報率分析,基于Android的家庭理財APP的設計與實現具有較高的經濟可行性。
3.1.3 法律可行性
法律可行性確保項目的實施不會違反任何法規或法律。關注的方面包括:
知識產權:確保項目中使用的所有技術和工具都是合法的,并沒有侵犯任何知識產權。
合規性:確保項目遵循相關的數據保護、隱私和其他法規,特別是在房地產銷售領域。
3.1.4 運營可行性
運營可行性考慮項目在實際運營中的可行性和可持續性。關鍵考慮因素包括:
系統維護:評估系統的維護需求,確保團隊能夠及時供給支持和維護。
培訓需求:估算培訓團隊和最終用戶所需的培訓成本,以此來得到經濟上的最大發揮使得系統盡善盡美。
系統性能:進行性能測試,確保系統在不同負載下能夠穩定運行。
對這些方面的綜合分析,可以全面評估基于Android的家庭理財APP的系統的可行性,為項目的順利實施提供基礎。
3.2 需求分析
用戶:
(1)登錄注冊:在系統界面注冊賬戶才可登錄到系統內部;
(2)家庭成員:進入系統后可添加家庭成員;
(3)理財項目:可在界面內輸入、查看理財項目;
(4)理財信息:可在項目內查看理財信息;
(5)銀行信息:可在系統內輸入、查看銀行信息;
(6)收入信息:可在系統內輸入收入項目,查看收入信息;
(7)支出信息:可在系統內輸入支出項目,查看支出信息;
(8)借出信息:可輸入、查看借出信息;
(9)投資收益:查看投資收益;
(10)統計報表:理財一段時間后可統計報表進行核對;
(11)理財資訊:在系統內查看理財資訊;
(12)公告信息:在系統內查看理財公告信息;
管理員:
(1)家庭成員管理:可以查看、審核家庭成員信息;
(2)理財項目管理:可以對理財項目進行添加修改刪除;
(3)理財信息管理:對理財信息的修改及更新內容;
(4)銀行信息管理:對銀行進行添加、修改、刪除、查看等功能;
(5)統計報表管理:對用戶理財信息進行實時統計數據;
(6)理財資訊管理:管理員可以在此發布修改刪除理財信息咨詢;
(7)公告信息管理:管理員可以在此發布修改刪除公告信息;
3.2.1 功能需求分析
?
圖3.1 ?用戶用例圖 ?
?
圖3.2 管理員用例圖 ?
3.2.2非功能性需求分析
除了功能性需求外,鑒于此系統需要存儲豐富的數據信息和用戶個人數據,設計了非常嚴密保護的系統。進而確保數據的安全與隱私。以免造成數據信息的更改、添加或刪除,進而造成系統的崩潰,從而大大提高了系統的安全性,保證系統的正常運行。 這些非功能性需求關注系統的性能、安全性、可維護性等方面。性能需求:響應時間:系統應保持快速響應,特別是在用戶賬單錄入和數據分析等頻繁操作時。安全性需求:用戶認證與授權:用戶登錄應有關于身份的安全驗證,確保登錄的是合法用戶。可維護性需求:模塊化設計:系統的設計應該采用模塊化結構,便于維護和擴展。良好的文檔:提供詳細的開發文檔和用戶手冊,以幫助開發人員和用戶更好地理解系統。可用性需求:操作流暢性:用戶在進行賬單錄入、數據查詢等操作時,系統應保持操作的流暢性,避免卡頓和延遲。
3.3 業務流程分析
用戶需要在手機端下載并安裝家庭理財APP,并注冊一個新的賬號。登錄家庭理財APP后,系統會要求用戶輸入家庭成員的信息,包括姓名、年齡、職業等。用戶可以添加多個家庭成員的信息,并為每個成員設置不同的權限,以便進行家庭理財的操辦。進入家庭理財的主界面會顯示家庭的總資產、總負債、等信息。用戶可以通過該界面查看家庭的財務狀況,快速了解家庭的資金情況。
在家庭理財APP中,用戶可以填寫家庭的每日的經濟狀況。可以選擇消費或收入的項目或類型然后輸入金額。后臺會記錄和分類用戶的收入和支出,以便用戶進行日常的財務分析和預算。此外,家庭理財APP還提供了一些其他的功能模塊,用戶可以根據自己的需求,設置家庭的預算,并通過賬單管理模塊查看家庭的賬單明細。
?
圖3.3 業務流程圖