軟件工程畢業(yè)設(shè)計(jì)(論文)基于flex+j2ee技術(shù)的操作系統(tǒng)課程網(wǎng)_第1頁(yè)
軟件工程畢業(yè)設(shè)計(jì)(論文)基于flex+j2ee技術(shù)的操作系統(tǒng)課程網(wǎng)_第2頁(yè)
軟件工程畢業(yè)設(shè)計(jì)(論文)基于flex+j2ee技術(shù)的操作系統(tǒng)課程網(wǎng)_第3頁(yè)
軟件工程畢業(yè)設(shè)計(jì)(論文)基于flex+j2ee技術(shù)的操作系統(tǒng)課程網(wǎng)_第4頁(yè)
軟件工程畢業(yè)設(shè)計(jì)(論文)基于flex+j2ee技術(shù)的操作系統(tǒng)課程網(wǎng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

JIANGXINORMALUNIVERSITY學(xué)士學(xué)位論文THESISOFBACHELOR(2006—2010年)基于Flex+J2EE技術(shù)的操作系統(tǒng)精品課程網(wǎng)TheOperateSystemQualityCourseWebsiteBasedOnJ2EE+FlexTechnology指導(dǎo)老師:姓名:學(xué)號(hào):學(xué)院:軟件學(xué)院專業(yè):軟件工程摘要網(wǎng)站建設(shè)是Internets應(yīng)用的重要組成部分。因此教育部為大力發(fā)展信息化建設(shè),提高教學(xué)質(zhì)量,把精品課程建設(shè)定為《質(zhì)量與工程》的先期啟動(dòng)項(xiàng)目。而《計(jì)算機(jī)操作系統(tǒng)》課程是我校軟件學(xué)院的專業(yè)核心課程。因而開(kāi)發(fā)一個(gè)操作系統(tǒng)精品課程網(wǎng)站是刻不容緩的。系統(tǒng)是基于B/S的開(kāi)發(fā)模式。而客戶端視圖層采用最為流行的RIA富客戶端技術(shù)Flex,具有面美觀,人性化,交換性強(qiáng)等特點(diǎn);在后臺(tái)的業(yè)務(wù)邏輯層使用的是以Java語(yǔ)言為支持的J2EE技術(shù),由于Java語(yǔ)言具有面向?qū)ο蠛土己玫目缙脚_(tái)性等特點(diǎn),使的系統(tǒng)的分析設(shè)計(jì)和后期維護(hù)更加簡(jiǎn)單;同時(shí),后臺(tái)數(shù)據(jù)庫(kù)使用了SQL2000作為數(shù)據(jù)庫(kù)管理軟件,使系統(tǒng)數(shù)據(jù)的安全性得到了有效的保證。系統(tǒng)主要實(shí)現(xiàn)的功能有,操作系統(tǒng)課程信息管理;教學(xué)資源管理,包括教師后臺(tái)教學(xué)資源的上傳,學(xué)生和游客資源的下載等;在線測(cè)試,包括管理題庫(kù)的錄入,和學(xué)生按照多種方式進(jìn)行在線測(cè)試等。本文簡(jiǎn)要介紹了操作系統(tǒng)精品課程網(wǎng)站系統(tǒng)所用到的主要的技術(shù),如:MVC的分層思想,F(xiàn)lex/Flash技術(shù),F(xiàn)lex和后臺(tái)Java的通信技術(shù),面向?qū)ο蠓治鲈O(shè)計(jì)技術(shù)等;同時(shí),比較詳細(xì)的介紹了使用UML統(tǒng)一建模語(yǔ)言對(duì)系統(tǒng)進(jìn)行分析設(shè)計(jì)的過(guò)程;并對(duì)系統(tǒng)中的關(guān)鍵模塊的實(shí)現(xiàn)進(jìn)行了詳細(xì)的描述;最后對(duì)這個(gè)系統(tǒng)的開(kāi)發(fā)進(jìn)行了總結(jié)。【關(guān)鍵字】操作系統(tǒng)精品課程網(wǎng)、Flex、在線測(cè)試、面向?qū)ο驛bstractSiteconstructionisanimportantpartoftheapplicationInternets.Therefore,theMinistryofEducationtodevelopinformationtechnologytoimproveteachingquality,thefinecourseconstructionasthe"qualityandengineering,"up-fronttostarttheproject.The"computeroperatingsystem"courseismyschoolSchoolOfSoftwareprofessionalcorecurriculum.Thus,developmentofacourseWebsiteisoperatingfinewithoutfurtherdelay.

SystemisbasedonB/Softhedevelopmentmode.Theclient-sideviewoflayerofthemostpopularRIArich-clienttechnology,Flex,withafacebeautiful,humane,andstrongcharacteristicsoftheexchange;inthebackgroundofthebusinesslogictieruserJavalanguagesupportbasedonJ2EEtechnology,duetoJavalanguagewiththeobject-orientedandagoodcross-platformcharacteristics,etc.,sothatsystemsanalysisanddesignandpost-maintenanceofamoresimple;sametime,theback-enddatabaseusingSQL2000asthedatabasemanagementsoftware,allowingthesystemsecurityofdatahasbeeneffectivelyguaranteed.Systemismainlytoachievethefunctions,operatingsystemscoursesinformationmanagement;teachingresourcesmanagement,includingteachers,teachingresourcesandbackgroundoftheupload,downloadresources,studentsandvisitors,etc.;onlinetesting,includingthemanagementofitembankoftheentry,andstudentsinavarietyofwaysinaccordancewithOn-linetesting.

Thispaperbrieflydescribestheoperatingsystem,networksystemusedinfinecoursethemaintechnology,suchas:MVChierarchicalthinking,Flex/Flashtechnology,Flex,andJavabackgroundincommunicationstechnology,object-orientedanalysisanddesigntechnology;next,itmoredetailedlyintroducKeyWords:TheoperatedSystemQualityCourseWebsite、Flex、TestOnline、OO目錄第一章緒論 11.1國(guó)內(nèi)精品課程網(wǎng)站的發(fā)展趨勢(shì) 11.2精品課程網(wǎng)站的特點(diǎn) 11.3精品課程網(wǎng)站的意義 21.4論文組織 2第二章系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)概述 3B/S模式 3Flex技術(shù)簡(jiǎn)介 4RIA技術(shù)介紹 4Flex/Flash技術(shù) 5MVC模式 62.4JavaBean技術(shù) 72.5Servlet技術(shù) 8FileUpload文件上傳組件 92.7面向?qū)ο蟮姆治雠c設(shè)計(jì) 10第三章系統(tǒng)分析與設(shè)計(jì) 11功能分析 113.2系統(tǒng)業(yè)務(wù)類的分析與設(shè)計(jì) 14系統(tǒng)的業(yè)務(wù)類 14系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)表 153.3系統(tǒng)設(shè)計(jì) 18系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 18系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì) 19學(xué)生在線測(cè)試活動(dòng)圖 20第四章系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn) 22系統(tǒng)主體架構(gòu)的實(shí)現(xiàn) 22系統(tǒng)設(shè)計(jì)架構(gòu)和工作機(jī)制 22系統(tǒng)服務(wù)器端包中的類和作用 25系統(tǒng)主界面的實(shí)現(xiàn) 264.3系統(tǒng)中關(guān)鍵技術(shù)的實(shí)現(xiàn) 27數(shù)據(jù)庫(kù)的鏈接 27系統(tǒng)分頁(yè)技術(shù)的實(shí)現(xiàn) 29自動(dòng)組題測(cè)試的實(shí)現(xiàn) 294.3.4學(xué)生錯(cuò)題測(cè)試 31錯(cuò)題統(tǒng)計(jì) 32管理員添加題目 364.3.7文件上傳技術(shù)的實(shí)現(xiàn) 37第五章總結(jié) 39個(gè)人總結(jié) 395.2系統(tǒng)總結(jié) 39參考文獻(xiàn) 41致謝 42

第一章緒論1.1國(guó)內(nèi)精品課程網(wǎng)站的發(fā)展趨勢(shì)為全面提高教育教學(xué)質(zhì)量,造就數(shù)以千萬(wàn)計(jì)的專門人才和一大批拔尖創(chuàng)新人才,提升我國(guó)高等教育的綜合實(shí)力和國(guó)際競(jìng)爭(zhēng)能力,教育部決定在全國(guó)高等學(xué)校中啟動(dòng)高等學(xué)校教學(xué)質(zhì)量與教學(xué)改革工程精品課程建設(shè)工作(簡(jiǎn)稱精品課程建設(shè)),并把它作為了《質(zhì)量與工程》的先期啟動(dòng)項(xiàng)目。在教育部2006年4月發(fā)布的《國(guó)家精品課程評(píng)估指標(biāo)》中提出:“精品課程是指具有特色和一流教學(xué)水平的優(yōu)秀課程。精品課程建設(shè)要體現(xiàn)現(xiàn)代教育思想,符合教學(xué)性、先進(jìn)性和教育教學(xué)的普遍規(guī)律,具有鮮明特色,并能恰當(dāng)運(yùn)用現(xiàn)代教學(xué)技術(shù)、方法與手段,教學(xué)效果顯著,具有示范和輻射推廣作用?!痹诰W(wǎng)絡(luò)教學(xué)環(huán)境指標(biāo)中提出:“網(wǎng)絡(luò)教學(xué)資源建設(shè)初具規(guī)模,并能經(jīng)常更新;運(yùn)行機(jī)制良好;在教學(xué)中確實(shí)發(fā)揮了作用。”。因此,精品課程網(wǎng)站的建設(shè)應(yīng)該是精品課程建設(shè)的首要方式,因此精品課程網(wǎng)站的建設(shè)在各大高校中都呈現(xiàn)出蓬勃的發(fā)展趨勢(shì),并且功能和視覺(jué)效果都在不斷的完善中。1.2精品課程網(wǎng)站的特點(diǎn)根據(jù)精品課程建設(shè)的內(nèi)涵,教學(xué)網(wǎng)站應(yīng)當(dāng)是一個(gè)功能齊備的網(wǎng)絡(luò)教育平臺(tái),是一個(gè)基于網(wǎng)絡(luò)資源的主題研究、協(xié)作式學(xué)習(xí)系統(tǒng)。在網(wǎng)絡(luò)教學(xué)環(huán)境中,向?qū)W習(xí)者提供大量的主題學(xué)習(xí)資源和協(xié)作學(xué)習(xí)交流工具,能夠讓教師和學(xué)生廣泛參與,網(wǎng)上互動(dòng),培養(yǎng)學(xué)生的自主學(xué)習(xí)能力、創(chuàng)新能力和實(shí)踐能力。因此精品課程網(wǎng)站應(yīng)當(dāng)具有:可維護(hù)性好,可以靈活變動(dòng):在系統(tǒng)后臺(tái)中用戶可以動(dòng)態(tài)的添加,更高課程的信息,課程文章,課程資源都渴望動(dòng)態(tài)的更新等。交互性好,訪客參與度高:充分利用的思想。通過(guò),評(píng)論,用戶發(fā)布,留言,發(fā)布問(wèn)題,自測(cè)試題等方式最大可能的讓訪客與我們交流。管理系統(tǒng)功能強(qiáng)大:網(wǎng)站后臺(tái)可以對(duì)所有的資源網(wǎng)站所有的資源進(jìn)行管理,包括用戶,用戶的所有信息等。精品課程網(wǎng)站的意義綜合精品課程的特點(diǎn)和建設(shè)目標(biāo),精品課程網(wǎng)站的建設(shè)主要是為了體現(xiàn)課程信息化,運(yùn)用現(xiàn)代信息技術(shù)呈現(xiàn)課程、輔助教學(xué),加強(qiáng)學(xué)生自主學(xué)習(xí)能力、創(chuàng)造能力等綜合能力的培養(yǎng)。同時(shí)也改變了教師傳統(tǒng)的教學(xué)方式,教師可以不在像以前那樣在讓學(xué)生來(lái)到固定的教師里進(jìn)行教學(xué),教師只要在網(wǎng)站中發(fā)布教學(xué)內(nèi)容,查看學(xué)生的學(xué)生進(jìn)度等,就可以達(dá)到更好的教學(xué)效果,從而使教學(xué)更加的優(yōu)質(zhì)化,人性化。1.4論文組織論文主要介紹了操作系統(tǒng)精品課程網(wǎng)站系統(tǒng)開(kāi)發(fā)的分析過(guò)程、設(shè)計(jì)思想和功能實(shí)現(xiàn),并詳細(xì)闡述了系統(tǒng)中關(guān)鍵技術(shù)的實(shí)現(xiàn)。第一章簡(jiǎn)述了系統(tǒng)的開(kāi)發(fā)背景,系統(tǒng)特點(diǎn),和系統(tǒng)開(kāi)發(fā)的意義。同時(shí)簡(jiǎn)要介紹了本文的組織形式。第二章概述了系統(tǒng)開(kāi)發(fā)的相關(guān)技術(shù)和一些簡(jiǎn)要的設(shè)計(jì)思想的,如RIA技術(shù),F(xiàn)lex技術(shù),JavaBean技術(shù),MVC分層思想,面向?qū)ο蠓治鲈O(shè)計(jì)技術(shù)等。第三章使用面向?qū)ο蟮姆治鲈O(shè)計(jì)思想。對(duì)系統(tǒng)的類圖,用例圖,包圖,活動(dòng)圖,狀態(tài)轉(zhuǎn)換圖等幾個(gè)方面進(jìn)行了詳細(xì)的分析與設(shè)計(jì)。第四章詳細(xì)描述了系統(tǒng)部分模塊的實(shí)現(xiàn)過(guò)程,同時(shí)也詳細(xì)的描述了系統(tǒng)中關(guān)鍵技術(shù)和系統(tǒng)架構(gòu)的設(shè)計(jì)實(shí)現(xiàn)過(guò)程等。第五章主要介紹了個(gè)人設(shè)計(jì)這個(gè)系統(tǒng)時(shí)的心得和總結(jié)。包括個(gè)人總結(jié),系統(tǒng)總結(jié)。

第二章系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)概述B/S模式B/S模式是一種以Web技術(shù)為基礎(chǔ)的新型的MIS系統(tǒng)平臺(tái)模式。把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個(gè)數(shù)據(jù)服務(wù)器與一個(gè)或多個(gè)應(yīng)用服務(wù)器(Web服務(wù)器),從而構(gòu)成一個(gè)三層結(jié)構(gòu)的客戶服務(wù)器體系。第一層客戶機(jī)是用戶與整個(gè)系統(tǒng)的接口??蛻舻膽?yīng)用程序精簡(jiǎn)到一個(gè)通用的瀏覽器軟件,如NetscapeNavigator、微軟公司的IE、OperaInternetBrowser等。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁(yè)。網(wǎng)頁(yè)還具備一定的交互功能,允許用戶在網(wǎng)頁(yè)提供的申請(qǐng)表上輸入信息提交給后臺(tái),并提出處理請(qǐng)求。這個(gè)后臺(tái)就是第二層的Web服務(wù)器。第二層Web服務(wù)器將啟動(dòng)相應(yīng)的進(jìn)程來(lái)響應(yīng)這一請(qǐng)求,并動(dòng)態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器。如果客戶機(jī)提交的請(qǐng)求包括數(shù)據(jù)的存取,Web服務(wù)器還需與數(shù)據(jù)庫(kù)服務(wù)器協(xié)同完成這一處理工作。第三層數(shù)據(jù)庫(kù)服務(wù)器的任務(wù)類似于C/S模式,負(fù)責(zé)協(xié)調(diào)不同的Web服務(wù)器發(fā)出的SQ請(qǐng)求,管理數(shù)據(jù)庫(kù)。B/S模式有很多的優(yōu)點(diǎn),主要有:首先它簡(jiǎn)化了客戶端。它無(wú)需像C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過(guò)程更加簡(jiǎn)便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個(gè)企業(yè)的決策層要開(kāi)一個(gè)討論庫(kù)存問(wèn)題的會(huì)議,他們只需從會(huì)議室的計(jì)算機(jī)上直接通過(guò)瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會(huì)者還可以把筆記本電腦聯(lián)上會(huì)議室的網(wǎng)絡(luò)插口,自己來(lái)查詢相關(guān)的數(shù)據(jù)。其次,它簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)和維護(hù)。系統(tǒng)的開(kāi)發(fā)者無(wú)須再為不同級(jí)別的用戶設(shè)計(jì)開(kāi)發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實(shí)現(xiàn)在Web服務(wù)器上,并就不同的功能為各個(gè)組別的用戶設(shè)置權(quán)限就可以了。各個(gè)用戶通過(guò)請(qǐng)求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對(duì)數(shù)據(jù)的查詢或修改?,F(xiàn)代企業(yè)面臨著日新月異的競(jìng)爭(zhēng)環(huán)境,對(duì)企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻繁。相對(duì)于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢(shì)變化時(shí),它無(wú)須再為每一個(gè)現(xiàn)有的客戶應(yīng)用程序升級(jí),而只需對(duì)Web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高公司的運(yùn)作效率,還省去了維護(hù)時(shí)協(xié)調(diào)工作的不少麻煩。如果一個(gè)公司有上千臺(tái)客戶機(jī),并且分布在不同的地點(diǎn),那么便于維護(hù)將會(huì)顯得更加重要。再次,它使用戶的操作變得更簡(jiǎn)單。對(duì)于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時(shí),客戶端只是一個(gè)簡(jiǎn)單易用的瀏覽器軟件。無(wú)論是決策層還是操作層的人員都無(wú)需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使MIS系統(tǒng)維護(hù)的限制因素更少。最后,B/S特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴(kuò)展。這是C/S所無(wú)法實(shí)現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書(shū)面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡(jiǎn)化,節(jié)省人力物力。鑒于B/S相對(duì)于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺(tái)。各軟件公司紛紛推出自己的Internet方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開(kāi)始使用它,并且收到了一定的成效。[1][2][3]Flex技術(shù)簡(jiǎn)介RIA技術(shù)介紹傳統(tǒng)網(wǎng)絡(luò)程序的開(kāi)發(fā)是基于頁(yè)面的、服務(wù)器端數(shù)據(jù)傳遞的模式,把網(wǎng)絡(luò)程序的表現(xiàn)層建立于HTML頁(yè)面之上,而HTML是適合于文本的,傳統(tǒng)的基于頁(yè)面的系統(tǒng)已經(jīng)漸漸不能滿足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗(yàn)要求了。而富互聯(lián)網(wǎng)應(yīng)用(RichInternetApplications,縮寫為RIA)的出現(xiàn)就是為了解決這個(gè)問(wèn)題。富互聯(lián)網(wǎng)應(yīng)用程序是下一代的將桌面應(yīng)用程序的交互式用戶體驗(yàn)與傳統(tǒng)的WEB應(yīng)用的部署靈活性和成本分析結(jié)合起來(lái)的網(wǎng)絡(luò)應(yīng)用程序。富互聯(lián)網(wǎng)應(yīng)用程序中的富客戶端技術(shù)通過(guò)提供可承載已編譯客戶端應(yīng)用程序(以文件形式,用傳遞)的運(yùn)行環(huán)境,客戶端應(yīng)用程序使用異步客戶/服務(wù)器架構(gòu)連接現(xiàn)有的后端應(yīng)用服務(wù)器,這是一種安全、可升級(jí)、具有良好適應(yīng)性的新的面向服務(wù)模型,這種模型由采用的WEB服務(wù)所驅(qū)動(dòng)。結(jié)合了聲音、視頻和實(shí)時(shí)對(duì)話的綜合通信技術(shù),使富互聯(lián)網(wǎng)應(yīng)用程序(RIA)具有前所未有的網(wǎng)上用戶體驗(yàn)?,F(xiàn)在比較流行的RIA技術(shù)有AdobeFlash/Flex技術(shù)、MicrosoftSilverlight、Laszlo。Flex/Flash技術(shù)Flex架構(gòu)介紹:2004年初,RIA技術(shù)的倡導(dǎo)者M(jìn)acromedia發(fā)布Flex。Flex是為滿足希望開(kāi)發(fā)RIA的企業(yè)級(jí)程序員的需求而推出的表示層服務(wù)器應(yīng)用程序框架,它可以運(yùn)行于J2EE和.Net平臺(tái)。Flex具有桌面應(yīng)用程序的響應(yīng)性與豐富性,又具有Web傳播范圍廣的特性。接下來(lái)首先介紹一下Flex的基本架構(gòu)。Flex的基本架構(gòu)包括4個(gè)部分,如圖所示。圖2.1Flex基本架構(gòu)AdobeSDKAdobeSDK(StandardDevelopKit)是Flex的標(biāo)準(zhǔn)開(kāi)發(fā)套件,包含F(xiàn)lex框架,F(xiàn)lex類庫(kù),MXML和編輯器。Flex框架是基于組件的開(kāi)發(fā)框架。用于運(yùn)行RIA應(yīng)用程序。MXML和是開(kāi)發(fā)應(yīng)用程序所需要的語(yǔ)言。AdobeFlexchartingAdobeFlexCharting為Flex提供了圖標(biāo)組件,該圖標(biāo)組件提供豐富的交互式圖表和圖形庫(kù),支持豐富的數(shù)據(jù)顯示中心和交換數(shù)據(jù)分析;可在客戶端動(dòng)態(tài)呈現(xiàn)并完全支持動(dòng)態(tài)的數(shù)據(jù)綁定和事件觸發(fā);實(shí)現(xiàn)深入分析,翻轉(zhuǎn)和其他的交換功能,從而使圖表更為深刻明晰。AdobeFlexDataServicesAdobeFlexDataServices負(fù)責(zé)解決Flex應(yīng)用用戶界面與服務(wù)器端的數(shù)據(jù)交互,它提供一系列強(qiáng)大的服務(wù)器端數(shù)據(jù)管理功能,是開(kāi)發(fā)人員能夠快速提供數(shù)據(jù)密集型Flex應(yīng)用程序。FlexDataService部署為標(biāo)準(zhǔn)WebJ2EE應(yīng)用程序?,F(xiàn)在FlexDataServices已經(jīng)更名為(LDS)LiveCycleDataService,并且開(kāi)源社區(qū)提供了開(kāi)源的替代(LDS)的服務(wù)組件Blazeds。AdobeFlexBuilderAdobeFlexBuilder是基于Eclipse創(chuàng)建的,用于開(kāi)發(fā)Flex應(yīng)用程序集成開(kāi)發(fā)環(huán)境。FlexBuilder3與先前的版本相比,做了很大的改進(jìn),借助Eclipse的優(yōu)勢(shì),使用精準(zhǔn)的設(shè)計(jì)和優(yōu)秀的代碼提示功能,調(diào)試工具,使開(kāi)發(fā)人員更容易掌握使用開(kāi)發(fā)工具快速開(kāi)發(fā)Flex應(yīng)用?,F(xiàn)在最新的版本為今年11月份出版的FlashBuilder4.隨著FlashBuilder4的面世,開(kāi)發(fā)Flex應(yīng)用程序?qū)⒏拥耐晟?,高效。Flex的特點(diǎn):Flex擴(kuò)展了傳統(tǒng)Web應(yīng)用缺乏的元素,減少了服務(wù)器之間的通信次數(shù),能更為詳盡地展示數(shù)據(jù)的細(xì)節(jié),其最適用的應(yīng)用程序包括解決多步處理,客戶驗(yàn)證,控制可視數(shù)據(jù),是桌面應(yīng)用和Web應(yīng)用結(jié)合起來(lái),表現(xiàn)出更強(qiáng)大的表現(xiàn)力。Flex在解決用戶體驗(yàn)困難的同時(shí),也帶來(lái)了新的特點(diǎn),具體如下:1.高效性:通過(guò)增強(qiáng)表示層的效果提高最終用戶體驗(yàn)的投資回報(bào),利用簡(jiǎn)單,引人注目的用戶界面及網(wǎng)絡(luò)及服務(wù)器開(kāi)銷及企業(yè)集成來(lái)生成提高效益,降低成本的應(yīng)用程序。2.易用性:利用直觀的變成模型開(kāi)發(fā)RIA應(yīng)用,無(wú)需改動(dòng)現(xiàn)有的Web開(kāi)發(fā)工作流程。提高互操作性和行業(yè)標(biāo)準(zhǔn),包括XML,SOAP與ECMAScript.3.靈活性:基于組件的開(kāi)發(fā)模型是Flex應(yīng)用程序開(kāi)發(fā)十分靈活,開(kāi)發(fā)者可利用Flex中包含的預(yù)建組件和擴(kuò)展組件來(lái)添加新的屬性和方法,以及創(chuàng)建新的組件,開(kāi)發(fā)者可以控制組件的外觀,確定組件如何響應(yīng)用戶交換。4.全面性:迅速地創(chuàng)建足以帶到企業(yè)級(jí)的性能及高投資收益的應(yīng)用。[4][5][6]MVC模式MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。Model(模型)模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。View(視圖)視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括AdobeFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Webservices。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。Controller(控制器)控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器(例如:Servlet)本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。現(xiàn)在我們總結(jié)MVC的處理過(guò)程,首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來(lái)處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層呈現(xiàn)給用戶。[7][8][9]圖2.2MVC模式圖JavaBean技術(shù)JavaBean是一種JAVA語(yǔ)言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無(wú)參數(shù)的構(gòu)造器。JavaBean通過(guò)提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露成員屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過(guò)自身機(jī)制發(fā)現(xiàn)和操作這些JavaBean屬性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。[9][10][11]Servlet技術(shù)Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他客戶程序)與服務(wù)器響應(yīng)(服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。Servlet應(yīng)用編程接口Servlet:Servlet類包含init()、destroy()、service()等方法。其中init()和destroy()方法是繼承的。(1)init()方法。在Servlet的生命期中,僅執(zhí)行一次init()方法。它是在服務(wù)器裝入Servlet時(shí)執(zhí)行的??梢耘渲梅?wù)器,以在啟動(dòng)服務(wù)器或客戶機(jī)首次訪問(wèn)Servlet時(shí)裝入Servlet。無(wú)論有多少客戶機(jī)訪問(wèn)Servlet,都不會(huì)重復(fù)執(zhí)行init()。缺省的init()方法通常是符合要求的,但也可以用定制init()方法來(lái)覆蓋它,典型的是管理服務(wù)器端資源。例如,可能編寫一個(gè)定制init()來(lái)只用于一次裝入GIF圖像,改進(jìn)Servlet返回GIF圖像和含有多個(gè)客戶機(jī)請(qǐng)求的性能。另一個(gè)示例是初始化數(shù)據(jù)庫(kù)連接。缺省的init()方法設(shè)置了Servlet的初始化參數(shù),并用它的ServletConfig對(duì)象參數(shù)來(lái)啟動(dòng)配置,因此所有覆蓋init()方法的Servlet應(yīng)調(diào)用super.init()以確保仍然執(zhí)行這些任務(wù)。在調(diào)用service()方法之前,應(yīng)確保已完成了init()方法。(2)service()方法。service()方法是Servlet的核心。每當(dāng)一個(gè)客戶請(qǐng)求一個(gè)Servlet對(duì)象,該對(duì)象的service()方法就要被調(diào)用,而且傳遞給這個(gè)方法一個(gè)"請(qǐng)求"(ServletRequest)對(duì)象和一個(gè)"響應(yīng)"(ServletResponse)對(duì)象作為參數(shù)。在Servlet中已存在service()方法。缺省的服務(wù)功能是調(diào)用與請(qǐng)求的方法相應(yīng)的do功能。例如,如果請(qǐng)求方法為GET,則缺省情況下就調(diào)用doGet()。Servlet應(yīng)該為Servlet支持的方法覆蓋do功能。因?yàn)镾ervlet.service()方法會(huì)檢查請(qǐng)求方法是否調(diào)用了適當(dāng)?shù)奶幚矸椒?,不必要覆蓋service()方法。只需覆蓋相應(yīng)的do方法就可以了。Servlet的響應(yīng)可以是下列幾種類型:一個(gè)輸出流,瀏覽器根據(jù)它的內(nèi)容類型(如text/HTML)進(jìn)行解釋;一個(gè)錯(cuò)誤響應(yīng),重定向到另一個(gè)URL、servlet、JSP。(3)doGet()方法。當(dāng)一個(gè)客戶通過(guò)HTML表單發(fā)出一個(gè)GET請(qǐng)求或直接請(qǐng)求一個(gè)URL時(shí),doGet()方法被調(diào)用。與GET請(qǐng)求相關(guān)的參數(shù)添加到URL的后面,并與這個(gè)請(qǐng)求一起發(fā)送。當(dāng)不會(huì)修改服務(wù)器端的數(shù)據(jù)時(shí),應(yīng)該使用doGet()方法。(4)doPost()方法。當(dāng)一個(gè)客戶通過(guò)HTML表單發(fā)出一個(gè)POST請(qǐng)求時(shí),doPost()方法被調(diào)用。與POST請(qǐng)求相關(guān)的參數(shù)作為一個(gè)單獨(dú)的請(qǐng)求從瀏覽器發(fā)送到服務(wù)器。當(dāng)需要修改服務(wù)器端的數(shù)據(jù)時(shí),應(yīng)該使用doPost()方法。(5)destroy()方法。destroy()方法僅執(zhí)行一次,即在服務(wù)器停止且卸裝Servlet時(shí)執(zhí)行該方法。典型的,將Servlet作為服務(wù)器進(jìn)程的一部分來(lái)關(guān)閉。缺省的destroy()方法通常是符合要求的,但也可以覆蓋它,典型的是管理服務(wù)器端資源。例如,如果Servlet在運(yùn)行時(shí)會(huì)累計(jì)統(tǒng)計(jì)數(shù)據(jù),則可以編寫一個(gè)destroy()方法,該方法用于在未裝入Servlet時(shí)將統(tǒng)計(jì)數(shù)字保存在文件中。另一個(gè)示例是關(guān)閉數(shù)據(jù)庫(kù)連接。當(dāng)服務(wù)器卸裝Servlet時(shí),將在所有service()方法調(diào)用完成后,或在指定的時(shí)間間隔過(guò)后調(diào)用destroy()方法。一個(gè)Servlet在運(yùn)行service()方法時(shí)可能會(huì)產(chǎn)生其它的線程,因此請(qǐng)確認(rèn)在調(diào)用destroy()方法時(shí),這些線程已終止或完成。javax.servlet軟件包中的相關(guān)類為ServletResponse和ServletRequest,而javax.servlet.軟件包中的相關(guān)類為ServletRequest和ServletResponse。Servlet通過(guò)這些對(duì)象與服務(wù)器通信并最終與客戶機(jī)通信。Servlet能通過(guò)調(diào)用"請(qǐng)求"對(duì)象的方法獲知客戶機(jī)環(huán)境,服務(wù)器環(huán)境的信息和所有由客戶機(jī)提供的信息。Servlet可以調(diào)用"響應(yīng)"對(duì)象的方法發(fā)送響應(yīng),該響應(yīng)是準(zhǔn)備發(fā)回客戶機(jī)的。[10][11][12]FileUpload文件上傳組件FileUpload是Apachecommons下面的一個(gè)子項(xiàng)目,用來(lái)實(shí)現(xiàn)Java環(huán)境下面的文件上傳功能,與常見(jiàn)的SmartUpload齊名。FielUpload文件上傳組件可以在下載,上傳的文件要求包括一個(gè)根據(jù)RFC1867(在HTML中基于表單的文件)編碼的選項(xiàng)列表清單。組件FileUpload可以解析這個(gè)請(qǐng)求,并給你的應(yīng)用程序提供一份獨(dú)立上傳的項(xiàng)目清單。無(wú)論每個(gè)項(xiàng)目背后如何執(zhí)行都實(shí)現(xiàn)了FileItem接口。這里將描述組件FileUpload庫(kù)的普通API,這些API比較簡(jiǎn)單。不過(guò),對(duì)于最終的實(shí)現(xiàn),你可以參考最新的API流。每一個(gè)文件項(xiàng)目都有一些屬性,這些可能在你的應(yīng)用程序中應(yīng)用到。比如:每一個(gè)項(xiàng)目有一個(gè)名稱name和內(nèi)容類型congtenttype,并提供了一個(gè)InputStream訪問(wèn)其數(shù)據(jù)。另一方面,你處理項(xiàng)目的方法可能有所不同,這個(gè)依賴于是否這個(gè)項(xiàng)目是一個(gè)規(guī)則的表單域,即:這個(gè)數(shù)據(jù)是來(lái)自普通的表單文本,還是普通的HTML域或是一個(gè)上傳文件。在FileItem接口中提供了處理這些問(wèn)題的方法,可以更加方便的去訪問(wèn)這些數(shù)據(jù)。組件FileUpload使用FileItemFactory工廠創(chuàng)建新的文件項(xiàng)目。這個(gè)給了組件FileUpload很大的靈活性。這個(gè)工廠擁有怎樣創(chuàng)建項(xiàng)目的最終控制權(quán)。工廠執(zhí)行過(guò)程中上傳項(xiàng)目文件的臨時(shí)數(shù)據(jù)可以存儲(chǔ)在內(nèi)存中或硬盤上。這個(gè)依賴于上傳文件的大小(即:數(shù)據(jù)的字節(jié))。不過(guò)這種行為可以在你的應(yīng)用程序中適當(dāng)?shù)淖远ㄖ?。面向?qū)ο蟮姆治雠c設(shè)計(jì)在經(jīng)過(guò)軟件開(kāi)發(fā)各種概念和方法的研究、實(shí)踐的基礎(chǔ)上,對(duì)于如何超越程序的復(fù)雜性障礙、如何在計(jì)算機(jī)系統(tǒng)中自然地表示客觀世界,人們拿起了思維科學(xué)中面向?qū)ο蠹夹g(shù)作為武器,采用基于客觀世界的對(duì)象模型的軟件開(kāi)發(fā)方法,按問(wèn)題論域設(shè)計(jì)程序模塊,它不是以函數(shù)過(guò)程、每個(gè)數(shù)據(jù)結(jié)構(gòu)為中心,而是以對(duì)象代表問(wèn)題解得中心環(huán)節(jié),它使計(jì)算機(jī)程序的分析、設(shè)計(jì)額實(shí)現(xiàn)過(guò)程和方法改變了過(guò)去脫節(jié)和跳躍的狀態(tài),使人們對(duì)復(fù)雜系統(tǒng)的認(rèn)識(shí)過(guò)程和系統(tǒng)的程序設(shè)計(jì)實(shí)現(xiàn)過(guò)程盡可能的一致。經(jīng)驗(yàn)證明,對(duì)于任何軟件而言,其中最穩(wěn)定的部分是對(duì)應(yīng)的問(wèn)題論域,與功能相比,一個(gè)問(wèn)題域中的對(duì)象一般總能保持其中的穩(wěn)定性,因而以面向?qū)ο髽?gòu)造的系統(tǒng)的主體結(jié)構(gòu)也是具有較好的穩(wěn)定性和可重用性。因此,采用“對(duì)象+消息”的程序設(shè)計(jì)模式,具有滿足軟件工程發(fā)展需要的更多優(yōu)勢(shì)。面向?qū)ο笤O(shè)計(jì)方法最前的是現(xiàn)實(shí)問(wèn)題空間與軟件系統(tǒng)的解空間的近似和直接的模擬。從這些角度講,現(xiàn)實(shí)世界空間中的基本問(wèn)題是物質(zhì)和意識(shí),映射到面向?qū)ο笙到y(tǒng)的解空間就是:具體事物(對(duì)象)和抽象概念(類)。面向?qū)ο蠹夹g(shù)的封裝、繼承、多態(tài)性等不僅支持軟件復(fù)用,而且是軟件的維護(hù)工作可靠有效,可實(shí)現(xiàn)軟件系統(tǒng)的柔性制造,特別是隨著Internet/Intranet的發(fā)展,網(wǎng)絡(luò)分布計(jì)算的應(yīng)用和需求日益增長(zhǎng),面向?qū)ο蠹夹g(shù)為網(wǎng)絡(luò)分布計(jì)算提供了基礎(chǔ)性核心技術(shù)支持。[13][14][15]

第三章系統(tǒng)分析與設(shè)計(jì)操作系統(tǒng)精品課程網(wǎng)站是為了提高教學(xué)質(zhì)量,增加師生交流的一個(gè)網(wǎng)上平臺(tái),在這個(gè)平臺(tái)上,作為游客可以觀看課程信息,包括課程簡(jiǎn)介,該課程的師資力量,課程實(shí)驗(yàn),課程練習(xí),下載教學(xué)或者是學(xué)習(xí)的資源等;而登陸系統(tǒng)后的學(xué)生除了具有游客的所有功能之外,還有在線測(cè)試自己的學(xué)習(xí)狀況,在線測(cè)試的形式有很多種,包括按條件組題測(cè)試,隨機(jī)測(cè)試,按章節(jié)順序測(cè)試,錯(cuò)題測(cè)試等,同時(shí),學(xué)生和可以在在線提問(wèn)等功能;老師在這個(gè)平臺(tái)上可以在線回答學(xué)生提出的問(wèn)題,同時(shí)可以分析學(xué)生的錯(cuò)題信息等。 功能分析通過(guò)具體的調(diào)研和分析,系統(tǒng)主要的用戶按角色可以分為游客,學(xué)生,教師,和管理員。本人分別從前后臺(tái)按角色來(lái)概要的描述下操作系統(tǒng)的精品課程的主要功能。在系統(tǒng)的前臺(tái),主要的用戶有還沒(méi)有登錄到后臺(tái)的系統(tǒng)管理,教師,學(xué)生和通過(guò)在瀏覽器地址欄上輸入本網(wǎng)站URL地址的游客。這些用戶不但可以通過(guò)點(diǎn)擊相應(yīng)的功能按鈕查看本網(wǎng)站的基本信息,幫助,課程的簡(jiǎn)要介紹,課程實(shí)驗(yàn),課程練習(xí)的簡(jiǎn)要介紹等靜態(tài)的信息;而且還可以通過(guò)打開(kāi)下載資源窗口下載教師在后臺(tái)上傳的教學(xué)資源,查看師生之間交流的信息,師資力量等;同時(shí)通過(guò)打開(kāi)登錄窗口進(jìn)行登錄的功能。前臺(tái)用戶的用例圖如圖所示:圖3.1用戶在系統(tǒng)前臺(tái)用例圖系統(tǒng)的后臺(tái)可以根據(jù)角色分為管理員后臺(tái),學(xué)生后臺(tái),教師后臺(tái)等。不同的角色通過(guò)登錄窗口登入進(jìn)不同的后臺(tái)界面。通過(guò)分角色分將系統(tǒng)的后臺(tái)分為三個(gè)后臺(tái)分別是管理員后臺(tái),教師后臺(tái)和學(xué)生后臺(tái)。在學(xué)生后臺(tái)中學(xué)生不但具有游客所具有的所有功能外,同時(shí)學(xué)生還可以通過(guò)點(diǎn)擊基本信息查看自己的基本信息,在基本信息界面里,可以對(duì)自己的基本信息進(jìn)行修改,包括密碼,描述,出生日期等。學(xué)生還可以進(jìn)行網(wǎng)上答疑或者進(jìn)行提問(wèn),就是學(xué)生可以針對(duì)留言平臺(tái)里的留言發(fā)表自己的看法,見(jiàn)解,或者提出疑問(wèn)等。除此之外,學(xué)生進(jìn)行組題測(cè)試,就是自己可以通過(guò)從數(shù)據(jù)庫(kù)中按照不同的方式抽取出題目進(jìn)行在線的測(cè)試。組題的方式分為按條件組題測(cè)試、順序組題測(cè)試、隨機(jī)組題測(cè)試、錯(cuò)題測(cè)試。測(cè)試完抽取出來(lái)的題目之后,系統(tǒng)將自動(dòng)的給出題目的答案,并提示答題正確還是錯(cuò)誤,在錯(cuò)題測(cè)試時(shí)測(cè)試完后,不但能給出答案,而且將提示是否刪除錯(cuò)題記錄的提示,在這里學(xué)生可以刪除自己的錯(cuò)題記錄。如下圖學(xué)生后臺(tái)用例圖:圖3.2學(xué)生后臺(tái)用例圖在教師后臺(tái)中,除了具有游客的所有功能外,同時(shí)還具有錯(cuò)題分析和資源管理的功能,錯(cuò)題分析就是可以查看學(xué)生的錯(cuò)題記錄,在錯(cuò)題記錄中,不但可以看到做錯(cuò)題目的學(xué)生,和該學(xué)生的做錯(cuò)次數(shù),還可以看到錯(cuò)題的詳細(xì)信息,包括答案。資源管理就是教師可以上傳教學(xué)資源,包括課件,教學(xué)視頻,課程學(xué)習(xí)資料,課程作業(yè)等與教學(xué)有關(guān)的資源;同時(shí)教師還可以對(duì)自己上傳的教學(xué)資源進(jìn)行刪除的操作。詳細(xì)的用例圖如圖3.3教師后臺(tái)用例圖:圖3.3教師后臺(tái)用例圖管理員也擁有游客的所有功能;同時(shí)管理員還負(fù)責(zé)整個(gè)網(wǎng)站系統(tǒng)的維護(hù),所以在系統(tǒng)管理員后臺(tái)可以對(duì)課程介紹,課程章節(jié),章節(jié)的知識(shí)點(diǎn),實(shí)驗(yàn),練習(xí)進(jìn)行修改添加;除此之外,系統(tǒng)管理員還可以對(duì)使用該網(wǎng)站的用戶的信息進(jìn)行管理,包括添加教師,管理員,學(xué)生,和修改刪除添加的用戶信息。學(xué)生在線自測(cè)的題目也是管理員錄入數(shù)據(jù)庫(kù)的,所以管理員后臺(tái)還有對(duì)題庫(kù)的管理,包括選擇題,填空題,判斷題,簡(jiǎn)答題。并對(duì)這些題目具有增刪改查的權(quán)利。詳細(xì)信息如圖3.4管理員后臺(tái)管理:圖3.4管理員后臺(tái)管理3.2系統(tǒng)業(yè)務(wù)類的分析與設(shè)計(jì)系統(tǒng)的業(yè)務(wù)類通過(guò)名詞識(shí)別法和系統(tǒng)實(shí)體識(shí)別法等方法可以識(shí)別出系統(tǒng)的持久化類和它們之間的關(guān)系。系統(tǒng)的實(shí)體類有用戶類UserInfo;用于描述用戶信息的數(shù)據(jù)結(jié)構(gòu)。題目類SubjectInfo,用于描述題目信息的數(shù)據(jù)結(jié)構(gòu);課程章節(jié)類SectionInfo:描述課程章節(jié)的數(shù)據(jù)結(jié)構(gòu),知識(shí)點(diǎn)類KenInfo用于描述章節(jié)知識(shí)點(diǎn)的數(shù)據(jù)結(jié)構(gòu);留言實(shí)體類MessageInfo:描述用戶留言的數(shù)據(jù)結(jié)構(gòu);錯(cuò)題記錄實(shí)體類WrongSubLog:描述錯(cuò)題記錄的數(shù)據(jù)結(jié)構(gòu);資源實(shí)體ResouseInfo:描述教學(xué)資源的數(shù)據(jù)結(jié)構(gòu);描述系統(tǒng)以下用類圖這種簡(jiǎn)單明了的方法分別表示出這些持久化類的名稱和屬性。它們的類圖如下圖3.5系統(tǒng)持久化類圖:圖3.5系統(tǒng)持久化類圖系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)表留言信息表,數(shù)據(jù)庫(kù)表名messageInfo,用于描述用戶留言的數(shù)據(jù)結(jié)構(gòu)。主鍵字段是Id,引用了用戶表UserInfo中的userNum作為外鍵。和UserInfo表是N:1的關(guān)系。它的詳細(xì)信息如表留言信息表:表3.1留言信息表字段名數(shù)據(jù)類型必須的PK注釋idint是是留言的id號(hào)msgTitleChar否否留言的標(biāo)題msgContentText是否留言的內(nèi)容msgOwnInt是否留言者的Id號(hào)知識(shí)點(diǎn)表,數(shù)據(jù)庫(kù)表名為kenInfo:描述章節(jié)知識(shí)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。主鍵為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增,sectionId是外鍵,應(yīng)用了SectionInfo表的主鍵;和章節(jié)信息表是N:1的關(guān)系。它的詳細(xì)信息如表3.2知識(shí)點(diǎn)表信息:表3.2知識(shí)點(diǎn)表字段名稱數(shù)據(jù)類型必需的PK注釋IdInt是是知識(shí)點(diǎn)的Id號(hào)kenTitleChar是否知識(shí)點(diǎn)的關(guān)鍵字kenAboutVarchar(500)否否知識(shí)點(diǎn)的簡(jiǎn)要描述sectionedInt是否外鍵,應(yīng)用章節(jié)的id標(biāo)示號(hào)difGradeInt是否知識(shí)點(diǎn)的難度,系統(tǒng)擴(kuò)展時(shí)使用,默認(rèn)0章節(jié)信息表,數(shù)據(jù)庫(kù)表名為SectionInfo:描述章節(jié)信息的數(shù)據(jù)結(jié)構(gòu)。主鍵為名為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增類型,增量為1。它的詳細(xì)信息如表3.3章節(jié)信息表:表章節(jié)信息表字段名稱數(shù)據(jù)類型必需的PK注釋IdInt是是章節(jié)的標(biāo)示Id號(hào),自增BtitleChar(50)是否章節(jié)的關(guān)鍵字BaboutVarchar(1000)否否章節(jié)的簡(jiǎn)要描述資源信息表,數(shù)據(jù)庫(kù)表名為ResouceInfo,描述資源信息的數(shù)據(jù)結(jié)構(gòu)表。主鍵字段為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增類型,增量為1;sectionId引用了章節(jié)標(biāo)示作為主鍵。它的詳細(xì)信息如表3.4資源信息表:表資源信息表字段名稱數(shù)據(jù)類型必需的PK注釋IdInt是是資源的標(biāo)示號(hào)resNameChar(100)是否資源的描述名稱resTypeVarchar(50)是否資源的類型resOwnChar(50)是否資源的上傳者的職工號(hào)resAboutVarchar(500)否否資源的簡(jiǎn)單描述reMTInt是否是否是推薦的,系統(tǒng)擴(kuò)展使用SectionIdInt是否資源所屬的章節(jié)的id號(hào),關(guān)聯(lián)章節(jié)表updateTimedateTime是否資源上傳的時(shí)間題目的信息表,數(shù)據(jù)庫(kù)表名為SubjectInfo,描述題目信息的數(shù)據(jù)結(jié)構(gòu)表。主鍵字段為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增,增了為1;kenId表示這個(gè)題目所數(shù)的知識(shí)點(diǎn),引用了知識(shí)點(diǎn)的表的id號(hào),是外鍵;subjectType表示題目的類型,用1表示是單選題,2表示多選題,3表示判斷題,4表示填空題,5表示簡(jiǎn)答題。詳細(xì)信息如表3.5系統(tǒng)題目信息表表3.5題目信息表字段名稱數(shù)據(jù)類型必需的PK注釋IdInt是是題目的標(biāo)示id號(hào)subjectNameVarchar(2000)是否題目問(wèn)題的信息SubKeyVarchar(2000)是否題目的答案和選項(xiàng)信息kenIDInt是否題目所在知識(shí)點(diǎn)的id號(hào),外鍵subjectTypeInt是否題目的類型錯(cuò)題記錄表:數(shù)據(jù)庫(kù)的表名為WrongSubLog,學(xué)生錯(cuò)題記錄信息的數(shù)據(jù)結(jié)構(gòu)表。主鍵為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增,增量為1;subjectId為外鍵,應(yīng)用了題目信息表的主鍵;studentId也為外鍵,引用了用戶信息表的標(biāo)示。詳細(xì)信息如表3.6錯(cuò)題記錄表:表錯(cuò)題記錄表字段名稱數(shù)據(jù)類型必須的PK注釋IdInt是是錯(cuò)題記錄的Id號(hào)subjectedInt是否錯(cuò)誤題目的id號(hào)studentIdInt是否做錯(cuò)題目的學(xué)生的id號(hào)countNumInt是否該學(xué)生做錯(cuò)題目的次數(shù)用戶信息表:數(shù)據(jù)庫(kù)表名為userInfo,描述用戶基本信息的數(shù)據(jù)結(jié)構(gòu)表。主鍵為id,在數(shù)據(jù)庫(kù)中設(shè)置為自增,增量為1。詳細(xì)信息如下表3.7用戶信息表:表用戶信息表字段名稱數(shù)據(jù)類型必需的PK注釋IdInt是是用戶的標(biāo)示usernameChar(20)是否用戶的姓名userNumChar(30)是否用戶的職工編號(hào),或者學(xué)生的學(xué)號(hào)PasswordChar(30)是否用戶的密碼SexChar(10)是否用戶的性別EmailChar(50)否否用戶的郵件地址BirthdaydateTime否否用戶的出生日期TelChar(20)否否用戶的號(hào)碼或者手機(jī)號(hào)碼PhotoChar(50)是否用戶的頭像地址tGraduatedChar(50)否否教師畢業(yè)的學(xué)校tPositionChar(30)否否教師的職位tDegreeChar(30)否否教師的稱號(hào)NationChar(20)否否用戶的民族userAboutVarchar(5000)否否用戶的簡(jiǎn)要描述tResearchVarchar(5000)否否教師的主研究領(lǐng)域PopedomChar(10)是否用戶的權(quán)限標(biāo)志AddrChar(50)否否用戶的地址userClassChar(50)否否學(xué)生的班級(jí)系統(tǒng)設(shè)計(jì).1系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)在系統(tǒng)服務(wù)器端的業(yè)務(wù)處理中有六個(gè)包,它們分別是:包裝載系統(tǒng)實(shí)體bean。映射數(shù)據(jù)庫(kù)中相應(yīng)的表。包jingpin.business主要映射數(shù)據(jù)庫(kù)中的一些視圖,同時(shí),也映射試圖層Flex程序中的一些視圖bean,用于更好的顯示數(shù)據(jù),有利于將數(shù)據(jù)庫(kù)中查詢出來(lái)的關(guān)系型數(shù)據(jù)轉(zhuǎn)換成對(duì)象類型的數(shù)據(jù)。包:裝載對(duì)數(shù)據(jù)庫(kù)中各個(gè)表的所有低層操作,如增加、刪除、修改等。包jingpin.util:裝載系統(tǒng)主要的工具類。如分頁(yè)工具類,連接數(shù)據(jù)的工具類,隨機(jī)選題工具類,題目轉(zhuǎn)換工具類等。包:裝載視圖層Flex應(yīng)用程序接口,F(xiàn)lex應(yīng)用程序通過(guò)RemoteObject對(duì)象可以直接調(diào)用action里面的方法。 包servlet和的作用是一樣的,不過(guò)他是通過(guò)Flex的Service對(duì)象來(lái)與后臺(tái)進(jìn)行通信,在這里主要用于文件的傳輸。 客戶端通過(guò)請(qǐng)求里的類來(lái)達(dá)到和服務(wù)器端進(jìn)行數(shù)據(jù)交互。而jingp.action里的類將請(qǐng)求數(shù)據(jù)設(shè)置在或者中,如果需要里的類來(lái)輔助處理業(yè)務(wù)邏輯,就調(diào)用里的工具類來(lái)處理,如果沒(méi)有就直接調(diào)用里的類來(lái)連接數(shù)據(jù)庫(kù)。并對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行相應(yīng)的操作。它們的工作機(jī)制如圖3.6系統(tǒng)服務(wù)器端包圖:圖系統(tǒng)服務(wù)器端包圖系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)由于使用的是B/S架構(gòu),所有在客戶端是使用瀏覽器,在服務(wù)器是使用Tomcat作為容器存放服務(wù)器的業(yè)務(wù)邏輯處理程序,數(shù)據(jù)庫(kù)采用sql2000。在客戶端是使用Flex開(kāi)發(fā)的Flash;用戶只要在瀏覽器中安裝Flash的插件就可以通過(guò)在地址欄上輸入域名訪問(wèn)服務(wù)器。在客戶端Flex應(yīng)用程序中,Model包里的ActionScript類,主要是用于映射服務(wù)器端jingpin.entity或者里的數(shù)據(jù)對(duì)象。Util包用于裝載視圖成的工具類,包括翻頁(yè)處理類、文件上傳處類和一些簡(jiǎn)單業(yè)務(wù)邏輯的處理類等。Format裝載的格式化數(shù)據(jù)類,用于對(duì)model中的對(duì)象數(shù)據(jù)進(jìn)行格式化顯示,主要是為了提高系統(tǒng)性能。Event裝載的一些自定義事件。它的結(jié)構(gòu)圖如下圖系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖:圖3.7系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖學(xué)生在線測(cè)試活動(dòng)圖學(xué)生登錄后在線測(cè)試所涉及的對(duì)象有題目和錯(cuò)題記錄,題目是管理員錄入題庫(kù)的題目,學(xué)生通過(guò)學(xué)生后臺(tái)界面按照不同的方式從數(shù)據(jù)庫(kù)中進(jìn)行選題,并且對(duì)選擇的題目進(jìn)行測(cè)試,如果測(cè)試錯(cuò)題將把錯(cuò)題記錄通過(guò)系統(tǒng)記錄在錯(cuò)題記錄中,學(xué)生還可以對(duì)自己錯(cuò)題的題目再測(cè)試,測(cè)試正確后覺(jué)得是否從數(shù)據(jù)庫(kù)中刪除錯(cuò)題記錄?;顒?dòng)圖表示如下:圖3.8學(xué)生登錄后的活動(dòng)圖

第四章系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)系統(tǒng)的實(shí)現(xiàn)在系統(tǒng)的客戶端使用了Flex技術(shù),在服務(wù)器端用J2EE來(lái)處理業(yè)務(wù)邏輯,系統(tǒng)中的各個(gè)功能模塊的工作流程大體都差不多,本人圍繞系統(tǒng)的主體工作機(jī)制,分頁(yè),學(xué)生組卷,文件上傳等關(guān)鍵技術(shù)的實(shí)現(xiàn)進(jìn)行了詳細(xì)的分析和介紹。系統(tǒng)主體架構(gòu)的實(shí)現(xiàn)4.1.1系統(tǒng)設(shè)計(jì)架構(gòu)和工作機(jī)制在客戶端的Flex應(yīng)用中可以通過(guò)調(diào)用Flex數(shù)據(jù)服務(wù)組件BlazeDS來(lái)和服務(wù)器端應(yīng)用程序進(jìn)行通信。在本系統(tǒng)中調(diào)用了兩個(gè)BlazeDS的對(duì)象:RemoteObject和Service。RemoteObject對(duì)象通過(guò)在服務(wù)器端和文件的配置可以直接調(diào)用服務(wù)器端應(yīng)用程序中的方法,它的數(shù)據(jù)傳輸格式是以二進(jìn)制格式數(shù)據(jù)進(jìn)行傳輸,所以傳輸速率較快,適合傳輸對(duì)象型數(shù)據(jù)。而Service對(duì)象通過(guò)服務(wù)器端的配置可以直接請(qǐng)求服務(wù)器中的Servlet,它是以傳統(tǒng)的字符流的形式進(jìn)行數(shù)據(jù)傳輸?shù)?,適合文件的傳輸和簡(jiǎn)單的請(qǐng)求等。下面給出簡(jiǎn)單的代碼,使用ReomteObject進(jìn)行數(shù)據(jù)通信的客戶端代碼如下:下面是是向服務(wù)器端發(fā)送查詢章節(jié)集合的類: //查詢結(jié)果集 publicvarsectionList:ArrayCollection; privatefunctioninit():void{ sectionInfo=newSectionInfo(); sectionList=newArrayCollection(); remoteObject=newRemoteObject(); //設(shè)置服務(wù)器端的接受接口 remoteObject.destination="sectionInfoAction"; //便宜系統(tǒng)移植 remoteObject.endpoint="messagebroker/amf"; //設(shè)置是否顯示等待狀態(tài) remoteObject.showBusyCursor=true; //監(jiān)聽(tīng)當(dāng)查詢錯(cuò)誤時(shí)執(zhí)行的方法 remoteObject.addEventListener(FaultEvent.FAULT,function():void{Alert.show('查詢章節(jié)出錯(cuò)');}); //監(jiān)聽(tīng)查詢成功后執(zhí)行的方法 remoteObject.addEventListener(ResultEvent.RESULT,selectResultHandle); getSectionList(); } //向服務(wù)器發(fā)送查詢請(qǐng)求publicfunctiongetSectionList():void{//調(diào)用服務(wù)器端相應(yīng)類的getSection()方法 remoteObject.getSections(sectionInfo);} //處理查詢結(jié)果 publicfunctionselectResultHandle(e:ResultEvent):void{ this.sectionList=(e.resultasArrayCollection); }在獲得章節(jié)信息的Flex類SectionUtil中,remoteObject對(duì)象是向服務(wù)器交互,remoteObject.destination="sectionInfoAction"為了指定服務(wù)器端文件中配置的接受接口,同時(shí)監(jiān)聽(tīng)與服務(wù)器交互的事件,如果交互成功,就用selectResultHandle方法處理結(jié)果,如果失敗直接打印查詢錯(cuò)誤。在服務(wù)器端的文件中配置sectionInfoACtion接口配置信息如下://定義sectionInfoAction接口 <destinationid="sectionInfoAction"> <properties> <source></source> </properties> </destination>SectionInfoAction.java中獲得章節(jié)信息的方法代碼如下:*按條件查詢章節(jié)信息 publicList<SectionInfo>getSections(SectionInfosInfo){ operate=newSectionInfoOperate(); List<SectionInfo>list=newArrayList<SectionInfo>(); list=operate.selectSectionInfos(sInfo); returnlist; }}只要在服務(wù)器度端進(jìn)行的配置,在客戶端的RemoteObject對(duì)象就可以調(diào)用SectinInfoAction的任何方法進(jìn)行數(shù)據(jù)的傳輸. 使用Service對(duì)象進(jìn)行數(shù)據(jù)傳輸時(shí),服務(wù)器的Servlet和普通的Servlet沒(méi)有什么區(qū)別,在客戶端的Flex程序如下:<mx:Serviceid="Object"method="POST"fault="faultEvent(event)"result="resultHandle(event)"> <mx:url> xxxServlet </mx:url> </mx:Service>代碼分析:使用mxml創(chuàng)建Service對(duì)象,并且設(shè)置請(qǐng)求錯(cuò)誤時(shí)處理的方法faultEvent(event),其中在event中封裝了錯(cuò)誤的詳細(xì)信息;resultHandle(event)請(qǐng)求成功是執(zhí)行的方法,event對(duì)象中封裝了請(qǐng)求成功后的詳細(xì)信息,包括返回結(jié)果。xxxServlet是服務(wù)器端相中配置servlet的路徑。這樣客戶端就可以通過(guò)Service對(duì)象和服務(wù)器進(jìn)行數(shù)據(jù)交戶了。系統(tǒng)主體架構(gòu)設(shè)計(jì)圖如4.1系統(tǒng)架構(gòu)設(shè)計(jì)圖。圖4.1系統(tǒng)架構(gòu)設(shè)計(jì)圖系統(tǒng)服務(wù)器端包中的類和作用在上一章中已經(jīng)描述了系統(tǒng)服務(wù)器后臺(tái)所用到的主要包有五個(gè)分別為:、、、、。而視圖成的Flex代碼就相當(dāng)于MVC里的V即視圖,而在這里的包、和里的類就是M即模型層,其他的業(yè)務(wù)類就是控制層。各個(gè)包和包里的類及它們的作用如表4.1系統(tǒng)業(yè)務(wù)包和包里的類所示:表4.1系統(tǒng)業(yè)務(wù)包和包里的類Jingpin.action(客戶端視圖層接口)Jingpin.entity(系統(tǒng)實(shí)體Bean,對(duì)應(yīng)數(shù)據(jù)庫(kù)里的表)(對(duì)各個(gè)數(shù)據(jù)庫(kù)表的操作)(映射客戶端視圖層的一些mode里的類,用于封裝數(shù)據(jù),便宜客戶和服務(wù)器的數(shù)據(jù)交換)Servlet(系統(tǒng)客戶端Serlvet接口,主要用于文件上傳)Jingpin.util(服務(wù)器端系統(tǒng)工具類,有些用于處理一些業(yè)務(wù)邏輯)ChooseSubjectUtil.java系統(tǒng)主界面的實(shí)現(xiàn)系統(tǒng)主界面使用了Flex技術(shù),使用Flex的狀態(tài)組件<mx:states>實(shí)現(xiàn)界面的切換。同時(shí),在用戶后臺(tái)界面中,使用了自定義的窗口組件OSCollapsableTitleWindow。在需要設(shè)置窗口的地方,只要實(shí)例化OSCollapsableTitleWindow。并在實(shí)例化的對(duì)象中需要的可視化組件。Flex狀態(tài)組件可以實(shí)現(xiàn)像傳統(tǒng)的HTML頁(yè)面一樣實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn),它的一個(gè)狀態(tài)對(duì)應(yīng)于HTML的也頁(yè)面。當(dāng)用戶點(diǎn)擊狀態(tài)改變事件時(shí):他可以從一個(gè)狀態(tài)轉(zhuǎn)變到另一個(gè)狀態(tài),并且可以為狀態(tài)的改變添加效果。如在系統(tǒng)主界面中,它的初始狀態(tài)是只顯示課程介紹的狀態(tài)。如圖系統(tǒng)主界面所示:圖4.2系統(tǒng)主界面4.3系統(tǒng)中關(guān)鍵技術(shù)的實(shí)現(xiàn)數(shù)據(jù)庫(kù)的鏈接系統(tǒng)數(shù)據(jù)庫(kù)的鏈接都是通過(guò)工具DBConn類來(lái)實(shí)現(xiàn)的,DBConn類提供獲得數(shù)據(jù)庫(kù)連接對(duì)象的方法getDB();同時(shí),它還擁有關(guān)閉數(shù)據(jù)庫(kù)連接的方法,當(dāng)其他對(duì)象連接數(shù)據(jù)庫(kù)獲得所要的結(jié)果后,會(huì)去調(diào)用Close方法關(guān)閉數(shù)據(jù)庫(kù)連接。它的工作機(jī)制可用下面的序列圖來(lái)表示。如圖4.3數(shù)據(jù)庫(kù)連接序列圖:圖4.3數(shù)據(jù)庫(kù)連接序列圖它們的實(shí)現(xiàn)代碼和代碼解析如下:獲得數(shù)據(jù)庫(kù)getDB()連接代碼:publicConnectiongetDB() { Connectionconn=null; try { //在全局變量中定義了jdbc連接驅(qū)動(dòng) StringClassForName=jdbcDrive; Class.forName(ClassForName).newInstance(); //獲得鏈接 conn=DriverManager.getConnection(url,dbUserName,dbPassword); } catch(Exceptione) { e.printStackTrace(); } finally { returnconn; } }系統(tǒng)分頁(yè)技術(shù)的實(shí)現(xiàn)在系統(tǒng)中用到了許多的分頁(yè),在后臺(tái)中分頁(yè)主要是傳入要查詢的條件,當(dāng)前頁(yè),和一頁(yè)要顯示的大小,在從分頁(yè)類中能夠得到按條件查詢的結(jié)果和符合這個(gè)條件的數(shù)據(jù)的總頁(yè)數(shù),在這里同時(shí)又用到了PageEntiyUtil類,它將查詢數(shù)據(jù)結(jié)構(gòu)集合總頁(yè)數(shù)封裝在一個(gè)對(duì)象中。而PageUtil的分頁(yè)方法將返回封裝好的PageEntiyUtil對(duì)象。分頁(yè)的執(zhí)行序列圖如圖4.4系統(tǒng)后臺(tái)分頁(yè)順序圖:圖4.4系統(tǒng)分頁(yè)的執(zhí)行順序圖自動(dòng)組題測(cè)試的實(shí)現(xiàn)學(xué)生進(jìn)行測(cè)試的時(shí)候可以有多種形式,如按條件組卷測(cè)試,自動(dòng)組卷測(cè)試(隨機(jī)組卷測(cè)試),順序測(cè)試,錯(cuò)題測(cè)試等,其中自動(dòng)組卷測(cè)試和,自己按條件進(jìn)行測(cè)試的執(zhí)行機(jī)制是差不多的,只是按條件組卷是自己輸入條件,而自動(dòng)組卷是系統(tǒng)已經(jīng)設(shè)定了條件進(jìn)行組卷。他們所用到的類都是:SubjectInfoAction:所有有關(guān)題目的操作的客戶端接口;如添加題目,刪除題目,查詢題目等。SubjectUtil題目工具類:主要用于將原始的題目根據(jù)原始題目的類型轉(zhuǎn)換成視圖層可識(shí)別的題目。如將原始題目轉(zhuǎn)換成單選題,就是將SubjcetInfo對(duì)象的數(shù)據(jù)裝換成SingleChooiceInfo對(duì)象的數(shù)據(jù)。同時(shí)SubjectUtil類的有些方法還支持集合轉(zhuǎn)換。ChooesSubjectUtil類是選擇題目的類:主要用于按條件選擇題目,它的選擇題目的方式主要根據(jù)轉(zhuǎn)入的條件而定,如按章節(jié)選擇題目,按知識(shí)點(diǎn)選擇題目等。ProductRandomNum類用于產(chǎn)生隨機(jī)數(shù):就是從一個(gè)已知整形數(shù)組中隨機(jī)取出先前規(guī)定數(shù)目的整數(shù)它的序列圖如圖4.5學(xué)生順序組題序列圖圖4.5學(xué)生自動(dòng)組題測(cè)試的順序圖學(xué)生組圖界面圖圖4.6學(xué)生組圖界面圖學(xué)生錯(cuò)題測(cè)試在錯(cuò)題測(cè)試中,學(xué)生先是從自己的錯(cuò)題記錄中選擇出所要測(cè)試的題目的id號(hào),再?gòu)念}目數(shù)據(jù)表中查詢出題目的內(nèi)容,經(jīng)過(guò)后臺(tái)應(yīng)用程序的處理,應(yīng)用程序根據(jù)題的類型,將原始題目轉(zhuǎn)換成相應(yīng)的題目類型傳入視圖層,在視圖成中使用Flex程序?qū)㈠e(cuò)題格式化顯示出來(lái),讓學(xué)生進(jìn)行測(cè)試和瀏覽。在視圖層Flex程序中用到了SelectWrongSubjectUtil類,用于向服務(wù)器發(fā)送錯(cuò)題查詢,調(diào)用服務(wù)器端的WrongSubLogAction類里的selectForTest方法();WrongSubLogAction是對(duì)錯(cuò)題記錄進(jìn)行操作的用戶接口,selectForTest方法用來(lái)查詢學(xué)生的錯(cuò)誤記錄,并把查出來(lái)的原始題目轉(zhuǎn)換為視圖成可識(shí)別的題目;并用OrderUtil類封裝成對(duì)象返回給客戶端應(yīng)用程序;OrderUtil類用于裝載題目信息和當(dāng)前總頁(yè)數(shù)。它的順序圖如圖4.7所示:圖4.7錯(cuò)題測(cè)試順序圖錯(cuò)題統(tǒng)計(jì)教師錯(cuò)題統(tǒng)計(jì)用例中,教師登錄后,在桌面上將顯示錯(cuò)題統(tǒng)計(jì)的快捷方式,雙擊錯(cuò)題信息的快捷方式,將彈出錯(cuò)題統(tǒng)計(jì)的窗口。它的執(zhí)行順序?yàn)?,?dāng)這個(gè)窗口初始化是,就向服務(wù)器發(fā)送查詢錯(cuò)題信息的請(qǐng)求,并將請(qǐng)求的結(jié)果數(shù)據(jù)格式化為列表的形式。其中StatisticWrongSubLogUtil是ActionScript的類,主要作用是向服務(wù)器端發(fā)送查詢錯(cuò)題統(tǒng)計(jì)的信息,并有點(diǎn)擊上一頁(yè),下一頁(yè)的分頁(yè)方法;PageUtilForClient是客戶端與服務(wù)器端數(shù)據(jù)傳輸?shù)膶?duì)象,里面封裝了數(shù)據(jù)集合和符合這個(gè)查詢條件的數(shù)據(jù)記錄頁(yè)數(shù);而WrongSuLogAction和WrongSubLogOperate在前面那個(gè)用例中已經(jīng)介紹了。在13和14步分別為查詢做錯(cuò)題目的學(xué)生信息和查詢這個(gè)題目的詳細(xì)信息,查詢錯(cuò)題統(tǒng)計(jì)的順序圖如圖4.8獲得錯(cuò)題統(tǒng)計(jì)順序圖:圖4.8獲得錯(cuò)題統(tǒng)計(jì)順序圖在查詢做錯(cuò)題目的所有學(xué)生的信息中,在Flex客戶端程序中主要用到了GetStudentStatistic類,用于向服務(wù)器發(fā)送查詢請(qǐng)求。在顯示界面的窗口中的格式化用戶信息的數(shù)據(jù)組件通過(guò)綁定GetStudentStatististic里的數(shù)據(jù),當(dāng)向服務(wù)器查詢請(qǐng)求成功之后就將查詢結(jié)果顯示出來(lái)。它的執(zhí)行順序圖如圖4.9查詢做錯(cuò)題目的學(xué)生信息的順序圖:圖4.9獲得做錯(cuò)題目的學(xué)生信息順序圖在錯(cuò)題統(tǒng)計(jì)當(dāng)中用到查詢錯(cuò)題具體信息的用例,其中在Flex客戶端用到了GetSubjectStatistic類,向服務(wù)器的錯(cuò)題記錄對(duì)象發(fā)起查詢請(qǐng)求。用戶試圖界面將查詢結(jié)構(gòu)綁定到視圖層的顯示組件顯示出來(lái),讓管理員可以看到錯(cuò)題的詳細(xì)信息:它的執(zhí)行順序圖如圖4.10所示:圖4.10獲得學(xué)生做錯(cuò)題目的詳細(xì)信息最終的實(shí)現(xiàn)效果如圖1錯(cuò)題分析效果圖:圖1錯(cuò)題分析效果圖管理員添加題目作為管理員,除了管理用戶信息以外,還有管理題庫(kù)信息,包括題庫(kù)的維護(hù)等。其中單選題的條件是一個(gè)比較典型的技術(shù),其他的類型題目的添加都和單選題雷同。其中所用到的類有SubjectInfoAction,SubjectUtil,keyUtil等其中KeyUtil類主要是為了讓具有多個(gè)可選答案的選擇題和具有多個(gè)答案的天空題讓這些選擇和答案都在數(shù)據(jù)庫(kù)中都變成一條記錄進(jìn)行存放,而從數(shù)據(jù)庫(kù)查處來(lái)的時(shí)候,會(huì)更加題目的類型有將這些選項(xiàng)轉(zhuǎn)換成集合的形式??晒┮晥D層識(shí)別。管理添加單選題的用例的順序圖如圖2管理員添加單選題順圖:圖2管理員添加單選題順圖最終實(shí)現(xiàn)的效果圖如圖3管理員添加單選題:圖3管理員添加單選題文件上傳技術(shù)的實(shí)現(xiàn)教師資源管理包括管理教師自己上傳的資源。在資源上傳中所用到的類有OS

溫馨提示

  • 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)論