畢業(yè)論文-基于android個(gè)人記賬本的設(shè)計(jì)與開發(fā)_第1頁
畢業(yè)論文-基于android個(gè)人記賬本的設(shè)計(jì)與開發(fā)_第2頁
畢業(yè)論文-基于android個(gè)人記賬本的設(shè)計(jì)與開發(fā)_第3頁
畢業(yè)論文-基于android個(gè)人記賬本的設(shè)計(jì)與開發(fā)_第4頁
畢業(yè)論文-基于android個(gè)人記賬本的設(shè)計(jì)與開發(fā)_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

緒論二十一世紀(jì)是一個(gè)以高科技為核心知識(shí)經(jīng)濟(jì)占主導(dǎo)地位的時(shí)代,而信息作為整個(gè)社會(huì)最主要的資源,將成為強(qiáng)大的戰(zhàn)略資源,引起人們廣泛的關(guān)注。信息化時(shí)代的到來已經(jīng)成為不可抗拒的洪流,人類的文明已經(jīng)在進(jìn)入信息化時(shí)代。Android手機(jī)發(fā)展迅速,以成為移動(dòng)通訊設(shè)備的主流。Android比原來的手機(jī)系統(tǒng)具有很大的優(yōu)勢,其友好的用戶見面、簡易流暢的操作模式帶來了前所未有的用戶體驗(yàn),其開源性、可移植性、高效的開發(fā)環(huán)境對(duì)Android的開發(fā)者提供了很大的便利,所以Android手機(jī)的興起是必然的。目前隨著國內(nèi)居民收入消費(fèi)水平的日益增高,理財(cái)意識(shí)的不斷增強(qiáng),個(gè)人理財(cái)市場持續(xù)夸大規(guī)模已成為不爭的現(xiàn)實(shí)。1.1選題背景隨著科學(xué)技術(shù)的迅速發(fā)展,人類已經(jīng)從農(nóng)業(yè)社會(huì),工業(yè)社會(huì)迅速進(jìn)入了信息社會(huì),人們的生活方式、思維方式、工作方式以及教育方式等都隨之發(fā)生了相應(yīng)的改變。如今,信息技術(shù)以令人咋舌的速度飛速發(fā)展,深入到全球各地的各個(gè)領(lǐng)域,它對(duì)全球的影響是相當(dāng)巨大的其巨大的力量改變了人類的生活,“數(shù)字化”的概念應(yīng)運(yùn)而生,數(shù)字產(chǎn)品越來越貼近人們的生活,隨之而來的就是人們不斷追求更多的便捷享受,更多地娛樂氛圍。十年前的手機(jī)僅僅作為一個(gè)通信設(shè)備出現(xiàn)在人們的面前,而如今,手機(jī)儼然已經(jīng)成為了個(gè)人的小型計(jì)算機(jī)。各種各樣的手機(jī),紛亂復(fù)雜的各種軟件,不斷改變著用戶的使用態(tài)度,不斷催生著人們的好奇心。隨著移動(dòng)平臺(tái)的不斷成熟與互聯(lián)網(wǎng)的不斷發(fā)展,手機(jī)等移動(dòng)設(shè)備已經(jīng)極大地普及,人們可以在隨時(shí)隨地用指尖去完成各種以往繁瑣的事情。由于在生活中大家都不愿意做“月光族”,所以,很多人有了日日記賬的習(xí)慣。但是,隨時(shí)帶個(gè)筆記本是如此的不現(xiàn)實(shí),生活中大家又都離不開手機(jī)以及考慮到Android系統(tǒng)的迅速發(fā)展和極高的普遍率,這款基于Android的個(gè)人記賬本便應(yīng)運(yùn)而生了。1.2選題目的與意義隨著經(jīng)濟(jì)社會(huì)的高速發(fā)展,人們的生活水平也在飛速的提高,同時(shí)人們的收入和消費(fèi)水平也得到了很大的提升,也從過去的單一輸入和消費(fèi)變成了今天的多元化收入和消費(fèi)模式。尤其是我們80、90后青年人,對(duì)現(xiàn)在新型消費(fèi)有非常高的熱情,但是這樣給在高速發(fā)展的消費(fèi)經(jīng)濟(jì)情況下的我們帶來了一些意想不到的負(fù)面影響,不能很好的理財(cái),這給我們的物質(zhì)生活帶來了不少的麻煩。隨著大家理財(cái)意識(shí)的逐漸增強(qiáng),不同功能的個(gè)人理財(cái)系統(tǒng)便由此產(chǎn)生了。該軟件是開發(fā)一個(gè)基于Android平臺(tái)的個(gè)人記賬本,可以很輕松的實(shí)現(xiàn)平時(shí)簡單的記賬、查賬、刪賬等功能。可以很好的幫助我們實(shí)現(xiàn)隨時(shí)隨地輕松記賬,實(shí)時(shí)理財(cái)。同時(shí)也讓自己能夠了解最新的Android開發(fā)只是,熟悉SQLite的使用,拓展能力和渠道,熟悉軟件開發(fā)方法。1.3課題研究內(nèi)容記賬就是把一個(gè)企事業(yè)單位或者個(gè)人家庭發(fā)生的所有經(jīng)濟(jì)業(yè)務(wù)運(yùn)用一定的記賬方法在賬簿上記錄;是指根據(jù)審核無誤的原始憑證及記賬憑證,按照國家統(tǒng)一會(huì)計(jì)制度規(guī)定的會(huì)計(jì)科目,運(yùn)用復(fù)式記賬法對(duì)經(jīng)濟(jì)業(yè)務(wù)序時(shí)地、分類地登記到賬簿中去。你不理財(cái),財(cái)不理你。清楚自己的每一天收支狀態(tài)是非常重要的。軟件中可方便添加資金支出記錄,也可查找以前記錄下的所有消費(fèi)細(xì)節(jié),有它在手,節(jié)約無憂。可以很方便的隨時(shí)記錄下你的收入和各種消費(fèi)情況,也可以很方便的查看日,周,月,年的明細(xì)列表。個(gè)人記賬本,便攜的android個(gè)人記賬本軟件,操作簡單功能強(qiáng)大。是必備的日常理財(cái)軟件。2相關(guān)開發(fā)工具簡介2.1Android及SDK介紹

Android是Google公司推出的手機(jī)開發(fā)平臺(tái),和iPhone相似,Android使用了WebKit瀏覽器引擎,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,在手機(jī)上可以實(shí)現(xiàn)查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等功能,較iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大,可以說是一種融入全部Web應(yīng)用的單一臺(tái)。

Android是一個(gè)以Linux為基礎(chǔ)的半開源操作系統(tǒng),主要用于行動(dòng)設(shè)備,由Google和開放手持設(shè)備聯(lián)盟開發(fā)與領(lǐng)導(dǎo)。Android系統(tǒng)最初由安迪·魯賓(AndyRubin)制作,最初主要支持手機(jī)。2005年8月17日被Google收購。2007年11月5日,Google與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組成開放手持設(shè)備聯(lián)盟(OpenHandsetAlliance)來共同研發(fā)改良Android系統(tǒng)并生產(chǎn)搭載Android的智慧型手機(jī),并逐漸拓展到平板電腦及其他領(lǐng)域上。隨后,Google以Apache免費(fèi)開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。Android手機(jī)系統(tǒng)最震撼人心之處在于其開放性和服務(wù)免費(fèi)。Android是一個(gè)對(duì)第三方軟件完全開放的平臺(tái),開發(fā)者在為其開發(fā)程序時(shí)

擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定軟件的枷鎖,使得應(yīng)用的安裝更加方便;同時(shí)與Windows

Mobile、Symbian等廠商不同,Android操作系統(tǒng)免費(fèi)向開發(fā)人員提供,這樣可節(jié)省近三成成本。

Android平臺(tái)的五大優(yōu)勢:開放性掙脫運(yùn)營商的束縛豐富的硬件選擇不受任何限制的開發(fā)商無縫結(jié)合的Google應(yīng)用SDK指是軟件開發(fā)工具包,一般被一些軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android

SDK指的既是Android專屬的軟件開發(fā)工具包。它可以簡單的為某個(gè)程序設(shè)計(jì)語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。為了鼓勵(lì)開發(fā)者使用其系統(tǒng)或者語言,許多SDK是免費(fèi)提供的。軟件工程師通常從目標(biāo)系統(tǒng)開發(fā)者那里獲得軟件開發(fā)包,也可以直接從互聯(lián)網(wǎng)下載,有時(shí)也被作為營銷手段。例如,營銷公司會(huì)免費(fèi)提供構(gòu)件SDK以鼓勵(lì)人們使用它,從而會(huì)吸引更多人由于能免費(fèi)為其編程而購買其構(gòu)件。2.2Eclipse簡介

Eclipse是一個(gè)著名的跨平臺(tái)的自由集成開發(fā)環(huán)境軟件。最初主要用來Java語言開發(fā),現(xiàn)在人們可以通過安裝插件使其作為C++、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是隨著眾多插件的產(chǎn)生,使得Eclipse擁有很好的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。

雖然大多數(shù)用戶更加樂于將Eclipse當(dāng)作Java集成開發(fā)環(huán)境來使用,但Eclipse的作用已經(jīng)不僅限于此。Eclipse還是含有插件開發(fā)環(huán)境,這個(gè)組件允許希望擴(kuò)展Eclipse的軟件開發(fā)人員構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。

這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++和COBOL等編程語言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。

本軟件即通過Eclipse,添加Android做插件,匹配上AndroidSDK進(jìn)行軟件的開發(fā)。2.3SQLite簡介

SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月。至今已經(jīng)有13個(gè)年頭,SQLite也迎來了一個(gè)版本SQLite3已經(jīng)發(fā)布。SQLite是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫中。它是D.RichardHipp建立的公有領(lǐng)域項(xiàng)目。不像常見的客戶-服務(wù)器范例,SQLite引擎不是個(gè)程序與之通信的獨(dú)立進(jìn)程,而是連接到程序中成為它的一個(gè)主要部分。所以主要的通信協(xié)議是在編程語言內(nèi)的直接API調(diào)用。這在消耗總量、延遲時(shí)間和整體簡單性上有積極的作用。整個(gè)數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù)本身)都在宿主主機(jī)上存儲(chǔ)在一個(gè)單一的文件中。它的簡單的設(shè)計(jì)是通過在開始一個(gè)事務(wù)的時(shí)候鎖定整個(gè)數(shù)據(jù)文件而完成的。2.3.1SQLite的特性1.ACID事務(wù)2.零配置–無需安裝和管理配置3.儲(chǔ)存在單一磁盤文件中的一個(gè)完整的數(shù)據(jù)庫4.數(shù)據(jù)庫文件可以在不同字節(jié)順序的機(jī)器間自由的共享5.支持?jǐn)?shù)據(jù)庫大小至2TB6.足夠小,大致13萬行C代碼,4.43M7.比一些流行的數(shù)據(jù)庫在大部分普通數(shù)據(jù)庫操作要快8.簡單,輕松的API9.包含TCL綁定,同時(shí)通過Wrapper支持其他語言的綁定10.良好注釋的源代碼,并且有著90%以上的測試覆蓋率11.獨(dú)立:沒有額外依賴12.源碼完全的開源,你可以用于任何用途,包括出售它13.支持多種開發(fā)語言,C,PHP,Perl,Java,C#,Python,Ruby2.3.2用JAVA連接SQLite先下載SQLite數(shù)據(jù)庫的JDBC將下載到的包解壓后得到j(luò)ar包sqlitejdbc-v033-nested.jar放到%JAVA_HOME%\lib下,并且將其添加到classpath系統(tǒng)環(huán)境變量中,我的classpath系統(tǒng)環(huán)境變量現(xiàn)在為:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\sqlitejdbc-v033-nested.jar在你的代碼中引用這個(gè)驅(qū)動(dòng):Class.forName("org.sqlite.JDBC");Connectionconn=DriverManager.getConnection("jdbc:sqlite:filename");//filename為你的SQLite數(shù)據(jù)名稱//...usethedatabase...conn.close();示例程序如下:importjava.sql.*;importorg.sqlite.JDBC;/***這是個(gè)非常簡單的SQLite的Java程序,*程序中創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、然后插入數(shù)據(jù),*最后讀出數(shù)據(jù)顯示出來*/publicclassTestSQLite{publicstaticvoidmain(String[]args){try{//連接SQLite的JDBCClass.forName("org.sqlite.JDBC");//建立一個(gè)數(shù)據(jù)庫名zieckey.db的連接,如果不存在就在當(dāng)前目錄下創(chuàng)建之Connectionconn=DriverManager.getConnection("jdbc:sqlite:zieckey.db");Statementstat=conn.createStatement();stat.executeUpdate("createtabletbl1(namevarchar(20),salaryint);");//創(chuàng)建一個(gè)表,兩列stat.executeUpdate("insertintotbl1values('ZhangSan',8000);");//插入數(shù)據(jù)stat.executeUpdate("insertintotbl1values('LiSi',7800);");stat.executeUpdate("insertintotbl1values('WangWu',5800);");stat.executeUpdate("insertintotbl1values('ZhaoLiu',9100);");ResultSetrs=stat.executeQuery("select*fromtbl1;");//查詢數(shù)據(jù)while(rs.next()){//將查詢到的數(shù)據(jù)打印出來System.out.print("name="+rs.getString("name")+"");//列屬性一System.out.println("salary="+rs.getString("salary"));//列屬性二}rs.close();conn.close();//結(jié)束數(shù)據(jù)庫的連接}catch(Exceptione){e.printStackTrace();}}}編譯運(yùn)行:E:\Coding\java\test>javacTestSQLite.javaE:\Coding\java\test>javaTestSQLitename=ZhangSansalary=8000name=LiSisalary=7800name=WangWusalary=5800name=ZhaoLiusalary=9100總結(jié):本文介紹了嵌入式數(shù)據(jù)庫SQLite在Java中的應(yīng)用,通過創(chuàng)建表、插入數(shù)據(jù)、查詢等操作介紹了在Java中對(duì)數(shù)據(jù)庫的操縱。

3需求分析與可行性分析3.1可行性分析首先進(jìn)行系統(tǒng)的可行性分析。可行性分析是在目前市場已有的相關(guān)內(nèi)容調(diào)查基礎(chǔ)上,辨證新軟件的研發(fā)是否具備開發(fā)的必要性和坑內(nèi)性,對(duì)新軟件的研發(fā)從技術(shù)、經(jīng)濟(jì)社會(huì)因素等多個(gè)方面進(jìn)行相關(guān)的分析和研究,以避免造成不必要的資金失誤,保證和提高新軟件開發(fā)成功的把握。可行性研究的目的就是以最小的時(shí)間、金錢代價(jià)確定疑難問題是否能夠妥善解決。近些年,移動(dòng)設(shè)備的高速發(fā)展,使得手機(jī)等移動(dòng)設(shè)備高速智能化,移動(dòng)網(wǎng)絡(luò)通信正在以前所未有的驚人速度走入人們的生活、工作和學(xué)習(xí)中,提高了工作學(xué)習(xí)的效率,增加了獲取信息的渠道,突破了相互交流的時(shí)空界限。個(gè)人記賬本可以基于移動(dòng)平臺(tái)安卓系統(tǒng)進(jìn)行開發(fā),幫助我們解決生活中的個(gè)人資金理財(cái)問題。

可行性分析既不能以偏蓋全,也不能過于追求細(xì)節(jié),必須為決策提供有價(jià)值的證據(jù)。軟件領(lǐng)域的可行性分析主要考慮四個(gè)因素:技術(shù)可行性分析,經(jīng)濟(jì)可行性分析,法律可行性分析,開發(fā)人員與進(jìn)程可行性分析。

3.1.1技術(shù)可行性分析合理的建立數(shù)據(jù)庫,開發(fā)個(gè)人記賬本實(shí)現(xiàn)安全性、高效性管理在技術(shù)上是可行的。安卓系統(tǒng)是基于Java編寫的,因此手機(jī)客戶端采用Eclipse配上AndroidSDK,完全可以實(shí)現(xiàn)系統(tǒng)功能,開發(fā)人員都具有一定Java功底,加之Android平臺(tái)開放性,網(wǎng)上很輕松的可以查看到各種實(shí)現(xiàn)代碼,手機(jī)客戶端在技術(shù)上是可行的。因此,系統(tǒng)的軟件開發(fā)平臺(tái)是成熟可行的。在硬件方面,科技飛速發(fā)展,硬件更新的速度日新月異,容量變得原來越大,可靠性變得越來越高,價(jià)格變得越來越低,其硬件水平完全能夠滿足此軟件開發(fā)和使用的需要。3.1.2經(jīng)濟(jì)可行性分析從成本方面看,本系統(tǒng)的實(shí)現(xiàn),計(jì)算機(jī)和網(wǎng)絡(luò)硬件已經(jīng)擁有,由于安卓是個(gè)開放的平臺(tái),Eclipse與AndroidSDK都是免費(fèi)提供的,網(wǎng)絡(luò)客戶端所用軟件也都已經(jīng)配備,因此不需要經(jīng)費(fèi)預(yù)算等。3.1.3法律可行性分析從法律角度看,Android是個(gè)開放的平臺(tái),代碼是開放的,作為畢業(yè)設(shè)計(jì),并不以盈利為目的,且是自主開發(fā)設(shè)計(jì),因此不會(huì)在社會(huì)上引起侵權(quán)或其它責(zé)任問題,在法律上是可行的。

3.1.4開發(fā)人員與進(jìn)程可行性分析開發(fā)人員都有一定的Java開發(fā)功底,并且有指導(dǎo)老師的悉心教導(dǎo)完全可以勝任此次開發(fā)。由于此系統(tǒng)開發(fā)并不是以盈利為目的,開發(fā)周期可以相對(duì)較長,因此開發(fā)進(jìn)程方面是可行的。3.1.5結(jié)論意見綜上所述,此軟件開發(fā)在不同角度都可行,并且投入少量的工作就能達(dá)到明顯的效果,故可以確定該系統(tǒng)能夠開發(fā)。3.2需求分析3.2.1特性需求分析

一個(gè)較好的軟件應(yīng)具有以下特性:

(1)易操作和功能簡單明確不令人誤解。一個(gè)良好的個(gè)人記賬本應(yīng)該功能明確,用戶可以很明了的通過界面介紹明白各項(xiàng)功能的實(shí)現(xiàn)方法,而不是看到界面不知道各按鈕的具體用途,即操作簡單,界面友好易懂。用戶可以根據(jù)手機(jī)界面很清楚地進(jìn)行記賬、查賬、刪除等功能。

(2)軟件功能流暢。軟件在運(yùn)行不能發(fā)生崩潰,卡頓等問題,整個(gè)界面操作起來很流暢。

(3)軟件易維護(hù)。系統(tǒng)各個(gè)模塊設(shè)計(jì)應(yīng)該很明確,核心代碼處應(yīng)有必要的注釋,使得今后的軟件維護(hù)能夠順利地進(jìn)行。

3.2.2功能需求分析

用戶應(yīng)該能實(shí)現(xiàn)增加賬單,查詢賬單,刪除賬單三大功能。用戶增加賬單:用戶根據(jù)日期記錄當(dāng)天支出情況和收入情況,系統(tǒng)生成報(bào)表,便于用戶進(jìn)行查看、刪除等操作。用戶查詢賬單:用戶根據(jù)日期(月份)進(jìn)行選擇查詢賬單。用戶刪除賬單:用戶根據(jù)需要?jiǎng)h除已記錄的賬單。系統(tǒng)設(shè)置:系統(tǒng)版本及該軟件的基本信息。4總體設(shè)計(jì)總體設(shè)計(jì)是完成系統(tǒng)的總體方案和總體技術(shù)途徑的設(shè)計(jì)過程。總體設(shè)計(jì)是工程項(xiàng)目開發(fā)過程中的一個(gè)重要階段。4.1系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)又稱為物理設(shè)計(jì),是開發(fā)管理信息系統(tǒng)的第二階段。系統(tǒng)設(shè)計(jì)是開發(fā)人員進(jìn)行的工作,他們將系統(tǒng)設(shè)計(jì)階段得到的目標(biāo)系統(tǒng)的邏輯模型轉(zhuǎn)換為目標(biāo)系統(tǒng)的物理模型,該階段得到工作成果是下一個(gè)階段系統(tǒng)實(shí)施的工作據(jù)。4.1.1系統(tǒng)設(shè)計(jì)目標(biāo)預(yù)期本系統(tǒng)將通過對(duì)歡迎界面、用戶的日常收支信息管理模塊、統(tǒng)計(jì)信息管理模塊、刪除信息管理模塊四個(gè)模塊的實(shí)現(xiàn),能基本滿足用戶的需求,使用戶能夠方便、快捷的進(jìn)行個(gè)人財(cái)務(wù)處理。自己熟悉了開發(fā)過程,同時(shí)生成了各個(gè)階段的文檔,完成畢業(yè)設(shè)計(jì)。4.1.2系統(tǒng)主控流程圖流程圖是系統(tǒng)分析時(shí)產(chǎn)生的邏輯模型(為后面建立E-R概念模型,系統(tǒng)設(shè)計(jì)做好穩(wěn)定的信息模型基礎(chǔ)),即描述系統(tǒng)的輸入數(shù)據(jù)、處理功能、輸出數(shù)據(jù),功能模塊間及對(duì)應(yīng)部門之間的信息流動(dòng)關(guān)系。系統(tǒng)的流程圖符號(hào)說明如表(4-1)所示:表4-1系統(tǒng)業(yè)務(wù)流程圖符號(hào)說明符號(hào)名稱說明處理能改變數(shù)據(jù)值或數(shù)據(jù)位置的加工或部件實(shí)體數(shù)據(jù)的源點(diǎn)/終點(diǎn)數(shù)據(jù)流用于連接其他符號(hào),指明數(shù)據(jù)流動(dòng)方向決策用于選擇系統(tǒng)主控流程圖主要描述了個(gè)人記賬管理的流程,如圖(4-1)所示:開始開始開始開始個(gè)人記賬管理系統(tǒng) 收支顯示收支刪除收支保存結(jié)束結(jié)束開始開始圖4-1系統(tǒng)主控流程圖4.1.3E-R圖ER模型直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型。它有兩個(gè)明顯的優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無關(guān),用戶容易接受。E-R圖為實(shí)體-聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為:·實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名;·屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;·聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。對(duì)用戶需求做以下分分析,從用戶的角度看到的或需要的系統(tǒng)功能,在本系統(tǒng)的建模中:從用戶角度應(yīng)該有簡單的添加賬單、查詢賬單、刪除賬單三個(gè)基本功能。根據(jù)系統(tǒng)的需求分析及功能分析可做如圖(4-2)的E-R圖所示:查詢賬單刪除賬單用戶查詢賬單刪除賬單用戶添加賬單添加賬單查詢?cè)路莶樵冊(cè)路輦€(gè)人記賬管理個(gè)人記賬管理收支時(shí)間收支方式收支時(shí)間收支方式金額備注公司金額備注公司/個(gè)人圖4-2E-R圖4.1.4系統(tǒng)功能結(jié)構(gòu)圖本系統(tǒng)包括:歡迎界面模塊、用戶日常收入支出信息管理模塊、統(tǒng)計(jì)管理模塊、刪除管理模塊四個(gè)模塊。如圖(4-3)所示:個(gè)人個(gè)人記賬本歡迎界面刪除信息管理統(tǒng)計(jì)信息歡迎界面刪除信息管理統(tǒng)計(jì)信息管理日常收支信息管理圖4-3系統(tǒng)功能結(jié)構(gòu)圖4.2界面設(shè)計(jì)4.2.1歡迎界面設(shè)計(jì)歡迎界面為進(jìn)入系統(tǒng)的首界面,首界面只顯示圖標(biāo)與“即將進(jìn)入您的私賬本”字樣。隨之便進(jìn)入到增加賬單界面。4.2.2增加賬單界面設(shè)計(jì)用Linearlayout布局整體分為六行:賬目類型、填入金額、選擇時(shí)間、公司/個(gè)人管理、備注、保存與取消按鈕。如下圖(4-4)所示:賬目類型賬目類型填入金額填入金額選擇時(shí)間選擇時(shí)間公司公司/個(gè)人備注取消取消保存圖4-4增加賬單界面4.2.3查詢賬單界面設(shè)計(jì)同樣也是用Linearlayout布局,整體分為幾部分。第一部分是標(biāo)題:賬目、費(fèi)用、日期、備注第二部分就是用戶的賬單報(bào)表第三部分是統(tǒng)計(jì):當(dāng)月收入、支出、合計(jì)。如下圖(4-5)所示:賬目賬目費(fèi)用日期備注用戶用戶的賬單報(bào)表當(dāng)月當(dāng)月收入:支出:合計(jì): 圖4-5查詢賬單界面當(dāng)在查詢賬單界面按下菜單鍵時(shí),會(huì)彈出“選擇月份”。之后可以進(jìn)行選定月份的賬單查詢。4.2.4刪除賬單界面設(shè)計(jì)當(dāng)刪除某項(xiàng)明細(xì)時(shí),是在查詢賬單的基礎(chǔ)上進(jìn)行的長按某項(xiàng)明細(xì),會(huì)彈出一個(gè)對(duì)話框。之后選擇是否刪除。對(duì)話框的布局只是簡單的提示與按鈕。對(duì)話框的格局如圖(4-6)所示:警示圖標(biāo)警示圖標(biāo)確定確定要?jiǎng)h除明細(xì)?確定再看看確定再看看圖4-6刪除賬單界面5詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)軟件名稱:個(gè)人記賬本。其他子系統(tǒng)的關(guān)系:本系統(tǒng)為獨(dú)立的系統(tǒng),目前沒有與之發(fā)生關(guān)系的其他子系統(tǒng)。用戶范圍:所有的Android用戶均可使用該軟件。文檔概述:根據(jù)需求分析,對(duì)軟件的各項(xiàng)功能實(shí)現(xiàn)進(jìn)行設(shè)計(jì)。文檔的預(yù)期讀者為軟件開發(fā)者及用戶。5.1系統(tǒng)流程分析本系統(tǒng)設(shè)計(jì)是基于Windows系統(tǒng)下的Android系統(tǒng)平臺(tái)上,系統(tǒng)設(shè)計(jì)遵循了Android軟件設(shè)計(jì)的系統(tǒng)模式。本系統(tǒng)UI布局是在layout文件夾下的xml文件中設(shè)計(jì)完成的。每個(gè)界面是一個(gè)activity,并在activity中加載這些用戶UI界面。在value文件夾中定義字符串信息,整個(gè)系統(tǒng)結(jié)構(gòu)根據(jù)Google公司公布的Android軟件開發(fā)目錄結(jié)構(gòu)來進(jìn)行。5.1.1系統(tǒng)部署圖系統(tǒng)部署圖如下圖5-1所示,本系統(tǒng)是基于Android系統(tǒng)的手機(jī)端應(yīng)用軟件,是一款輕量級(jí)手機(jī)應(yīng)用軟件,其中不涉及到網(wǎng)絡(luò)應(yīng)用,所以不存在服務(wù)器,其中軟件部署運(yùn)行存在兩種方式,一種是IDE集成開發(fā)環(huán)境的模擬器,另一種則是基于Android系統(tǒng)的只能終端手機(jī)系統(tǒng)。本系統(tǒng)軟件在Android模擬器和移動(dòng)手持設(shè)備下的安裝部署圖。系統(tǒng)部署圖如下圖(5-1)所示:Android模擬器Android模擬器軟件運(yùn)行安裝IDE集成開發(fā)環(huán)境IDE集成開發(fā)環(huán)境Android系統(tǒng)Android系統(tǒng)智能手機(jī)AndroidAPK包AndroidAPK包軟件打包install圖5-1系統(tǒng)部署圖5.2用戶基本功能用戶功能基本分為添加賬單,查詢賬單,修改賬單三大功能。各項(xiàng)功能模塊如下描述。歡迎界面,代碼解釋如下:界面設(shè)計(jì)采用RelativeLayout(相對(duì)布局)。分兩大塊兒,ImageView與TextView。//ImageView直接引用drawable里的圖片,再做簡單的調(diào)整。(此處省略代碼)<TextViewandroid:id="@+id/TextView01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"http://設(shè)置組件左對(duì)齊android:layout_below="@+id/ImageView01"android:layout_marginTop="20dp"http://設(shè)置組件距離頂部的距離android:text="@string/welcome">//設(shè)置組件的文字引用來源</TextView>界面效果圖,如圖(5-2)所示:圖5-2等待進(jìn)入軟件界面5.2.1增加賬單模塊用戶進(jìn)行日常的收入支出信息管理。界面設(shè)計(jì)代碼://整個(gè)界面選擇用線型布局,這樣明了,且方便修改。//第一個(gè)線型布局。線型布局里套用線型布局更合適。 <LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content"http://將高與寬設(shè)置為:根據(jù)內(nèi)容自動(dòng) android:layout_height="wrap_content">//拉伸//線型的第一欄為“帳目類型”。將其設(shè)置為TextView,大小布局等根據(jù)整體布局。//第二個(gè)線型布局,分為左右TextView、EditText、TextView//左邊設(shè)置TextView,將其設(shè)置為“填入金額”。 <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="填入金額" android:minWidth="80dip" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>//中間設(shè)置為EditText,將其設(shè)置為用戶輸入金額的輸入欄。//右邊設(shè)置為TextView,只顯示輸入金額的單位,為“元”。 <TextView android:id="@+id/TextView13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="(元)" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>//第三個(gè)線型布局,設(shè)置TextView為“選擇時(shí)間”。此處省略代碼。//第四個(gè)線型布局,設(shè)置增加賬單的Date與time。下面只是“Date”的設(shè)置,“time”的設(shè)置類似,所以省略不寫。 <TextView android:id="@+id/vdate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:width="120dip"></TextView>//添加組件Button為“+”,點(diǎn)擊“+”即可修改時(shí)間(默認(rèn)時(shí)間為當(dāng)前時(shí)間)。 <Button android:id="@+id/BtnDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:height="30dip" android:text="+" android:textSize="24dip"http://設(shè)置“+”的大小 android:textStyle="bold">//設(shè)置字體為加粗</Button>//第五個(gè)線型布局,設(shè)置選擇賬單是“個(gè)人或是公司”。//這里需要一個(gè)下拉列表(Spinner),用來選擇個(gè)人/公司。 <Spinner android:id="@+id/Spinner01" android:layout_width="175dp" android:layout_height="63dp" android:layout_weight="0.57" android:minWidth="200dip"></Spinner>//接下來是“備注”一欄,與編輯框EditText的設(shè)置。(此處省略)//最后是兩個(gè)按鈕“保存”、“取消”的設(shè)置。(省略取消) <Button android:id="@+id/BtnSave" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" android:textSize="24dip" android:textStyle="bold" android:width="160dip"></Button>增加賬單界面,如圖(5-3)所示:圖5-3增加賬單界賬目類型有支出與收入,如圖(5-4)所示:圖5-4賬目類型界面其中支出又包括生活用品、水電煤氣費(fèi)、汽油費(fèi)、其他幾項(xiàng),如圖(5-5)所示:收入包括工資與其他兩項(xiàng),如圖(5-6)所示:圖5-5收入類型圖5-6支出類型填入金額:金額可為整數(shù)與小數(shù)部分。//設(shè)置日期與時(shí)間的修改protectedvoidonPrepareDialog(intid,Dialogdialog){switch(id){case1: ((TimePickerDialog)dialog).updateTime(mHour,mMinute);break;case2:((DatePickerDialog)dialog).updateDate(mYear,mMonth-1,mDay);break;}}privateDatePickerDialog.OnDateSetListenermDateSetListener=newDatePickerDialog.OnDateSetListener(){publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,intdayOfMonth){mYear=year;mMonth=monthOfYear+1;mDay=dayOfMonth;setDatetime();}};privateTimePickerDialog.OnTimeSetListenermTimeSetListener=newTimePickerDialog.OnTimeSetListener(){publicvoidonTimeSet(TimePickerview,inthourOfDay,intminute){mHour=hourOfDay;mMinute=minute;setDatetime();}};privatestaticStringpad(intc){if(c>=10)returnString.valueOf(c);elsereturn"0"+String.valueOf(c);}}

選擇時(shí)間:時(shí)間有年月日,幾點(diǎn)幾分。效果圖,如圖(5-7)、圖(5-8)所示:圖5-7日期修改圖5-8時(shí)間修改//設(shè)置日期,year,month,day。以下是實(shí)現(xiàn)代碼: privatevoidinitTime(){ Calendarc=Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); mYear=c.get(Calendar.YEAR);mMonth=c.get(Calendar.MONTH)+1;mDay=c.get(Calendar.DAY_OF_MONTH);mHour=c.get(Calendar.HOUR_OF_DAY);mMinute=c.get(Calendar.MINUTE); }//設(shè)置時(shí)間,hour,minute privatevoidsetDatetime(){ mDate.setText(mYear+"-"+mMonth+"-"+mDay);mTime.setText(pad(mHour)+":"+pad(mMinute));}//設(shè)置對(duì)話框,彈出日期、時(shí)間protectedDialogonCreateDialog(intid){switch(id){case1:returnnewTimePickerDialog(this,mTimeSetListener,mHour,mMinute,false);case2:returnnewDatePickerDialog(this,mDateSetListener,mYear,mMonth-1,mDay);}returnnull;}公司/個(gè)人:賬目類型要分開是個(gè)人的還是公司。如圖(5-9)所示:圖5-9記賬類型備注:備注是為了以后用戶查賬的時(shí)候清晰明了。保存與取消按鈕:直接選擇是否保存。//當(dāng)添加賬單完成之后,點(diǎn)擊“保存”按鈕,保存成功;點(diǎn)擊“取消”按鈕,取消保存。以下是實(shí)現(xiàn)代碼: publicvoidonClick(Viewv){ if(v.equals(edittext_acctitem)){ Log.v("ColaBox","cmd=edittext_acctitem");//test Editorsharedata=getSharedPreferences("data",0).edit(); sharedata.putString("item","hellogetSharedPreferences"); mit(); Intentintent=newIntent(); intent.setClass(Frm_Addbills.this,Frm_Editacctitem.class); startActivityForResult(intent,RG_REQUEST); }elseif(v.equals(BtnTime)){ showDialog(1); }elseif(v.equals(BtnDate)){ showDialog(2); }elseif(v.equals(BtnCancel)){ cancel(); }elseif(v.equals(BtnSave)){ save(); } } intfee=0; Strings=Fee.getText().toString(); intpos=s.indexOf("."); //Log.v("cola","i="+(s.length()-pos)); if(pos>0){ if(s.length()-pos<3){ s=s+"0"; } fee=Integer.parseInt(s.substring(0,pos)+s.substring(pos+1,pos+3)); }else{ fee=Integer.parseInt(s)*100; } Log.v("cola","uputsavebtn"); if(billdb.Bills_save(acctitemid,fee,(int)s1.getSelectedItemId(),((TextView)mDate).getText().toString(),((TextView)mTime).getText().toString(),EditTextDESC.getText().toString())){ Toast.makeText(this,"保存成功.",Toast.LENGTH_SHORT).show();//如果保存成功,彈出toast“保存成功”。 cancel(); }else{//如果保存失敗,彈出toast“保存失敗,請(qǐng)檢查數(shù)據(jù)”。 Toast.makeText(this,"保存失敗,請(qǐng)檢查數(shù)據(jù).",Toast.LENGTH_SHORT).show(); } } publicbooleanonKeyDown(intkeyCode,KeyEventevent){ switch(keyCode){ caseKeyEvent.KEYCODE_BACK: QuitApp(); returntrue;} returnfalse; }5.2.2查詢賬單模塊主界面,點(diǎn)擊“menu”時(shí),出現(xiàn)如圖(5-10)所示:圖5-10“menu”顯示界面點(diǎn)擊“賬目清單”,進(jìn)行賬單查詢。點(diǎn)擊“退出”,退出該軟件。點(diǎn)擊“關(guān)于私賬本”,顯示該軟件基本信息。代碼如下:publicbooleanonCreateOptionsMenu(Menumenu){ super.onCreateOptionsMenu(menu); menu.add(0,1,0,"賬目清單").setIcon(R.drawable.editbills); menu.add(0,4,0,"退出").setIcon(R.drawable.quit); menu.add(0,5,0,"關(guān)于私賬本"); returntrue;}publicbooleanonOptionsItemSelected(MenuItemitem){ //Log.v("ColaBox","getmenuitemid="+item.getItemId()); switch(item.getItemId()){ case1: Intentintent=newIntent(); //intent.setClass(Frm_Addbills.this,Grid_bills.class); intent.setClassName(Frm_Addbills.this,"com.cola.ui.Grid_bills");; startActivity(intent); returntrue; case4: QuitApp(); returntrue; case5: newAlertDialog.Builder(this) .setTitle("私賬本") .setMessage("作者:米萬珠Email:miwanzhu@163.com") .show(); returntrue;} returnfalse;}點(diǎn)擊“關(guān)于私賬本”,會(huì)出現(xiàn)如圖(5-11)所示界面:圖5-11軟件基本信息界面

點(diǎn)擊“賬目清單”,出現(xiàn)如圖(5-12)所示界面:圖5-12查詢賬單主界面點(diǎn)擊“menu”時(shí),會(huì)彈出“選擇月份”。如圖(5-13)所示界面:圖5-13“menu”界面點(diǎn)擊“選擇月份”,彈出對(duì)話框,如圖(5-14)所示界面:圖5-14選擇月份界面5.2.3刪除帳單模塊長按某項(xiàng)明細(xì),彈出警示對(duì)話框。退出程序(點(diǎn)擊“退出”或是“”按鈕)時(shí),彈出提示對(duì)話框。//以下是退出時(shí),彈出對(duì)話框的設(shè)置(刪除對(duì)話框類似,故省略) publicvoidQuitApp(){ newAlertDialog.Builder(Frm_Addbills.this).setTitle("注意!").setMessage("確定退出?").setIcon(R.drawable.jinggao).setPositiveButton("確定", newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ billdb.close(); finish();} }).setNegativeButton("再看看", newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ } }).show();}長按某項(xiàng)明細(xì),彈出警示對(duì)話框,如圖(5-15)所示對(duì)話框:退出程序(點(diǎn)擊“退出”或是“”按鈕)時(shí),彈出如圖(5-16)所示對(duì)話框:圖5-15刪除警示對(duì)話框圖5-16退出警示對(duì)話框6系統(tǒng)測試與性能分析軟件測試是軟件開發(fā)中的重中之重,在項(xiàng)目管理過程中,強(qiáng)調(diào)的是每個(gè)過程的每一個(gè)環(huán)節(jié)都要進(jìn)行測試,保證系統(tǒng)在每個(gè)階段可以控制軟件的測試在軟件生命周期中占據(jù)重要的地位。在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。本章主要就各個(gè)模塊主要的增、刪、改、查功能進(jìn)行反復(fù)測試,即信息查詢模塊、留言發(fā)布模塊、用戶注冊(cè)模塊作為功能作為測試對(duì)象,通過反復(fù)大量的測試,每個(gè)模塊均測試成功。6.1軟件測試6.1.1軟件測試概述軟件測試是以發(fā)現(xiàn)軟件的缺陷為目的,使軟件運(yùn)行,并將軟件不運(yùn)行所產(chǎn)生的危險(xiǎn)性降低到允許的范圍(1)軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;(2)測試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤;(3)一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;(4)一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。測試的主要目的并不僅僅是為了找出錯(cuò)誤,而是通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。6.1.2系統(tǒng)整體測試步驟=1\*GB2⑴單元測試單體測試是整體測試中的第一步,是對(duì)單個(gè)模塊或者是一個(gè)函數(shù)等更小單位的測試在源程序代碼經(jīng)過編譯、評(píng)審、確認(rèn)沒有語法錯(cuò)誤之后,便可開始進(jìn)行單體測試。=2\*GB2⑵集成測試是指都多個(gè)模塊組合起來后進(jìn)行的測試。集成測試在單元測試完成之后,將所有的模塊概要設(shè)計(jì)要求組裝成系統(tǒng)時(shí)進(jìn)行的測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。=3\*GB2⑶回歸測試是指是指修復(fù)或調(diào)整好軟件環(huán)境之后進(jìn)行測試,目的在于驗(yàn)證以前出現(xiàn)過但已修復(fù)好的缺陷不再重新出現(xiàn)。=4\*GB2⑷系統(tǒng)測試系統(tǒng)測試是更大范圍內(nèi)進(jìn)行測試,它是指整個(gè)系統(tǒng)的所有模塊都結(jié)合起來以后進(jìn)行的測試。=5\*GB2⑸差分測試差分測試是是指只對(duì)整個(gè)系統(tǒng)中新變更功能的相關(guān)部分的測試,更進(jìn)一步的檢驗(yàn)系統(tǒng)的完整性、可靠性。6.2個(gè)人記賬本系統(tǒng)測試為了測試系統(tǒng)的正確性和完整性,本節(jié)將對(duì)系統(tǒng)中重點(diǎn)模塊的測試進(jìn)行介紹。6.2.1增加賬單模塊測試首先進(jìn)入增加賬單界面,點(diǎn)擊“賬目類型”選擇,輸入金額,選擇時(shí)間,選擇公司/個(gè)人,添加備注。下面進(jìn)行各項(xiàng)測試:當(dāng)“賬目類型”沒有選擇時(shí)保存,彈出“請(qǐng)首先選擇賬目”,如圖(6-1)所示:圖6-1為空提示對(duì)話框設(shè)置代碼如下://以下是測試內(nèi)容的一項(xiàng)。當(dāng)沒有輸入賬目類型時(shí),彈出提示。 privatevoidsave(){ Log.v("cola","uputsavebtn"); if(acctitemid==-1){ newAlertDialog.Builder(this) .setMessage("請(qǐng)首先選擇賬目.")//設(shè)置彈出內(nèi)容為 .show(); return; }“填入金額”整數(shù)與小數(shù)均可。“備注”添加與不添加均能保存成功。該模塊測試成功。6.2.2查詢賬單模塊測試點(diǎn)擊“menu”按鈕時(shí),彈出對(duì)話框,選擇“賬目清單”,彈出正確的“私賬本-賬目明細(xì)”。每條明細(xì)包括“賬目”、“費(fèi)用(元)”、“日期”、“備注”。界面的下半部分會(huì)顯示當(dāng)月的消費(fèi)情況,包括“收入”、“支出”、“小計(jì)”三項(xiàng)。當(dāng)再次點(diǎn)擊“menu”按鈕時(shí),會(huì)彈出“選擇月份”。點(diǎn)擊“選擇月份”,進(jìn)入詳細(xì)月份的賬單查詢。該模塊測試成功。6.2.3刪除賬單模塊測試當(dāng)長按某項(xiàng)想刪除的明細(xì)時(shí),會(huì)彈出警示對(duì)話框,確定刪除與否。點(diǎn)擊“確定”刪除成功,點(diǎn)擊“取消”放棄刪除。該模塊測試成功。6.2.4測試結(jié)果評(píng)價(jià)測試結(jié)果顯示本軟件已實(shí)現(xiàn)需求中基本功能,能滿足用戶實(shí)現(xiàn)生活中的簡單的消費(fèi)記錄與查詢賬目,幫助用戶實(shí)現(xiàn)自主理財(cái)。存在的不足是系統(tǒng)功能還不是特別完善,系統(tǒng)界面設(shè)計(jì)美觀程度還達(dá)不到一個(gè)很好的用戶體驗(yàn),建議以后對(duì)這些模塊進(jìn)行完善。此次測試目的在于發(fā)現(xiàn)系統(tǒng)缺陷與漏洞,從測試結(jié)果中沒有發(fā)現(xiàn)嚴(yán)重系統(tǒng)缺陷。

總結(jié)現(xiàn)實(shí)生活中,幾乎人人都擁有一臺(tái)自己的手機(jī)或者其他的手持電子設(shè)備,相當(dāng)一部分已經(jīng)使用上了智能系統(tǒng)的電子設(shè)備,手機(jī)在人們生活中的地位越來越重要。人們的生活水平也在不斷提高,但消費(fèi)觀念卻變得紊亂起來。沒有一個(gè)很好的理財(cái)觀念,會(huì)讓生活煩亂起來。本系統(tǒng)的主要目的就是幫助用戶實(shí)現(xiàn)合理理財(cái)。經(jīng)過近幾個(gè)月的設(shè)計(jì)和開發(fā),基于Android的個(gè)人記賬本基本開發(fā)完成.其功能基本符合用戶需求,能夠完成用戶的簡單記賬、查賬、刪賬的基本功能。在整個(gè)開發(fā)過程中,一直按照軟件工程的思路,從系統(tǒng)分析、需求分析,到系統(tǒng)設(shè)計(jì),再到系統(tǒng)實(shí)施與調(diào)試,讓我對(duì)整個(gè)系統(tǒng)的開發(fā)過程有了一個(gè)比較直觀的、全局的概念,也使我較合理地安排了整個(gè)設(shè)計(jì)的時(shí)間。由于個(gè)人經(jīng)驗(yàn)不足,私賬本軟件仍存在一些不足的地方,還需要進(jìn)一步改進(jìn)。由于時(shí)間和其他客觀條件的約束,本軟件暫時(shí)實(shí)現(xiàn)了目前的這些基本功能,完善的工作,如實(shí)現(xiàn)用戶密碼登陸,實(shí)現(xiàn)聯(lián)網(wǎng)股票查詢等還待日后完成。通過畢業(yè)論文的設(shè)計(jì)與畢業(yè)系統(tǒng)的開發(fā),我學(xué)到了很多知識(shí),也掌握了一些開發(fā)工具的使用,為自己日后的提高打下了良好的基礎(chǔ)。同時(shí),我也知道自己存在很多的不足之處在今后的學(xué)習(xí)中,我定會(huì)加強(qiáng)學(xué)習(xí),不斷充實(shí)自己。參考文獻(xiàn)[1]趙亮,張維.基于Android技術(shù)的界面設(shè)計(jì)與研究[J].電腦知識(shí)與技術(shù).2009(29)[2]宋小倩,周東升.基于Android平臺(tái)的應(yīng)用開發(fā)研究[J].軟件導(dǎo)刊.2011(02)[3]劉東明.移動(dòng)互聯(lián)網(wǎng)發(fā)展分析[J].信息通信技術(shù).2010(04)[4]季光獻(xiàn).Android系統(tǒng)環(huán)境下應(yīng)用前景與開發(fā)研究[J].軟件.2011(10)[5]公磊,周聰.基于Android的移動(dòng)終端應(yīng)用程序開發(fā)與研究[J].計(jì)算機(jī)與現(xiàn)代化.2008(08)[6]李寧.實(shí)現(xiàn)基于Android的日歷系統(tǒng)[J].電腦編程技巧與維護(hù).2011(05)[7]朱婷婷,李惠.基于Android的應(yīng)用軟件的綜述[J].電腦與電信.2011(01)[8]朱仁歡.移動(dòng)消息中間件的研究與設(shè)計(jì)[D].浙江工業(yè)大學(xué)[9]DanielSilverman.Phonologyattheinterfaceofphoneticsandmorphology:Root-finallaryngealsinChong,Korean,andSanskrit[J].JournalofEastAsianLinguistics.1996(3)[10]PatrickP.F.Chan,LucasC.K.Hui,S.M.Yiu.APrivilegeEscalationVulnerabilityCheckingSystemforAndroidApplications[A].Proceedingsof2011IEEE13thInternationalConferenceonCommunicationTechnology(ICCT2011)[C].2011[11]MSharpe.The21stcenturyanalyst:developmentsindataanalysisandvisualisation..[J].Journalofenvironmentalmonitoring:JEM,2002,4(3)[12]Joo.Encouragingcustomerstopaylessformobiletelecommunicationservices.[J].TheJournalofDatabaseMarketing,2002,9(4)致謝在本次畢業(yè)設(shè)計(jì)過程中,得到了胡莉老師的指導(dǎo)與支持。通過本次畢業(yè)設(shè)計(jì)使學(xué)會(huì)了很多東西,不僅僅是技術(shù)上的,更多的是精神上,以及工作經(jīng)驗(yàn)上的收獲。首先,我向胡莉老師以及各位授課老師致以誠摯的敬意和由衷的感謝。從論文的選題到論文的完成,他們給予了我悉心的指導(dǎo),嚴(yán)格的審查,使我獲益良多。其次,我也很感謝在開題檢查時(shí)老師給我提出寶貴意見。最后,感謝在畢業(yè)設(shè)計(jì)中給我提供幫助同學(xué)們,謹(jǐn)此向你們表示由衷的謝意!時(shí)光匆匆,轉(zhuǎn)眼間我們的大學(xué)生活即將結(jié)束,四年的大學(xué)生活。四年的生活是美好的、耐人回味的。謝謝你們,我敬愛的老師,是你們無私地傳授給我們知識(shí),也教會(huì)我們?nèi)绾巫鋈恕Vx謝你們,我親愛的同學(xué)們,是你們教會(huì)了我什么叫做責(zé)任,怎樣更好的做自己。這幾個(gè)月的設(shè)計(jì),我感到自己的知識(shí)得到了一次升華,我相信我的畢業(yè)設(shè)計(jì)定會(huì)給我的四年大學(xué)畫上一個(gè)圓滿的句號(hào)。外文原文AndroidApplicationFundamentalsAndroidapplicationsarewrittenintheJavaprogramminglanguage.TheAndroidSDKtoolscompilethecode—alongwithanydataandresourcefiles—intoanAndroidpackage,anarchivefilewithan.apksuffix.Allthecodeinasingle.apkfileisconsideredtobeoneapplicationandisthefilethatAndroid-powereddevicesusetoinstalltheapplication.Onceinstalledonadevice,eachAndroidapplicationlivesinitsownsecuritysandbox:TheAndroidoperatingsystemisamulti-userLinuxsysteminwhicheachapplicationisadifferentuser.Bydefault,thesystemassignseachapplicationauniqueLinuxuserID(theIDisusedonlybythesystemandisunknowntotheapplication).ThesystemsetspermissionsforallthefilesinanapplicationsothatonlytheuserIDassignedtothatapplicationcanaccessthem.Eachprocesshasitsownvirtualmachine(VM),soanapplication'scoderunsinisolationfromotherapplications.Bydefault,everyapplicationrunsinitsownLinuxprocess.Androidstartstheprocesswhenanyoftheapplication'scomponentsneedtobeexecuted,thenshutsdowntheprocesswhenit'snolongerneededorwhenthesystemmustrecovermemoryforotherapplications.Inthisway,theAndroidsystemimplementstheprincipleofleastprivilege.Thatis,eachapplication,bydefault,hasaccessonlytothecomponentsthatitrequirestodoitsworkandnomore.Thiscreatesaverysecureenvironmentinwhichanapplicationcannotaccesspartsofthesystemforwhichitisnotgivenpermission.However,therearewaysforanapplicationtosharedatawithotherapplicationsandforanapplicationtoaccesssystemservices:It'spossibletoarrangefortwoapplicationstosharethesameLinuxuserID,inwhichcasetheyareabletoaccesseachother'sfiles.Toconservesystemresources,applicationswiththesameuserIDcanalsoarrangetoruninthesameLinuxprocessndsharethesameVM(theapplicationsmustalsobesignedwiththesamecertificate).Anapplicationcanrequestpermissiontoaccessdevicedatasuchastheuser'scontacts,SMSmessages,themountablestorage(SDcard),camera,Bluetooth,andmore.Allapplicationpermissionsmustbegrantedbytheuseratinstalltime.ThatcoversthebasicsregardinghowanAndroidapplicationexistswithinthesystem.Therestofthisdocumentintroducesyouto:Thecoreframeworkcomponentsthatdefineyourapplication.Themanifestfileinwhich

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論