[論文精品]嵌入式軟件開發課程設計(Android應用程序、Android游戲)_第1頁
[論文精品]嵌入式軟件開發課程設計(Android應用程序、Android游戲)_第2頁
[論文精品]嵌入式軟件開發課程設計(Android應用程序、Android游戲)_第3頁
[論文精品]嵌入式軟件開發課程設計(Android應用程序、Android游戲)_第4頁
[論文精品]嵌入式軟件開發課程設計(Android應用程序、Android游戲)_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 課程設計說明書題目嵌入式軟件開發課程設計系(部)計算機科學與技術系專業(班級)08嵌入1班姓名 學號 指導教師 起止日期2011.6.62011.6.17課程設計任務書課程名稱:嵌入式軟件開發課程設計設計題目:android應用程序、android游戲(任選一題)已知技術參數和設計要求:設計采用android平臺進行開發,程序運行和演示主要采用android模擬器,所有程序必須要設計實現的內容包括:1. 界面設計。使用android控件設計用戶界面,或者andorid graphic包的圖形函數繪制2d界面。使用事件響應機制來響應用戶輸入。2. 必須具備的軟件特性:l 使用數據存儲,可以選擇

2、shared preferrence、file、sqllite、網絡存儲這4種方法中的任意一種。l 媒體功能,在應用程序中實現類似背景音樂、用戶軟件操作的音效、錄音、視頻播放這樣的軟件特性。3. android提供了四種數據存儲方式,采用其中一種保存系統數據:l shared preferences:用來存儲“key-value paires”格式的數據,它是一個輕量級的鍵值存儲機制,只可以存儲基本數據格式。l files:它通過fileinputstream和fileoutputstream對文件進行操作。l sqlite:輕量級的關系數據庫,支持sql語句。l network:通過網絡應用

3、協議將數據保存到網絡上,例如電子郵件、http、ftp協議4. 媒體功能。使用mediaplayer類來實現播放音頻、視頻和流媒體,使用mediarecorder類實現錄制功能。5. 獲得優秀等級的軟件作品必須符合下列條件之一:l 工作量大,功能多,代碼量超過2500行l 具備網絡通信功能l 使用了傳感器、語音識別、google map、桌面組件widget這些具備android特色的功能l android opengl 3d應用各階段具體要求:1. 選題,選擇符合要求的題目,提交要完成的題目的系統說明書,獲得審核通過才允許繼續進行,否則要重新選擇題目和編寫系統說明書。2. 設計系統,包括系統

4、整體的結構,系統用戶界面,系統運行的流程。3. 編碼實現,根據你的設計進行編碼實現。4. 測試,編寫測試用例對系統進行測試。設計工作量:(1)軟件設計:完成問題陳述中所提到的軟件特性以及工作量要求。(2)論文:要求撰寫不少于3000個文字的文檔,詳細說明各階段具體要求。工作計劃:安排兩周時間進行課程設計,軟件開發步驟如下,第一周完成12以及50%的編碼實現,第二周完成34,論文同步進行。注意事項n 提交文檔 課程設計任務書(每學生1份) 課程設計論文(每學生1份) 課程設計鑒定表(每學生1份)指導教師簽名: 日期:2011-5-30 教研室主任簽名: 日期:系主任簽名: 日期:課程設計鑒定表姓

5、名 學號 專業軟件工程班級08嵌入設計題目嵌入式軟件開發課程設計指導教師 指導教師意見:評定等級: 教師簽名: 日期: 答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名: 日期: 系(部)意見:系主任簽名:日期:說明課程設計成績分“優秀”、“良好”、“及格”、“不及格”四類;摘 要設計過程包含需求分析、總體設計以及詳細設計。需求分析從總體上得出設計中可能要實現的模塊。總體設計是對需要分析的進一步細化,掌握大致的實現過程。而詳細設計則是精確到設計中的每一個細節,如何實現和解決遇到的一些問題。本系統的難點在于如何用較好的算法處理判題和記分策略,設計中采取的舍棄首行做法和各類

6、題型分離處理方式,而且軟件工程的設計方法,并且可用于實際開發中去。關鍵字:判題,記分,分離目 錄1需求分析71.1 設計平臺介紹71.2 題目描敘71.3 需求分析72總體設計82.1 設計總體思想82.2 系統整體模塊82.3 模塊設計82.3.1 登錄注冊模塊82.3.2 選題模塊82.3.3 答題模塊92.3.4結果顯示模塊92.4程序邏輯結構93.詳細設計103.1 界面設計103.2 題目讀取設計113.3 判題算法設計123.4 交互設計13小 結16參考文獻171需求分析1.1 設計平臺介紹android是google推出的開源手機操作系統。它基于linux平臺,由操作系統、中間

7、件、用戶界面和應用軟件組成,具有以下5個特點:1、開放性。2、應用程序無界限3、應用程序是在平等條件下創建的。4、應用程序可以輕松的嵌入網絡。5、應用程序可以并行運行。android的應用層是用java語言編寫的運行在虛擬機上的程序,我們課程設計中所用到開發語言就是java。1.2 題目描敘一個測驗系統,用戶能夠方便的進行登錄,選題,答題。能夠讀取特定文件夾下的題目,用戶也可以自己編寫測試題目。1.3 需求分析設計的題目是一個自我評測系統。包含的功能如下:1、登錄界面。用于已經這冊的用戶進行登錄。2、注冊系統。允許新的用戶進行注冊,并且將個人信息寫入數據庫。3、題目選擇系統。能夠顯示指定文件夾

8、下的題目信息,可以選擇任意一套題目進行作答。4、選擇題答題系統。能夠顯示選擇題文件的選擇題,并且可以進行作答,記錄用戶選擇題的答案。5、多選題答題系統。能夠顯示多項選擇的題目信息,并且能夠作答等操作,記錄用戶答案,進行結果校驗。6、評測反饋表。顯示用戶的信息,并顯示用戶的成績。2總體設計2.1 設計總體思想設計的靈感來源于,學習機的測試系統,能夠實現向步步高學習機里面的答題系統一樣,能夠下載一些考試題目,進行作答,并且能夠返回結果信息,作為用戶的參考。并且用戶自己也能夠按照出題目的一些規則,自己編制一些題目用于測試。這樣的一款軟件能夠方便的把一個用于通訊娛樂的工具變成一個學習工具。2.2 系統

9、整體模塊依據需求分析,設計如下一個模塊結構:圖2.1 系統模塊2.3 模塊設計2.3.1 登錄注冊模塊此模塊可以進行登錄系統做題和允許新用戶進行注冊。登錄系統允許用戶通過輸入的信息,查詢數據庫用相關表內的信息,如果用戶信息匹配則允許用戶登錄,同時記錄登錄的用戶信息,否則則提示用戶錯誤信息,讓用戶修改操作。對于沒有賬戶信息的用戶,則可以注冊新用戶,便于新用戶使用該系統。2.3.2 選題模塊用戶可以在題目列表中選擇任意一套題目進行答題。該題目列表是系統自動搜索指定目錄下的相應文件信息,自動生成的一個列表。保證信息的全面與正確性。2.3.3 答題模塊用戶可以隨時選擇返回做做過的題目,在用戶選擇結果之

10、后,能夠保存好用戶的結果,用戶在進行題號切換時不會丟失原來的結果,保證題目評分的正確性。用戶在做完題目之后,隨時可以方便提交試卷。2.3.4結果顯示模塊從數據庫中取出用戶的信息,用列表的方式顯示出來。2.4程序邏輯結構程序的核心在于答案校驗的算法當中,首先需要將用戶的信息保存下來,并且要保證用戶的信息不會丟失。例如:在用戶選擇完當前一題的結果之后切換到下一題去時,又返回到原來的上一題時,不會導致分數重復計算,或者答案丟失。在用java讀取文件的時候,需要一些處理文件信息的技巧。對于多選題的結果校驗,由于選擇多項答案的時候,由于選擇順序的關系,可能會導致結果不能與標準答案進行有效的比對。3.詳細

11、設計3.1 界面設計在進行界面設計的時候,使用最多的方法是使用eclipse和adt工具配置的開發環境,進行可視化的圖形界面編輯,只是在一些精確控制的控件上加上一些關鍵性的語句,解決可能需要復雜算法才能解決的難題。例如:在控制編輯文本框的輸入時,需要按下回車鍵的時候切換到下一控件上去,但是由于編輯文本框默認是多行輸入的,一般在輸入完之后按下回車,會增加編輯文本框的大小,另起一行,讓見面變得不美觀。在編輯文本框中只需要加上一行代碼即可以解決上面的問題:android:singleline=”true”,具體的效果如圖3.1中的所示,實現的代碼在圖3.2中可以看到。圖3.1 登錄界面圖3.2 文本

12、編輯框代碼3.2 題目讀取設計讀取題目的過程,主要是通過文件流進行讀寫的。該課程設計中的測試題并沒有經過任何的加密算法,而是utf-8格式的明文,只需要用java的文件流操作,就可以方便的讀寫文件。題目的格式,一個題目占據五行,第一行是題目問題,第二五題是題目的答案。題與題之間沒有多余的空行。單選題和多選題是用不同后綴名的文件,但是題目的是一樣的,之所以用不同的文件格式,是為了方便區分不同類型的題目,能夠減輕程序設計的負擔,但也許會加大出題者的一些繁瑣工作。個人認為,這樣小的一個代價,足夠換取程序設計的復雜性。圖3.3 讀取題目圖3.4 題目構成3.3 判題算法設計每一題的設計上都包含有相應的

13、標準答案位于其中,對應于每種格式的題目,都有與之相對應的答案格式文件。例如:.que為單選題的問題,與之對應的.ans是相應的答案。由于java讀寫文件上存在一些問題,讀取的第一行文件不能夠有效的轉換成相應的字符串形式,從而不能夠方便與標準答案進行比較,從而導致判題結果不正確。處理的方式就是,答案文件的第一行都放棄使用,在第一行,存放無效的字符串,從第二行起取出來的字符串才是第一題的結果。進行這樣的處理之后還是不能夠得到想要的比對結果,因為在系統中設置了,用戶允許在提交答案之前,任意的對題目進行修改。一般的處理方式,在進行題目的切換之后,如果立即進行答案的判斷,容易造成結果不正確。因為切換題目

14、之后,分數累加,如果切換回去之后依然正確,可能又會累加,又或者換題之前做錯了結果,換回來重做之后,如果做錯了,會導致重復減分,以致結果不正確。解決這種問題的一種算法就是,在進行從單選切換到多選題的時候,才進行結果判斷,并且記分,記分并不累加到總分上去,而是只是算當前題型的分數。在判斷多項選擇題時,會遇上由于結果選擇順序的不一致,導致與標準答案的結果不一致,解決的辦法是,設置四個臨時變量用于保存每個選項的值,每個選項對應不同的值,當選擇完之后用這四個值按照一定得規則組合出原來的結果,具體實現的代碼如圖3.5中所示。多選的總分方法在3.6中也已經給出來。圖3.5 記錄多選題結果圖3.6 總分代碼3

15、.4 交互設計交互設計上,細致得考慮到了用戶的需求,提供了用戶選擇試卷的權限,能夠讓用戶隨意做自己想做的測試。在打開試卷開始做題之后,還允許用戶對做過的題目答案進行修改,可以全部修改,也可以單個修改,都不會影響總結果。最后,用戶在提交了試卷之后,系統會顯示用戶的成績信息。用戶也可以自己成為試卷的作者,自己根據自己的愛好,設計題目給其他人使用。圖3.7 選擇試卷界面使用說明1、打開軟件,用戶進入登錄界面,老用戶可以選擇在帳號密碼框內輸入帳號密碼登錄;新用戶則可以選擇注冊,以便注冊新用戶。在注冊界面按照提示輸入相應的信息,則可以完成注冊,注冊完之后跳轉回原來的界面進行登錄。2、登錄之后,跳轉到試卷

16、選擇界面,該界面上面有一個列表顯示所有可選的試卷。在底部提供了兩個按鈕,一個按鈕用于選擇試卷,另一個按鈕用于放棄選擇試卷并退出程序。3、單選題界面,上面顯示題目信息,可以在上面進行作答,下面是四個按鈕,用戶可以選擇跳轉到下一題,上一題,上一題性,下一題性。4、多選題界面,與單選題一致,唯獨不同的是,將下一題改成了交卷。點擊交卷之后,系統會自動跳轉到下一界面,并且顯示分數。小 結為期兩個禮拜的android課程設計已漸遠去,帶著對這次課程設計的些許記憶,我開始寫這篇文章,為了自己以后能從中汲取經驗、也為自己的留下珍貴的回憶,哪怕是微不足道而寫下了這篇小結。 首先,讓我的記憶追溯到10天以前,在周

17、老師的指引下,我選擇測驗系統這一題目。那個時候我并沒有覺得我能很快做完,因為我對上機這塊平時做的并不是很好,很多時候都是混過關的,也不知android布局和結構什么的,反正腦子里一片混亂。但是我還是鐵了心,我覺得我一定能夠很快做出來的,因為我堅信只要我努力,我會做好的。于是我開始在腦子里構思、開始在心里建模。我是一個好勝心很強的人,只要在追求勝利的途中,我就一定會奮斗到底。在和同學們的積極討論中,我的課程設計開始有了個雛形。就這樣我開始著手寫我的代碼了,可是對于很多語法語句,我有點記不清楚,這無疑加大了課程設計的難度,但我相信一切困難都是紙老虎,沒有我過不去的坎。于是我就把我的課本擺在我面前,哪句不記得了就翻書,哪里運行出現了錯誤我就回憶上機時的情景、或者是上網查找或者是打電話問老師和同學。我記得java字符串比對的問題我用了很久才調試出來java的問題,我很是興奮,因為我在平時上機的時候,對這方面的內容不熟,上課的時候也沒聽什么。自己能夠獨立做出來,我覺得我做得不錯。通過自己不斷的努力和討索,我基本搞清楚理論方面的一些東西,具體怎么用比較清楚。解決了一些自己的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論