學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)_第1頁
學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)_第2頁
學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)_第3頁
學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)_第4頁
學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

word文檔可自由復(fù)制編輯摘要隨著計算機技術(shù)、通信技術(shù)和微電子技術(shù)的飛速發(fā)展,手機的應(yīng)用日益廣泛,特別是針對PDA智能手機的研究也越來越多。本畢業(yè)設(shè)計的課題是“學(xué)生個人數(shù)字助理的設(shè)計與開發(fā)”。為同學(xué)們量身定制了教師信息管理、班級信息管理、課程信息管理和計劃安排等功能模塊,通過使用該軟件,能夠幫助同學(xué)們更好管理各種信息,方便查閱,以使同學(xué)們更好完成各項工作。本軟件開發(fā)工具為MicrosoftVisualStudio2005,程序開發(fā)語言為MicrosoftVisualBasic2005,后臺數(shù)據(jù)庫采用SQLServer2005中的SQLServerMobile數(shù)據(jù)庫。關(guān)鍵詞:VB.NET,SQLServerMobile,VS2005,PDA

ABSTRACTWiththerapiddevelopmentofcomputertechnology,communicationstechnologyandmicroelectronicstechnology,cellphonehasbeenappliedtovariousfields,especiallyforPDAsmartphonestudymoreandmore.thedesignissueis"thedesignanddevelopmentofstudentofPersonalDigitalAssistant."thefunctionmodulesofinformationmanagement,classinformationmanagement,informationmanagementandcurriculumarrangementsaredevelopedaccordingtheactualrequirementsofteacherandstudent,usingthistoolstudentscaneasymanageinformation,accessandcompleteallworkbetter.ThesoftwaredevelopmenttoolisMicrosoftVisualStudio2005.ProgramminglanguageisMicrosoftVisualBasic2005,backgrounddatabaseusingSQLServer2005Mobiledatabase.Keywords:VB.NET,SQLServerMobile,VS2005,PDA

目錄 摘要 IABSTRACT II第1章緒論 1第2章.NET框架簡介 22.1.NET框架的體系結(jié)構(gòu) 22.1.1體系結(jié)構(gòu)圖 22.1.2CLR和FCL提供的一部分服務(wù) 32.2.NET框架的優(yōu)點 42.2.1編譯源代碼主要兩個階段 42.2.2.NET優(yōu)點 52.3本章小結(jié) 6第3章系統(tǒng)分析與設(shè)計 73.1軟件初步調(diào)查 73.2需求分析 73.3數(shù)據(jù)庫設(shè)計 73.3.1數(shù)據(jù)庫定義及特點 83.3.2概念設(shè)計 83.3.3邏輯結(jié)構(gòu)設(shè)計 83.4軟件功能設(shè)計 123.5本章小結(jié) 14第4章軟件實現(xiàn)及測試 154.1班級信息顯示順序設(shè)置頁面的實現(xiàn) 154.2教師信息查看頁面實現(xiàn) 194.3心情日記 204.4軟件測試 224.5本章小結(jié) 23第5章畢業(yè)設(shè)計問題及解決 245.1建立數(shù)據(jù)庫連接問題 245.2中文顯示問題 255.3本章小結(jié) 26第6章結(jié)論 27致謝 29參考文獻(xiàn) 30word文檔可自由復(fù)制編輯第1章緒論隨著計算機技術(shù)、通信技術(shù)和微電子技術(shù)的進(jìn)步,手機已經(jīng)應(yīng)用到了各個領(lǐng)域,特別是針對PDA智能手機的研究也越來越多。通過對本校同學(xué)調(diào)研得出結(jié)果:現(xiàn)在大學(xué)生不僅只是學(xué)生這個角色,同時還擔(dān)任學(xué)生會、社團(tuán)、協(xié)會等學(xué)生干部,還要與周圍同學(xué)、朋友和家人等廣泛交流,更有一部分同學(xué)已經(jīng)是邊工作(兼職)邊學(xué)習(xí)。目前許多同學(xué)存在這樣的狀況:如由于找某位老師的信息而翻遍書包和抽屜;將活動和會議的時間都記錄在本子上,因為沒有及時提醒而錯過重要會議和自己感興趣的活動等等。怎樣才能更方便地安排學(xué)習(xí)、工作和娛樂時間,如何才能有效安排和協(xié)調(diào)學(xué)習(xí)計劃、參加重要活動和打理私人事務(wù)等,成為一個較為突出的問題。目前越來越多的手機,尤其是智能手機,很多都采用.NET開發(fā)平臺。在手機上開發(fā).NET應(yīng)用程序來擴展手機的功能,也成為手機發(fā)展的一種趨勢。因此,我們可以利用手機的便攜性,通過開發(fā).NET應(yīng)用程序,在手機上定制用戶功能,幫助同學(xué)們更好管理各種信息,更好完成各項工作,更方便查找資料,實現(xiàn)“學(xué)生個人信息助理”的功能。程序開發(fā)語言為MicrosoftVisualBasic2005,它是從VisualBasic語言演變而來,是一種為高效地生成類型安全和面向?qū)ο蟮膽?yīng)用程序而設(shè)計的語言。VisualBasic允許開發(fā)人員開發(fā)面向Windows、Web和移動設(shè)備的程序。與所有面向Microsoft.NETFramework的語言一樣,使用VisualBasic編寫的程序都具有安全性和語言互操作性方面的優(yōu)點。VisualBasic與.NETFramework和公共語言運行庫(CLR)完全集成,它們提供了語言互操作、垃圾回收、增強的安全性和版本管理支持[8]。

第2章.NET框架簡介.NET框架是微軟.NET平臺中最關(guān)鍵的部分。它是在Internet已經(jīng)逐步成為編程領(lǐng)域的中心時應(yīng)運而生的。.NET框架是一個全新的跨語言軟件開發(fā)平臺,順應(yīng)了當(dāng)今軟件工業(yè)分布式計算、面向組件、企業(yè)級應(yīng)用、軟件服務(wù)化、以Web為中心等大趨勢。然而,它不僅僅是為了Internet編程,而且還包含了幾乎所有的Windows編程。2.1.NET框架的體系結(jié)構(gòu)2.1.1體系結(jié)構(gòu)圖.NET框架的體系結(jié)構(gòu)如圖2-1所示: 圖2-1.NET框架的體系結(jié)構(gòu)從上圖中可以看出,.NET框架是建立在Windows操作系統(tǒng)之上的,它由兩部分組成:公共語言運行庫(CommonLanguageRuntime,CLR)和.NET框架類庫(FrameworkClassLibrary,F(xiàn)CL)。其中CLR是.NET框架的核心,它為開發(fā)人員提供了一個跨語言的統(tǒng)一的編程環(huán)境。FCL則提供了一個統(tǒng)一的、面向?qū)ο蟮?、可擴展的類庫集(API)。通過創(chuàng)建一個公共的跨編程語言的API集,.NET框架可實現(xiàn)跨語言繼承性。這樣,開發(fā)人員可以自由選擇理想的編程語言。2.1.2CLR和FCL提供的一部分服務(wù)1、一致的編程模型對于當(dāng)前的WINDOWS操作系統(tǒng)而言,某些功能需要通過動態(tài)鏈接庫來訪問,而某些功能需要通過COM對象來訪問。然而,在.NET框架下,所有的應(yīng)用程序服務(wù)都將以一種一致的、面向?qū)ο蟮木幊棠P吞峁┙o開發(fā)人員。簡單化的編程方式CLR的一個目的就是簡化WIN32和COM環(huán)境下所需要的各種繁雜基礎(chǔ)構(gòu)造。在CLR下,完全拋棄了如:注冊表、全局統(tǒng)一標(biāo)識符(GUID)、IUNKNOWN、ADDREF、RELEASE、HRESULT等概念。廣泛的平臺支持當(dāng)編譯器編譯面向.NET框架的源代碼時,它實際上產(chǎn)生的是通用中間語言(CIL)。只有在運行的時候,CLR才會將這些CIL翻譯為CPU指令。由于這個過程發(fā)生在運行時,所以它是面向特定的宿主CPU的。無縫的語言繼承COM允許不同的語言之間進(jìn)行互操作。而.NET框架允許不同的語言之間進(jìn)行無縫集成。當(dāng)使用一個類型時,不管它是用何種語言開發(fā)的,我們都可以像使用自己語言開發(fā)的類型一樣來使用它。例如,在VISUALBASIC中創(chuàng)建一個類,然后在C#中繼承它。CLR允許這樣做是因為CLR要求所有面向它的語言都要遵循一種稱作通用類型系統(tǒng)(CTS)的規(guī)范。而通用語言規(guī)范(CLS)則描述了一種語言于其他語言很好的集成在一起所必須遵循的規(guī)范。簡便的代碼重用使用上面所描述的機制,我們可以很容易的創(chuàng)建一些類型來為第三方應(yīng)用程序提供服務(wù)。.NET框架使得代碼的重用變得非常簡單。強大的互操作能力許多開發(fā)人員有著無數(shù)現(xiàn)存的代碼和組件,要重寫所有這些代碼來利用.NET框架平臺無疑是一項艱巨的工作,其結(jié)果往往會延緩開放人員對.NET框架平臺的接受速度。因此,.NET框架從一開始就對訪問現(xiàn)有COM組件以及調(diào)用傳統(tǒng)DLL中的WIN32函數(shù)提供了完全的支持。全新的安全策略傳統(tǒng)操作系統(tǒng)的安全機制都是基于用戶帳號來提供隔離和訪問控制的。但是隨著當(dāng)今計算機平臺對可移動代碼(如WEB腳本、從互聯(lián)網(wǎng)上下載的應(yīng)用程序以及電子郵件附件)依賴的增加,就需要一種以代碼為中心的控制方式。CLR中的代碼訪問安全(CAS)提供了這種方式的實現(xiàn)機制。豐富的調(diào)試支持和統(tǒng)一的錯誤報告在CLR中完全支持跨語言調(diào)試,所有失敗的調(diào)試都是通過異常來報告的。異常將恢復(fù)代碼和真正的應(yīng)用程序邏輯代碼分離開來實現(xiàn)。這種分離可以極大地簡化代碼地編寫、閱讀和維護(hù)。另外,CLR中地異常還具有跨模塊和跨語言地特性。集成開發(fā)環(huán)境:VisualStudio.NETVisualStudio.NET是Microsoft為開發(fā)基于.NET框架的應(yīng)用而設(shè)計的一種開發(fā)環(huán)境。隨著.NET平臺的發(fā)布,它引入了許多專門針對.NET框架而設(shè)計的特性。它既支持Windows應(yīng)用程序,也支持.NET框架平臺的應(yīng)用程序。并且VisualStudio.NET的一個重要改進(jìn)是對于所有的編程語言,它現(xiàn)在只有一個集成開發(fā)環(huán)境,即“多種語言,一個平臺”。2.2.NET框架的優(yōu)點.NET的核心部分CLR就是一個可以被各種不同編程語言所使用的公共語言運行庫,運行時CLR對開發(fā)人員用何種語言來完成代碼一無所知。2.2.1編譯源代碼主要兩個階段首先,將源代碼編譯稱CLR和所有其他.NET開發(fā)環(huán)境都可以理解的一種中間語言IL(IntermediateLanguage),使得所有的.NET代碼在IL級上都相同,不管代碼來自于C++、VisualBasic或者C#。其次,當(dāng)運行時JIT(JustInTime)編譯器再將IL轉(zhuǎn)換為專用平臺的機器代碼。從中我們不難看出IL代碼具有一下優(yōu)勢:有助于交叉語言集成,包括交叉語言繼承,允許通過從其他語言書寫的基類派生而創(chuàng)建一個新類:一旦編譯代碼后,就可以在任何支持這種環(huán)境的CPU和操作系統(tǒng)上運行,當(dāng)下次再運行包含該代碼的應(yīng)用程序時,不需要重新編譯,提高了代碼的重用性和程序執(zhí)行的效率。2.2.2.NET優(yōu)點1、語言的互操作性語言互操作性或操作被公認(rèn)為時軟件開發(fā)追求的目標(biāo),.NETFramework實現(xiàn)了這一目標(biāo)。.NET稱為“可同在一個平臺下使用多種語言”(然而JAVA是“一種語言適合于多種平臺”)。.NET框架可以使不同的語言之間進(jìn)行交互,即一種語言可以使用另一種語言所編寫的組件,還可以從另一種語言編寫的類派生新類或創(chuàng)建實例。語言的互操作性有助于最大程度重用代碼,這是所有面向?qū)ο笳Z言的基本原則。例如:用C#編寫的DLL文件如下: usingsystem; namespaceCLSsample { classCLSTest { publicCLSTest() { } publicvoidABC() { Console.WriteLine(“ABC”); } } } 在VB.NET中我們可以如下調(diào)用: importsCLSsample importssystem modulemodule1 publiccasnewCLSTest submain() c.ABC() endsub通過上面的例子,我們看出如果在VB.NET中調(diào)用C#已有的DLL文件,只要通過Imports語句添加一個引用,就可以使用其中的方法了。2、平臺無關(guān)性在.NET框架中,所有的編程語言,從高層的JavaScript到底層的C++語言,一律是等同的,它們都將生成托管代碼(IL代碼),并且可以一次編寫,隨處運行。這就是說,運行VisualBasic.NET的核心代碼體的大部分可以在C#,VisualC++和其他實現(xiàn).NET的語言之間共享。3、簡化的編程方式.NET提供了更豐富更廣泛的可用組件。因為.NET是徹底面向?qū)ο蟮?,所以它的組件都以類的形式提供。開發(fā)人員不僅可以在應(yīng)用時不加修改地使用這些類,而且可以使用繼承、重載和其它一些面向?qū)ο缶幊痰貜姶蠊ぞ?,來根?jù)自己地需要進(jìn)行擴展。4、對WEB服務(wù)地支持.NET能夠幫助用戶輕松地創(chuàng)建、發(fā)布Web服務(wù),并利用他們編寫程序[9]。2.3本章小結(jié).NET框架能幫助軟件開發(fā)人員、系統(tǒng)管理人員更輕松地進(jìn)行開發(fā)、管理,提升性能,加強安全,提高穩(wěn)定性。.NET框架簡化了Windows軟件開發(fā)。它讓開發(fā)人員用一種方法開發(fā)出兩種程序:網(wǎng)絡(luò)應(yīng)用程序和桌面程序(這種程序有時也被稱為“智能客戶端程序”)。構(gòu)建在.NET框架上的軟件比常規(guī)軟件更容易部署,更容易管理??梢园阉鼈冮_發(fā)成自動升級模式。.NET框架還可以最大限度地減少不兼容軟件之間地沖突。隨著.NET技術(shù)地提出,VB.NET已經(jīng)成為了一種完全面向?qū)ο蟮卣Z言,具有支持繼承、派生、重載等一切面向?qū)ο蟮靥匦?,是VisualStudio.NET開發(fā)平臺中地核心語言之一。它和過去地編程模式有了很大地區(qū)別,具有開發(fā)效率高,開發(fā)周期短等優(yōu)點,使得對軟件地開發(fā)具有了更大地靈活性和實用性,深受廣大開發(fā)人員地青睞。綜上所述,Microsoft.NET將會成為未來語言發(fā)展的趨勢,它將包含目前所有的主流編程語言,真正做到“一個平臺,多種語言”之間的無縫集成。第3章系統(tǒng)分析與設(shè)計3.1軟件初步調(diào)查軟件的初步調(diào)查是系統(tǒng)分析階段的第一項活動,初步調(diào)查階段的主要目標(biāo)是從分析人員的角度看新項目開發(fā)有無必要和可能。初步調(diào)查的內(nèi)容包括兩方面:調(diào)查內(nèi)容和分析內(nèi)容。前者包括調(diào)查有關(guān)組織的整體信息、有關(guān)人員的信息及有關(guān)工作的信息(只了解做什么,有什么問題),包括主要輸入、主要輸出、主要處理功能以及與其他系統(tǒng)的關(guān)系;后者主要分析現(xiàn)有什么,需要什么、在現(xiàn)有資源下能提供什么、此項目有無必要和可能進(jìn)一步的調(diào)查與開發(fā)。本系統(tǒng)的初步調(diào)查采用的方式是咨詢了本校及其他學(xué)校大學(xué)生和網(wǎng)絡(luò)上一些外省學(xué)生。經(jīng)過初步調(diào)查了解到:大部分經(jīng)常使用手機的用戶都對這種能在手機上使用的個人助理軟件感興趣,并提出了許多希望通過該軟件能夠?qū)崿F(xiàn)的功能。尤其是計劃安排和課程信息功能,因為無論是工作還是娛樂,常常讓人忽略時間,錯過一些重要的事情是誰也不希望發(fā)生的。而且我們可以方便的查看當(dāng)天的課程信息,不需要為了查找一門課上課地點及時間要翻遍書包找課程表。因此學(xué)生個人助理軟件必將方便廣大學(xué)生,開發(fā)勢在必行。3.2需求分析經(jīng)過思考和借鑒一些相關(guān)軟件的模式,確定了本軟件的開發(fā)方向和主要需要實現(xiàn)的功能。首先由于是助理系統(tǒng),所以在界面設(shè)計風(fēng)格上盡量保持簡潔,讓用戶能夠輕易上手。此軟件運行于PDA手機,而PDA本身有一些缺點,比如說顯示屏幕比較小,內(nèi)存不夠大和操作方式與電腦不同等等,我們在設(shè)計過程中要充分考慮到這些問題。利用手機的便攜性,通過開發(fā).NET應(yīng)用程序,在手機上定制用戶功能,幫助同學(xué)們更好管理各種信息,更好完成各項工作,更方便查找資料,實現(xiàn)“學(xué)生個人信息助理”的功能。3.3數(shù)據(jù)庫設(shè)計在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫,通過決策機構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷了三個領(lǐng)域:信息世界,數(shù)據(jù)世界,現(xiàn)實世界。現(xiàn)實世界的事物反映到人的頭腦中,人的大腦對它有個認(rèn)識過程,經(jīng)過分析(選擇、命名、分類等)進(jìn)入信息世界。這些信息再進(jìn)一步加工、編碼,然后進(jìn)入數(shù)據(jù)世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個方面的問題,也就是要考慮系統(tǒng)開發(fā)所需要的數(shù)據(jù),以及如何對這些數(shù)據(jù)進(jìn)行操作。這兩個問題貫穿了整個軟件系統(tǒng)的開發(fā)過程,這也就是數(shù)據(jù)庫的設(shè)計問題,軟件設(shè)計的一個核心。3.3.1數(shù)據(jù)庫定義及特點數(shù)據(jù)庫可以被定義為是在計算機存儲設(shè)備上合理存放的,相互關(guān)聯(lián)的數(shù)據(jù)集合,這種集合具有以下特點:·以一定的數(shù)據(jù)模型來組織數(shù)據(jù),數(shù)據(jù)盡可能的不重復(fù)?!ひ宰顑?yōu)方式為某個特定組織的多種應(yīng)用服務(wù)。·其數(shù)據(jù)結(jié)構(gòu)獨立于使用它的應(yīng)用程序。·對數(shù)據(jù)的定義、操縱和控制,由數(shù)據(jù)庫管理信息系統(tǒng)統(tǒng)一管理。數(shù)據(jù)庫設(shè)計的主要任務(wù)是針對一個給定的應(yīng)用環(huán)境,在給定的硬件環(huán)境、操作系統(tǒng)、以及數(shù)據(jù)庫管理信息系統(tǒng)等軟件環(huán)境下,創(chuàng)建一個性能良好的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能有效地收集、存儲、操作和管理數(shù)據(jù),滿足用戶地各類需求。數(shù)據(jù)庫設(shè)計通常是在一個通用的DBMS支持下,即利用現(xiàn)成的DBMS作為開發(fā)的基礎(chǔ)。3.3.2概念設(shè)計在系統(tǒng)的數(shù)據(jù)庫設(shè)計中,先要對系統(tǒng)分析得到的數(shù)據(jù)詞典中的數(shù)據(jù)存儲進(jìn)行分析,分析數(shù)據(jù)存儲之間的關(guān)系,然后得出系統(tǒng)關(guān)系模式。3.3.3邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖,轉(zhuǎn)換為與選用的具體機器上的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。本系統(tǒng)數(shù)據(jù)庫中共設(shè)計12張表,其中幾個表內(nèi)容如下:表3-1教師表字段名稱數(shù)據(jù)類型寬度主鍵外鍵是否為空說明Idint5YesNoNo編號Namenvarchar20NoNoNo姓名Sexnvarchar2NoNoYes性別Positionnvarchar20NoNoYes職位Telephonenvarchar20NoNoYes聯(lián)系電話Emailnvarchar20NoNoYes郵箱Birthnvarchar20NoNoYes生日Flagbit1NoNoYes標(biāo)志RemaindTimenvarchar20NoNoYes提醒時間在此表中Id是教師表的ID且自動編號。Flag標(biāo)記是否為該教師設(shè)置生日提醒時間,若為1則設(shè)置了提醒時間,那么在主頁面中要讀取該時間進(jìn)行提醒;否則為0則沒有設(shè)置提醒時間不需要生日提醒。Name、Sex、Position、Telephone、Email和Birth為教師的一些基本信息。RemaindTime用于存放教師生日的提醒時間。表3-2學(xué)習(xí)計劃表字段名稱數(shù)據(jù)類型寬度主鍵外鍵是否為空說明Idint5YesNoNo編號Contentnvarchar100NoNoYes計劃內(nèi)容StartTimenvarchar20NoNoYes開始時間EndTimenvarchar20NoNoYes結(jié)束時間Datedatetime8NoNoYes計劃日期Statebit1NoNoYes完成狀態(tài)此表中Id是學(xué)習(xí)計劃表的主鍵且自動編號,Content是學(xué)習(xí)計劃的主要內(nèi)容。State是學(xué)習(xí)計劃的完成狀態(tài),1為已完成,0為未完成。表3-3班級成員信息表字段名稱字段類型寬度主鍵外鍵是否為空說明Accountnvarchar20YesNoNo學(xué)號Namenvarchar20NoNoYes姓名Birthdaynvarchar20NoNoYes生日Addressnvarchar50NoNoYes聯(lián)系地址QQnvarchar20NoNoYesQQ號碼Postnvarchar20NoNoYes郵編Telephonenvarchar20NoNoYes手機號碼Homephonenvarchar20NoNoYes電話號碼Emailnvarchar50NoNoYesEmail此表中Account是班級各成員學(xué)號并且是主鍵,因為每個同學(xué)的學(xué)號是唯一的。表3-4課程表字段名稱字段類型寬度主鍵外鍵是否為空說明Idint4YesNoNo編號CourseNamenvarchar50NoNoNo課程名CourseTimenvarchar50NoNoYes上課時間Palacenvarchar20NoNoYes上課地點Weekdaynvarchar20NoNoYes星期Teachernvarchar20NoNoYes任課教師Typenvarchar20NoNoYes課程類型Pointreal4NoNoYes學(xué)分此表中Id是課程表的主鍵且自動編號,課程類型包括必修、任選和選修三種。

表3-5日程安排表字段名稱字段類型寬度主鍵外鍵是否為空說明Idint4YesNoNo編號Tasknvarchar100NoNoYes任務(wù)TaskTimedatetime20NoNoYes任務(wù)時間Statebit1NoNoYes完成狀態(tài)RemindTimedatetime8NoNoYes提醒時間此表中Id是日程安排表的主鍵且自動編號,State為完成狀態(tài):已完成為1,未完成為0。表3-6同事信息表字段名稱字段類型寬度主鍵外鍵是否為空說明Idint4YesNoNo編號Namenvarchar20NoNoNo姓名Classnvarchar20NoNoYes班級Telnvarchar20NoNoNo聯(lián)系方式QQnvarchar20NoNoYesQQ號碼Emailnvarchar50NoNoYesEmailDeptnvarchar20NoNoYes部門Possisionnvarchar20NoNoYes職位Typeint4NoNoYes類型此表中Id是同事信息表的主鍵且自動編號,姓名和電話號碼項不能為空。類型包括四種同事類型:1代表黨支部信息,2代表學(xué)生會信息,3代表社團(tuán)信息,4代表兼職信息。這樣在頁面中可以根據(jù)不同類型進(jìn)行查看。3.4軟件功能設(shè)計圖3-1顯示了該軟件主要分為六個模塊,設(shè)計過程中考慮PDA顯示屏和內(nèi)存小問題。教師信息模塊包括教師信息的添加、刪除和查看,查看頁面采用Datagrid和復(fù)選框組合實現(xiàn)??紤]到PDA手機的屏幕比較小,特將一些不常用信息作為顯示選擇項,當(dāng)選中時顯示,否則不顯示。添加頁面完成教師基本信息添加,添加模塊可設(shè)置生日提醒,以便于同學(xué)們記得老師的生日,問候老師,增進(jìn)師生間感情。課程信息模塊包括課程表、實驗表和考試表,其中課程表是用于查看本學(xué)期的課程上課時間、地點和任課教師,從而不用為了找到一門課的上課時間及地點翻遍書包找課程表;實驗表是用于顯示本學(xué)期有哪幾門實驗課以及其上課時間和地點;考試表用于查看考試時間地點。同事信息模塊包括同事信息的查看、添加和刪除,同事信息查看可以采用分組的形式。班級信息模塊包括班級信息的查看、添加、刪除和顯示順序設(shè)置。顯示順序設(shè)置:通過定制頁面,確定班級信息各內(nèi)容顯示順序,便于查看。計劃安排模塊包括學(xué)習(xí)計劃和日程安排。學(xué)習(xí)計劃包括按日期查詢、查看、添加、全部刪除、逐項刪除和完成狀態(tài)修改;日程安排包括瀏覽、全部刪除、逐項刪除、添加和完成狀態(tài)修改,并可實現(xiàn)日程安排定時提醒。輔助功能模塊包括班車信息和圖書館開館信息,這些都是同學(xué)們經(jīng)常要查閱信息,可是隨時隨地獲得需要信息。心情日記若填寫了心情日記,則在主頁面日歷中當(dāng)天日期顯示為黑體。若今天填寫心情,在主頁面心情表中指向?qū)?yīng)心情。還包括已寫心情日子的查看、修改和刪除功能。添加添加刪除學(xué)生個人數(shù)字助理輔助功能圖書館信息班車表計劃安排學(xué)習(xí)計劃日程安排添加刪除同事信息添加刪除班級信息教師信息課程信息實驗表考試表課程表添加刪除心情日記添加修改刪除圖3-1軟件功能模塊圖3.5本章小結(jié)本章闡述了軟件詳細(xì)設(shè)計,包括軟件初步調(diào)查、需求分析、數(shù)據(jù)庫設(shè)計和軟件功能設(shè)計,在介紹過程中采用圖表結(jié)合的形式。

第4章軟件實現(xiàn)及測試4.1班級信息顯示順序設(shè)置頁面的實現(xiàn) 圖4-1設(shè)置頁面設(shè)置頁面的主要功能是設(shè)置班級信息頁面各項的顯示順序,通過“上移”和“下移”按鈕來排列班級信息頁面各成員顯示的先后順序,最后點擊“保存”按鈕保存新設(shè)置的順序。其中姓名為固定列必須放置在第一列,不能對其進(jìn)行位置變換。圖4-2是設(shè)置頁面的程序流程

點擊上移按鈕點擊上移按鈕點擊保存按鈕顯示班級信息頁面點擊取消按鈕不能向下移動,下移按鈕顯示灰色是否最前?不能向上移動,上移按鈕顯示灰色否是點擊下移按鈕是否最后?否點擊設(shè)置按鈕選擇其中一項,如“QQ”重新設(shè)置圖4-2設(shè)置頁面流程圖實現(xiàn)該這個功能有三個部分(顯示、移動和保存),使用了ArrayList類,它的定義方法如下:PrivatearrayTitleAsNewArrayList()PrivatearrayTitleAsNewArrayList()Private將arrayTitle權(quán)限設(shè)為私有,只能在這個類中訪問。成員顯示采用數(shù)據(jù)綁定,綁定后即可顯示頁面導(dǎo)入首先,打開數(shù)據(jù)庫連接,執(zhí)行SELECT語句DimcmdAsNewSqlCeCommand("selectClassName,ClassTitlefromtabClassSequence",ConnectionModule.con)DimcmdAsNewSqlCeCommand("selectClassName,ClassTitlefromtabClassSequence",ConnectionModule.con)DimrdAsSqlCeDataReaderrd=cmd.ExecuteReader其次,若查找到數(shù)據(jù),則將字段名和顯示名分別附給arrayTitle和arrayNameWhilerd.Read()arrayTitle.Add(rd("ClassTitle").ToString)Whilerd.Read()arrayTitle.Add(rd("ClassTitle").ToString)LBoxCourseSequence.Items.Add(rd("ClassTitle").ToString)arrayName.Add(rd("ClassName").ToString)EndWhile 最后,關(guān)閉閱讀器和數(shù)據(jù)庫連接rd.Close()rd.Close()ConnectionModule.con.Close()第三、點擊“上移”按鈕(“下移”按鈕方法與此相同)首先,清空列表中數(shù)據(jù)LBoxCourseSequence.Items.Clear() LBoxCourseSequence.Items.Clear()其次,定義臨時變量用于存放交換數(shù)據(jù)DimtempAsStringDimtempAsStringtemp=arrayTitle.Item(selectidex)然后,交換數(shù)據(jù)arrayTitle.Item(selectidex)=arrayTitle.Item(selectidex-1)arrayTitle.Item(selectidex)=arrayTitle.Item(selectidex-1)arrayTitle.Item(selectidex-1)=temptemp=arrayName.Item(selectidex)arrayName.Item(selectidex)=arrayName.Item(selectidex-1)arrayName.Item(selectidex-1)=temp最后,重新顯示DimjAsIntegerForj=0ToarrayTitle.Count1LBoxCourseSequence.Items.Add(arrayTitle.Item(j))DimjAsIntegerForj=0ToarrayTitle.Count1LBoxCourseSequence.Items.Add(arrayTitle.Item(j)) NextLBoxCourseSequence.SelectedIndex=selectidex-1第四、點擊“保存”按鈕,將內(nèi)容保存到數(shù)據(jù)庫''打開與數(shù)據(jù)庫的鏈接ConnectionModule.con.Open()DimsqlStrDelAsString="deletefromtabClassSequence"DimcmdDelAsNewSqlCeCommand(sqlStrDel,ConnectionModule.con)cmdDel.ExecuteNonQuery()ForiAsInteger=0ToarrayTitle.Count-1DimsqlStrInsAsString="insertintotabClassSequence(ClassTitle,ClassName)values('"&arrayTitle.Item(i)&"','"&arrayName.Item(i)&"')"DimcmdInsAsNewSqlCeCommand(sqlStrIns,ConnectionModule.con)cmdIns.ExecuteNonQuery()NextMsgBox("設(shè)置保存成功",MsgBoxStyle.Information,"信息框")4.2教師信息查看頁面實現(xiàn) 圖4-3教師信息查看教師信息查看頁面如圖4-3所示,功能為顯示教師基本信息。顯示初始頁面隱藏了性別、職位和生日等不常用信息,若關(guān)心該教師的生日信息,則在生日前打勾,那么在列表框中顯示此項信息。這樣設(shè)置可以減少內(nèi)存占用,及合理利用PDA界面。實現(xiàn)這個顯示方式關(guān)鍵技術(shù)是采用DataSet,其內(nèi)部實現(xiàn)為 DimdsAsNewDataSet() Try '打開與數(shù)據(jù)庫的鏈接 ConnectionModule.con.Open() DimselectCmdAsSqlCeCommand=con.CreateCommand() selectCmd.CommandText=sqlStr DimadpAsNewSqlCeDataAdapter(selectCmd) adp.Fill(ds,"Teacher") ConnectionModule.con.Close() CatchexAsException MsgBox(ex.Message,MsgBoxStyle.Information,"警告") EndTry Returnds4.3心情日記圖4-4心情日記查看圖4-5心情日記添加如圖4-4,若今天填寫了心情日記,則在心情項中顯示今天的心情,采用箭頭的形式指出。日歷中一些日期顯示為黑體,則表明在該天填寫了心情日記,可以點擊該日期查看心情日記的詳細(xì)內(nèi)容,在查看頁面可以對已寫日記的心情和內(nèi)容進(jìn)行修改,也可以刪除該日記。使用PDA方便記錄當(dāng)時的心情感受,隨時隨地都可以使用。如圖4-5,此頁面為心情日記添加頁面,日期項中,頁面的默認(rèn)填寫日記日期為填寫當(dāng)天,若要補充填寫前幾天心情日記,則可以選擇需要填寫日期;心情項包括四種類型心情:晴天代表當(dāng)天心情非常好,多云代表心情還可以,下雨代表心情有點差,下雪代表心情糟糕透了,填寫人可以根據(jù)當(dāng)天的心情選擇不同圖案顯示自己該天心情;內(nèi)容項用于記錄日記的主要內(nèi)容。點擊“添加”按鈕,將已編輯好的心情日記保存至數(shù)據(jù)庫,在主頁面日歷中將該天對應(yīng)的日期顯示為黑體。此處“返回”按鈕相當(dāng)于取消操作,不保存填寫內(nèi)容返回至主頁面,所以在點擊該按鈕時會提示是否保存已經(jīng)填寫日記,以防止因點擊錯誤而丟失已經(jīng)編寫好的日記。其中的關(guān)鍵是掌握MonthCalendar下的一些方法和事件,特別是DateChanged事件使用。 心情日記查看流程圖如圖4-6。

是否刪除該天日記是否刪除該天日記否頁面不跳轉(zhuǎn)是刪除日記,頁面跳轉(zhuǎn)至主頁面點擊日歷中黑體顯示日期是否查看該天日記是否頁面不跳轉(zhuǎn)顯示日記查看頁面,在該頁面可以對心情和日記內(nèi)容進(jìn)行修改,也可以刪除這條日記修改日記,點擊“修改”按鈕保存修改點擊“刪除”按鈕點擊“返回”按鈕返回主頁面圖4-6心情日記查看頁面流程圖4.4軟件測試軟件測試是軟件開發(fā)周期中一個十分重要而漫長的階段。其重要性體現(xiàn)在它是保證軟件質(zhì)量與可靠性的最后關(guān)口,是對整個軟件開發(fā)過程包括軟件分析、軟件設(shè)計和軟件實現(xiàn)的最終審查。軟件測試實質(zhì)上就是發(fā)現(xiàn)軟件中存在的bug,并不斷修復(fù)bug的過程。如何才能盡可能多地發(fā)現(xiàn)軟件缺陷,這是軟件測試需要完成的工作。系統(tǒng)測試的方法有:人工測試·個人復(fù)查:指源程序編完以后,直接由程序員自己進(jìn)行檢查。·走查:一般由3~5人組成測試小組,測試小組成員應(yīng)是從未介入該軟件設(shè)計工作且有經(jīng)驗的程序設(shè)計人員。機器測試·黑盒測試:將軟件看作是黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性。·白盒測試:將軟件看作一個透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進(jìn)行測試,檢查它與設(shè)計是否相符。軟件測試在整個畢業(yè)設(shè)計里占據(jù)很大一部分時間,因為測試并不只是在程序全部編寫好之后才開始的,也可以是寫一段代碼后進(jìn)行一些測試,這樣做能夠及早的發(fā)現(xiàn)問題。本軟件測試的方法是先人工測試,后機器測試。人工測試采用的是個人復(fù)查法。機器測試采用的是白盒測試法。通過個人復(fù)查測試系統(tǒng)內(nèi)部編碼存在一些問題和錯誤,經(jīng)過重新編碼糾正這些錯誤。通過白盒測試發(fā)現(xiàn)一些執(zhí)行情況與設(shè)計不相符,沒有達(dá)到預(yù)期設(shè)計效果。經(jīng)過反復(fù)的機器測試再加人工測試找到了根源所在并加以了改正。使系統(tǒng)執(zhí)行結(jié)果與設(shè)計相符。比如,學(xué)習(xí)計劃頁面中完成狀態(tài)項將“未完成”修改為“已完成”,修改后狀態(tài)不能馬上顯示,通過調(diào)試和代碼走讀,找到了錯誤所在:當(dāng)點擊“查詢”按鈕后,將查詢對應(yīng)日期下的學(xué)習(xí)計劃所有內(nèi)容分別保存在ArrayList中,當(dāng)修改完成后沒有對ArrayList中對應(yīng)的狀態(tài)項進(jìn)行修改,導(dǎo)致修改后狀態(tài)不能馬上顯示。找到病因進(jìn)行修改,能夠正常顯示。4.5本章小結(jié)本章列舉該軟件部分功能模塊的界面、源代碼、相關(guān)表的關(guān)系以及對軟件測試。功能模塊主要包括班級信息顯示順序設(shè)置頁面、教師信息查看頁面和心情日記頁面。

第5章畢業(yè)設(shè)計問題及解決5.1建立數(shù)據(jù)庫連接問題WindowsApplication(應(yīng)用程序)建立數(shù)據(jù)庫連接步驟:在SQLServer中創(chuàng)建數(shù)據(jù)庫以及所需表;在VS2005中選擇菜單中Data→AddNewDataSource來添加數(shù)據(jù)源定義一個連接變量如DimconAsNewSqlConnection("Server=ZUST-5BLPP7XJID\VB;Database=fish_database;UID=vb;PWD=123456"),其中Server為服務(wù)器名稱,Database為連接數(shù)據(jù)庫名,UID為登錄該數(shù)據(jù)庫的登錄名,PWD為登錄密碼。就可以使用該變量來建立連接。由于受應(yīng)用程序的影響,覺得在DeviceApplication(設(shè)備程序)建立數(shù)據(jù)庫連接也是使用這種方法。前面兩個步驟很順利的都完成了,可是到了第三步就難住了。DeviceApplication使用的數(shù)據(jù)庫是SQLServerMobile,它與SQLServer數(shù)據(jù)庫有所不同,使用的是DatabaseFile而不是ServerName。光看這一點就可以明白DeviceApplication與WindowsApplication建立數(shù)據(jù)庫方式應(yīng)該不同。通過在網(wǎng)上查找和嘗試,如下方法可以建立數(shù)據(jù)庫連接:PublicconStrAsString="DataSource="&"\ProgramFiles\StudetAssistant"&"\MobileDatabase.sdf"PublicconAsNewSqlCeConnection(conStr)雖然知道這個方法能夠與數(shù)據(jù)庫建立連接,但為什么是使用路徑“\ProgramFiles\StudetAssistant\MobileDatabase.sdf”,不論在C盤、D盤還是E盤的ProgramFiles文件夾下都沒有發(fā)現(xiàn)StudetAssistant文件夾。這到底是怎么樣一個機制呢?在老師進(jìn)一步指導(dǎo)和研究后發(fā)現(xiàn),原來這個文件路徑是程序運行模擬器自帶系統(tǒng)的路徑,而不是電腦中路徑,所以在電腦各盤中是找不到ProgramFiles下的StudetAssistant文件的。發(fā)現(xiàn)了這個原理以后,我們還進(jìn)一步得出:添加、刪除和修改等動作操作的數(shù)據(jù)庫是模擬器中的數(shù)據(jù)庫,而不是電腦中建好數(shù)據(jù)庫。因此,不能將添加、刪除和修改等記錄關(guān)聯(lián)至電腦中數(shù)據(jù)庫。5.2中文顯示問題該軟件開發(fā)環(huán)境VS2005為全英文環(huán)境,不是中文版的。顯示內(nèi)容為中文字樣時就出現(xiàn)如圖5-1的顯示問題:正確顯示正確顯示圖5-1圖5-2其中的中文不能正常顯示,而是用“□”代替顯示。我們必須找到方法能夠讓模擬器正常顯示中文字體,這樣才不會耽誤軟件的進(jìn)一步開發(fā)。首先想到的是從網(wǎng)上下載漢化補丁將VS2005開發(fā)環(huán)境漢化,但老師指出,若將開發(fā)環(huán)境漢化會帶來一些不可預(yù)見的問題,導(dǎo)致軟件不能正常顯示。影響開發(fā)性能。通過老師的幫助,發(fā)現(xiàn):SmartDevices\Emulators中存放一些文件,英文版對應(yīng)的語言目錄是1033,而中文版對應(yīng)的是2052目錄。VS2005英文版缺少2052目錄,導(dǎo)致模擬器的中文不能正常顯示??刹豢蓮腣S2005中文版中拷貝出所有2052目錄,并將其復(fù)制到對應(yīng)的文件夾下。這個方法是可行的,從VS2005中文版中一共復(fù)制了33處2052文件夾到VS2005英文版對應(yīng)文件夾下。接著又出現(xiàn)了問題,運行后選擇設(shè)備中沒有新增加的中文版選項,那么肯定要手動添加這個設(shè)備了。方法是:在菜單中選擇“工具→選項”打開選項窗口,在“設(shè)備工具→設(shè)備”中可以編輯設(shè)備路徑。設(shè)置方法:首先,選中“PocketPC2003模擬器”后,點擊“另存為”按鈕,將該設(shè)備重新命名;其次,對新建的設(shè)備進(jìn)行路徑設(shè)置。運行程序時選擇新建設(shè)備,就可以看見中文能夠正常顯示,如圖5-2。5.3本章小結(jié)本章列舉了畢業(yè)設(shè)計代碼編寫過程中遇到的兩個問題,以及解決思路和方法。其中介紹的問題分別是建立數(shù)據(jù)庫連接問題和中文顯示問題。

第6章結(jié)論本畢業(yè)設(shè)計一大亮點就是充分發(fā)揮手機的便攜性,在手機上定制用戶功能,幫助同學(xué)們更好管理各種信息,更好完成各項工作,更方便查找資料。經(jīng)過這次畢業(yè)設(shè)計,使我更深入理解了VB.NET的嵌入式開發(fā),更熟練運用MicrosoftVisualStudio2005開發(fā)工具,及SQLServer200

溫馨提示

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

評論

0/150

提交評論