【正文】
用例目的:驗(yàn)證修改記錄信息功能的實(shí)現(xiàn)。 表 添加記錄測試 序號 輸入 /動(dòng)作 期望的輸出 實(shí)際情況 測試結(jié)果 1 填寫錯(cuò)誤信息 提示添加失敗 提示添加失敗 彈出警告 2 輸入標(biāo)題和內(nèi)容 記錄成功在頁面中顯示 添加成功 正確 ( 2)修改記錄測試用例,具體如表 所示。 用例目的:驗(yàn)證添加記錄信息功能的實(shí)現(xiàn)。 系統(tǒng)測試 ( 1)添加記錄測試用例,具體如表 所示。 系統(tǒng)測試 計(jì)劃 在系統(tǒng)的開發(fā)和設(shè)計(jì)過程中,對系統(tǒng)做了如下幾個(gè)方面的測試: ( 1)功能及正確性測試:對后臺(tái)記錄信息的增、刪、改、查等操作的測試。 按照軟件測試用例的設(shè)計(jì)方法而論,軟件測試可以分為白盒測試和黑盒測試法。 測試方案及測試用例 軟件測試是對軟件質(zhì)量保證的關(guān)鍵步驟,它是在軟件投入運(yùn)行前,對軟件的需求分析、軟件規(guī)格說明和編碼實(shí)現(xiàn)的最終審查。 } 找畢業(yè)設(shè)計(jì) 、 項(xiàng)目源碼 、 編程視頻 , 就上碼農(nóng)網(wǎng) manong365 33 第 6 章 系統(tǒng)測試 為了提高本應(yīng)用程序的質(zhì)量,使應(yīng)用程序的使用更加人性化,友好化,一個(gè)完整的軟件測試是必不可少的。 order by id desc, null)。 Cursor cursor = ( select id,title from t_records where record_date=39。 (sql)。其中的刪除數(shù)據(jù)的代碼如下: public void deleteRecord(int id) { String sql = delete from t_records where id = + id。 在日程應(yīng)用程序的 DBService類中同樣實(shí)現(xiàn)了上述的三個(gè)方法來創(chuàng)建數(shù)據(jù)庫和一些操作。 ?onCreate()方法,它需要一個(gè) SQLiteDatabase對象作為參數(shù),根據(jù)需要對這個(gè)對象填充表和初始化數(shù)據(jù)。 SQLiteOpenHelper的子類,至少需要實(shí)現(xiàn)三個(gè)方法: ?構(gòu)造函數(shù),調(diào)用父類 SQLiteOpenHelper的構(gòu)造函數(shù)。 Android提供了 SQLiteOpenHelper幫助我們創(chuàng)建一個(gè)找畢業(yè)設(shè)計(jì) 、 項(xiàng)目源碼 、 編程視頻 , 就上碼農(nóng)網(wǎng) manong365 32 數(shù)據(jù)庫,我們只要繼承 SQLiteOpenHelper類,就可以輕松創(chuàng)建數(shù)據(jù)庫。 Android不自動(dòng)提供數(shù)據(jù)庫。對數(shù)熟悉 SQL 的開發(fā)人員來時(shí),使用 SQLite 相當(dāng)簡單。 數(shù)據(jù)庫存儲(chǔ)方式 SQLite 是一款非常流行的嵌入式數(shù)據(jù)庫,它支持 SQL 查詢,并且只用很少的內(nèi)存。 (arrayAdapter)。 int id = (index)。 if (index 0) return false。 刪除記錄菜單的事件代碼 如下: AllRecord allRecord = (AllRecord) activity。 if (index 0) return false。 修改記錄菜單的事件代碼如下: AllRecord allRecord = (AllRecord) activity。這三個(gè)菜單事件的代碼如下: 增加記錄菜單的事件代碼: Intent intent = new Intent(activity, )。 ().setBackgroundDrawable(drawable)。 } Resources res = getResources()。 while (()) { ((1))。 else ()。 if (recordArray == null) recordArray = new ArrayListString()。 day = getIntent().getExtras().getInt(day)。 year = getIntent().getExtras().getInt(year)。當(dāng)單 擊主界面選項(xiàng)菜單中的“記錄 /提醒”菜單項(xiàng),會(huì)進(jìn)入記錄列表界面,如圖 所示,通過該界面的選項(xiàng)菜單,可以對所記錄的信息進(jìn)行增、刪、改、查操作。 ()。 adMyDate = ()。 (, , , this)。 找畢業(yè)設(shè)計(jì) 、 項(xiàng)目源碼 、 編程視頻 , 就上碼農(nóng)網(wǎng) manong365 29 圖 指定課表界面 首先需要在單擊選項(xiàng)菜單時(shí)顯示如圖 所示的設(shè)置課表的對話框,菜單單擊事件的代碼如下: builder = new (activity)。 下面為布局文件 的代碼。 該代碼主要把日程應(yīng)用程序的主界面展現(xiàn)在用戶面前。 calendarView = new CalendarView(this)。其主要代碼如下: LinearLayout mainLayout = (LinearLayout) getLayoutInflater().inflate( , null)。 圖 系統(tǒng)啟動(dòng)主界面 Android 的每一個(gè)可視化界面都有一個(gè)唯一的 布局配置文件,該 文件里面有許多種布局方式,和各種資源文件如圖像,文字,顏色,本程序在運(yùn)行時(shí),可以通過代碼對各找畢業(yè)設(shè)計(jì) 、 項(xiàng)目源碼 、 編程視頻 , 就上碼農(nóng)網(wǎng) manong365 28 配置文件里面的內(nèi)容進(jìn)行讀取以完成 Android 應(yīng)用程序的界面。 找畢業(yè)設(shè)計(jì) 、 項(xiàng)目源碼 、 編程視頻 , 就上碼農(nóng)網(wǎng) manong365 27 第 5 章 系統(tǒng)實(shí)現(xiàn) 應(yīng)用程序功能實(shí)現(xiàn) 本系統(tǒng)的主要功能所用到類以及其作用,具體如表 系統(tǒng)結(jié)構(gòu)類圖說明所示。 根據(jù)用戶的記錄信息的需求,數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)就包含一個(gè)表 t_records,其字段見 表 所示。為了逐漸完善數(shù)據(jù)庫設(shè)計(jì)的方法,必須遵守?cái)?shù)據(jù)庫的相關(guān)的規(guī)范化理論。數(shù)據(jù)庫的邏輯設(shè)計(jì)決定了一個(gè)數(shù)據(jù)庫及其應(yīng)用的整體性能和調(diào)優(yōu)位置。 ER 圖 將現(xiàn)實(shí)世界的信息結(jié)構(gòu)統(tǒng)一用屬性、實(shí)體 和 它們之間的聯(lián)系來描述 ,而本應(yīng)用程序最終設(shè)計(jì)出的實(shí)體只有記錄這一個(gè),下面就說明這個(gè)實(shí)體。概念模型使設(shè)計(jì)開發(fā)者的注意力能夠從繁雜的實(shí)現(xiàn)細(xì)節(jié)中解脫出來,而不僅僅只集中在最重要的信息的處理模式和組織結(jié)構(gòu)上。按照軟件的生命周期的思路,能把數(shù)據(jù)庫的應(yīng)用系統(tǒng)從開始的規(guī)劃到最后被新系統(tǒng)所取代而停止使用的整個(gè)期間稱之為數(shù)據(jù)庫系統(tǒng)的生存期。 數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ)和核心,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息。 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)的概述 數(shù)據(jù)庫設(shè)計(jì)是建立在數(shù)據(jù)庫及其應(yīng)用系統(tǒng)上的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù)。 ( 2) 同樣繼承了 ListActivity,把添加、刪除、修改記錄的界面放 置在虛擬機(jī)上,并寫了內(nèi)部類來定義觸發(fā)事件的方法。 24 Re c o r d+e t T it le : E d it T e x t+e t C on t e n t : E d it T e x t+e d it : b ool e a n+re m in d T im e : S t ri n g+on C re a t e ( ) : v oi d+on M e n u I t e m C lic k ( ) : b ool e a n+O n S a v e M e n u I t e m C lic k ( )+on C lic k ( ) : v oi d+on C re a t e O p t ion s M e n u ( ) : v oi dA c t iv it yG r idA llRe c o r d+re c or d A rr a y : L is t S t ri n g +a rr a y A d a p t e r: A rr a y A d a p t e rS t ri n g +i d L is t : L is t I n t e g e r+m y L is t A c t iv it y : L is t A c t iv it y+on C re a t e ( ) : v oi d+on L is t I t e m C lic k ( ) : v oi d+s t a rt E d it R e c or d A c t iv it y ( ) : v oi d+on M e n u I t e m C lic k ( ) : b ool e a nD B Se r v ic e+D A T A B A S E _V E R S I O N : in t+D A T A B A S E _N A M E : S t ri n g+on C re a t e ( ) : v oi d+D B S e rv ic e ( )+on U p g ra d e ( ) : v oi d+i n s e rt R e c or d ( ) : v oi d+d e le t e R e c or d ( ) : v oi d+g e t M a x I d ( ) : in t+q u e ry ( ) : C u rs orSQ L it e O p e n H e lp e r 圖 記錄類圖 本應(yīng)用程序的記錄信息方面,除了用到普通的類還要關(guān)聯(lián)數(shù)據(jù)庫,并把用戶添加的記錄信息放到數(shù)據(jù)庫中。 ( 4) 此類是本日歷應(yīng)用程序的核心類,它的主要作用是封裝了日歷和處理一些事務(wù)的方法,主要方法具體見表 所示。 ( 2) 在構(gòu)造方法里引用 Grid 類,并把邊框和日期全都加到日歷的顯示主界面中,然后繼承 ,去實(shí)現(xiàn)這個(gè) draw() 方法繪制日歷。 ( 1) 主要封裝了顯示界面的一些尺寸大小和顏色,除此之外實(shí)現(xiàn)了 的接口,實(shí)現(xiàn)了 draw() 方法,以便讓后面的類實(shí)現(xiàn)這個(gè)類,就可以繪制日歷了。 其中日期的繪制類圖如圖 所示。 7).包管理器 (Package Manager):Android 系統(tǒng)內(nèi)的程序管理。 5).活動(dòng)管理器 (Activity Manager):用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。 3).資源管理器 (Resoure Manager):提供非代碼資源的訪問,如本地字符串、圖形和布局文件 (layout file)。 Android 提供了如下一些組件: 1). 豐富而又可擴(kuò)展的視圖:可以用來構(gòu)建應(yīng)用程序,它包括列表 (List)、網(wǎng)絡(luò) (Grid)、文本框 (TextBox)、按鈕 (Button),以 及可嵌入的 Web 游覽器。 (2). 應(yīng)用框架層。應(yīng)用層是用 Java 語言編寫的運(yùn)行在虛擬機(jī)上的程序。 Google android 平臺(tái)的系統(tǒng)構(gòu)架圖如下所示: 21 圖 Android 分為四層,從上層到底層分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫層和 Linux內(nèi)核層。進(jìn)入程序界面后,就 可以很清晰地感受到該 程序 的設(shè)計(jì) 所 遵循的 一貫原則,就是從人性化 和智能 化的角度出發(fā), 很好的為用戶服務(wù) 。 該 程序 的功能會(huì)隨著 時(shí)代的發(fā)展及用戶的需要 不斷的擴(kuò)展,因此這個(gè) 程序 需要不斷的進(jìn)行功能的升級和修改。 MVC 模式要求對應(yīng)用分層,雖然要做 許多 額外的工作,但 程序 的結(jié)構(gòu)清晰,可擴(kuò)展性強(qiáng)、產(chǎn)品的應(yīng)用 性 通過 MVC 模式可以得到更好地體現(xiàn)。 SQLite 雖然占用的資源很小,但是它支持的 SQL 語句絕對不會(huì)比其他開源數(shù)據(jù)庫的差,同時(shí)它還支持事務(wù)處理功能等等。 SQLite 設(shè)計(jì)目標(biāo)是嵌入式的程序,它是是一款非常輕型的數(shù)據(jù)庫,而且目前已經(jīng)在很多嵌入 式的產(chǎn)品中使用了它,它占用的資源非常的低,在嵌入式的設(shè)備中,可能只僅僅需要幾百 K 的內(nèi)存就足夠了,因此能夠很大程度上節(jié)約系統(tǒng)的內(nèi)存。本程序的開發(fā)符合軟件設(shè)計(jì)所遵循的幾大原則,符合人們的邏輯思維習(xí)慣,所以本程序的設(shè)計(jì)為以后的程序升級留有很大的空間。 ( 3) 經(jīng)濟(jì)可行性 經(jīng)過各方面 詳細(xì) 謹(jǐn)慎的調(diào)研,采取了經(jīng)濟(jì)高效的開 發(fā) , 以 及科學(xué)的 設(shè)計(jì) 開發(fā)方法,以達(dá)到降低程序的開發(fā)成本。 ( 2) 管理可行性 通過采用系統(tǒng)結(jié)構(gòu)化的設(shè)計(jì)開發(fā)方法 , 將整個(gè)程序劃分為多個(gè)模塊,獨(dú)立管理維護(hù),這樣當(dāng)某一個(gè)類出現(xiàn)錯(cuò)誤,就可以直接找到這個(gè)模塊進(jìn)行修改,而不用去每個(gè)類文件進(jìn)行修改。該應(yīng)用程序基于 Android 系統(tǒng),該系統(tǒng)提供了非常友好的界面和容易實(shí)現(xiàn)的操作,它 的安全性,靈活性 和 易用性為數(shù)據(jù)庫 和 編程提供良好的條件。 進(jìn) 入 設(shè) 置時(shí) 間 界 面設(shè) 置 時(shí) 間設(shè) 置 成 功 圖 設(shè)置提醒時(shí)間流程圖 系統(tǒng)開發(fā)環(huán)境 ( 1) 軟件環(huán)境 開發(fā)環(huán)境: 、 Eclipse 、 ADT 數(shù)據(jù)庫: SQLite 數(shù)據(jù)庫 Android 環(huán)境: Android SDK ( 2) 硬件環(huán)境 筆記本電腦(任何一部配置電腦即可) 19 系統(tǒng)任務(wù)的可行性分析 ( 1) 技術(shù)及開發(fā)方法可行性 該應(yīng)用程序 使用 的是 最主流和前沿的