版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本 科 生 畢 業(yè) 論 文</p><p> 題 目:個(gè)人收支管理信息系統(tǒng) </p><p> 院 系:軟件學(xué)院 </p><p> 專 業(yè):軟件工程(電子政務(wù)) </p><p> 學(xué)生姓名:趙琳琳 </p>&
2、lt;p> 學(xué) 號(hào):11331410 </p><p> 指導(dǎo)教師:路永和(副教授) </p><p><b> 二〇一五年 四月</b></p><p><b> 摘要</b></p><p> 當(dāng)今社會(huì),隨著經(jīng)濟(jì)的迅速發(fā)展,家庭的收入
3、也隨之增多,對(duì)于每個(gè)家庭來說,已不再是簡(jiǎn)單的收入與消費(fèi)了?,F(xiàn)如今,投資理財(cái)、精神娛樂的項(xiàng)目日漸增多,非常需要一個(gè)記賬本對(duì)所有的賬目進(jìn)行記錄整理,相比于傳統(tǒng)的紙質(zhì)記賬本謄抄不便,統(tǒng)計(jì)整理耗時(shí)易出錯(cuò),電子記賬本更能適應(yīng)高效快速的當(dāng)代社會(huì)。本系統(tǒng)基于Windows系統(tǒng)PC端進(jìn)行操作,用戶能夠使用本系統(tǒng)進(jìn)行用戶注冊(cè)、登錄與注銷,對(duì)收支條目進(jìn)行增加、修改、刪除與查詢等,方便快捷地對(duì)用戶的賬目進(jìn)行整理統(tǒng)計(jì)與評(píng)估,給予用戶收支意見,來幫助用戶更好地把
4、握自身經(jīng)濟(jì)狀況,合理規(guī)劃消費(fèi),提高自身投資能力。</p><p> 本系統(tǒng)基于MVC三層架構(gòu)進(jìn)行設(shè)計(jì),使用C++語言進(jìn)行程序編寫,綜合Visual Stdio2010、Qt5進(jìn)行系統(tǒng)開發(fā),同時(shí)基于SQLite數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行開發(fā),由于Qt具有支持多平臺(tái)與多種數(shù)據(jù)庫(kù)的連接驅(qū)動(dòng),SQLite屬于輕量級(jí)數(shù)據(jù)庫(kù),同時(shí)支持SQL語言,因此該系統(tǒng)美觀簡(jiǎn)介,操作簡(jiǎn)單,消耗內(nèi)存少,存儲(chǔ)與查找更為快速,系統(tǒng)操作全程為單機(jī)狀態(tài),賬戶
5、安全可靠。</p><p> 關(guān)鍵詞:個(gè)人收支管理,投資理財(cái),記賬,Visual Stdio,C++,Qt</p><p><b> ABSTRACT</b></p><p> Nowadays, with the rapid development of the economy, household income increase as
6、 well, for each family, it is no longer simple incomes and spending. Now, investment and spiritual entertainment programs increase, there will be a great need for an account of all of the incomes and outcomes. Compared t
7、o the traditional paper-based billing copy of the transcript of the inconvenience, time-consuming and error-prone compiles electronic record books can adapt to the rapid and efficient contemporary so</p><p>
8、 The system is based on three-tier MVC design, the use of C ++ programming language, integrated Visual Stdio2010, Qt5 systems development, based on both SQLite database system development, due to support multi-platform
9、Qt has a connection with a variety of database-driven, SQLite belongs lightweight database, which support SQL language, so the system beautiful profile, and easy to operate, consume less memory, storage and find more qui
10、ckly, the whole system is operating as a no-web status, it can</p><p> Keywords: personal income and expenditure management, investment, accounting, Visual Stdio, C ++, Qt</p><p><b> 目
11、 錄</b></p><p><b> 摘要2</b></p><p> ABSTRACT3</p><p><b> 第一章 前言6</b></p><p> 1.1 項(xiàng)目研發(fā)背景與意義6</p><p> 1.2 研究開發(fā)現(xiàn)狀分析6<
12、/p><p> 1.3 項(xiàng)目目標(biāo)和范圍7</p><p> 1.4 論文結(jié)構(gòu)簡(jiǎn)介7</p><p> 第二章 技術(shù)與原理9</p><p> 2.1 C++語言9</p><p> 2.2 SQL語言與SQlite數(shù)據(jù)庫(kù)9</p><p> 2.3 Qt圖形用戶界面10<
13、;/p><p> 2.4 UML建模11</p><p> 第三章 需求建模12</p><p> 3.1 系統(tǒng)功能概述12</p><p> 3.2 系統(tǒng)用例分析12</p><p> 3.2.1 系統(tǒng)總用例圖12</p><p> 3.2.2 系統(tǒng)總用例表12</p
14、><p> 3.3用例文本解析13</p><p> 3.3.1添加賬目14</p><p> 3.3.2查詢某日賬目16</p><p> 3.3.3修改賬目17</p><p> 3.4 領(lǐng)域模型19</p><p> 3.4.1領(lǐng)域模型圖19</p>&l
15、t;p> 3.4.2領(lǐng)域模型分析20</p><p> 第四章 架構(gòu)設(shè)計(jì)21</p><p> 4.1 系統(tǒng)架構(gòu)與原理21</p><p> 4.2 業(yè)務(wù)用例的實(shí)現(xiàn)22</p><p> 4.2.1 用戶登錄22</p><p> 4.2.2 添加賬目23</p><p
16、> 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)23</p><p> 4.3.1 E-R圖23</p><p> 4.3.2 SQlite數(shù)據(jù)庫(kù)24</p><p> 第五章 模塊設(shè)計(jì)26</p><p> 5.1 添加賬目26</p><p> 5.1.1 模塊流程概述26</p><p&g
17、t; 5.1.2 模塊算法解析26</p><p> 5.1.3 模塊核心代碼27</p><p> 5.2 收支建議29</p><p> 5.2.1 模塊流程概述29</p><p> 5.2.2 模塊算法解析29</p><p> 5.2.3 模塊核心代碼30</p><
18、;p> 第六章 部署與應(yīng)用35</p><p> 6.1 系統(tǒng)運(yùn)行環(huán)境32</p><p> 6.2 系統(tǒng)部署32</p><p> 6.2.1 UML部署圖32</p><p> 6.2.2安裝包制作32</p><p> 6.3 系統(tǒng)測(cè)試與功能截圖33</p><p
19、><b> 第七章 結(jié)論48</b></p><p><b> 致 謝49</b></p><p><b> 參考文獻(xiàn)50</b></p><p><b> 附錄51</b></p><p><b> 前言</b&
20、gt;</p><p><b> 項(xiàng)目研發(fā)背景與意義</b></p><p> 21世紀(jì)是社會(huì)經(jīng)濟(jì)與科技迅速發(fā)展的時(shí)代,隨著經(jīng)濟(jì)的迅速發(fā)展,個(gè)人的收入日漸增多,投資因此理財(cái)意識(shí)也越來越強(qiáng),合理的管理投資理財(cái)已經(jīng)成為了個(gè)人生活中不可或缺的部分。合理管理收支,平衡投資消費(fèi)最基本的就是對(duì)賬目進(jìn)行記錄,然后再對(duì)收支記錄進(jìn)行分析,得到自身收支現(xiàn)狀與消費(fèi)習(xí)慣的不足,才能對(duì)未來
21、進(jìn)行合理的規(guī)劃。然而使用傳統(tǒng)的紙質(zhì)記賬本,雖然物理成本低,但由于需要手工謄抄、計(jì)算,使用者的人工成本較高,并且不易保存和復(fù)制,一旦數(shù)據(jù)量較大時(shí),占用空間大,查找和修改都極其困難,非常耗費(fèi)時(shí)間與精力。因此傳統(tǒng)的紙質(zhì)版記賬本早已無法滿足當(dāng)代人對(duì)于高效,環(huán)保和便捷的需求,毫無疑問,電子版的記賬系統(tǒng)更能適應(yīng)當(dāng)代快速高效的信息社會(huì),隨著計(jì)算機(jī)與軟件技術(shù)深入各行各業(yè),使得非專業(yè)人士使用的電子賬本實(shí)現(xiàn)起來已不再是難事,基于以上原因,本次畢業(yè)設(shè)計(jì)選擇實(shí)
22、現(xiàn)一個(gè)PC端的個(gè)人收支管理信息系統(tǒng),利用計(jì)算機(jī)技術(shù),綜合數(shù)據(jù)庫(kù)存儲(chǔ),能夠方便快捷的存儲(chǔ)大量收支信息,增加、修改、刪除和查看更為方便,并且保密性好,人性化收支建議,使得用戶能花費(fèi)更少的時(shí)間了解自己的經(jīng)濟(jì)狀況,減少自身評(píng)估的時(shí)間。</p><p> 同時(shí)作為一款PC端軟件,能夠適應(yīng)更多年齡段的用戶,安裝簡(jiǎn)單,界面簡(jiǎn)潔清晰,使用方便,能夠幫助使用者更快的掌握個(gè)人收支情況,分析過去消費(fèi)、收入與投資的綜合狀況,做出對(duì)未來
23、有更合理的規(guī)劃,改變自身存在不良的消費(fèi)習(xí)慣,提高用戶的自身消費(fèi)與投資水平。</p><p> 1.2 研究開發(fā)現(xiàn)狀分析</p><p> 記賬軟件可以屬于開發(fā)較早的軟件種類之一,起始于二十實(shí)際八十年代初期,剛開始主要是針對(duì)專業(yè)的會(huì)計(jì)從業(yè)人員使用的大型記賬系統(tǒng),這類專業(yè)會(huì)計(jì)記賬現(xiàn)已發(fā)展得較為成熟,與市場(chǎng)結(jié)合的較好,如商用的金蝶,管家婆和用友等。隨著計(jì)算機(jī)技術(shù)的發(fā)展,與計(jì)算機(jī)用戶的普及,
24、更多針對(duì)業(yè)余用戶的個(gè)人與家庭記賬軟件開始如雨后春筍般出現(xiàn),如Personal Finances,隨手記等,功能簡(jiǎn)便,使用簡(jiǎn)單,消耗內(nèi)存小,為普通用戶帶來了更多的便捷。在智能手機(jī)迅速發(fā)展的今天,記賬軟件早已不再局限于PC端與Web端,手機(jī)App也成為了一個(gè)重要的開發(fā)端口,眾多發(fā)展成熟的記賬軟件都已推出手機(jī)版,如金蝶普通版,更能夠方便用戶隨時(shí)使用。[1]</p><p> 本次的個(gè)人收支管理信息系統(tǒng)主要是面對(duì)非專業(yè)
25、的個(gè)人用戶,基于PC端,安裝與使用簡(jiǎn)單方便,各項(xiàng)功能一目了然,無需過多學(xué)習(xí)與培訓(xùn),同時(shí)基于使用廣泛的Windows系統(tǒng),方便各類人群使用;系統(tǒng)為單機(jī)使用,安全可靠,并且需要成功登陸后才能進(jìn)行功能操作,保密性好。</p><p> 本系統(tǒng)開發(fā)采用經(jīng)典語言C++進(jìn)行編寫,使用Qt搭建界面,其帶有的信號(hào)與槽機(jī)制讓界面搭建更為高效方便,同時(shí)界面能夠更加美觀,數(shù)據(jù)庫(kù)采用輕量級(jí)數(shù)據(jù)庫(kù)系統(tǒng)SQLite,該數(shù)據(jù)庫(kù)系統(tǒng)便于連接且
26、支持SQL語言,并且響應(yīng)速度快,能夠讓編寫更為順利。</p><p> 1.3 項(xiàng)目的目標(biāo)和范圍</p><p> 本系統(tǒng)目標(biāo)是為了便于用戶能夠更方便快捷的管理自身經(jīng)濟(jì)狀況,不再拘于紙質(zhì)記賬薄,查找、添加與儲(chǔ)存也更為方便,并且不含有惡意代碼,更人性化的幫助使用者管理自身收支情況,準(zhǔn)確清晰的評(píng)估自身的投資與消費(fèi)的平衡程度,而開發(fā)的一款桌面PC端應(yīng)用程序。</p><
27、p> 本系統(tǒng)要解決的關(guān)鍵問題是用戶的注冊(cè)登錄,用戶登錄后可以進(jìn)行賬目的增加、刪除、查詢、修改以及打印,同時(shí)系統(tǒng)能根據(jù)個(gè)人紀(jì)錄進(jìn)行統(tǒng)計(jì)評(píng)估,因?yàn)橄到y(tǒng)的范圍即為實(shí)現(xiàn)以上的功能,因此在技術(shù)上,開發(fā)系統(tǒng)基于Win8,使用Visual Studio 2010與Qt5,連接輕量級(jí)數(shù)據(jù)庫(kù)SQLite,在三層體系架構(gòu)的基礎(chǔ)上進(jìn)行開發(fā),為用戶帶來更快捷輕便,界面簡(jiǎn)潔,操作簡(jiǎn)單的使用體驗(yàn)。</p><p> 1.4 論文的
28、結(jié)構(gòu)簡(jiǎn)介</p><p> 本論文共為七章,分別是:</p><p> 第一章:前言。介紹項(xiàng)目背景及研發(fā)意義,同時(shí)分析開發(fā)現(xiàn)狀,明確項(xiàng)目目標(biāo)與范圍以及論文總體結(jié)構(gòu),從整體上對(duì)項(xiàng)目進(jìn)行概述。</p><p> 第二章:技術(shù)與原理。介紹在系統(tǒng)設(shè)計(jì)與開發(fā)過程中,所應(yīng)用的相關(guān)技術(shù),會(huì)簡(jiǎn)要介紹C++語言、Qt、SQLite數(shù)據(jù)庫(kù)系統(tǒng)、SQL語言與UML建模。</p
29、><p> 第三章:需求建模。確定系統(tǒng)的基本功能,描述系統(tǒng)的各個(gè)用例,繪制用例圖,解析用例文本,最后進(jìn)行系統(tǒng)的領(lǐng)域建模介紹和分析。</p><p> 第四章:架構(gòu)設(shè)計(jì)。介紹系統(tǒng)架構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì),畫出系統(tǒng)包圖,利用其來說明描述系統(tǒng)設(shè)計(jì)思路,說明用戶登錄、添加收支條目功能的業(yè)務(wù)實(shí)現(xiàn)過程,繪制ER圖用于系統(tǒng)介紹數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p> 第五章:模塊設(shè)計(jì)。結(jié)合活動(dòng)圖
30、,對(duì)系統(tǒng)主要功能模塊進(jìn)行解析,選取系統(tǒng)添加賬目與收支建議兩個(gè)子模塊進(jìn)行分析,介紹模塊的流程、算法以及核心代碼。</p><p> 第六章:部署與應(yīng)用。介紹程序的安裝流程,繪制部署圖,介紹系統(tǒng)運(yùn)行環(huán)境,簡(jiǎn)述系統(tǒng)安裝包的制作流程,對(duì)系統(tǒng)部分功能進(jìn)行測(cè)試,并展示程序功能測(cè)試界面。</p><p> 第七章:結(jié)論。總結(jié)了項(xiàng)目開發(fā)的感想,以及設(shè)計(jì)和開發(fā)中的不足之處,最后提出系統(tǒng)以后的改進(jìn)方向。&
31、lt;/p><p><b> 技術(shù)與原理</b></p><p><b> 2.1 C++語言</b></p><p> C++是一種面向?qū)ο缶幊痰恼Z言,同時(shí)也支持泛型編程。而C++是由C語言發(fā)展而來,其出現(xiàn)的原因是由于C語言內(nèi)在的一些缺點(diǎn)以及面向過程所帶來的不便,因此C++之父——貝爾實(shí)驗(yàn)室的本賈尼·斯特勞斯
32、特盧普(Bjarne· Stroustrup)博士與其同事開始對(duì)C語言進(jìn)行不斷的改進(jìn)和擴(kuò)充,開始將“類”引入C語言,當(dāng)時(shí)稱為“C with Classes”(帶類的C),即為C++的原型。后來,B·S博士與同事們一起又為C++加入了運(yùn)算符重載、引用和虛函數(shù)等功能,并且使其較之前更加精煉,簡(jiǎn)潔。1997年,C++語言成為了美國(guó)國(guó)家標(biāo)準(zhǔn)(ANSI),目前最新標(biāo)準(zhǔn)為 ISO/IEC 14882:2014。之后一年,C++語
33、言又接著成為了國(guó)際標(biāo)準(zhǔn)(ISO)。雖然因Java、C#等語言的出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;第三階段從2000年至今,由于以Loki、MPL等程序庫(kù)為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個(gè)新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計(jì)語言中最復(fù)雜的一員。[2]</p><p> 從發(fā)展的角度來看C++是以C語言為基礎(chǔ)的,幾乎能支持
34、C語言所有的語法和技術(shù),因此也可以把C++看作是C語言的超集。與此同時(shí)C++支持面向?qū)ο蟮乃懈拍?,而且設(shè)計(jì)者B·S博士還加入了OOP特性,使得C++擁有了將問題所涉及的概念聯(lián)合起來的能力,而C部分則賦予C++更緊密聯(lián)系硬件的能力,同時(shí)還具有很強(qiáng)的可移植性,因此C++不僅是一種非常實(shí)用規(guī)范,而且功能極為強(qiáng)大的編程語言。[3]</p><p> 2.2 SQL語言與SQLITE數(shù)據(jù)庫(kù)</p>
35、<p> 結(jié)構(gòu)化查詢語言(英語:Structured Query Language,縮寫:SQL),是一種特殊目的之編程語言,用于數(shù)據(jù)庫(kù)中的標(biāo)準(zhǔn)數(shù)據(jù)查詢語言,IBM公司最早使用在其開發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)中。1986年10月,美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)對(duì)SQL進(jìn)行規(guī)范后,以此作為關(guān)系式數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),1987年得到國(guó)際標(biāo)準(zhǔn)組織的支持下成為國(guó)際標(biāo)準(zhǔn)。不過各種通行的數(shù)據(jù)庫(kù)系統(tǒng)在其實(shí)踐過程中都對(duì)S
36、QL規(guī)范作了某些編改和擴(kuò)充。所以實(shí)際上不同數(shù)據(jù)庫(kù)系統(tǒng)之間的SQL不能完全相互通用。[4]</p><p> SQLite數(shù)據(jù)庫(kù)是遵守ACID的輕量級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng),其包含于一個(gè)相對(duì)校小的C程序庫(kù)中。不同的是,SQLite引擎不是一個(gè)與程序進(jìn)行通信的獨(dú)立進(jìn)程,反而是鏈接到程序中,成為程序的一個(gè)主要部分。所以通信協(xié)議主要是在編程語言內(nèi)直接進(jìn)行API調(diào)用。這樣的設(shè)計(jì)對(duì)于消耗總量、延遲時(shí)間和簡(jiǎn)潔性上有積極的作用。數(shù)據(jù)庫(kù)
37、完全存儲(chǔ)在主機(jī)端的一個(gè)文件中,在寫入時(shí)鎖定相應(yīng)的數(shù)據(jù)文件而實(shí)現(xiàn),使得訪問更加快速簡(jiǎn)單。[5]</p><p> 同時(shí),SQLite也支持SQL語言,這對(duì)程序的編寫帶來了方便。</p><p> 2.3 Qt圖形用戶界面庫(kù)</p><p> Qt是一個(gè)跨平臺(tái)的程序開發(fā)應(yīng)用,也是用戶界面的開發(fā)框架。 Qt是于1991年由奇趣科技開發(fā)的一個(gè)跨平臺(tái)C++的用戶圖形
38、界面應(yīng)用程序開發(fā)框架,它提供給編程人員用于建立美觀的用戶界面所需要的所有功能,不再只是簡(jiǎn)單的windows對(duì)話框,可以使界面更加美觀。同時(shí),Qt不僅很容易擴(kuò)展,而且允許真正組件編程。Qt 同 Windows 平臺(tái)上的 MFC類似,但隨著后期的不斷調(diào)整,至此已經(jīng)實(shí)現(xiàn)了對(duì)iOS、Android、WP各個(gè)系統(tǒng)的全面支持。[6]</p><p> Qt利用信號(hào)與槽(signals/slots)機(jī)制取代傳統(tǒng)的callba
39、ck來進(jìn)行對(duì)象之間的溝通。當(dāng)操作事件發(fā)生的時(shí)候,對(duì)象會(huì)發(fā)提交一個(gè)信號(hào)(signal);而槽(slot)則是一個(gè)函數(shù)接受特定信號(hào)并且運(yùn)行槽本身設(shè)置的動(dòng)作。信號(hào)與槽之間,則通過QObject的靜態(tài)方法connect來鏈接。</p><p> 信號(hào)在任何運(yùn)行點(diǎn)上皆可發(fā)射,甚至可以在槽里再發(fā)射另一個(gè)信號(hào),信號(hào)與槽的鏈接不限定為一對(duì)一的鏈接,一個(gè)信號(hào)可以鏈接到多個(gè)槽或多個(gè)信號(hào)鏈接到同一個(gè)槽,甚至信號(hào)也可連接到信號(hào)。[6]
40、</p><p> 除了優(yōu)良的跨平臺(tái)可移植性,Qt還擁有諸多優(yōu)點(diǎn),首先是面向?qū)ο?,接著是豐富的API,包含至少250個(gè)C++類,其次支持2D/3D 圖形渲染、OpenAL與OpenGL,最后還支持XML,諸多的優(yōu)勢(shì)使得Qt使用方便、簡(jiǎn)單且高效。[7]</p><p> 2.4 UML建模</p><p> 統(tǒng)一建模語言(UML)是非專利的第三代建模和規(guī)約語言
41、。UML是一種開放的方法,用于說明、可視化、構(gòu)建和編寫一個(gè)正在開發(fā)的、面向?qū)ο蟮?、軟件密集系統(tǒng)的制品的開放方法。UML展現(xiàn)了一系列最佳工程實(shí)踐,這些最佳實(shí)踐在對(duì)大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。</p><p> UML集成了Booch,OMT和面向?qū)ο筌浖こ痰母拍睿瑢⑦@些方法融合為單一的,通用的,并且可以廣泛使用的建模語言。UML打算成為可以對(duì)并發(fā)和分布式系統(tǒng)的標(biāo)準(zhǔn)建模語言。
42、[8]</p><p><b> 需求建模</b></p><p> 3.1 系統(tǒng)功能性概述</p><p> 本系統(tǒng)主要面向非專業(yè)會(huì)計(jì)人士使用,主要功能如下:</p><p> 普通用戶:用戶注冊(cè),用戶登錄。</p><p> 登錄用戶:添加收支記錄,修改收支記錄,刪除收支記錄,打印所
43、有收支記錄,查詢某日消費(fèi)記錄,收支狀況評(píng)估,用戶注銷。</p><p> 3.2 系統(tǒng)用例分析</p><p> 3.2.1 系統(tǒng)總用例圖</p><p> 根據(jù)系統(tǒng)的功能概述,繪制系統(tǒng)用例圖如圖3-1。</p><p> 圖3-1 系統(tǒng)用例圖</p><p> 3.2.2 系統(tǒng)總用例表</p>
44、<p> 本系統(tǒng)的各個(gè)用例以及描述見表3-1 系統(tǒng)總用例表。 </p><p> 表3-2 系統(tǒng)總用例表</p><p><b> 3.3用例文本解析</b></p><p> 本系統(tǒng)操作流程見圖 3-2 系統(tǒng)總活動(dòng)圖。</p><p> 圖3-2 系統(tǒng)總活動(dòng)圖</p><p&g
45、t; 下面選取功能操作中的3個(gè)用例進(jìn)行詳細(xì)說明,分別是添加賬目,修改賬目與查詢某日賬目。</p><p> 3.3.1 添加賬目</p><p> 添加賬目活動(dòng)圖見圖3-3 添加收支記錄活動(dòng)圖。</p><p> 圖3-3 添加收支記錄活動(dòng)圖</p><p><b> 范圍:添加收支記錄</b></p&g
46、t;<p><b> 級(jí)別:用戶目標(biāo)</b></p><p> 主要參與者:登錄用戶</p><p> 涉眾及其關(guān)注點(diǎn):能錄入賬目信息并保存,以便以后進(jìn)行查詢和統(tǒng)計(jì)評(píng)估</p><p> 前置條件:用戶已成功登錄系統(tǒng)</p><p> 后置條件:用戶已經(jīng)成功錄入新增記錄</p>&l
47、t;p><b> 主成功場(chǎng)景:</b></p><p><b> 1.用戶登錄系統(tǒng)</b></p><p> 2.在左上角菜單界面點(diǎn)擊“增加記錄”,進(jìn)入收支記錄增加頁面</p><p> 3.用戶按照提示正確格式的輸入日期與金額,選擇賬目類型</p><p> 4.用戶再次點(diǎn)
48、擊左上角的“增加記錄”進(jìn)行記錄保存</p><p><b> 擴(kuò)展:</b></p><p><b> 1a.系統(tǒng)異常</b></p><p> 1a1. 強(qiáng)制退出系統(tǒng)</p><p> 3a.日期為空、格式錯(cuò)誤或非法日期</p><p> 3a1. 系統(tǒng)對(duì)話框
49、提示“請(qǐng)按照‘2015.03.15’的格式輸入!”</p><p> 3b.金額為空或輸入非數(shù)字的內(nèi)容</p><p> 3b1. 系統(tǒng)對(duì)話框提示“金額不正確!”</p><p> 3c. 沒有選擇類型</p><p> 3c1. 系統(tǒng)對(duì)話框提示“沒有選擇類型!”</p><p> 3.3.2 查詢某日賬目
50、</p><p> 查詢某日詳單活動(dòng)圖見圖3-4 查詢某日詳單活動(dòng)圖。</p><p> 圖3-4 查詢某日詳單活動(dòng)圖</p><p><b> 范圍:查詢某日詳單</b></p><p><b> 級(jí)別:用戶目標(biāo)</b></p><p> 主要參與者:登錄用戶&l
51、t;/p><p> 涉眾及其關(guān)注點(diǎn):能夠根據(jù)輸入的日期,查詢當(dāng)天所有的收支記錄并打印,以便統(tǒng)計(jì)收支,分析該日的經(jīng)濟(jì)狀況</p><p> 前置條件:用戶已成功登錄系統(tǒng)</p><p> 后置條件:系統(tǒng)已經(jīng)成功打印改日所有記錄</p><p><b> 主成功場(chǎng)景:</b></p><p>&l
52、t;b> 1.用戶登錄系統(tǒng)</b></p><p> 2.在左上角菜單界中點(diǎn)擊“按日期查詢”</p><p> 3.用戶按照提示輸入想查詢的日期,并且格式正確</p><p> 4.用戶再次點(diǎn)擊左上角的“按日期查詢”進(jìn)行查詢</p><p> 5.系統(tǒng)根據(jù)查詢的日期,輸出該日記錄</p>&
53、lt;p><b> 擴(kuò)展:</b></p><p><b> 1a.系統(tǒng)異常</b></p><p> 1a1. 強(qiáng)制退出系統(tǒng)</p><p> 3a.日期為空、格式錯(cuò)誤或非法日期</p><p> 3a1. 系統(tǒng)對(duì)話框提示“請(qǐng)按照‘2015.03.15’的格式輸入!”</
54、p><p> 5a. 該日沒有收支記錄</p><p> 5a1. 系統(tǒng)對(duì)話框提示“該日無記錄”</p><p> 3.3.3 修改賬目</p><p> 修改活動(dòng)圖見圖3-5 修改收支記錄活動(dòng)圖。</p><p> 圖3-5 修改收支記錄活動(dòng)圖</p><p><b> 范圍
55、:修改收支記錄</b></p><p><b> 級(jí)別:用戶目標(biāo)</b></p><p> 主要參與者:登錄用戶</p><p> 涉眾及其關(guān)注點(diǎn):如果之前的記錄有錯(cuò)誤,能夠修改該條目中的目標(biāo)信息,改正錯(cuò)誤記錄</p><p> 前置條件:用戶已成功登錄系統(tǒng)</p><p>
56、 后置條件:系統(tǒng)已經(jīng)成功修改收支記錄</p><p><b> 主成功場(chǎng)景:</b></p><p><b> 1.用戶登錄系統(tǒng)</b></p><p> 2.在菜單界面點(diǎn)擊“我要修改”,進(jìn)入修改收支記錄的頁面</p><p> 3.系統(tǒng)會(huì)打印所有收支記錄,右鍵點(diǎn)擊目標(biāo)記錄,系統(tǒng)彈出記
57、錄編輯對(duì)話框</p><p> 4.用戶輸入要修改的信息,并在下方的編輯類型中,選擇“修改”</p><p> 5.用戶點(diǎn)擊“確定”進(jìn)行記錄保存</p><p><b> 擴(kuò)展:</b></p><p><b> 1a.系統(tǒng)異常</b></p><p> 1a
58、1. 強(qiáng)制退出系統(tǒng)</p><p> 3a. 該用戶沒有收支記錄</p><p> 3a1. 打印記錄為空,無法選擇條目修改,返回菜單頁面</p><p> 4a.日期為空、格式錯(cuò)誤或非法日期</p><p> 4a1. 系統(tǒng)對(duì)話框提示“請(qǐng)按照‘2015.03.15’的格式輸入!”</p><p> 4b.
59、金額為空或輸入非數(shù)字的內(nèi)容</p><p> 4b1. 系統(tǒng)對(duì)話框提示“金額不正確!”</p><p><b> 3.4 領(lǐng)域模型</b></p><p> 3.4.1 領(lǐng)域模型</p><p> 對(duì)領(lǐng)域內(nèi)的概念類進(jìn)行可視化表示,即為領(lǐng)域模型,它可以有效減少思維與軟件設(shè)計(jì)模型間的表示差異,同時(shí)領(lǐng)域模型提供了一種
60、對(duì)整個(gè)系統(tǒng)的結(jié)構(gòu)化的視圖。領(lǐng)域模型的一個(gè)好處是描述并限制了系統(tǒng)邊界。[8] 本系統(tǒng)領(lǐng)域模型圖見圖 3-6 領(lǐng)域模型圖。</p><p> 圖3-6 領(lǐng)域模型圖</p><p> 3.4.2 領(lǐng)域模型分析</p><p> 本系統(tǒng)有三個(gè)角色,分別為用戶,收支記錄,信息統(tǒng)計(jì)。</p><p> 任意用戶成功登陸后,可以根據(jù)實(shí)際情況進(jìn)行收支
61、記錄的增刪查改,所以關(guān)系是擁有,且數(shù)量關(guān)系是1:0~*。</p><p> 此外,用戶可以對(duì)統(tǒng)計(jì)信息進(jìn)行查看,了解收支現(xiàn)狀,所以關(guān)系是查看。</p><p> 而信息統(tǒng)計(jì)需要獲取所有的收支記錄進(jìn)行評(píng)估,所以信息統(tǒng)計(jì)與收支記錄間的關(guān)系是統(tǒng)計(jì)。</p><p><b> 架構(gòu)設(shè)計(jì)</b></p><p> 4.1 系
62、統(tǒng)架構(gòu)和原理</p><p> 本系統(tǒng)一共分為三層:表示層UI, 控制層controller, 領(lǐng)域?qū)觗omain。</p><p> 本系統(tǒng)包圖見圖4-1 系統(tǒng)包圖。</p><p><b> 圖4-1 系統(tǒng)包圖</b></p><p> 表示層:主要由各種用戶界面組成,能夠響應(yīng)用戶的各種操作,界面獲取輸入后,
63、調(diào)用下一層相關(guān)的函數(shù)進(jìn)行業(yè)務(wù)處理。</p><p> 控制層:該層獲取上層的用戶操作,控制系統(tǒng)調(diào)用該層相關(guān)函數(shù)進(jìn)行處理,從而完成用戶的操作。</p><p> 領(lǐng)域?qū)樱喊脩襞c賬目記錄兩個(gè)類。</p><p> 4.2 業(yè)務(wù)用例實(shí)現(xiàn)</p><p> 4.2.1 用戶登錄</p><p><b>
64、 交互過程如下:</b></p><p> 用戶運(yùn)行程序,出現(xiàn)注冊(cè)登陸界面;</p><p> 用戶填寫賬號(hào)與密碼后,點(diǎn)擊“登錄”按鈕;</p><p> IOHelper類中的login函數(shù)會(huì)調(diào)用text()函數(shù)獲取界面的輸入,然后判斷用戶的輸入信息是否符合要求且不為空,如果有不合要求或任意一項(xiàng)輸入為空的輸入情況下,系統(tǒng)會(huì)彈出提示窗口,提示用戶進(jìn)
65、行相應(yīng)更改;</p><p> Login函數(shù)會(huì)把Qt界面獲取的信息,對(duì)比數(shù)據(jù)庫(kù)“bd”的login項(xiàng)中的內(nèi)容,查找是否存在用戶輸入的賬號(hào),如果不存在則彈出對(duì)話框提示賬號(hào)不存在。請(qǐng)用戶重新輸入,如果存在,進(jìn)入步驟5;</p><p> 對(duì)比數(shù)據(jù)庫(kù)中存儲(chǔ)的信息,如果賬號(hào)與密碼同時(shí)匹配則成功登陸,否則系統(tǒng)彈出對(duì)話框提示密碼錯(cuò)誤;</p><p> 登陸成功后,調(diào)用
66、菜單頁面myfunc,并調(diào)用show()函數(shù)顯示。</p><p> 繪制順序圖如圖 4-2 用戶登錄順序圖所示。</p><p> 圖4-2 用戶登錄順序圖</p><p> 4.2.2 添加賬目</p><p><b> 交互過程如下:</b></p><p> 用戶運(yùn)行程序,成功登
67、陸系統(tǒng);</p><p> 用戶輸入賬目信息(日期,金額和時(shí)間),點(diǎn)擊左上角菜單中的“添加賬單”按鈕,如果輸入信息不符合要求或任意一項(xiàng)為空,系統(tǒng)提示用戶更改,停留在步驟2,否則進(jìn)入步驟3;</p><p> Function類中的add函數(shù)會(huì)進(jìn)行響應(yīng);</p><p> add函數(shù)會(huì)把Qt界面獲取的信息,進(jìn)行是否符合要求的判斷,如果不符合要求,系統(tǒng)彈出對(duì)話框提
68、示用戶更改,若輸入符合要求,則將日期調(diào)用dateformat函數(shù)進(jìn)行格式化;</p><p> 調(diào)用addMyoi函數(shù),將賬目信息存入數(shù)據(jù)庫(kù)db的“addio”項(xiàng)下;</p><p> 保存成功后,返回菜單頁面myfunc。</p><p> 繪制順序圖如圖 4-3添加賬目順序圖所示。</p><p> 圖4-3 添加賬目順序圖<
69、;/p><p><b> 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.3.1 E-R圖</p><p> E-R圖,也稱為“實(shí)體-聯(lián)系圖”(Entity Relationship Diagram),為描述現(xiàn)實(shí)世界中概念模型,提供表示實(shí)體的類型、屬性與聯(lián)系的方法。[9]本系統(tǒng)的實(shí)體共有三個(gè),分別是賬目,用戶,統(tǒng)計(jì)信息。本系統(tǒng)E-R圖見圖
70、4-4 系統(tǒng)E-R圖。</p><p> 圖4-4 系統(tǒng)E-R圖</p><p> 4.3.2 SQLite數(shù)據(jù)庫(kù)</p><p> 本系統(tǒng)數(shù)據(jù)庫(kù)基于SQLite,共包含2個(gè)表,分別是user與Myio。見表4-1 系統(tǒng)數(shù)據(jù)庫(kù)表詳情。</p><p> 表4-1 系統(tǒng)數(shù)據(jù)庫(kù)表詳情</p><p> 用戶表u
71、ser,以字段id為主鍵,詳情見表4-2用戶表user詳情。</p><p> 表4-2用戶表user詳情</p><p> 用戶收支表Myio,以id為主鍵,詳情見表 4-3用戶收支表Myio詳情。</p><p> 表 4-3用戶收支表Myio詳情</p><p><b> 模塊設(shè)計(jì)</b></p>
72、;<p><b> 5.1添加賬目</b></p><p> 5.1.1 模塊流程</p><p> 用戶成功登陸系統(tǒng)后,進(jìn)入主菜單頁面,按照程序提示格式輸入,包含賬目日期,金額,類型,再次點(diǎn)擊左上角的“增加記錄”進(jìn)行保存。</p><p> 如果用戶輸入信息不符合要求或者未填寫,系統(tǒng)會(huì)進(jìn)行相應(yīng)的提示,用戶按照提示修改后保
73、存即可。</p><p> 5.1.2 模塊算法解析</p><p> 該模塊算法流程圖見圖5-1 添加賬目算法流程圖。</p><p> 圖5-1 添加賬目算法流程圖</p><p> 5.1.3 模塊核心代碼</p><p> 在Function類的add函數(shù)中,利用Qt函數(shù)對(duì)界面的輸入信息進(jìn)行獲取,并
74、去除兩端空格。</p><p> 由于用戶在界面的輸入格式為2015.03.15的格式,因此編寫dateformate函數(shù)對(duì)時(shí)間進(jìn)行匹配提取,以便查詢和保存。然后再調(diào)用str2date將Qtring轉(zhuǎn)化成Qt中自帶的Qdate類型(int year,int month,int day),再進(jìn)行儲(chǔ)存。</p><p> 當(dāng)用戶輸入信息不為空且符合要求后,調(diào)用addMyio對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新
75、并保存,利用prepare()函數(shù)對(duì)SQL語句進(jìn)行封裝,然后調(diào)用addBindValue()函數(shù)可以將參數(shù)直接加到表中,最后利用返回值判定是否保存成功,系統(tǒng)彈出相應(yīng)條件下的對(duì)話框進(jìn)行提示,最后用fromLocal8Bit()函數(shù)消除漢字顯示亂碼。</p><p><b> 5.2 收支評(píng)估</b></p><p> 5.2.1 模塊流程</p>
76、<p> 用戶成功登陸后,點(diǎn)擊左上角菜單中的“收支建議”按鈕,系統(tǒng)會(huì)獲取數(shù)據(jù)庫(kù)中該用戶的所有收支記錄進(jìn)行評(píng)估,評(píng)估完成后,系統(tǒng)彈出對(duì)話框顯示評(píng)估結(jié)果和收支建議供用戶參考,如果數(shù)據(jù)庫(kù)中該用戶沒有任何記錄,則彈出對(duì)話框提示“記錄不足,無法分析”。</p><p> 5.2.2 模塊算法解析</p><p> 該模塊算法流程圖見圖5-2 收支建議算法流程圖。</p>
77、<p> 圖5-2 收支建議算法流程圖</p><p> 5.2.3 模塊核心代碼</p><p> 創(chuàng)建Qt對(duì)話框,并設(shè)置格式,隨后調(diào)用函數(shù)evaluateMyio(),對(duì)該用戶的所有賬目進(jìn)行評(píng)估,函數(shù)代碼如下:</p><p> 首先初始化總收入,總支出,總投資,再根據(jù)收支記錄表里的uid(用戶id)查詢?cè)撚脩舻乃惺罩в涗?,再根?jù)相應(yīng)賬
78、目的類型進(jìn)行統(tǒng)計(jì),最后計(jì)算出總收入,總支出,總投資的值,用于后續(xù)評(píng)估。</p><p> 根據(jù)自行設(shè)計(jì)的評(píng)估算法對(duì)用戶的經(jīng)濟(jì)狀況進(jìn)行評(píng)估,分為6種情況,首先如果“消費(fèi)+投資>收入”,界面顯示 "支出與投資過多,請(qǐng)注意收支平衡,以免超支",然后如果“消費(fèi)+投資<收入 且 消費(fèi)/投資>1.5”,顯示"收支狀況良好,可適當(dāng)增加投資",其次如果“消費(fèi)+投資<
79、;收入 且 投資/消費(fèi)>1.5”,則界面顯示"收支狀況良好,可適當(dāng)增加消費(fèi)",最后如果“消費(fèi)+投資<收入 且 投資/消費(fèi)<1.5 且消費(fèi)/投資<1.5”,則顯示"收支狀況良好,消費(fèi)和投資情況良好"。函數(shù)將現(xiàn)狀的數(shù)值返回。如果該用戶無任何記錄,則顯示“記錄不足,無法分析”。</p><p> Function類中的eval()函數(shù)獲得返回值后,如代碼
80、所示,將評(píng)估狀況與建議加入對(duì)話框顯示,同時(shí)依然調(diào)用fromLocal8Bit()函數(shù)防止出現(xiàn)漢字亂碼。</p><p><b> 部署與應(yīng)用</b></p><p><b> 系統(tǒng)運(yùn)行環(huán)境</b></p><p> 本系統(tǒng)安裝環(huán)境:Windows7以上,不需要額外配置數(shù)據(jù)庫(kù)。</p><p>
81、 Step1:下載本系統(tǒng)安裝包,點(diǎn)擊setup.exe進(jìn)行運(yùn)行。</p><p> Step2:選擇程序安裝的硬盤,點(diǎn)擊下一步。</p><p> Step3:程序自行安裝配置。</p><p> Step4:安裝完成,運(yùn)行程序。</p><p><b> 6.2 系統(tǒng)部署</b></p>&l
82、t;p> 6.2.1 UML部署圖</p><p> 本系統(tǒng)UML部署圖見圖6-1個(gè)人收支管理信息系統(tǒng)部署圖。[8]</p><p> 圖6-1個(gè)人收支管理信息系統(tǒng)部署圖</p><p> 6.2.2 安裝包制作</p><p> 由于Setup Factory制作安裝包更為快捷方便,因?yàn)槠浒こ滔驅(qū)?、主題樣式選擇、自定
83、義對(duì)話框與最小化支持等功能,所以選擇Setup Factory9進(jìn)行本程序安裝包制作,進(jìn)入Setup Factory后創(chuàng)建新項(xiàng)目,將Visual Studio 2010文件夾下該項(xiàng)目文件夾中的文件全部放入,再進(jìn)行setup的界面以及程序快捷方式的選擇,點(diǎn)擊build即可生成安裝包如圖6-2系統(tǒng)安裝包所示。</p><p><b> 圖6-2系統(tǒng)安裝包</b></p><
84、p> 安裝程序運(yùn)行界面如圖6-3安裝程序界面所示</p><p> 圖6-3安裝程序界面</p><p> 3 系統(tǒng)測(cè)試與功能截圖</p><p> 系統(tǒng)測(cè)試定義為將已經(jīng)確認(rèn)的軟件、硬件、外設(shè)與網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的組裝測(cè)試和確認(rèn)測(cè)試,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與
85、之矛盾的地方,從而提出更加完善的方案。[10]</p><p> 在本系統(tǒng)成功安裝后,雙擊圖標(biāo)即可運(yùn)行程序,本節(jié)將對(duì)系統(tǒng)進(jìn)行功能測(cè)試。本次測(cè)試選擇注冊(cè)、登錄、添加賬目、修改賬目、按日期查詢和收支建議6個(gè)功能進(jìn)行測(cè)試,并截圖說明測(cè)試結(jié)果與過程。</p><p><b> 注冊(cè)測(cè)試</b></p><p> 用戶初次使用本系統(tǒng)時(shí),首先需要進(jìn)行
86、賬戶注冊(cè),運(yùn)行程序,首先進(jìn)入初始界面,如圖6-4系統(tǒng)初始界面所示,在對(duì)話框中輸入賬號(hào)和密碼之后,點(diǎn)擊下方的“注冊(cè)”按鈕提交。</p><p> 圖6-4系統(tǒng)初始界面</p><p> 賬號(hào)與密碼的長(zhǎng)度不能多于10個(gè)字符,如果超出會(huì)彈出對(duì)話框進(jìn)行提示修改,對(duì)話框界面如圖6-5提示界面所示。</p><p><b> 圖6-5提示界面</b>
87、</p><p> 賬號(hào)與密碼須是字母和數(shù)字,不能含有符號(hào),注冊(cè)成功后顯示界面如圖6-6成功注冊(cè)界面所示。</p><p> 圖6-6成功注冊(cè)界面</p><p><b> 登陸測(cè)試</b></p><p> 當(dāng)用戶已有注冊(cè)成功的賬號(hào)后,輸入賬號(hào)與密碼進(jìn)行系統(tǒng)登錄,輸入后點(diǎn)擊下方“登錄”按鈕。</p>
88、<p> 如果賬號(hào)或者密碼長(zhǎng)于10個(gè)字符依然會(huì)進(jìn)行對(duì)話框提示,界面如圖6-7提示界面所示。</p><p><b> 圖6-7提示界面</b></p><p> 如果用戶輸入的密碼有誤,系統(tǒng)會(huì)彈出對(duì)話框提示用戶修改,界面如圖6-8密碼錯(cuò)誤界面所示。</p><p> 圖6-8密碼錯(cuò)誤界面</p><p&
89、gt; 如果賬號(hào)輸入錯(cuò)誤,系統(tǒng)會(huì)彈出對(duì)話框提示用戶修改,界面如圖6-9賬號(hào)錯(cuò)誤界面所示。</p><p> 圖6-9賬號(hào)錯(cuò)誤界面</p><p> 當(dāng)用戶名和密碼同時(shí)輸入正確后,系統(tǒng)成功登陸,進(jìn)入主菜單界面,左上方顯示登錄的用戶名,界面如圖6-10成功登陸界面所示。</p><p> 圖6-10成功登陸界面</p><p><b
90、> 添加賬目測(cè)試</b></p><p> 當(dāng)用戶成功登錄系統(tǒng),想要增加收支記錄時(shí),根據(jù)界面提示輸入日期和金額(可含有小數(shù)點(diǎn)),選擇類型,再點(diǎn)擊左上角的增加記錄按鈕進(jìn)行保存,界面如圖6-11成功添加賬目界面所示。</p><p> 圖6-11成功添加賬目界面</p><p> 如果用戶添加賬目時(shí)未選擇類型,系統(tǒng)會(huì)彈出對(duì)話框提示用戶選擇類型,
91、界面如圖6-12未選擇類型界面所示。</p><p> 圖6-12未選擇類型界面</p><p> 如果用戶添加賬目的時(shí)候未輸入日期或輸入的日期格式不正確,系統(tǒng)會(huì)彈出對(duì)話框提示用戶按照正確的日期格式進(jìn)行輸入,界面如圖6-13未輸入日期界面所示。</p><p> 圖6-13未輸入日期界面</p><p> 如果用戶添加賬目時(shí)未輸入金額
92、或輸入金額格式錯(cuò)誤(如金額為負(fù)數(shù)),系統(tǒng)會(huì)彈出對(duì)話框提示用戶輸入正確的賬目金額,界面如圖6-14金額不正確界面所示。</p><p> 圖6-14金額不正確界面</p><p><b> 修改賬目</b></p><p> 用戶點(diǎn)擊所有收支,即可查看該用戶的所有收支記錄,選擇要修改的收支條目,右鍵單擊進(jìn)行修改,修改界面如圖6-15系統(tǒng)修改
93、界面所示。如果用戶輸入的修改信息不符合要求,系統(tǒng)會(huì)彈出對(duì)話框進(jìn)行相應(yīng)提示,用戶修改后即可成功保存。</p><p> 圖6-15系統(tǒng)修改界面</p><p> 測(cè)試修改賬目類型,界面如圖6-16修改賬目類型界面所示。</p><p> 圖6-16修改賬目類型界面</p><p> 測(cè)試修改金額,界面如圖6-17修改賬目金額界面所示。&
94、lt;/p><p> 圖6-17修改賬目金額界面</p><p> 測(cè)試修改日期,界面如圖6-18修改賬目日期界面所示。</p><p> 圖6-18修改賬目日期界面</p><p><b> 按日期查詢</b></p><p> 當(dāng)用戶想要查看某一天的所有的收支記錄時(shí),輸入想要查詢的日期,
95、點(diǎn)擊菜單中的相應(yīng)按鈕,即可顯示該日所有收支記錄。測(cè)試用戶所有的收支記錄如圖6-19總記錄界面所示,測(cè)試日期為2015.03.15。</p><p> 圖6-19總記錄界面</p><p> 輸入查詢?nèi)掌?015.03.15,點(diǎn)擊菜單中的“按日期查詢”,結(jié)果如圖6-20按日期查詢界面所示。</p><p> 圖6-20按日期查詢界面</p><
96、;p> 如果用戶輸入日期不正確,包括輸入日期非法和該日期無記錄時(shí),界面如圖6-21查詢?nèi)掌阱e(cuò)誤與圖6-22查詢?nèi)掌诓缓戏ㄋ尽?lt;/p><p> 圖6-21查詢?nèi)掌阱e(cuò)誤</p><p> 圖6-22查詢?nèi)掌诓缓戏?lt;/p><p><b> 收支建議</b></p><p> 本小節(jié)將在不同的收支記錄情況下
97、進(jìn)行測(cè)試</p><p> 收支記錄界面如圖6-23收支記錄界面1所示,收支建議界面如圖6-24收支建議界面1所示。</p><p> 圖6-23收支記錄界面1</p><p> 圖6-24收支建議界面1</p><p> 收支記錄界面如圖6-25收支記錄界面2所示,收支建議界面如圖6-26收支建議界面2所示。</p>
98、<p> 圖6-25收支記錄界面2</p><p> 圖6-26收支建議界面2</p><p> 收支記錄界面如圖6-27收支記錄界面3所示,收支建議界面如圖6-28收支建議界面3所示。</p><p> 圖6-27收支記錄界面3</p><p> 圖6-28收支建議界面3</p><p> 無記
99、錄時(shí),收支建議界面如圖6-29收支建議界面4所示,</p><p> 圖6-29收支建議界面4</p><p><b> 結(jié)論</b></p><p> 個(gè)人收支管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)至此已告一段落,同時(shí)論文的寫作也即將結(jié)束。本次選擇這個(gè)主題的原因主要是因?yàn)閷?duì)于個(gè)人來說,經(jīng)濟(jì)收入的管理與投資異常重要,一個(gè)人只有學(xué)會(huì)理財(cái),合理安排消費(fèi)與投
100、資,才能更進(jìn)一步的使得金錢不斷升值,對(duì)未來進(jìn)行儲(chǔ)備,從而能從容的面對(duì)未來的各種突發(fā)經(jīng)濟(jì)問題。基于傳統(tǒng)的紙質(zhì)記賬本的思路,結(jié)合現(xiàn)今的計(jì)算機(jī)技術(shù),開始了本系統(tǒng)的研發(fā)。針對(duì)不同年齡段用戶的計(jì)算機(jī)使用能力情況,本系統(tǒng)致力將功能實(shí)現(xiàn)更人性化,易上手,簡(jiǎn)潔明了,便于更多年齡段的人使用。同時(shí)提供收支建議,可以幫助用戶更加快速地管理個(gè)人收支狀況,也能更加準(zhǔn)確、清晰地掌握個(gè)人經(jīng)濟(jì)現(xiàn)狀,實(shí)現(xiàn)資源最優(yōu)化,逐漸提高個(gè)人理財(cái)效率。</p><
101、p> 在初始的程序需求分析與功能設(shè)計(jì)階段,查閱了大量資料,利用了系統(tǒng)分析與設(shè)計(jì)所學(xué)到的UML模型進(jìn)行設(shè)計(jì)思路的梳理,確定程序主要功能模塊為:用戶注冊(cè)登錄注銷,賬目增刪查改,收支建議。各個(gè)模塊通過活動(dòng)圖對(duì)功能的流程進(jìn)行分析,再通過用例圖對(duì)整個(gè)程序的功能模塊進(jìn)行解析,確定各個(gè)功能模塊以及對(duì)用戶操作進(jìn)行處理的流程,最后有了一個(gè)明確的思路進(jìn)行編寫,在程序功能函數(shù)實(shí)現(xiàn)后,需要用Qt設(shè)計(jì)總菜單界面以及各個(gè)功能的界面,并設(shè)置信號(hào)與槽對(duì)程序的函
102、數(shù)進(jìn)行連接,以響應(yīng)用戶操作。在編寫的過程中,通過查詢資料,請(qǐng)教同學(xué)老師,反復(fù)測(cè)試系統(tǒng)功能并進(jìn)行修改優(yōu)化,最終完成了程序的編寫。</p><p> 在本系統(tǒng)的開發(fā)和論文撰寫過程中,也對(duì)大學(xué)四年的所學(xué)與所做的項(xiàng)目進(jìn)行了梳理與回顧,包括程序設(shè)計(jì)(C++),數(shù)據(jù)庫(kù),軟件測(cè)試,系統(tǒng)分析與設(shè)計(jì)等,還自行學(xué)習(xí)了Qt進(jìn)行界面設(shè)計(jì),好在Qt也是用C++編寫的,學(xué)習(xí)起來輕松不少,并且Qt自帶的信號(hào)與槽機(jī)制,也方便了程序界面與功能的
103、統(tǒng)一,最后也對(duì)程序的安裝包制作與程序部署有了進(jìn)一步的了解。雖然本系統(tǒng)有功能實(shí)用之處,但比起商用記賬軟件還是稍有不足,在后期開發(fā)時(shí)有一些想法也沒能來得及一一實(shí)現(xiàn),但會(huì)在今后不斷的努力學(xué)習(xí),盡力將程序做的更好。</p><p> 本次項(xiàng)目讓我對(duì)于程序部署,封裝,界面設(shè)計(jì)有了更加深刻的實(shí)踐,也對(duì)一個(gè)程序開發(fā)的總體流程有了進(jìn)一步的認(rèn)識(shí),雖然系統(tǒng)并不復(fù)雜,也存在不足之處,但對(duì)于我的人生來說,也是非常寶貴的一次項(xiàng)目經(jīng)歷,我
104、也會(huì)總結(jié)其中的經(jīng)驗(yàn)與教訓(xùn),用于以后的工作、生活中,使這次畢業(yè)設(shè)計(jì)更有價(jià)值。</p><p><b> 致 謝</b></p><p> 經(jīng)過數(shù)月的不斷努力與學(xué)習(xí),大學(xué)的畢業(yè)論文的終于也進(jìn)入尾聲。對(duì)于現(xiàn)在的我而言,這是一次對(duì)大學(xué)四年所學(xué)知識(shí)的匯總與拓展,也是對(duì)四年大學(xué)生涯的總結(jié),從思考設(shè)計(jì)的主題到開題報(bào)告期間,一直舉棋不定,對(duì)于論文的題目難以抉擇,在這期間,很感謝
105、我的導(dǎo)師路永和老師對(duì)于我論文題目的指導(dǎo)意見,以及同學(xué)朋友的寶貴意見,鼓勵(lì)我一步一步的去實(shí)現(xiàn)畢業(yè)設(shè)計(jì)。在設(shè)計(jì)編寫時(shí),仍耐心的幫助我,包括界面的設(shè)計(jì)與編寫,數(shù)據(jù)庫(kù)的連接等,為設(shè)計(jì)指出了基本的方向,論文撰寫過程中,路老師始終不厭其煩的回答我的提問,給予我很多寶貴的意見,真是非常幸運(yùn)能有這樣一位細(xì)心又耐心的老師的指導(dǎo)與支持,才能慢慢去實(shí)現(xiàn)一個(gè)挑戰(zhàn)自己的項(xiàng)目。也在這個(gè)過程中,不斷的學(xué)習(xí)思考,幫助我在未來的生活中,能更加冷靜的面對(duì)問題,克服自身的情
106、緒,努力思考,解決問題。</p><p> 其次,在設(shè)計(jì)中用到新的輕量級(jí)數(shù)據(jù)庫(kù)以及新的界面設(shè)計(jì)平臺(tái),除了自身自學(xué)與路老師的指導(dǎo),還有諸多同學(xué)在技術(shù)實(shí)現(xiàn)上對(duì)于我的幫助,在此表示衷心的感謝,同時(shí)也感謝我的父母,一直以來對(duì)我學(xué)習(xí)、生活的支持和幫助。非常感謝余陽老師對(duì)于論文模版的設(shè)計(jì),能更加明確論文需要準(zhǔn)備的內(nèi)容以及思考的方向,使得論文的編寫格式規(guī)范,思路明確。</p><p> 最后,感謝家
107、人朋友老師們的大學(xué)四年的陪伴以及曾經(jīng)給予我的幫助與關(guān)心,也感謝在百忙中抽出寶貴時(shí)間審閱本文的各位老師們。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]楊建萍/彭征,微時(shí)代,電子記賬新趨勢(shì),2012-08</p><p> [2]維基百科,C++,http://zh.wikipedia.org/wiki/C%2B%2
108、B,2015-04-01</p><p> [3]Stanley B. Lippman/Barbara E. Moo,C++ Primer,人民郵電出版社,2006</p><p> [4]維基百科,SQL,http://zh.wikipedia.org/zh-cn/SQL,2015-04-01</p><p> John W.Satzinger/Robert
109、 B.Jackson/Stephen D.Burd,系統(tǒng)分析與設(shè)計(jì),2002</p><p> [5]維基百科,SQLite,http://zh.wikipedia.org/wiki/SQLite,2015-04-01</p><p> [6]劉艷青/蘇桂蓮,基于Qt4的圖形用戶界面程序的設(shè)計(jì)與實(shí)現(xiàn),2009-03</p><p> [7]丁松林/黃麗琴,Qt
110、圖形設(shè)計(jì)與嵌入式開發(fā),人民郵電出版社,2009</p><p> [8] James Rumbaug/Michael Blaha,UML面向?qū)ο蠼Ec設(shè)計(jì),人民郵電出版社,2006</p><p> [9]Raghu Ramakrishnan/Johannes Gehrke,數(shù)據(jù)庫(kù)管理系統(tǒng)原理與設(shè)計(jì)(第三版),清華大學(xué)出版社,2004</p><p> [10
111、]維基百科,系統(tǒng)測(cè)試,http://zh.wikipedia.org/wiki/系統(tǒng)測(cè)試,2015-04-01</p><p><b> 附錄</b></p><p> 附表一 畢業(yè)論文(設(shè)計(jì))開題報(bào)告</p><p> 附表二 畢業(yè)論文中期檢查報(bào)告</p><p> 附表三、畢業(yè)論文答辯情況</p&g
112、t;<p> 本人所呈交的畢業(yè)論文,是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料均真實(shí)可靠。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他人或集體已經(jīng)發(fā)表或撰寫過的作品或成果。對(duì)本論文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本畢業(yè)論文的知識(shí)產(chǎn)權(quán)歸屬于培養(yǎng)單位。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。</p><p> 本人簽名:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《企業(yè)管理信息系統(tǒng)》管理信息系統(tǒng)概述
- 《管理信息系統(tǒng)》
- 管理信息系統(tǒng)課程設(shè)計(jì)---醫(yī)藥管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--超市管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--教務(wù)管理信息系統(tǒng)
- 管理信息系統(tǒng)
- 管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)酒店管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)---銀行儲(chǔ)蓄管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)---酒店前臺(tái)管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)---醫(yī)院藥物管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--人事管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--航空售票管理信息系統(tǒng)
- ups管理信息系統(tǒng)
- 管理信息系統(tǒng)題庫(kù)
- 管理信息系統(tǒng)習(xí)題
- 管理信息系統(tǒng)-教案
- 項(xiàng)目管理信息系統(tǒng)
- 管理信息系統(tǒng)復(fù)習(xí)
- 管理信息系統(tǒng)答案
評(píng)論
0/150
提交評(píng)論