【正文】
導(dǎo),實(shí)現(xiàn)遠(yuǎn)程、分布式的協(xié)作學(xué)習(xí),達(dá)到共同提高,解決了以往資源不能共享,教師學(xué)生不能實(shí)時(shí)交流的問(wèn)題。圖 25是課程教學(xué)管理系統(tǒng)的用例圖: 網(wǎng)上練習(xí)查看課程簡(jiǎn)介網(wǎng)上學(xué)習(xí)下載在線音頻視頻下載實(shí)驗(yàn)案例下載實(shí)驗(yàn)指導(dǎo)書(shū)下載參考資料下載相關(guān)軟件查看課程資源網(wǎng)上練習(xí)批改申請(qǐng)課程結(jié)束課程變更申請(qǐng)學(xué)生作業(yè)問(wèn)答回復(fù)作業(yè)問(wèn)答網(wǎng)上討論教師通知添加通知編輯通知管理 圖 25 課程學(xué)習(xí)用例圖 這里,課程學(xué)習(xí)主要分為課程資源和學(xué)習(xí)中心兩部分。課 程資源主要包括考試大綱、主持教師信息、課程基本信息、內(nèi)容簡(jiǎn)介、學(xué)習(xí)條件以及學(xué)習(xí)目標(biāo)的查看,課程資料和課程 PPT 的下載等。 學(xué)習(xí)中心主要是學(xué)生進(jìn)行網(wǎng)上練習(xí)、教師網(wǎng)上指導(dǎo)以及教師與學(xué)生進(jìn)行交流的功能。教師功能主要包括題庫(kù)管理(用來(lái)管理學(xué)生可以進(jìn)行網(wǎng)上練習(xí)的題目以及各種作業(yè)題)、試卷管理(用來(lái)組織考試的試卷,試卷題目可以從題庫(kù)中選擇)、學(xué)生分組(有的課程實(shí)驗(yàn)需要以小組形式進(jìn)行,教師可以使用此功能對(duì)學(xué)生進(jìn)行分組,需要有三種分組方式:隨機(jī)分組、按班級(jí)進(jìn)行分組和手動(dòng)分組)、作業(yè)批山東大學(xué)碩士學(xué)位論文 18 改(學(xué)生提交的作業(yè),教師可以在這里對(duì)學(xué)生 的作業(yè)進(jìn)行批閱)、通知管理(包括通知添加、刪除和修改,教師可以使用此功能發(fā)給學(xué)生通知)、作業(yè)提問(wèn)回復(fù)(對(duì)于學(xué)生提出的問(wèn)題,教師可以在這里對(duì)其回復(fù),方便了教師與學(xué)生之間的交流)、課程論壇和課程留言板(學(xué)生們可以在這里進(jìn)行討論和相互之間的交流和合作,更好的促進(jìn)學(xué)生的學(xué)習(xí))。學(xué)生的功能主要包括作業(yè)上傳(學(xué)生通過(guò)此功能來(lái)提交作業(yè))、作業(yè)提問(wèn)(學(xué)生遇到不懂的問(wèn)題或?qū)ψ约旱某煽?jī)有什么疑問(wèn)時(shí),可以通過(guò)此功能與教師交流)、課程論壇和課程留言板(學(xué)生們可以在這里進(jìn)行討論和相互之間的交流和合作,更好的促進(jìn)學(xué)生的學(xué)習(xí))、作業(yè)成績(jī) 查看。 用例場(chǎng)景如下所示: 場(chǎng)景 1 – 成功下載課程資源 學(xué)生憑自己的賬號(hào)和密碼登錄系統(tǒng),點(diǎn)擊學(xué)習(xí)中心,進(jìn)入網(wǎng)上學(xué)習(xí)界面。選擇要學(xué)習(xí)的課程后,點(diǎn)擊課程資源,會(huì)列出相應(yīng)課程的課程資源,學(xué)生點(diǎn)擊要下載的課程資源即可完成下載。 場(chǎng)景 2 – 課程資源沒(méi)有上傳 若教師或教學(xué)點(diǎn)管理員未上傳相應(yīng)課程的課程資源,則學(xué)生無(wú)法下載課程資源。 場(chǎng)景 3 – 學(xué)生作業(yè)成功上傳 學(xué)生進(jìn)入上傳作業(yè)界面,選擇自己作業(yè),點(diǎn)擊提交即可。 場(chǎng)景 4 – 作業(yè)上傳不成功 學(xué)生上傳作業(yè),若其作業(yè)格式不正確,則會(huì)提示讓其轉(zhuǎn)為正確格式后在提交。 場(chǎng)景 5 – 學(xué)生作業(yè)未提交 若學(xué)生作業(yè)未提交,則教師在作業(yè)批改中無(wú)法對(duì)學(xué)生進(jìn)行打分,其可以在錄入成績(jī)中對(duì)學(xué)生進(jìn)行評(píng)分。 場(chǎng)景 6 – 教師批改學(xué)生作業(yè)成功 教師點(diǎn)擊作業(yè)批改,點(diǎn)擊相應(yīng)作業(yè)題目后可以看到學(xué)生作業(yè)列表,點(diǎn)擊相應(yīng)作業(yè)題目可以下載,并可以對(duì)學(xué)生作業(yè)進(jìn)行評(píng)分。 系統(tǒng)非功能性需求 用例是真正的需求,但并不是所有的需求,用例的主要思想是:為功能性需求編寫用例,從而降低詳細(xì)的老式特性列表的重要性或減少這種列表的使用。功能性需求固然很重要,它主要涉及系統(tǒng)的行為,注重了輸入、輸出,還有處理等細(xì)節(jié),但光靠功能性需求 是不可能完全描述系統(tǒng)的所有需求的,這就要求我們必須考慮系統(tǒng)非功能性需求 。 所謂非功能 性需 求,是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能山東大學(xué)碩士學(xué)位論文 19 需求以外的特性。 如果事先缺乏很好的非功能性需求定義,結(jié)果往往是使產(chǎn)品在非功能性需求面前捉襟見(jiàn)肘,甚至淹沒(méi)功能性需求給用戶帶來(lái)的價(jià)值 [7]。 軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護(hù)性、可擴(kuò)充性和對(duì)技術(shù)和對(duì)業(yè)務(wù)的適應(yīng)性等 。非功能性需求是一個(gè)不容忽視的重要方面,它不僅關(guān)系到產(chǎn)品的質(zhì)量,還影響到產(chǎn)品的功能性需求。 非功能需求通常并不改變產(chǎn)品的功能。一般來(lái)說(shuō),不管增加多 少的質(zhì)量屬性,功能性需求都會(huì)保持不變。也有更復(fù)雜的情況存在,有時(shí)候非功能需求的實(shí)現(xiàn)會(huì)為產(chǎn)品增加功能(舉例:功能的存在是為了讓產(chǎn)品具有期望的特征)。功能性需求是讓產(chǎn)品工作的需求,非功能需求是為工作賦予特征的需求。所以說(shuō),功能性需求和非功能性需求是相輔相成密不可分的。 網(wǎng)絡(luò)教育管理系統(tǒng)包含的非功能性要求包括 適用性要求,安全性要求,性能要求,可支持性要求,以下是對(duì)各項(xiàng)要求所進(jìn)行的分析。 1. 適用性要求 網(wǎng)絡(luò)教育管理系統(tǒng)的適用性要求該系統(tǒng)操作簡(jiǎn)單、易懂,方便廣大用戶使用,具體可以概括為如下: (1) 指出用戶能夠 完成普通日常工作所需要的培訓(xùn)時(shí)間,而且是用需要以那些從未接觸過(guò)計(jì)算機(jī)的新手、普通用戶和高級(jí)用戶的術(shù)語(yǔ)來(lái)描述。網(wǎng)絡(luò)教育管理系統(tǒng)是一個(gè)面向社會(huì)的系統(tǒng),它所涉及的用戶除了校內(nèi)外的業(yè)務(wù)和管理人員,還有各門學(xué)科的教師,更多的是社會(huì)各個(gè)階層的學(xué)生,這里的學(xué)生類型也是比較復(fù)雜的,對(duì)于系統(tǒng)的管理人員或者老師來(lái)說(shuō),使用培訓(xùn)花的時(shí)間很短,甚至根本不需要培訓(xùn),然而對(duì)于社會(huì)上的大部分學(xué)生來(lái)說(shuō),他們絕大多說(shuō)可能都是計(jì)算機(jī)新手,所以培訓(xùn)主要是針對(duì)這些用戶的,對(duì)于新手用戶來(lái)講,系統(tǒng)應(yīng)當(dāng)滿足培訓(xùn)時(shí)間小于等于半天,否則將是不可接受的。 (2) 指明典型終端用戶可能的典型任務(wù)或事務(wù)的可度量任務(wù)時(shí)間。對(duì)于社會(huì)廣大學(xué)生用戶登錄系統(tǒng),執(zhí)行某個(gè)操作的時(shí)候,系統(tǒng)給予的響應(yīng)時(shí)間不能過(guò)長(zhǎng),必須在一定的時(shí)間范圍之內(nèi),當(dāng)然這里影響到系統(tǒng)的響應(yīng)因素有很多,比如網(wǎng)絡(luò)容量,電腦自身的處理速度等。真是因?yàn)榭紤]到網(wǎng)絡(luò)容量的問(wèn)題,所以網(wǎng)絡(luò)教育系統(tǒng)才會(huì)分多個(gè)教學(xué)中心,教學(xué)中心又分了好多教學(xué)點(diǎn),這樣就有效的解決了由于網(wǎng)絡(luò)擁堵而造成的響應(yīng)過(guò)慢問(wèn)題。 (3) 網(wǎng)絡(luò)教育管理系統(tǒng)得到了社會(huì)廣大的支持,為那些已經(jīng)走向社會(huì)又想繼山東大學(xué)碩士學(xué)位論文 20 續(xù)深造的學(xué)生提供了便利之門。在當(dāng)今和將來(lái)的社會(huì)里,網(wǎng)絡(luò)教育管理 系統(tǒng)都有很到得適用性。 (4) 指明在線幫助系統(tǒng)、向?qū)?、用戶手?cè)等文檔的存在和所需特征。新系統(tǒng)將用戶手冊(cè)放在幫助菜單下并且根據(jù)用戶登陸的類型再初始界面中顯示不同的用戶幫助。 (5) 操作界面必須美觀大方,各個(gè)子系統(tǒng)的界面風(fēng)格要一致。 2. 安全性要求 安全性 要 求:安全性指產(chǎn)品消除潛在風(fēng)險(xiǎn)的能力和對(duì)風(fēng)險(xiǎn)的承受能力。包含保密性、可靠性和完整性三個(gè)子特性。保密性指的是數(shù)據(jù)不能被授權(quán)用戶以外的任何人訪問(wèn)的能力??煽啃灾傅氖鞘跈?quán)用戶可以不受阻止的訪問(wèn)數(shù)據(jù)、與其它軟件的兼容的能力和產(chǎn)品的強(qiáng)壯度。完整性指的是安預(yù)期目標(biāo)完 成任務(wù)的能力。 每一個(gè)客戶都希望系 統(tǒng)能夠無(wú)故障的執(zhí)行,操作。但當(dāng)系統(tǒng)出項(xiàng)故障時(shí),或由于操作人員操作不當(dāng) 時(shí),導(dǎo)致了系統(tǒng)故障,系統(tǒng)是否具有可恢復(fù)性。 當(dāng)網(wǎng)絡(luò)不穩(wěn)定或使用中異常中斷的時(shí)候系統(tǒng)是否都有相應(yīng)的容錯(cuò)措施,以上等等,這些都屬于安全性的范疇之內(nèi)。 (1) 可用性( availability)。系統(tǒng)對(duì)于一個(gè)使用時(shí)間指定的百分比必須是可用的。網(wǎng)絡(luò)教育管理系統(tǒng)中的學(xué)費(fèi)管理系統(tǒng),學(xué)籍管理系統(tǒng)必須是工作制中 8 小時(shí)之內(nèi)應(yīng)該是 99%可用,而網(wǎng)絡(luò)教育系統(tǒng)應(yīng)該是 24 小時(shí)之內(nèi) 99%可用。 (2) 平均故障間隔時(shí)間和平均修復(fù)時(shí)間( MTBF 和 MTTR)。平均故障間隔時(shí)間需要盡量的長(zhǎng),而允許系統(tǒng)出故障后不運(yùn)轉(zhuǎn)的時(shí)間必須盡量的短。比如此系統(tǒng)至少 2 天出項(xiàng)一次故障,要求 90%的系統(tǒng)故障要在 5 分鐘內(nèi)修復(fù), %的系統(tǒng)故障要在一小時(shí)內(nèi)修復(fù),這就要求在系統(tǒng)運(yùn)行過(guò)程中需要穩(wěn)定的技術(shù)支持團(tuán)隊(duì),出現(xiàn)問(wèn)題及時(shí)查看系統(tǒng)故障原因,找到原因立即排除,達(dá)到故障修復(fù)周期的最小化。 (3) 保密性。系統(tǒng)的保密性很重要,主要職責(zé)有:防止外界非法訪問(wèn)系統(tǒng)功能,防止系統(tǒng)數(shù)據(jù)丟失,當(dāng)然也要防止病毒入侵。這還要求系統(tǒng)管理員必須正確分配權(quán)限。 (4) 完整性。 系統(tǒng) 可以在給定的時(shí)間 或者特定的精確度來(lái)執(zhí)行某些任務(wù),以從完成任務(wù)的速度、結(jié)果的精確度、容量、允許值的范圍、單位時(shí)間內(nèi)完成的任山東大學(xué)碩士學(xué)位論文 21 務(wù)數(shù)、資源的使用效率、兩次故障間的平均屋故障時(shí)間、連續(xù)不停機(jī)時(shí)間等方面來(lái)衡量系統(tǒng)的完整性。 3. 性能要求 性能需求包括: (1) 事務(wù)的響應(yīng)時(shí)間:平均值、最大值。 (2) 吞吐量:每秒事務(wù)數(shù)。 (3) 容量:系統(tǒng)可容納的客戶總數(shù)或事務(wù)數(shù)。 (4) 退化模式:系統(tǒng)被降級(jí)時(shí),可接受的運(yùn)轉(zhuǎn)模式。 這些都應(yīng)量化地體現(xiàn)在系統(tǒng)需求文檔中。 4. 可支持性要求 可支持性是指為了修復(fù)或升級(jí),軟件被修改的能力。對(duì)某些應(yīng)用 領(lǐng)域來(lái)說(shuō),未來(lái)可能的升級(jí)是可以預(yù)測(cè)的,因此需求可以規(guī)定維護(hù)小組的簡(jiǎn)單升級(jí)以及復(fù)雜升級(jí)的“響應(yīng)時(shí)間”。 (1) 可適用性。 此系統(tǒng)適應(yīng)社會(huì)不同的群體, 此 系統(tǒng) 提高符合用戶習(xí)慣的能力以及 對(duì)其 使用的期望 。 (2) 擴(kuò)展性。 擴(kuò)展性重點(diǎn)關(guān)注增加新功能時(shí)所需工作量的大小。 (3) 可配置性。 不同的用戶可能對(duì)網(wǎng)絡(luò)教育管理系統(tǒng)有不同的網(wǎng)絡(luò)配置需求,同時(shí)此系統(tǒng)還要求具備修改配置的能力,以便適應(yīng)其變更業(yè)務(wù)和性能的需求。配置能力包括業(yè)務(wù)可配置,流程可配置,規(guī)則可配置。 非功能需求的驗(yàn)收和測(cè)試是個(gè)比較頭疼的事情,因?yàn)楹芏囗?xiàng)目看上 去是無(wú)法量化的。但是需求工程里明確說(shuō)明 “不能測(cè)量的需求就不是一項(xiàng)真的需求 ”、 “需求都是能測(cè)試的 ”,所以應(yīng)該盡量為這些非功能需求加上數(shù)字標(biāo)準(zhǔn),從而對(duì)其進(jìn)行量化。山東大學(xué)碩士學(xué)位論文 22 第 3 章 系統(tǒng)概要設(shè)計(jì) 系統(tǒng)技術(shù)架構(gòu) 軟件架構(gòu)設(shè)計(jì) 首先看一下軟件架構(gòu)的定義 [8]:架構(gòu)是一組重要決策,其中涉及軟件系統(tǒng)的組織,對(duì)結(jié)構(gòu)元素及其組成系統(tǒng)所籍接口的選擇,這些元素特定于其相互協(xié)作的行為,這些結(jié)構(gòu)和行為元素到規(guī)模更大的子系統(tǒng)的組成,以及指導(dǎo)該組織結(jié)構(gòu)(這些元素及其接口、協(xié)作和組成)的架構(gòu)風(fēng)格。 網(wǎng)絡(luò)教育管理系統(tǒng)架構(gòu)采用的是 J2EE 多層架構(gòu)設(shè)計(jì), 通過(guò)需求分析和概要設(shè)計(jì),我們了解了用戶的功能性、非功能性需求及系統(tǒng)的業(yè)務(wù)流程。根據(jù)以上分析,網(wǎng)絡(luò)教育管理系統(tǒng)決定采用當(dāng)前流行的 B/S 和 C/S混合系統(tǒng)架構(gòu)。 網(wǎng)絡(luò)教育管理系統(tǒng)按照 MVC架構(gòu)設(shè)計(jì), MVC 是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用 MVC 應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任 務(wù)。 基于傳統(tǒng)的 MVC 架構(gòu)開(kāi)發(fā),根據(jù)用戶需要,開(kāi)發(fā)者需要考慮具體業(yè)務(wù)的模型、控制器以及表現(xiàn),這就需要更高的開(kāi)發(fā)技巧,這將會(huì)給開(kāi)發(fā)帶來(lái)成本增加,效率降低 的問(wèn)題。為了解決這個(gè)問(wèn)題,框架封裝了傳統(tǒng) MVC 架構(gòu)的控制層。使用 Spring 作為控制層容器,有效的組織了中間層業(yè)務(wù)對(duì)象。 封裝的控制層來(lái)處理來(lái)自桌面應(yīng)用程序的網(wǎng)絡(luò)瀏覽器的請(qǐng)求,請(qǐng)求中包括命令 CMD 以及其他請(qǐng)求。當(dāng)請(qǐng)求來(lái)自桌面應(yīng)用程序時(shí),控制器調(diào)用系統(tǒng)業(yè)務(wù)方法 BaseRuleManager,請(qǐng)求數(shù)據(jù)的初始化以及業(yè)務(wù)返回?cái)?shù)據(jù)的后期處理在桌面應(yīng)用程序端實(shí)現(xiàn)。當(dāng)請(qǐng)求來(lái)自網(wǎng)絡(luò)瀏覽器時(shí),控制器首先初始化請(qǐng)求數(shù)據(jù),這里通過(guò) BaseAction 實(shí)現(xiàn),然后調(diào)用系統(tǒng)業(yè)務(wù)方法 BaseRuleManager,通過(guò) BaseAction返回處理業(yè)務(wù)方法返回的數(shù)據(jù); 其中, action、 form 包分別用于組織 struts 架構(gòu)中的 Action 和 ActionForm,base 包用于組織實(shí)體類, rule 包用于組織 Business Logic 類,包括邏輯封裝類,處理業(yè)務(wù)邏輯并且通過(guò)調(diào)用 hibernate 接口實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作等。 系統(tǒng)的總體山東大學(xué)碩士學(xué)位論文 23 技術(shù)架構(gòu)如圖 31 所示: 系統(tǒng)業(yè)務(wù)層規(guī)則引擎功能b a s e 基礎(chǔ)功能持久層R u le 業(yè)務(wù)處理r e s o u r c e 全局配置工作流引擎功能S e s s o n B e a n功能網(wǎng)絡(luò)教育管理業(yè)務(wù)處理功能a c t i o nf o r mb a s icr u l eX M L 業(yè)務(wù)配置規(guī)則描述通用查詢業(yè)務(wù)表現(xiàn)層U I M S界面管理界面元素解析布局管理X M L 模型描述環(huán)境描述窗口描述 界面描述S t r u c t s 功能包J S P 頁(yè)面J a v a S c r ip t 功能S p r in g 功能X M L 模塊功能Po 數(shù)據(jù)對(duì)象映射dao 數(shù)據(jù)庫(kù)操作h ib e r n a t e 功能包 31 系統(tǒng)軟件架構(gòu)圖 山東大學(xué)碩士學(xué)位論文 24 數(shù)據(jù)接口設(shè)計(jì) 在網(wǎng)絡(luò)教育管理系統(tǒng)中,學(xué)費(fèi)管理子系統(tǒng),學(xué)籍管理子系統(tǒng),課程學(xué)習(xí)管理子系統(tǒng),這些子系統(tǒng)之間,以及系統(tǒng)內(nèi)部之間都存在著數(shù)據(jù)傳遞關(guān)系,任何系統(tǒng)都不可能完全獨(dú)立。 總是與其它系統(tǒng)存在著這樣或那樣的直接或間接聯(lián)系,這種聯(lián)系更多地表現(xiàn)在系統(tǒng)間的數(shù)據(jù)傳遞。系統(tǒng)之間的數(shù)據(jù)傳遞是通過(guò)數(shù)據(jù)接口完成的,有時(shí),甚至系統(tǒng)內(nèi)部數(shù)據(jù)傳遞也需要由數(shù)據(jù)接 口 完成,而不是簡(jiǎn)單的采集。數(shù)據(jù)接口 指用于完成各系統(tǒng)間和系統(tǒng)內(nèi)部的數(shù)據(jù)傳遞的接口,在系統(tǒng)中通常設(shè)計(jì)成一個(gè) 數(shù)據(jù)庫(kù) 文件,傳出數(shù)據(jù)的系統(tǒng)通常對(duì)數(shù)據(jù)事先進(jìn)行必要的加工處理,需要接收數(shù)據(jù)的系統(tǒng)按照用戶的要 求,到對(duì)方系統(tǒng)中采集 需要 傳遞的數(shù)據(jù),然后送往數(shù)據(jù)接口,兩系統(tǒng)之間或系統(tǒng)內(nèi)部通過(guò)數(shù)據(jù)接口完成了數(shù)據(jù)傳遞的任務(wù)。 在網(wǎng)絡(luò)教育管理系統(tǒng)中,數(shù)據(jù)庫(kù)中存在大量的信息數(shù)據(jù),這些