打字練習(xí)軟件課程設(shè)計(jì)報(bào)告_第1頁(yè)
打字練習(xí)軟件課程設(shè)計(jì)報(bào)告_第2頁(yè)
打字練習(xí)軟件課程設(shè)計(jì)報(bào)告_第3頁(yè)
打字練習(xí)軟件課程設(shè)計(jì)報(bào)告_第4頁(yè)
打字練習(xí)軟件課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、燕山大學(xué)專業(yè)綜合設(shè)計(jì)報(bào)告題目 打字練習(xí)軟件學(xué)院(系) 信息科學(xué)與工程學(xué)院 年級(jí)專業(yè) 07 計(jì)算機(jī)軟件 2 班 學(xué)生姓名 李成武 指導(dǎo)教師 陳子陽(yáng) 日 期 2010 年 10 月 13 日 目錄目錄1 概述概述.11.1 軟件開(kāi)發(fā)環(huán)境、工具和方法.11.2 軟件功能簡(jiǎn)介.12 軟件功能設(shè)計(jì)軟件功能設(shè)計(jì).22.1 系統(tǒng)的總體功能描述.23 編碼設(shè)計(jì)編碼設(shè)計(jì).33.1 打字練習(xí)部分.33.2 數(shù)據(jù)庫(kù)部分.53.3 FLASH部分 .73.4 主要模塊實(shí)現(xiàn).84 測(cè)試測(cè)試.104.1 黑盒測(cè)試.12 白盒測(cè)試.135 總結(jié)總結(jié).15參考文獻(xiàn).161 概述 軟件開(kāi)發(fā)環(huán)境、工具和方法打字練習(xí)軟件是基于 W

2、indows 操作平臺(tái),以 Visual Studio 2005 為開(kāi)發(fā)環(huán)境,利用 MFC 編寫的??稍?Windows XP 操作系統(tǒng)中安全運(yùn)行。本軟件界面的設(shè)計(jì)主要通過(guò) Visual C+提供的多種控件來(lái)構(gòu)建的,例如, RicheEdit2.0 控件用來(lái)實(shí)現(xiàn)顯示和輸入字符串;Shockwave Flash Object 控件打開(kāi)Flash 打字游戲;List Control 控件讀取并顯示數(shù)據(jù)庫(kù)內(nèi)容等等。本軟件采用 Access 2003 作為數(shù)據(jù)庫(kù),用來(lái)記錄軟件使用者的部分信息,如姓名、字母打字得分和數(shù)字打字得分等數(shù)據(jù)。1.2 軟件功能簡(jiǎn)介本軟件對(duì)打字練習(xí)方法經(jīng)過(guò)合理的安排,使之形成完善

3、的應(yīng)用系統(tǒng)。下面將介紹此打字練習(xí)軟件的基本功能:(1)教程功能這是打字入門的基礎(chǔ)。正確的打字姿勢(shì)習(xí)慣關(guān)于整個(gè)打字練習(xí)的成敗。這個(gè)功能將為那些初學(xué)打字或者打字姿勢(shì)不正確的人提供一個(gè)正確的指導(dǎo),為形成良好的打字習(xí)慣奠定堅(jiān)實(shí)的基礎(chǔ)。(2)練習(xí)功能即提供給使用者進(jìn)行打字練習(xí),使其熟悉鍵盤上相應(yīng)字母的指法并正確的打出相應(yīng)的字母或者數(shù)字。由于鍵盤可大致分為兩個(gè)部分,一個(gè)是主鍵盤區(qū),另一個(gè)是數(shù)字鍵盤區(qū)。熟悉整個(gè)鍵盤并能熟練的進(jìn)行盲打,使我們?cè)O(shè)計(jì)此軟件的宗旨。因此,練習(xí)功能必須包含字母練習(xí)功能和數(shù)字鍵盤區(qū)練習(xí)。 (3)游戲功能通過(guò)在窗口中調(diào)入Flash游戲,給使用者一種寓教于樂(lè)的氛圍,游戲娛樂(lè)的同時(shí)也熟悉了指

4、法,為枯燥的打字練習(xí)平添許多趣味。因此,這項(xiàng)功能的需要也就不言而喻了。(4)排行榜功能通過(guò)Access數(shù)據(jù)庫(kù)對(duì)打字成績(jī)進(jìn)行有選擇的錄入,增添和修改,幫助使用者了解自己的程度和與理想程度的差距,從而刺激使用者再接再厲,打破記錄再創(chuàng)佳績(jī)。2 軟件功能設(shè)計(jì)2.1 系統(tǒng)的總體功能描述該部分主要任務(wù)是確定軟件應(yīng)該完成的工作,打字練習(xí)軟件的主要功能應(yīng)該為:(1) 教程功能,幫助打字初學(xué)者掌握正確的姿勢(shì)、指法和練習(xí)方法。(2) 練習(xí)功能,提供練習(xí)功能,幫助使用者熟悉字母和數(shù)字的指法。(3) 游戲功能,寓教于樂(lè),打字娛樂(lè)兩不誤,讓打字變輕松。(4) 排行榜功能,記錄本軟件練習(xí)者的最好記錄。具體功能,如圖 2-

5、1 所示圖 2-1 系統(tǒng)功能圖打字練習(xí)軟件登陸模塊教程模塊練習(xí)模塊模式一練習(xí)模塊模式二游戲模塊排行榜字母練習(xí)數(shù)字練習(xí)字母練習(xí)數(shù)字練習(xí)3 編碼設(shè)計(jì)3.1 打字練習(xí)部分(1)基本原理添加兩個(gè)重疊的 RichEdit2.0,然后設(shè)置行高為字體高度的一倍。兩個(gè)錯(cuò)開(kāi),一個(gè)用于文本顯示,一個(gè)用于用戶輸入。(2)具體實(shí)現(xiàn)/ /顯示隨機(jī)產(chǎn)生的數(shù)字或字母組成的字符串srand(time(NULL); /設(shè)置產(chǎn)生隨機(jī)種子的種子TCHAR buffer5=0; /臨時(shí)的存儲(chǔ)器for (int i=0;iReplaceSel(letter1,FALSE);/設(shè)置字體的函數(shù)void CLetterDlg:setFont

6、(CRichEditCtrl &m_RichEdControl)CHARFORMAT cf;ZeroMemory(&cf, sizeof(CHARFORMAT);cf.cbSize = sizeof(CHARFORMAT);cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;cf.dwEffects = 0;cf.yHeight = 900;/文字高度cf.crTextColor = RGB(0, 0, 255); /文字顏色lstrcpy(cf.szFaceNam

7、e ,_T(GulimChe);/設(shè)置字體m_RichEdControl.SetSel(0, -1); /設(shè)置處理區(qū)域,0 到-1 為全部設(shè)置rmat(cf);/設(shè)置行高的函數(shù)void CLetterDlg:setLineHeight(int iHigh, CRichEditCtrl &m_RichEdControl)UpdateData(TRUE); PARAFORMAT2 pf2; pf2.cbSize= sizeof(PARAFORMAT2); pf2.dwMask= PFM_LINESPACING; pf2.dyLineSpacing = iHigh; = 5; m_RichE

8、dControl.SetParaFormat(pf2);/設(shè)置輸入過(guò)程中的每一個(gè)字符的顏色及字體的函數(shù)void CLetterDlg:setColor(int n, COLORREF color, CRichEditCtrl &m_RichEdControl)CHARFORMAT cf; DWORD dwMask = m_RichEdControl.GetSelectionCharFormat (cf); cf.dwMask = CFM_FACE|CFM_SIZE|CFM_COLOR; m_RichEdControl.SetSel(n,n+1); cf.crTextColor =col

9、or; m_RichEdControl.SetSelectionCharFormat(cf); 重新 PreTranslateMessage()函數(shù),以成功相應(yīng)鍵盤消息。BOOL CLetterDlg:PreTranslateMessage(MSG* pMsg)SendMessage(pMsg-message,pMsg-wParam,pMsg-lParam);return 0;/return CDialog:PreTranslateMessage(pMsg);添加 OnChar()函數(shù),以隨時(shí)對(duì)鍵盤輸入的字符進(jìn)行同步處理,判斷是否輸入正確,并根據(jù)結(jié)果改變字體顏色和大小。利用 SetTimer(

10、)函數(shù)按“開(kāi)始”鍵后定時(shí),在 OnTimer()函數(shù)中進(jìn)行計(jì)時(shí)運(yùn)算,并在其中實(shí)現(xiàn)倒計(jì)時(shí),打字速度和結(jié)果的顯示。3.2 數(shù)據(jù)庫(kù)操作 數(shù)據(jù)庫(kù)連接HRESULT hr; try hr = m_pConnection.CreateInstance(ADODB.Connection);/創(chuàng)建Connection對(duì)象 if(SUCCEEDED(hr) hr=m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:StaffInfo.mdb,adModeUnknown);/*打開(kāi)連接*/ catch(_com_error e)/捕捉

11、異常 CString errormessage;errormessage.Format(TEXT(連接數(shù)據(jù)庫(kù)失敗!rn錯(cuò)誤信息:%s),e.ErrorMessage();AfxMessageBox(errormessage);/顯示錯(cuò)誤信息查詢數(shù)據(jù)庫(kù) _variant_t vname;CString temp=c_Typing;m_pRecordset.CreateInstance(ADODB.Recordset);m_pRecordset-Open(SELECT * FROM TypingExe,_variant_t(IDispatch*)m_pConnection,true),adOpen

12、Static,adLockOptimistic,adCmdText);BOOL test=0;while (!m_pRecordset-adoEOF)vname= m_pRecordset-GetCollect(PlayerName);CString tem=vname.bstrVal;int flag=temp.Compare(tem);if (flag=0)test=1;break;m_pRecordset-MoveNext();添加記錄 CString str_score1=score1; CString str_name1=c_Typing; CString temp; temp.Fo

13、rmat(TEXT(SELECT * FROM TypingExe WHERE PlayerName=%s),str_name1); m_pRecordset.CreateInstance(ADODB.Recordset); m_pRecordset-Open(temp.GetBuffer(), _variant_t(IDispatch*)m_pConnection,true), adOpenStatic,adLockOptimistic,adCmdText); temp.ReleaseBuffer(); m_pRecordset-PutCollect(_variant_t(Numscore)

14、,_variant_t(str_score1); m_pRecordset-Update();3.3 Flash 游戲模塊BOOL CGameDlg:OnInitDialog()CDialog:OnInitDialog();TCHAR strCurDrt500;int nLen = :GetCurrentDirectory(500,strCurDrt);if( strCurDrtnLen!= )strCurDrtnLen+ = ;strCurDrtnLen = 0;CString strFileName = strCurDrt;strFileName += 打字游戲.swf;m_Game.Lo

15、adMovie(0,strFileName);m_Game.Play();return TRUE; / return TRUE unless you set the focus to a control/ 異常: OCX 屬性頁(yè)應(yīng)返回FALSE3.4 主要模塊實(shí)現(xiàn) 登錄模塊用戶登錄后,可以直接輸入添加新用戶,也可選擇舊用戶進(jìn)入。圖3-1 系統(tǒng)登錄界面主界面,是進(jìn)入各個(gè)更能模塊的入口。如圖3-2所示:圖 3-2 主界面 教程模塊給予打字初學(xué)者姿勢(shì)、指法、方法的指導(dǎo),如圖3-3所示:圖3-3 教程模塊4 練習(xí)模塊可從字母打字練習(xí)和數(shù)字打字練習(xí)二者選一,正確顯綠色,錯(cuò)誤顯紅色。圖3-4 練習(xí)模塊一圖

16、3-5 練習(xí)模塊二5 游戲模塊通過(guò)flash控件調(diào)入一個(gè)SWF格式的flash游戲。圖3-6 游戲模塊6 排行榜模塊圖3-7 排行榜模塊 4測(cè)試4.1 黑盒測(cè)試黑盒測(cè)試也稱為功能測(cè)試,目的是監(jiān)測(cè)系統(tǒng)是否滿足功能設(shè)計(jì)的要求。黑盒測(cè)試把軟件看成一個(gè)黑盒子,只關(guān)心功能是否達(dá)到要求,接口的數(shù)據(jù)是否正確,不關(guān)心程序的內(nèi)部結(jié)構(gòu)是什么,測(cè)試依據(jù)是需求說(shuō)明書(shū)。黑盒測(cè)試主要檢查下列幾類錯(cuò)誤:不正確或遺漏的功能;界面錯(cuò)誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;性能錯(cuò)誤;初始化和終止條件錯(cuò)誤等等。 等價(jià)分類法等價(jià)分類法是把根據(jù)程序輸入的數(shù)據(jù)集合,按輸入條件將其劃分為若干等價(jià)類每一等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例,這樣既可大大減少測(cè)試

17、的次數(shù)又不錯(cuò)過(guò)發(fā)現(xiàn)問(wèn)題的機(jī)會(huì)。因此等價(jià)分類法的關(guān)鍵是如何利用輸入數(shù)據(jù)的類型和程序的功能說(shuō)明劃分等價(jià)類。例如,輸入字母時(shí),卻輸入其他字符,報(bào)錯(cuò),如圖4-1。登陸時(shí)用戶名為空,報(bào)錯(cuò)。 如圖4-1 如圖4-2 邊界值法邊界值是軟件最容易出錯(cuò)的地方。因此,邊界值法就是有意選擇邊界值作為測(cè)試用例,在程序中運(yùn)行,就很容易發(fā)現(xiàn)大量錯(cuò)誤問(wèn)題。如,練習(xí)暫停時(shí),誤點(diǎn)了重新開(kāi)始,以及換頁(yè)是彈出提示。 如圖 4-3 如圖 4-4 如圖 4-54.2白盒測(cè)試白盒測(cè)試與黑盒測(cè)試相反,重點(diǎn)側(cè)重于測(cè)試程序的結(jié)構(gòu),即用解剖的方法、透視的方法了解程序的結(jié)構(gòu),從而發(fā)現(xiàn)程序存在的問(wèn)題和錯(cuò)誤。白盒測(cè)試是一種針對(duì)程序細(xì)節(jié)進(jìn)行的測(cè)試,測(cè)試

18、人員可以通過(guò)測(cè)試不同的邏輯路徑來(lái)確定程序與需求設(shè)計(jì)期望值是否一致。白盒測(cè)試應(yīng)該根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,并遵守如下原則: 使模塊中每一獨(dú)立的路徑至少執(zhí)行一次。 使所有判斷的每一分支至少執(zhí)行一次。 使每一循環(huán)都在邊界條件和一般條件下都至少各執(zhí)行一次。 測(cè)試所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 練習(xí)模塊一,測(cè)試如圖 4-6 圖 4-6 練習(xí)模塊一測(cè)試 統(tǒng)計(jì)信息模塊測(cè)試此模塊主要測(cè)試客房使用情況餅狀圖,測(cè)試結(jié)果如圖 4-3 所示:圖 4-7 練習(xí)模塊二測(cè)試5 總結(jié)打字練習(xí),是電腦使用者的入門基礎(chǔ)。只有擁有熟練的打字技能才能讓電腦成為我們生活和工作中的得力助手。為此,此打字練習(xí)軟件,應(yīng)運(yùn)而生?,F(xiàn)在打字練習(xí)軟件的設(shè)計(jì)工作已經(jīng)基本完成,其功能主要如下:1 打字練習(xí)功能此練習(xí)功能主要是實(shí)現(xiàn)字母序列和數(shù)字序列的打字練習(xí),如果在此階段本人技能上有突破的話或許會(huì)實(shí)現(xiàn)英文和中文打字練習(xí)功能。2 游戲功能此功能提供給使用者一種寓教于樂(lè)的氛圍,游戲娛樂(lè)的同時(shí)也熟悉了指法,為枯燥的打字練習(xí)平添許多趣味。3 排行榜功能通過(guò)對(duì)使用者的最好記錄的錄入,幫助使用者了解自己的打字練習(xí)的進(jìn)度,鼓舞其打字練習(xí)的信心。這份報(bào)告記錄了我獨(dú)立設(shè)計(jì)一個(gè)對(duì)我的水平來(lái)說(shuō)較大的一款軟件的整個(gè)過(guò)程。在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論