版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . PAGE39 / NUMPAGES39Windows CE 下的教學(xué)輔助軟件編程摘要隨著信息技術(shù)的發(fā)展,對于嵌入式操作系統(tǒng)的研究和開發(fā)已經(jīng)成為了一個新的發(fā)展方向。使用基于Windows CE的程序開發(fā)工具eVB可以很好地快速實(shí)現(xiàn)嵌入式應(yīng)用程序設(shè)計(jì)開發(fā)。本文主要闡述了基于Windows CE的程序開發(fā)工具的教學(xué)輔助軟件的設(shè)計(jì)思路、實(shí)現(xiàn)方法以與在實(shí)際開發(fā)過程中遇到的問題和解決方法。本課題主要實(shí)現(xiàn)的功能包括:1、使用SQL語句實(shí)現(xiàn)實(shí)驗(yàn)教學(xué)計(jì)劃、教學(xué)大綱、教學(xué)日歷和教學(xué)檔案等容的數(shù)據(jù)庫操作。2、根據(jù)數(shù)據(jù)表間的一樣字段實(shí)現(xiàn)教學(xué)檔案容自動導(dǎo)入和教學(xué)日期自動計(jì)算功能。關(guān)鍵詞 嵌入式操作系統(tǒng)、Windo
2、ws CE程序開發(fā)工具eVB、教學(xué)輔助軟件、SQL語句AbstractFollow the developing of Information Technology , the research and the design of the eMbedded Operating Systemhas already become a new developing direction. It can be more successful using base on Windows CE Programing Design Tool eMbedded Visual Basic to fast prog
3、raming eMbedded Applications. This paper mainly introduces the ideas of design, the ways of realization and the solutions to the problems encountered during the design of the Teaching Auxiliary Software which base on this Programing Design Tool. The functions of this system include: 1.The Database o
4、perations with Experiment Teaching Plan、Teaching Precis、Teaching calendar and Teaching archives through the SQL Language.2. According to the same sections of the Database Tables, actualize Auto Import the Content of the Teaching Precis and Auto Calculate the date of the Teaching plan.KeywordeMbedded
5、 Operating System、Windows CE Programing Design Tool eMbedded Visual Basic、Teaching Auxiliary Software、SQL Language目 錄緒論.嵌入式系統(tǒng)與Windows CE簡介.2.1 嵌入式系統(tǒng)簡介.2.1.1 定義.2.1.2 特點(diǎn)與發(fā)展趨勢.2.2 Windows CE簡介.2.2.1 PalmOS和Windows CE.2.2.2 Windows CE特點(diǎn)與應(yīng)用趨勢.課題具體實(shí)現(xiàn)方法.3.1 系統(tǒng)分析與設(shè)計(jì).3.1.1 項(xiàng)目規(guī)劃.3.1.2 項(xiàng)目需求分析.3.1.3 項(xiàng)目概要分析.3.1
6、.4 項(xiàng)目詳細(xì)分析.3.2 數(shù)據(jù)庫設(shè)計(jì).3.3 系統(tǒng)軟件結(jié)構(gòu)與模塊描述.3.4 系統(tǒng)軟件編碼.3.4.1 編碼應(yīng)注意的問題.3.4.2 算法說明.3.5 用戶界面和使用方法.3.6 系統(tǒng)軟件測試.3.6.1 軟件測試的定義和目的.3.6.2 系統(tǒng)單元測試.3.6.3 系統(tǒng)集成測試.3.6.4 系統(tǒng)確認(rèn)測試.3.6.5 系統(tǒng)綜合測試.開發(fā)工具介紹.4.1 Windows CE體系結(jié)構(gòu).4.2 eVB開發(fā)工具.4.2.1 初識eVB的特性.4.2.2 eVB與eVC功能特性的比較.4.2.3 eVB的數(shù)據(jù)庫與ADOCE特性.4.2.4 Pocket PC與PC的數(shù)據(jù)庫轉(zhuǎn)換.實(shí)現(xiàn)過程中遇到的問題與解
7、決方法總結(jié)與展望參考文獻(xiàn).致.附錄:程序原代碼.緒論當(dāng)我們滿懷憧憬與希望跨入二十一世紀(jì)大門的時候,計(jì)算機(jī)技術(shù)也開始進(jìn)入一個被稱為后PC技術(shù)的時代。在現(xiàn)在日益信息化的社會中,計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個角落。對于我們每個人,需要的已經(jīng)不再僅僅是那種放在桌上處理文檔,進(jìn)行工作管理和生產(chǎn)控制的計(jì)算機(jī)“機(jī)器”;各種各樣的新型嵌入式系統(tǒng)設(shè)備再應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過通用計(jì)算機(jī),任何一個普通人可能擁有從大到小的各種使用嵌入式技術(shù)的電子產(chǎn)品,小到mp3,PDA等微型數(shù)字化產(chǎn)品,大到網(wǎng)絡(luò)家電,智能家電,車載電子設(shè)備。而在工業(yè)和服務(wù)領(lǐng)域中,使用嵌入式技術(shù)的數(shù)字機(jī)床,智能工具,工業(yè)機(jī)器人,服務(wù)機(jī)器人也
8、將逐漸改變傳統(tǒng)的工業(yè)和服務(wù)方式。 嵌入式設(shè)備的操作系統(tǒng)主要有早期介入的Palm,以與后來居上的Windows CE,當(dāng)然還有其它比如Linux等。嵌入式設(shè)備的發(fā)展空間是巨大的,巨大到何種程度,我們真的無法想象。如果說PC將人類推向了一個新的高度,那么已經(jīng)到來的嵌入式設(shè)備將開辟人類計(jì)算機(jī)史的新紀(jì)元。關(guān)于嵌入式設(shè)備的軟件開發(fā)有消息說2001年IT產(chǎn)業(yè)將生產(chǎn)20億臺微型計(jì)算機(jī)。其中95%將用于嵌入設(shè)備用途。因此,與其以每年上市的上億臺網(wǎng)絡(luò)化計(jì)算機(jī)為研究對象,倒不如加大力度推進(jìn)嵌入設(shè)備的網(wǎng)絡(luò)化、將注意力放在與之相適應(yīng)的軟件開發(fā)上。構(gòu)筑無論何時何地都可以與網(wǎng)絡(luò)連接的環(huán)境以與開發(fā)適應(yīng)型軟件已經(jīng)成為當(dāng)務(wù)之急
9、。我們對于國外嵌入式設(shè)備軟件現(xiàn)狀和國的市場潛力應(yīng)充分認(rèn)識到嵌入式設(shè)備軟件將在國掀起一場軟件革命。進(jìn)入后計(jì)算機(jī)時代以來,越來越多的教育系統(tǒng)都開始使用多媒體教學(xué)方式,因此CAI輔助教學(xué)也被廣泛應(yīng)用。開發(fā)CAI教學(xué)輔助軟件的環(huán)境主要由應(yīng)用的操作系統(tǒng)而定,絕大多數(shù)為Windows操作系統(tǒng)兼容開發(fā)的。因此開發(fā)軟件主要有Microsoft Visual Studio 6系列與Microsoft Visual Studio .Net系列和Borland Delphi系列等,多數(shù)是為桌面系統(tǒng)定制的。而本課題主要研究的是在掌上電腦和PDA上開發(fā)使用的教學(xué)輔助軟件,相對來說國開發(fā)Windows CE應(yīng)用程序的還不
10、多,用于教學(xué)輔助的就更少了。Pocket PC由于攜帶方便,易于使用等優(yōu)勢,對于嵌入式系統(tǒng)教學(xué)輔助軟件開發(fā)將為教育工作者提供簡潔的操作方式,給教學(xué)帶來更多的方便。鑒于嵌入式操作系統(tǒng)Windows CE程序開發(fā)工具eVB的優(yōu)缺點(diǎn),與PC上的Windows操作系統(tǒng)相比,Windows CE可視為小、快、可靠、方便易用的Windows。它的模塊化設(shè)計(jì)方式使得應(yīng)用開發(fā)人員能夠?yàn)槎喾N多樣的產(chǎn)品來定制。因此,在Pocket PC上開發(fā)教學(xué)輔助軟件與為桌面操作系統(tǒng)開發(fā)軟件一樣,只是能夠使用的資源相對減少,需要考慮的問題相對更多,但是由于語法方面的同意,其關(guān)鍵部分的算法具有良好的兼容性,完全可以從桌面系統(tǒng)移植
11、到嵌入式系統(tǒng)中,所需要做的修改很少??梢?,基于嵌入式系統(tǒng)的軟件開發(fā)是一個非常有發(fā)展的趨勢,本課題正是基于此所進(jìn)行的作是用基于嵌入式系統(tǒng)Windows CE的程序開發(fā)工具eVB3.0對Pocket PC進(jìn)行程序編制,在Pocket PC上實(shí)現(xiàn)教學(xué)輔助功能,既研究了當(dāng)前軟件設(shè)計(jì)的一個新發(fā)展方向,又具有一定的實(shí)用意義,因此本課題的開發(fā)和研究具有較大的意義。嵌入式系統(tǒng)與Windows CE簡介2.1 嵌入式系統(tǒng)簡介 目前嵌入式系統(tǒng)技術(shù)已經(jīng)成為了最熱門的技術(shù)之一,吸引了大批的優(yōu)秀人才投入其中。但是對于何為嵌入式系統(tǒng),什么樣的技術(shù)又可以稱之為嵌入式技術(shù)仍在討論之中,有關(guān)嵌入式系統(tǒng)定義的問題,已經(jīng)在很多論壇
12、社區(qū)引發(fā)了多次爭論。2.1.1 定義我們可以分別從廣義上和狹義上對嵌入式系統(tǒng)進(jìn)行定義:廣而化之,可以認(rèn)為凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)。作為系統(tǒng)核心的微處理器又包括三類:微控制器(MCU)、數(shù)字信號處理器(DSP)、嵌入式微處理器。有人認(rèn)為嵌入式系統(tǒng)就是“以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)”。這個觀點(diǎn)從功能應(yīng)用特征上較好的給出了嵌入式系統(tǒng)的定義,嵌入式的概念的分析根本上應(yīng)該從應(yīng)用上加以切入。從狹義上講,我們更加強(qiáng)調(diào)那些使用嵌入式微處理器構(gòu)成獨(dú)立系統(tǒng),具有自己的操作系統(tǒng)并且具有某些特定功能的
13、系統(tǒng),這里的微處理器專指32位以上的微處理器。按照這種定義,典型的嵌入式系統(tǒng)有使用x86的小型嵌入式工控主板,在各種自動化設(shè)備,數(shù)字機(jī)械產(chǎn)品中有非常廣闊的應(yīng)用空間;另外一大類是使用intel,Motorola等專用芯片構(gòu)成的小系統(tǒng),它不僅僅在新興的消費(fèi)電子和通訊儀表等方面獲得了巨大的發(fā)展應(yīng)用空間,而且甚至有趨勢取代傳統(tǒng)的工控機(jī)?,F(xiàn)在大家更加清楚的看到:嵌入式技術(shù)的春天已經(jīng)來了。所以也就難怪嵌入式系統(tǒng)成為當(dāng)前最熱門的技術(shù)之一。2.1.2 特點(diǎn)與發(fā)展趨勢嵌入式系統(tǒng)可以稱為后PC時代和后網(wǎng)絡(luò)時代的新秀。與傳統(tǒng)的通用計(jì)算機(jī),數(shù)字產(chǎn)品相比,使用嵌入式技術(shù)的產(chǎn)品有其自己的特點(diǎn):1由于嵌入式系統(tǒng)采用的是微處
14、理器,實(shí)現(xiàn)相對單一的功能,采用獨(dú)立的操作系統(tǒng),所以往往不需要大量的外圍器件。因而在體積上,功耗上有其自身的優(yōu)勢。相比之下,一個使用Windows CE的PDA,僅靠機(jī)電源就可以使用幾天,而任何一臺筆記本電腦僅僅能夠維持幾個小時左右。2嵌入式系統(tǒng)是將計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,是一門綜合技術(shù)學(xué)科。由于空間和各種資源相對不足,嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣、去除冗余,力爭在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對處理器的選擇更具有競爭力。3嵌入式系統(tǒng)是一個軟硬件高度結(jié)合的產(chǎn)物。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件
15、一般都固化在存儲器芯片或單片機(jī)本身中,而不是存儲于磁盤等載體中。片上系統(tǒng)(SoC),板上系統(tǒng)的實(shí)現(xiàn),使得以PDA等為代表的這類產(chǎn)品擁有更加熟悉的操作界面和操作方式,比傳統(tǒng)的商務(wù)通等功能更加完善,更加實(shí)用。4為適應(yīng)嵌入式分布處理結(jié)構(gòu)和應(yīng)用上網(wǎng)需求,面向21世紀(jì)的嵌入式系統(tǒng)要求配備標(biāo)準(zhǔn)的一種或多種網(wǎng)絡(luò)通信接口。針對外部連網(wǎng)要求,嵌入式設(shè)備必需配有通信接口,相應(yīng)需要TCP/IP協(xié)議等軟件支持;由于家用電器相互關(guān)聯(lián)與實(shí)驗(yàn)現(xiàn)場儀器的協(xié)調(diào)工作等需求,新一代嵌入式設(shè)備還需具備IEEE 1394、USB、CAN、Bluetooth或lrDA通信接口,同時也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件。為了支
16、持應(yīng)用軟件的特定編程模式,如Web或無線Web編程模式,還需要相應(yīng)的瀏覽器,如HTML、WML等。5因?yàn)榍度胧较到y(tǒng)往往和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級換代也是和具體產(chǎn)品同步進(jìn)行,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場,具有較長的生命周期。2.2 Windows CE簡介在PDA上運(yùn)行的Windows CE已經(jīng)被推出兩年了,而且與一些大的電子制造商,象Matsushita(Panasonic)和Hitachi等聯(lián)合,它也已被選為一些機(jī)頂裝置設(shè)計(jì)和其它消費(fèi)電器的操作系統(tǒng)。嵌入式設(shè)計(jì)為CE贏得了工業(yè)控制、數(shù)據(jù)采集、銷售點(diǎn)、堅(jiān)固的手持式產(chǎn)品、以與網(wǎng)絡(luò)裝置等行業(yè)。Windows CE是為各種嵌入式系統(tǒng)和產(chǎn)品
17、設(shè)計(jì)的一種壓縮的、具有高效的、可升級的操作系統(tǒng)。其多線性、多任務(wù)、全優(yōu)先的操作系統(tǒng)環(huán)境是專門針對資源有限而設(shè)計(jì)的。2.2.1 PalmOS和Windows CE認(rèn)識了嵌入式設(shè)備以與在嵌入式設(shè)備上軟件開發(fā)的重要性后,我們了解一下目前嵌入式設(shè)備的兩大主流操作系統(tǒng)PalmOS和Windows CE。PalmOS是嵌入式操作系統(tǒng)領(lǐng)域的元老。Palm是個人數(shù)字助理(PDA)的先驅(qū)者,PalmOS更是全球最知名、使用者最多的PDA作業(yè)系統(tǒng)。PalmOS的一個最大特點(diǎn)就是省電與系統(tǒng)資源開銷少。由于PalmOS采用的是開放式的架構(gòu),所以有很多的PalmOS的使用者都投入到軟件開發(fā)工作中。目前,PalmOS已經(jīng)
18、有超過一萬種的軟件,而且每天都還在有新的Palm軟件問世。沒有人會疑問PalmOS在微軟的CE到來前一直是嵌入式系統(tǒng)的絕對主流。微軟公司的Windows CE是專門為該公司提出的“信息電器”設(shè)計(jì)的緊湊型操作系統(tǒng)。其版本有自1996年發(fā)布的Windows CE 1.0版與目前常見的2.11和3.0版本.與PalmOS相比,Windows CE是一個32位的、多線程、多任務(wù)的操作系統(tǒng),這是它的主要特色。Windows CE的體系結(jié)構(gòu)采用獨(dú)立于通常的程序設(shè)計(jì)語言并且和Windows兼容的API的方式,這樣就可以保障Windows CE的組件化和ROM化,充分適應(yīng)有限的存儲空間和各種不同芯片的要求。W
19、indows CE是模塊型的操作系統(tǒng),這意味著可選擇、組合和配置Windows CE的模塊和組件來創(chuàng)建用戶版的操作系統(tǒng)。和Windows95/NT的API相比,Windows CE中的API不提供冗余的API,更多關(guān)注的是存的大小、電源的管理、驅(qū)動程序的模型與如何使線程調(diào)度表更簡單。從市場的觀點(diǎn)來看,現(xiàn)在還很難說Windows CE和PalmOS誰是最后的贏家。目前來說PalmOS的市場份額要大一些,但是因?yàn)镻alm公司對中國市場的錯誤估計(jì),Windows CE系統(tǒng)在國的認(rèn)知度要好一些。2.2.2 Windows CE特點(diǎn)與應(yīng)用趨勢 利用相應(yīng)較高級別的集成、較低的成本來減少任務(wù),以與增加的性能
20、都使得全新的應(yīng)用成為可能,也使現(xiàn)有的應(yīng)用中增加的互連性和更豐富的功能特性更加靈活。嵌入式系統(tǒng)的復(fù)雜性和差異性正逐漸從硬件轉(zhuǎn)移到軟件上。如果基于合適的軟件平臺,嵌入式系統(tǒng)就會提供更大的靈活性來適應(yīng)市場需求,使各種生產(chǎn)線趨于通用,并減少投放市場的時間。Windows CE比其競爭者在更大程度上著重于軟件和軟件開發(fā)者。 Windows CE為嵌入式系統(tǒng)開發(fā)者提供下列工具: 1Win32 API。Windows CE與WindowsNT和Windows9x使用一樣的基本API。也就是說它同其桌面型Windows程序開發(fā)者使用一樣的API。API的普遍傳播使得開發(fā)隊(duì)伍能夠平衡開發(fā)者的技能,以減少重復(fù)訓(xùn)練
21、的時間并增加對現(xiàn)有開發(fā)者的接近機(jī)會。對于嵌入式系統(tǒng)的軟件部分增加需求分析意味者軟件開發(fā)者是降低開發(fā)成本和加快投放市場時間的關(guān)鍵。 2開發(fā)工具。用于Windows CE的開發(fā)工具和技術(shù)與用于WindowsNT和Windows9x的一樣。用于CE的現(xiàn)有工具包括VisualC+,VisualBasic和VisualJava;它們都可以運(yùn)行于WindowsNT系統(tǒng)上,大多數(shù)軟件開發(fā)者一般都可得到這些開發(fā)工具。事實(shí)證明,開發(fā)者的生產(chǎn)能力是直接由工具、技術(shù)和開發(fā)系統(tǒng)的通用性而增長的。 3.軟件集成。Widnows CE是一種集成的操作系統(tǒng),它包括圖形、窗口管理和聯(lián)網(wǎng)技術(shù),以與基本的操作系統(tǒng)支持,例如定時器
22、、中斷處理和同步原語。微軟已經(jīng)將這些功能集成并形成Windows CE集成軟件系統(tǒng)。利用Windows CE,嵌入式系統(tǒng)開發(fā)者不必從多家供應(yīng)商處尋找適合于自己機(jī)型的操作系統(tǒng)。 4.處理器支持。盡管Windows CE是一個年輕的操作系統(tǒng),但它已經(jīng)支持廣泛的微處理器體系結(jié)構(gòu),包括CISC和RISC。目前,Windows CE支持Hitachi的SH、MIPS、PowerPC、ARM和x86體系結(jié)構(gòu)。通常每種結(jié)構(gòu)系列都有多個變種。Windows CE嵌入式設(shè)計(jì)者擁有廣泛的微處理器可供選擇,可以從各種嵌入式設(shè)備的性能、電源消耗、組件大小、成本以與集成外設(shè)方面能夠做出最佳選擇。開發(fā)工具和操作系統(tǒng)部件在
23、所有體系結(jié)構(gòu)上表現(xiàn)一致。因此,Windows CE為各微處理器之間平衡軟件提供了靈活性,即使在基礎(chǔ)的微處理器不一樣時也是如此。 5.第三方支持。將焦點(diǎn)放在軟件上就鼓勵了第三方獨(dú)立軟件供應(yīng)商(ISV,Independent Software Vendor)去開發(fā)和銷售能在各種設(shè)計(jì)之間平衡的軟件。微軟通過它的市場占有、現(xiàn)有的ISV關(guān)系和銷售努力,已使得ISV在Windows CE平臺方面產(chǎn)生了巨大的興趣。ISV軟件已日益增多,有開發(fā)工具、設(shè)備驅(qū)動程序、應(yīng)用程序和組件。事實(shí)證明了嵌入式設(shè)計(jì)者擁有平衡現(xiàn)有工作、減少項(xiàng)目風(fēng)險、開發(fā)成本和投放市場時間的機(jī)會。 Windows CE是以軟件為中心的嵌入式開發(fā)
24、者模型。這種以軟件為首的模型產(chǎn)生了大量的部件和應(yīng)用程序,開發(fā)者有時間來增加每種項(xiàng)目的作用。微軟支持現(xiàn)有的開發(fā)者、工具和技術(shù)基礎(chǔ)的能力意味著享有其競爭者沒有的開發(fā)隊(duì)伍。課題具體實(shí)現(xiàn)方法 本章研究如何開發(fā)基于Windows CE的程序開發(fā)工具eVB在PocketPC上的教學(xué)輔助軟件系統(tǒng)。從軟件工程的角度較具體地介紹了本課題的各部分功能的規(guī)劃結(jié)構(gòu)、主要算法流程開發(fā)和測試過程。3.1 系統(tǒng)分析與設(shè)計(jì)3.1.1 項(xiàng)目規(guī)劃 由于PDA上操作系統(tǒng)的程序設(shè)計(jì)方法與桌面操作系統(tǒng)的程序設(shè)計(jì)方法不同,因此,對于本課題,根據(jù)其容,大概分為人機(jī)操作界面開發(fā)、具體實(shí)現(xiàn)功能的程序編碼開發(fā)、附加工具的開發(fā)、系統(tǒng)測試幾個部分。
25、其中除了系統(tǒng)測試穿插在整個開發(fā)過程中進(jìn)行外,其余部分按照時間段進(jìn)行逐步進(jìn)行。3.1.2 項(xiàng)目需求分析 本課題需要提供友好的人機(jī)界面,讓用戶能夠?qū)ο嚓P(guān)容進(jìn)行錄入、修改、刪除和查找等數(shù)據(jù)庫操作,其中相關(guān)容包括實(shí)驗(yàn)教學(xué)計(jì)劃、教學(xué)大綱、教學(xué)日歷、教學(xué)檔案、選擇題題庫。為了配合系統(tǒng)的安全性,還需提供輔助工具保證數(shù)據(jù)庫文件正確。為了減少用戶錄入容的麻煩,提供部分容的自動導(dǎo)入,部分容的自動生成等工具。另外,還需保證系統(tǒng)的使用功能沒有很大的漏洞,需要進(jìn)行必要的測試,比如確認(rèn)測試和綜合測試。3.1.3 項(xiàng)目概要分析按照規(guī)劃容,根據(jù)系統(tǒng)的要實(shí)現(xiàn)的功能,確定軟件的結(jié)構(gòu)與各部分功能的相關(guān)聯(lián)系,提出概要的可行性解決方案
26、。根據(jù)對教學(xué)管理方面容的需求分析,確定軟件主要功能劃分如下圖。TA教學(xué)輔助軟件系統(tǒng)實(shí)驗(yàn)計(jì)劃 教學(xué)大綱 教學(xué)日歷 教學(xué)檔案 選擇題庫 工具系統(tǒng)功能劃分圖下面根據(jù)本課題的任務(wù),確定組成該系統(tǒng)的每個程序模塊的結(jié)構(gòu),然后進(jìn)行該系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),從而確定模塊組成以與這些模塊之間的動態(tài)調(diào)用關(guān)系。整個教學(xué)輔助系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的過程,我都遵循系統(tǒng)模塊之間獨(dú)立的原理,也就是說該系統(tǒng)由一組完全相對獨(dú)立的子功能模塊組成,而且這些模塊彼此之間的接口關(guān)系盡量簡單。處理流程。系統(tǒng)處理流程如圖所示。入口配置文件初始化數(shù)據(jù)庫初始化系統(tǒng)選擇實(shí)驗(yàn)計(jì)劃處理教學(xué)大綱處理教學(xué)檔案處理教學(xué)日歷處理選擇題題庫處理附加工具處理數(shù)據(jù)庫關(guān)閉出口系統(tǒng)處
27、理流程圖總體結(jié)構(gòu)和模塊外部設(shè)計(jì)。功能分配與接口設(shè)計(jì)。主函數(shù)模塊:聲明使用的全局變量和API函數(shù);進(jìn)入系統(tǒng)模塊;用戶文件初始化模塊;數(shù)據(jù)庫初始化模塊;連接數(shù)據(jù)庫函數(shù);關(guān)閉數(shù)據(jù)庫函數(shù);執(zhí)行SQL語句命令函數(shù)。用戶文件初始化模塊:查找用戶文件是否存在。若不存在,提示出錯,并提供用戶信息輸入界面,再調(diào)用用戶歡迎界面并執(zhí)行數(shù)據(jù)庫初始化模塊;若存在,則讀取用戶信息并初始化用戶歡迎界面。數(shù)據(jù)庫初始化模塊:查找數(shù)據(jù)庫文件是否存在。若不存在,提示出錯,并自動調(diào)用SQL語句執(zhí)行函數(shù)創(chuàng)建新的數(shù)據(jù)庫文件與系統(tǒng)需要的各數(shù)據(jù)表;若存在,則判斷各數(shù)據(jù)表是否存在或正確,否則調(diào)用SQL語句執(zhí)行函數(shù)創(chuàng)建數(shù)據(jù)表再建立對數(shù)據(jù)庫的連接
28、。其它模塊功能在項(xiàng)目詳細(xì)分析時再介紹。用戶信息文件(User.ini)的格式: User 信息標(biāo)題,讀寫文件要用到 UserName= 以下為用戶信息容 : : : UserXB=系統(tǒng)提供了兩個函數(shù)對ini文件進(jìn)行讀寫(位于主函數(shù)模塊):Public Function GetValues(UserSetupFiles As String, Group As String, SubItem As String)Public Sub ModifyValues(UserSetupFiles As String, Group As String, SubItem As String, Values A
29、s String)參數(shù)說明:GetValues:返回用戶文件項(xiàng)組部子項(xiàng)設(shè)置值UserSetupFile:用戶文件路徑Group:用戶文件組項(xiàng)SubItem:用戶文件項(xiàng)組部子項(xiàng)Values:用戶文件項(xiàng)組部子項(xiàng)設(shè)置值3.1.4 項(xiàng)目詳細(xì)分析下面對系統(tǒng)各子功能模塊進(jìn)行分析。實(shí)驗(yàn)計(jì)劃模塊:提供對某門課程的實(shí)驗(yàn)教學(xué)計(jì)劃容的數(shù)據(jù)庫操作。包括錄入、修改、刪除和查找功能。其中對各數(shù)據(jù)庫的操作都使用了SQL語句,利用SQL語言的數(shù)據(jù)庫操作強(qiáng)大功能來管理操作各數(shù)據(jù)表。教學(xué)大綱模塊:提供對某門課程的教學(xué)大綱容的數(shù)據(jù)庫操作。包括錄入、修改、刪除和查找功能。通過其數(shù)據(jù)表與其它相關(guān)表的聯(lián)系,可以通過SQL執(zhí)行語句讀取并導(dǎo)
30、入其部分需要容到其它的模塊中。其功能與實(shí)驗(yàn)計(jì)劃模塊相似,沒有什么重要功能變化,主要考慮其數(shù)據(jù)表到其余相關(guān)聯(lián)的模塊的銜接問題。教學(xué)檔案模塊:提供對某門課程的教學(xué)檔案容的數(shù)據(jù)庫操作。包括錄入、修改、刪除和查找功能。另外,還提供部分容自動導(dǎo)入功能,通過其數(shù)據(jù)表與教學(xué)大綱表的聯(lián)系,可以通過SQL執(zhí)行語句讀取并導(dǎo)入大綱表的部分需要容到其輸入部分中,方便用戶輸入,減少了不必要的重復(fù)輸入工作。教師在輸入界面中輸入的容將保存到文件中。這將以一的教學(xué)報表的形式放入到文件中。這些教學(xué)報表事先已經(jīng)連接到了教學(xué)日歷上。教師只需在使用是將自己的教學(xué)容輸入,保存即可。然后在教學(xué)的過程調(diào)用就可以使用。在這里,這一的教學(xué)報表
31、需要預(yù)留多少空間將是個值得考慮的問題。因?yàn)橐箍臻g不至于浪費(fèi),又不至于不夠用。創(chuàng)建一個可視化界面是比較容易的,關(guān)鍵就在于如何美觀。教學(xué)日歷模塊:提供對某門課程的教學(xué)日歷容的數(shù)據(jù)庫操作。包括錄入、修改、刪除和查找功能。同時,與教學(xué)檔案模塊一樣也提供部分容自動導(dǎo)入功能,讀取并導(dǎo)入大綱表的部分需要容到其輸入部分中。另外,還提供教學(xué)日期的自動生成功能,通過輸入相關(guān)條件,自動生成該課程的教學(xué)日期表,同樣方便用戶輸入,不必查找日歷表輸入煩瑣的容。在這個過程中,首先要編寫一用戶友好見面,在這個界面上很清楚的顯示出這個系統(tǒng)需要完成的功能以與當(dāng)用戶遇到困難時提供一些幫助功能。譬如整個界面的使用說明。在整個開課日
32、期推算的界面中需要提供年份的輸入,學(xué)年,學(xué)期等有關(guān)輸入信息。而這些年份,學(xué)期,學(xué)年等的有關(guān)信息將都寫在文件中,用戶只需要根據(jù)需要調(diào)出自己所需要的那部分即可。在這個界面上,還要提供一個教師周課表的輸入界面。這個界面需要連接到開課日期推算界面中,只有當(dāng)教師輸入了周課表,系統(tǒng)才能自動的推算出某年某學(xué)期的開課日期。而這些時間都將事先放入文件中。整個界面的設(shè)計(jì)將是一個較復(fù)雜的工作。在這項(xiàng)工作中最難的還是根據(jù)周課表自動推算教學(xué)日歷的算法。需要考慮的問題是:在某年中,星期安排如何,以與星期順序如何。還要考慮開學(xué)是哪天,這個學(xué)期一共有幾周,以與對應(yīng)是第幾周。而后寫出一個能算出日期的函數(shù),這個函數(shù)應(yīng)具有強(qiáng)大的功
33、能,能根據(jù)你的輸入條件判斷是否為開課的星期號,然后得出是這年中的幾月幾日。最后將輸出到界面,供教師參考。當(dāng)然在這里我沒有考慮遇到五一,十一長假所涉與到的問題。在原先考慮的算法上,除去長假日期,如果要考慮補(bǔ)課什么的話,那還要另外的根據(jù)學(xué)校的要求添加算法。這各模塊是本課題要解決的重要功能模塊。選擇題題庫模塊:主要提供一個用戶友好界面,供教師選擇題庫中不同難度的題目,具備題目容輸入,難度設(shè)置等功能,這些將保存在文件中。自動出卷具有難度選擇,題目數(shù)量,容隨機(jī)生成等功能,主要解決的問題是保存題目容和讀取題目容(包括難度容),以與非循環(huán)隨機(jī)函數(shù)的編寫等問題。附加工具模塊:集成了用戶信息輸入和修改工具;以與
34、數(shù)據(jù)庫文件的備份、還原和清空功能,如圖所示。由于與其它模塊聯(lián)系不大,因此將此模塊調(diào)用放在主窗體模塊中。此外還提供故障處理功能:在用戶文件或數(shù)據(jù)庫文件丟失或損壞的情況下,出現(xiàn)錯誤提示框,并提供用戶信息輸入界面以添加信息,為用戶歡迎界面提供必要的顯示容;在數(shù)據(jù)庫文件丟失或損壞或者部數(shù)據(jù)表損壞的情況下,出現(xiàn)錯誤提示框,并自動調(diào)用函數(shù)創(chuàng)建新的數(shù)據(jù)庫文件或調(diào)用以前備份的數(shù)據(jù)庫文件還原數(shù)據(jù)庫文件。當(dāng)然,還要求系統(tǒng)人機(jī)界面友好,窗體布局合理,輸入輸出界面操作簡單方便,系統(tǒng)提示信息語言通俗易懂等。本軟件以主窗體為主,連接形成多分支的子操作窗體,最終生成結(jié)果顯示窗體。主要容在于各分支的算法實(shí)現(xiàn)與容間的銜接問題。
35、3.2 數(shù)據(jù)庫設(shè)計(jì)下面介紹本課題的數(shù)據(jù)庫的結(jié)構(gòu)和創(chuàng)建過程。本系統(tǒng)采用的是Pocket Access數(shù)據(jù)庫(*.cdb),充分利用了ADOCE提供的數(shù)據(jù)庫創(chuàng)建、讀取、錄入、修改、刪除、查找的功能。根據(jù)對數(shù)據(jù)資料的整理分析,從編程的角度對數(shù)據(jù)進(jìn)行了抽象,去除冗余的信息,保證數(shù)據(jù)庫的一致性和參照完整性。關(guān)于ADOCE的相關(guān)容在第四章中介紹。數(shù)據(jù)庫的表結(jié)構(gòu)本系統(tǒng)共使用了8表:實(shí)驗(yàn)計(jì)劃表1、實(shí)驗(yàn)計(jì)劃表2、教學(xué)大綱表1、教學(xué)大綱表2、教學(xué)日歷表1、教學(xué)日歷表2、教學(xué)檔案表、選擇題庫表。下面將表結(jié)構(gòu)列于下。 * 創(chuàng)建實(shí)驗(yàn)計(jì)劃表1 * 實(shí)驗(yàn)計(jì)劃表1 (學(xué)年 TEXT, 學(xué)期 TEXT, 學(xué)院 TEXT, 實(shí)驗(yàn)
36、室 TEXT, 填表人 TEXT, 實(shí)驗(yàn)室主任 TEXT, 主管院長 TEXT, 填表時間 TEXT, 課號 TEXT, 實(shí)驗(yàn)課名 TEXT, 實(shí)驗(yàn)總學(xué)時 TEXT, 實(shí)驗(yàn)時間 TEXT) 實(shí)驗(yàn)計(jì)劃表1 (課號) 創(chuàng)建主鍵 * 創(chuàng)建實(shí)驗(yàn)計(jì)劃表2 * 實(shí)驗(yàn)計(jì)劃表2 (課號 TEXT, 項(xiàng)號 INT, 實(shí)驗(yàn)項(xiàng)目名 TEXT, 實(shí)驗(yàn)類型 TEXT, 計(jì)劃時數(shù) TEXT, 每批組數(shù) TEXT, 每組人數(shù) TEXT, 專業(yè) TEXT, 人數(shù) TEXT, 指導(dǎo)教師 TEXT, 職稱 TEXT, 備注 TEXT) 實(shí)驗(yàn)計(jì)劃表2 (項(xiàng)號) 創(chuàng)建主鍵 * 創(chuàng)建教學(xué)大綱表1 * 教學(xué)大綱表1 (課名 TEXT,
37、適用專業(yè) TEXT, 課程類別 TEXT, 學(xué)分 TEXT, 周學(xué)時 TEXT, 總學(xué)時 TEXT, 講課 TEXT, 上機(jī) TEXT, 開課學(xué)期 TEXT, 課號 TEXT, 先修課程 TEXT, 教學(xué)目的任務(wù) TEXT, 推薦教材 TEXT, 參考教材 TEXT, 教學(xué)方法 TEXT, 課程簡介 TEXT,編制人 TEXT, 審定者 TEXT, 系主任 TEXT) 教學(xué)大綱表1 (課號) 創(chuàng)建主鍵 * 創(chuàng)建教學(xué)大綱表2 * 教學(xué)大綱表2 (課號 TEXT, 項(xiàng)號 INT, 標(biāo)題 TEXT, 學(xué)時 TEXT, 難重點(diǎn) TEXT, 容 TEXT) 教學(xué)大綱表2 (項(xiàng)號) 創(chuàng)建主鍵 * 創(chuàng)建教學(xué)
38、日歷表1 * 教學(xué)日歷表1 (學(xué)年 TEXT, 學(xué)期 TEXT, 課名 TEXT, 課號 TEXT, 授課對象 TEXT, 學(xué)院 TEXT, 專業(yè) TEXT, 年級 TEXT, 人數(shù) TEXT, 主講教師 TEXT, 主講學(xué)院 TEXT, 主講系 TEXT, 輔導(dǎo)教師 TEXT, 輔導(dǎo)學(xué)院 TEXT, 輔導(dǎo)系 TEXT, 教材 TEXT, 版本 TEXT, TEXT, 參考書 TEXT, 系主任 TEXT, 制訂日期 TEXT, 講課學(xué)時 TEXT, 習(xí)題課學(xué)時 TEXT, 實(shí)驗(yàn)學(xué)時 TEXT, 設(shè)計(jì)學(xué)時 TEXT, 其它學(xué)時 TEXT, 總學(xué)時 TEXT, 周數(shù) TEXT, 日歷說明 TEX
39、T) 教學(xué)日歷表1 (課號) 創(chuàng)建主鍵 * 創(chuàng)建教學(xué)日歷表2 * 教學(xué)日歷表2 (課號 TEXT, 項(xiàng)號 INT, 周次 TEXT, 日期 TEXT, 時數(shù) TEXT, 教學(xué)容 TEXT, 授課方式 TEXT, 難點(diǎn)重點(diǎn) TEXT, 作業(yè) TEXT, 備注 TEXT) 教學(xué)日歷表2 (項(xiàng)號) 創(chuàng)建主鍵 * 創(chuàng)建教學(xué)檔案表 * 教學(xué)檔案表 (課號 TEXT, 填寫日期 TEXT, 課名 TEXT, 任課年月1 TEXT, 任課年月2 TEXT, 總學(xué)時 TEXT, 周學(xué)時 TEXT, 學(xué)分 TEXT, 主講教師 TEXT, 主講職稱 TEXT, 輔導(dǎo)教師 TEXT, 輔導(dǎo)職稱 TEXT, 班級
40、TEXT, 人數(shù) TEXT, 教學(xué)大綱 TEXT, 教材 TEXT, 參考書 TEXT, 習(xí)題來源 TEXT, 作業(yè)題數(shù) TEXT, 作業(yè)必做 TEXT, 作業(yè)選做 TEXT, 作業(yè)次數(shù) TEXT, 批改次數(shù) TEXT, 全部批改 TEXT, 部分批改 TEXT, 答疑次數(shù) TEXT, 答疑人數(shù) TEXT, 質(zhì)疑 TEXT, 總?cè)藬?shù) TEXT, 答疑情況 TEXT) 教學(xué)檔案表 (課號) 創(chuàng)建主鍵 * 創(chuàng)建選擇題庫表 * 選擇題庫表 (課號 TEXT, 題目 TEXT, 選項(xiàng)1 TEXT, 選項(xiàng)2 TEXT, 選項(xiàng)3 TEXT, 選項(xiàng)4 TEXT, 難度 TEXT) 選擇題庫表 (課號) 創(chuàng)建
41、主鍵數(shù)據(jù)庫表之間關(guān)系設(shè)計(jì)3.3 系統(tǒng)軟件結(jié)構(gòu)與模塊描述 TA教學(xué)輔助軟件系統(tǒng)的軟件結(jié)構(gòu)如下圖。主函數(shù)由于用的是eMbedded Visual Basic 開發(fā),所以這部分分為一個Model,定義全局變量數(shù)據(jù)庫文件TsysCDB,數(shù)據(jù)庫連接Conn,系統(tǒng)默認(rèn)路徑sysPath。聲明了PlaySound API函數(shù)用來播放系統(tǒng)開始和結(jié)束時的聲音,以下是聲明:Public Declare Function PlaySound Lib Coredll Alias PlaySoundW (ByVal lpszName As String, ByVal hModule As Long, ByVal dwF
42、lags As Long) As LongConst SND_LOOP = &H8 重復(fù)播放直到下一聲音播放Const SND_ASYNC = &H1 同步播放定義數(shù)據(jù)庫的連接打開函數(shù)CONN_Open()和關(guān)閉函數(shù)CONN_Close(),以與SQL語句執(zhí)行函數(shù)CONN_Execute(ByVal strSQL As String).定義判斷文件是否存在的函數(shù)FileExists(strFileName As String)對于用戶信息文件的操作,定義了函數(shù):GetValues(UserSetupFiles As String, Group As String, SubItem As Str
43、ing)ModifyValues(UserSetupFiles As String, Group As String, SubItem As String, Values As String)Main函數(shù)為整個程序的入口,在此對系統(tǒng)默認(rèn)路徑sysPath和數(shù)據(jù)庫文件SysCDB進(jìn)行初始化;此外實(shí)現(xiàn)主窗體的顯示。用戶信息文件初始化模塊該模塊實(shí)現(xiàn)用戶信息文件的生成和系統(tǒng)的選擇。如圖所示。保證用戶信息文件存在后,根據(jù)用戶信息,配置用戶歡迎界面。數(shù)據(jù)庫初始化模塊該模塊模擬系統(tǒng)進(jìn)入的動態(tài)效果,并完成數(shù)據(jù)庫的檢查和建立連接數(shù)據(jù)庫的操作。本模塊用Timer控件來驅(qū)動。因?yàn)樵趀Mbedded Visual B
44、asic3.0下沒有進(jìn)度條控件,所以此處用兩個Label控件來進(jìn)行模擬。通過設(shè)置兩個Label控件的顏色,并利用Timer控件驅(qū)動增加Label控件的長度來達(dá)到模擬系統(tǒng)進(jìn)入的動態(tài)效果。當(dāng)進(jìn)度條達(dá)到1/4時,檢查用戶信息文件是否存在,如不存在則顯示錯誤提示,并提供用戶信息輸入界面;如存在或已保存用戶信息后則調(diào)用用戶歡迎界面。當(dāng)進(jìn)度條達(dá)到1/2時,檢查數(shù)據(jù)庫文件是否存在,如不存在則顯示錯誤提示,并自動生成系統(tǒng)數(shù)據(jù)庫文件或備份數(shù)據(jù)庫文件存在則提示是否還原數(shù)據(jù)庫。當(dāng)進(jìn)度條達(dá)到3/4時,初始化主窗體界面,并建立到數(shù)據(jù)庫的連接。當(dāng)進(jìn)度條完成時,顯示系統(tǒng)選擇界面,供用戶選擇相應(yīng)的子功能模塊。程序流程圖如下。
45、其它模塊具體實(shí)現(xiàn)的過程中,由于在eMbedded Visual Basic 3.0建立的Pocket PC程序中沒有菜單編輯器,只能利用eVB提供的菜單控件,只能通過Private Sub XXXXX_MenuClick(Byval Item As MenuBarLib.Item)方法,判斷Item.Key的值來判斷選取值,然后處理對應(yīng)的菜單選擇事件。此外,因?yàn)槌绦蛄渴褂肍rame,涉與到大量的初始化的問題,所以使用創(chuàng)建Initial_Posion()函數(shù),專門處理初始化控件的任務(wù);為了節(jié)省時間,程序中設(shè)置變量來判斷用戶的選擇來取對應(yīng)的處理部分。設(shè)置專門的操作按鈕:查詢、添加、修改、刪除,第一
46、條、前一條、后一條,最后一條。這樣利用統(tǒng)一的接口,統(tǒng)一的處理按鈕,既保證了程序的統(tǒng)一風(fēng)格,而且降低了程序的復(fù)雜度,提高了程序的靈活性。工具模塊實(shí)現(xiàn)了用戶信息輸入和數(shù)據(jù)庫文件的備份、還原和清空功能,具體操作根據(jù)提供的文件讀寫函數(shù)與對文件的判斷、復(fù)制、刪除和重新生成操作,該模塊簡單。還有幫助模塊顯示系統(tǒng)的版本和信息,簡單。最后,由于這個模塊涉與的大部分操作都是eVB 3.0下實(shí)現(xiàn)對Pocket Access的操作,所以實(shí)現(xiàn)起來不會有太大的問題。應(yīng)該注意的是,為了保證數(shù)據(jù)的實(shí)體完整性和參照性必須在程序中進(jìn)行必要的檢查。所以就有了系統(tǒng)測試一節(jié)。3.4 系統(tǒng)軟件編碼 在確定了系統(tǒng)各方面的分析之后,接下來
47、的工作就是編碼和測試了。由軟件工程提出的測試方法模型,系統(tǒng)編碼和測試盡量貫穿整個開發(fā)流程。下面介紹系統(tǒng)編碼的問題和算法。3.4.1 編碼應(yīng)注意的問題 為了使本系統(tǒng)的程序代碼簡單明了且易于理解,在正式編程的過程中,應(yīng)遵循下面的編程原則:不要為了節(jié)省代碼而把多個程序語句編寫在同一行上。在編寫語言的過程中,切記盡量避免復(fù)雜的條件測試。要盡量減少對“非”條件的測試。避免大量使用循環(huán)嵌套和條件嵌套。利用括號使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序清晰直觀。對一些理解起來比較難的語句作出注釋,以方便別人或自己閱讀理解。效率是性能要求,因此在需求分析階段就確定效率方面的要求。效率是靠設(shè)計(jì)來提高的,還有就是程序語言
48、的效率應(yīng)該和程序語言簡單程度是一致的,不能犧牲程序語言的清晰性和可讀性來不必要地提高效率。3.4.2 算法說明 由于篇幅問題,在此只介紹相關(guān)的算法,具體程序見附錄程序。程序代碼模塊說明:modFunction(modFunction.bas) 主函數(shù)模塊frmMain(frmMain.ebf) 系統(tǒng)初始化和子功能選擇模塊frmSYJH(frmSYJH.ebf) 實(shí)驗(yàn)計(jì)劃模塊frmJXDG(frmJXDG.ebf) 教學(xué)大綱模塊frmJXDA(frmJXDA.ebf) 教學(xué)檔案模塊frmJXRL(frmJXRL.ebf) 教學(xué)日歷模塊frmXZT(frmZXT.ebf) 選擇題模塊用戶文件的操作
49、算法取得文件表項(xiàng)中子項(xiàng)的值:先找到組項(xiàng),然后找到子項(xiàng)取值。算法中主要是比較字符串的操作。修改文件表項(xiàng)中子項(xiàng)的值:先定義一個字符串,保存文件中不用修改的字符串的值,通過“;”分隔開每個項(xiàng)目,找到需要的項(xiàng),然后修改對應(yīng)的值,繼續(xù)讀取用戶文件剩余的表項(xiàng);讀取完畢后,把每一項(xiàng)從該字符串中分離出來逐項(xiàng)寫回文件?;蛘卟挥迷摵瘮?shù),直接在程序中用代碼把需要寫入的信息寫入用戶文件中,節(jié)省調(diào)用函數(shù)的時間和提高效率。教學(xué)檔案容自動導(dǎo)入先查找與該課程對應(yīng)的教學(xué)大綱表,如不存在則提示沒有可導(dǎo)入的容,否則根據(jù)兩個數(shù)據(jù)表中對應(yīng)關(guān)聯(lián)的項(xiàng)的容從教學(xué)大綱表中讀取出來并放到檔案表的顯示文本框中。該算法主要需考慮到可能會發(fā)生的錯誤,
50、其余操作只要對數(shù)據(jù)庫操作方確則不會有太大的問題。教學(xué)日歷容導(dǎo)入和日期自動推算容導(dǎo)入與上小節(jié)一樣。先查找與該課程對應(yīng)的教學(xué)大綱表,如不存在則提示沒有可導(dǎo)入的容,否則根據(jù)兩個數(shù)據(jù)表中對應(yīng)關(guān)聯(lián)的項(xiàng)的容從教學(xué)大綱表中讀取出來并放到日歷表的顯示文本框中。日期自動推算首先要由用戶輸入該學(xué)期開始日期、該學(xué)期結(jié)束日期、中間節(jié)日的開始和結(jié)束日期與上課的星期幾數(shù)值,然后利用eVB中提供的對日期數(shù)據(jù)操作的函數(shù)進(jìn)行循環(huán)判斷是否是對應(yīng)的星期數(shù)值并且不在節(jié)日日期,然后將得到的正確的日期和周次數(shù)添加到日歷日期顯示文本框中。該算法主要是該判斷算法容,只要判斷條件正確應(yīng)該沒有大的問題,最后可以再對此算法進(jìn)行優(yōu)化,以提高算法效率
51、。系統(tǒng)開始和結(jié)束聲音播放在eVB中沒有提供專門的音樂播放函數(shù),所以必須聲明API函數(shù),通過調(diào)用API函數(shù)來實(shí)現(xiàn)。通過調(diào)用PlaySound可以播放聲音:PlaySound Windowsinfbeg.wav, 0, SND_ASYNC 播放啟動聲音 其余算法由于篇幅問題不再介紹,具體可以見附錄源程序。3.5 用戶界面和使用方法用戶信息初始化界面初始化界面與數(shù)據(jù)庫初始化界面系統(tǒng)初始化界面中顯示程序標(biāo)題和用戶歡迎信息。主程序界面主程序界面提供各子功能選擇。幫助模塊顯示信息等容。教學(xué)日歷模塊界面下面以教學(xué)日歷模塊為例,介紹主要對數(shù)據(jù)庫的操作功能。模塊的容顯示界面,用戶在此界面上進(jìn)行相關(guān)的操作。模塊的
52、相關(guān)操作命令菜單查找界面和導(dǎo)入大綱容的查找界面3.6 系統(tǒng)軟件測試 軟件工程的提出就是為了使軟件開發(fā)過程更統(tǒng)一,具有嚴(yán)格的定義,其中軟件測試就是其中重要的部分之一。它與軟件編碼具有一樣甚至更高的要求。下面介紹本系統(tǒng)的各個不同的測試。3.6.1 軟件測試的定義和目的軟件測試就是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終查看,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的部結(jié)構(gòu)而精心設(shè)計(jì)一批測試用例(即輸入數(shù)據(jù)極其預(yù)期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。軟件測試的目的有:測試是程序的執(zhí)行
53、過程,目的在于發(fā)現(xiàn)錯誤。一個好的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。3.6.2 系統(tǒng)單元測試3.6.3 系統(tǒng)集成測試3.6.4 系統(tǒng)確認(rèn)測試3.6.5 系統(tǒng)綜合測試開發(fā)工具介紹 本章介紹有關(guān)Windows CE體系結(jié)構(gòu)的基礎(chǔ)知識,深入而全面地理解這些基礎(chǔ)知識對于進(jìn)行基于Windows CE的應(yīng)用程序的開發(fā)是非常重要的。4.1 Windows CE體系結(jié)構(gòu)Windows CE是由若干獨(dú)立模塊所建,每一個模塊提供特定的功能。其中有幾個模塊又被分成幾個組件。組件能使Windows CE變得較為緊湊(小于200兆ROM),僅需要使用最小得ROM、RAM和其它
54、硬件資源就可運(yùn)行設(shè)備。Windows CE包括四個模塊,這四個模塊提供最重要得操作系統(tǒng)功能:核、對象存儲、制圖、開窗口、事件字系統(tǒng)(GWES)和通訊。Windows CE還包括其它可選模塊,支持諸如管理可安裝設(shè)備驅(qū)動程序和支持COM的任務(wù)。Windows CE體系結(jié)構(gòu)圖核核是操作系統(tǒng)的核心,由Coredll模塊表示。它提供所有設(shè)備上都必須存在的基本操作系統(tǒng)的功能。核負(fù)責(zé)存管理,進(jìn)程管理和一些必需的文件管理功能,管理虛擬存、調(diào)度、多任務(wù)、多線程和預(yù)期處理。 Coredll模塊的大部分組件是任何Windows CE配置所必需的。然而,有一些可選的核組件。只在包括例如通話、多媒體和圖形設(shè)備接口(GD
55、I)制圖這類操作系統(tǒng)功能時才需要。有關(guān)核的詳細(xì)信息,可以參閱Windows CE程序員指南。對象存儲文件系統(tǒng)(Filesys)模塊支持Windows CE對象存儲API功能。下表顯示對象存儲支持存儲類型。存儲類型描述文件類型包含應(yīng)用程序和數(shù)據(jù)文件系統(tǒng)注冊表存儲應(yīng)用程序必須快速訪問的系統(tǒng)配置和任何其它信息Windows CE數(shù)據(jù)庫提供結(jié)構(gòu)化存儲對象存儲提供另一種在文件中或在注冊表中存儲用戶數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的方式。在操作系統(tǒng)建立進(jìn)程期間可以選取或忽略各種對象存儲組件,以便僅包括需要的那些功能。對于對象存儲的詳細(xì)信息,可以參閱Windows CE程序員指南。GWESGWES是用戶、用戶應(yīng)用程序和操
56、作系統(tǒng)之間的圖形化用戶接口。GWES將鍵擊、指針移動和控制選擇轉(zhuǎn)換為消息,傳送信息給應(yīng)用程序和操作系統(tǒng)來處理用戶輸入。GWES通過創(chuàng)建和管理在顯示設(shè)備和打印機(jī)上顯示的窗口、圖形和文本處理輸出。GWES的核心是窗口。所有應(yīng)用程序(即使是為缺少圖形顯示器的設(shè)備創(chuàng)建的那些應(yīng)用)需要窗口以便從操作系統(tǒng)接收信息。GWES為需要圖形顯示器的設(shè)備提供控制、菜單、對話框和資源。它還提供控制文本和圖形顯示的GDI。通訊通訊組件為以下通訊硬件和數(shù)據(jù)協(xié)議提供支持:序列I/O支持;遠(yuǎn)程訪問服務(wù)(RAS)傳輸控制協(xié)議/Internet協(xié)議(TCP/IP)局域網(wǎng)(LAN)通話API(TAPI)Windows CE無線服務(wù)
57、可選組件除了上面描述的主要模塊外,其它操作系統(tǒng)模塊也可使用。包括以下類型的模塊和組件:設(shè)備管理程序和可安裝設(shè)備驅(qū)動程序多媒體(聲音)支持模塊COM支持模塊Windows CE外殼(Shell)模塊Windows CE中提供的每一個模塊或組件支持一組用戶可用的相關(guān)的API功能。4.2 eVB開發(fā)工具Windows CE程序開發(fā)語言主要是eVB、eVC。程序開發(fā)工具主要由微軟提供,主要產(chǎn)品有:eMbedded Visual ToolsWindows CE Platform Builder除此以外,也可使用java語言開發(fā)Windows CE程序,相關(guān)的開發(fā)工具由Sun公司提供,包括PC端的Java
58、的執(zhí)行環(huán)境J2SDK1.3.1 for Windows和Personal Java的仿真器PJEE,而在Pocket PC端需要安裝Personal Java Runtime Environment for Windows CE。Pocket PC是以Windows CE 3.x為操作系統(tǒng)的掌上電腦,Palm-Size PC是以Windows CE 2.x為操作系統(tǒng)的掌上電腦,Handheld PC是帶有硬件鍵盤的掌上電腦。本課題是以Pocket PC為對象進(jìn)行的程序設(shè)計(jì)。每個目標(biāo)設(shè)備有它自己的仿真器,這些仿真器使我能在沒有Pocket PC或PPC或HPC設(shè)備的情況下也能夠編寫程序,使其在P
59、C仿真器上運(yùn)行和調(diào)試。下面是Pocket PC仿真器的界面。4.2.1 初識eVB的特性VB和eVB在界面、語法和開發(fā)流程上十分相似。對于有VB開發(fā)經(jīng)驗(yàn)的人來說,可以較快地進(jìn)入eVB的開發(fā),否則,需要先熟悉VB的開發(fā)。下面介紹eVB不同于VB的特性和基本使用方法。VB和eVB在界面、語法和開發(fā)流程上十分相似。對于有VB開發(fā)經(jīng)驗(yàn)的人可以較快地進(jìn)入eVB的開發(fā)。由于Windows CE系統(tǒng)和桌面Windwos系統(tǒng)之間不同的設(shè)計(jì)理念和硬件之間的差別,在核實(shí)現(xiàn)、存管理、文件系統(tǒng)等方面都有很大的不同,這對程序員來說意味著編碼、各種控件的使用方法有很大的不同。這些特殊之點(diǎn)需要通過認(rèn)真地編寫程序來學(xué)習(xí)。使用
60、eVB編程時應(yīng)注意以下幾點(diǎn):1)概括地說eVB語法是VB語法的子集,有許多VB支持而eVB不支持的語法,也有部分eVB支持而VB不支持的語法。例如eVB支持On Error Resume Next/On Error Goto 0,但eVB不支持On Error Goto Label或某行。EVB支持常用的VB函數(shù)和運(yùn)算符。2)eVB上有12個部基本控件可使用??丶氖褂梅绞脚cVB基本一樣。EVB支持ActiveX控件,但PC上的ActiveX控件、*.dll與*.exe等不能用在Pocket PC上,圖通CPU類型的Pocket PC上*.exe、*.dll與ActiveX控件等也是不兼容的。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年烏魯木齊c1客運(yùn)上崗證模擬考試
- 英語四級分類詞匯
- 賽項(xiàng)規(guī)程-中職學(xué)生組(中國舞表演)
- 八年級下冊第一單元知識點(diǎn)總結(jié)
- 土力學(xué)試題及答案
- 軟轉(zhuǎn)讓合同范本
- 企業(yè)環(huán)保承諾書:可持續(xù)發(fā)展之路
- 礦山防象施工合同
- 航空特種車輛機(jī)坪作業(yè)規(guī)范
- 勞務(wù)派遣公司員工激勵計(jì)劃
- 網(wǎng)站服務(wù)合同域名續(xù)費(fèi)與維護(hù)
- 實(shí)驗(yàn)幼兒園陪餐記錄表
- JJG113_2013_標(biāo)準(zhǔn)金屬洛氏硬度塊檢定規(guī)程_解讀
- 小學(xué)數(shù)學(xué)一位數(shù)加減混合運(yùn)算算術(shù)題(969道)
- 安全教育培訓(xùn)記錄運(yùn)輸車輛安全技術(shù)要求
- 巖漿礦床實(shí)習(xí)報告(四川攀枝花釩鈦磁鐵礦礦床)
- 非營利性醫(yī)院內(nèi)部治理體系
- 施工日記完結(jié)
- 防止鍋爐汽包滿水和缺水事故措施
- 【職業(yè)規(guī)劃】自動化專業(yè)大學(xué)生職業(yè)生涯規(guī)劃PPT
- 航模遙控器ET07使用說明書(全比例10通道遙控器)
評論
0/150
提交評論