劉芳華 余麗萍
摘 要:為便于用戶日常理財(cái),本文基于Android設(shè)計(jì)并實(shí)現(xiàn)了一套記賬助手APP系統(tǒng)。該系統(tǒng)運(yùn)用SpringBoot+Mybatis框架進(jìn)行設(shè)計(jì),通過Controller控制MySQL數(shù)據(jù)庫,從而實(shí)現(xiàn)數(shù)據(jù)庫和服務(wù)器之間的數(shù)據(jù)交流,以達(dá)到用戶記錄、查詢和統(tǒng)計(jì)用戶收支情況的記賬理財(cái)管理功能。經(jīng)過大量測(cè)試,該系統(tǒng)運(yùn)行良好,具有操作靈活、便于交互、實(shí)用性強(qiáng)等特點(diǎn),能夠?yàn)橛脩籼峁┯涗浻脩羰罩闆r、查詢收支信息等功能。
關(guān)鍵詞:記賬助手;Android系統(tǒng);APP
中圖分類號(hào):TP311.56 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-5168(2019)26-0021-03
Design and Implementation of Accounting Assistant APP Based on Android
LIU Fanghua YU Liping
(Zhengzhou University of Light Industry,Zhengzhou Henan 450000)
Abstract: in order to facilitate users' daily financial management, this paper designed and implemented a set of accounting assistant APP system based on Android. The system uses spring boot + mybatis framework to design, through the controller to control MySQL database, thereby realizing the data exchange between database and server, so as to achieve the function of user record, query and statistics of user revenue and expenditure. After a large number of tests, the system runs well, has the characteristics of flexible operation, easy interaction and strong practicability, and can provide users with the functions of recording user's income and expenditure, querying income and expenditure information.
Keywords: accounting assistant;Android system;APP
隨著生活水平的逐漸提高,人們的經(jīng)濟(jì)活動(dòng)變得多元化。支付寶、微信等新的收支類型不斷地出現(xiàn),人們的收入和支出方式也從以前的單一模式轉(zhuǎn)化為現(xiàn)在的多元模式,使得人們對(duì)日常收支的記賬也開始變得復(fù)雜起來。每個(gè)家庭來自各個(gè)方面的收入不斷增加,人們逐漸開始追求更高層次的消費(fèi)。高層次理智的消費(fèi)依賴于合理理財(cái),而支付方式的多樣性方便了人們消費(fèi)的同時(shí)也增加了管理資產(chǎn)的難度[1]。人們的理財(cái)意識(shí)比以前更強(qiáng),為了方便人們隨時(shí)記錄各種收支信息,了解自己的資金情況,筆者認(rèn)為,設(shè)計(jì)一款能幫助用戶實(shí)現(xiàn)自主規(guī)劃個(gè)人財(cái)務(wù)的記賬軟件是很有必要的。由于手機(jī)的便捷性,研究一款基于Android的記賬APP對(duì)于人們?nèi)粘I畹睦碡?cái)來說是非常方便的,它可以幫助人們合理規(guī)劃自己的錢財(cái),提升生活質(zhì)量。
1 系統(tǒng)功能需求分析
通過對(duì)人們記賬情況的調(diào)查研究,筆者發(fā)現(xiàn),在日常生活中,人們需要頻繁地記錄個(gè)人或家庭收支情況,查詢收支情況,對(duì)收支情況進(jìn)行簡(jiǎn)單統(tǒng)計(jì)。結(jié)合人們?nèi)粘I钪杏涃~的實(shí)際需求,本文設(shè)計(jì)的記賬助手軟件主要包括用戶登錄功能、用戶類別管理功能、收支數(shù)據(jù)記錄功能、收支數(shù)據(jù)查詢功能、收支數(shù)據(jù)統(tǒng)計(jì)功能和用戶管理功能等模塊。該系統(tǒng)的主要功能模塊如圖1所示。
1.1 用戶登錄功能模塊
在注冊(cè)時(shí),用戶需要用自己的郵箱號(hào)或手機(jī)號(hào)來注冊(cè)自己的賬戶,注冊(cè)完畢后,用戶只需要輸入自己的用戶名和密碼,就可以登入自己的記賬系統(tǒng)。
1.2 收支類別功能模塊
用戶可以根據(jù)自己的實(shí)際情況,看自己日常生活中的收入和支出主要屬于哪種類別,可以進(jìn)行添加類別操作,從而更好地進(jìn)行理財(cái)。
1.3 收支數(shù)據(jù)記錄功能模塊
用戶登錄自己的記賬系統(tǒng)后,可以在記賬頁面選擇自己所要記的收入或支出類型,選定自己的記賬日期等信息,然后按照收支所屬類別進(jìn)行記賬。
1.4 收支數(shù)據(jù)查詢功能模塊
用戶記賬后,記賬系統(tǒng)會(huì)自動(dòng)生成用戶目前的記賬信息,用戶可以去查詢自己的所有收入或支出明細(xì),可以隨時(shí)了解自己收支數(shù)據(jù)的狀態(tài)。
1.5 收支數(shù)據(jù)統(tǒng)計(jì)功能模塊
用戶將自己的收入和支出記錄到該系統(tǒng)后,系統(tǒng)會(huì)自動(dòng)對(duì)所記載的收支信息進(jìn)行統(tǒng)計(jì),并用圖表的形式展現(xiàn)出來,讓用戶清晰地看出自己當(dāng)前的收支統(tǒng)計(jì)數(shù)據(jù)情況,幫助用戶更好地進(jìn)行理財(cái)。
1.6 用戶管理功能模塊
用戶如果想修改個(gè)人信息,可進(jìn)入個(gè)人信息界面進(jìn)行修改。如果想改自己的密碼,用戶可以通過設(shè)置功能中的重置密碼功能重新設(shè)置。重置密碼后,用戶根據(jù)新的密碼就可重新進(jìn)入記賬系統(tǒng)。
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)框架設(shè)計(jì)
本系統(tǒng)主要運(yùn)用SpringBoot+Mybatis框架進(jìn)行設(shè)計(jì)[2]。SpringBoot是一個(gè)為了解決企業(yè)級(jí)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的開源框架,可以降低Java開發(fā)的復(fù)雜性,通過使用SpringBoot框架,程序中復(fù)雜的配置項(xiàng)得以減少,開發(fā)效率也有了很大的提高。MyBatis是一個(gè)支持?jǐn)?shù)據(jù)庫自定義、存儲(chǔ)過程和高級(jí)映射的Java持久性框架[3],如果單獨(dú)使用會(huì)有很多限制。Mybatis的功能架構(gòu)主要由三層來構(gòu)成,它們分別為接口層、數(shù)據(jù)層和支撐層。
2.1.1 接口層。這些接口主要是為外部提供的,被稱為API接口。而開發(fā)者要想操作數(shù)據(jù)庫,就必須通過這些接口來實(shí)現(xiàn)[4]。當(dāng)收到開發(fā)者想要調(diào)用的請(qǐng)求時(shí),接口層就會(huì)根據(jù)請(qǐng)求調(diào)用所需要的數(shù)據(jù)進(jìn)行相應(yīng)的數(shù)據(jù)處理。
2.1.2 數(shù)據(jù)處理層。處理層主要的任務(wù)就是根據(jù)接口層收到的調(diào)用請(qǐng)求進(jìn)行處理,完成一次完整的數(shù)據(jù)操作流程。
2.1.3 基礎(chǔ)支撐層。它主要提供基礎(chǔ)的功能,去支撐上面的數(shù)據(jù)處理層,包括連接管理、事務(wù)管理、配置加載和緩存處理。這些基礎(chǔ)組件會(huì)特意放在一起,為上面數(shù)據(jù)處理提供基礎(chǔ)性支持。
為了克服MyBatis存在的不足,本系統(tǒng)將MyBatis與SpringBoot結(jié)合起來使用,使得SQL和程序代碼之間的相互聯(lián)系變少,也讓它們之間盡可能不再相互影響。在開發(fā)記賬助手時(shí),分開業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯,使得系統(tǒng)設(shè)計(jì)變得更加清晰,同時(shí)便于管理和維護(hù)。
2.2 數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)采用的數(shù)據(jù)庫是MySQL關(guān)系型數(shù)據(jù)庫。結(jié)合本系統(tǒng)功能需求分析和數(shù)據(jù)完整性要求,本文提出的記賬助手軟件在數(shù)據(jù)庫中主要?jiǎng)?chuàng)建了五張基本數(shù)據(jù)庫表,用于支持該軟件中各個(gè)功能數(shù)據(jù)的存儲(chǔ)。用戶表用來存儲(chǔ)用戶信息,收支人員表用于存儲(chǔ)家庭收支人員基本信息,收支類別表用于存儲(chǔ)收支隸屬類別基本信息,收入記賬表用于存儲(chǔ)收入類別、收入金額、收入時(shí)間和收入人員等信息,支出記賬表用于存儲(chǔ)支出類別、支出金額、支出時(shí)間和支出人員的信息。主要數(shù)據(jù)庫表之間的關(guān)系為:用戶表與收支人員表為一對(duì)多的關(guān)系,用戶表與收支類別表為一對(duì)多的關(guān)系,收支類別與收入記賬表是多對(duì)多的關(guān)系。類似地,收支類別與支出記賬表是多對(duì)多的關(guān)系。
2.3 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)
2.3.1 用戶登錄模塊設(shè)計(jì)與實(shí)現(xiàn)。用戶第一次登錄這個(gè)系統(tǒng)時(shí),應(yīng)該先進(jìn)行注冊(cè)。注冊(cè)的信息包括郵箱號(hào)、用戶名和密碼等信息。注冊(cè)成功后,用戶只需要輸入當(dāng)時(shí)注冊(cè)的用戶名和密碼,就可以登錄到記賬助手系統(tǒng)界面。一旦輸入錯(cuò)誤的用戶名或者密碼,系統(tǒng)登錄頁面會(huì)彈出錯(cuò)誤信息,提示重新輸入。登錄后,用戶在個(gè)人信息界面可以修改個(gè)人信息或添加家庭人員信息。
2.3.2 收支類別模塊設(shè)計(jì)與實(shí)現(xiàn)。用戶根據(jù)自己的實(shí)際情況可添加所需要的收支類別。添加好收支類別后,系統(tǒng)會(huì)對(duì)用戶所添加的收支類別進(jìn)行判斷,分析其是否為新增類別,如果數(shù)據(jù)庫中無對(duì)應(yīng)類別,系統(tǒng)會(huì)將該類別新增至收支類別表中。如果收支類別表中收支類別無相關(guān)聯(lián)收支明細(xì),用戶還可以根據(jù)實(shí)際需要進(jìn)行修改或刪除收支類別。
2.3.3 收支數(shù)據(jù)記錄模塊設(shè)計(jì)與實(shí)現(xiàn)。收支數(shù)據(jù)記錄模塊又包括收入支出添加功能模塊、收入支出刪除功能模塊和收入支出編輯功能模塊三個(gè)子功能模塊。
一是收入支出添加功能模塊,可以添加收入和支出明細(xì),添加收支信息時(shí),需要選擇對(duì)應(yīng)的收支類別、收支金額、收支日期和收支人員等信息。如果收支人員信息為空,系統(tǒng)會(huì)默認(rèn)為該收支記錄隸屬用戶名下,這種情況屬于個(gè)人收支記賬管理。二是收入支出刪除功能模塊,用于刪除用戶記錯(cuò)的收支信息。三是收入支出編輯功能模塊,用于用戶對(duì)指定收支信息進(jìn)行錯(cuò)誤修改,對(duì)收支信息添加備注,方便用戶查找特殊的收支信息。
進(jìn)入記賬系統(tǒng)后,用戶想要記賬時(shí)可以點(diǎn)擊添加記賬信息功能按鈕,不管收入還是支出,在記賬時(shí)都需要選擇類別,之后,用戶還需要輸入本次記賬的收支金額,確認(rèn)無誤后,點(diǎn)擊確定。用戶還可對(duì)收支進(jìn)行刪除和編輯功能。對(duì)于特殊的收支,可以通過編輯功能添加備注信息,對(duì)收支信息添加備注,會(huì)讓用戶更加清楚了解自己的收支具體情況。
2.3.4 收支數(shù)據(jù)查詢模塊設(shè)計(jì)與實(shí)現(xiàn)。明細(xì)查詢功能模塊主要就是對(duì)用戶的歷史記賬記錄進(jìn)行查詢,用戶在主頁面上登陸后,選擇指定起止時(shí)間,則可查詢用戶指定時(shí)間的記賬記錄明細(xì)情況,方便用戶對(duì)自己以往的記賬記錄進(jìn)行回顧,了解之前的記賬情況,查看自己特定期日的記賬信息。
2.3.5 收支數(shù)據(jù)統(tǒng)計(jì)模塊設(shè)計(jì)與實(shí)現(xiàn)。收支數(shù)據(jù)統(tǒng)計(jì)頁面顯示的統(tǒng)計(jì)結(jié)果是由第三方控件實(shí)現(xiàn)的,通過從MySQL獲取的數(shù)據(jù)顯示各類別的收支分別占總收支的百分比、收入的總金額和支出的總金額等信息;用戶可以通過界面上的側(cè)滑菜單進(jìn)行收支統(tǒng)計(jì)圖表切換,通過收支數(shù)據(jù)統(tǒng)計(jì)模塊,用戶可以直觀地看到統(tǒng)計(jì)出來的收支總數(shù)據(jù)以及各個(gè)類別數(shù)據(jù)所占的比例大小,直觀地分析出自己的收支情況,從而更加合理地分配自己的錢財(cái)。
2.3.6 用戶管理模塊設(shè)計(jì)與實(shí)現(xiàn)。用戶登錄記賬系統(tǒng)后,如果想對(duì)密碼進(jìn)行修改,可以在模塊密碼管理中進(jìn)行密碼更改。為了保證密碼的準(zhǔn)確性,用戶需要輸入新密碼兩次,點(diǎn)擊確認(rèn)后,即可更改密碼。
3 結(jié)論
本文提出的記賬助手APP是一款便攜式的Android記賬助手軟件,可用于個(gè)人或家庭記賬,其功能很貼近大眾的需求,在手機(jī)上只需進(jìn)行簡(jiǎn)練操作就可以添加收支記錄,用戶可以隨時(shí)隨地地記錄和查看自己的財(cái)務(wù)收支數(shù)據(jù)。通過記錄每日的收支信息,用戶可以清晰地掌控自己的資金剩余情況以及消費(fèi)記錄,達(dá)到合理理財(cái)?shù)哪康?,合理?guī)劃自己的財(cái)務(wù)收支,提升生活質(zhì)量。
參考文獻(xiàn):
[1]陳童,周春樵.一種基于Android的學(xué)生用資產(chǎn)管理系統(tǒng)設(shè)計(jì)[J].物流工程與管理,2017(1):131-133.
[2]宋穎玲.基于Android平臺(tái)的記賬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.
[3]李沛.基于SpringBoot的職來職往小程序開發(fā)[J].中國科技信息,2018(22):74-75.
[4]盛實(shí)旺.個(gè)性化的智能飲食推薦系統(tǒng)開發(fā)[D].杭州:浙江理工大學(xué),2016.