鄭智紅
(廣州科技職業(yè)技術(shù)大學(xué),廣東 廣州 510080)
“互聯(lián)網(wǎng)+”技術(shù)是在其高速發(fā)展的過(guò)程中,借助互聯(lián)網(wǎng)本身的優(yōu)勢(shì)和信息,融合了各行各業(yè),比如現(xiàn)在的遠(yuǎn)程網(wǎng)絡(luò)教學(xué),即是“互聯(lián)網(wǎng)+”教育的一種形式。在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)的基礎(chǔ)上再加上課程選擇和評(píng)測(cè)等,使得網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)更完善更豐富,優(yōu)秀的教師資源、教學(xué)資源等都可以被利用起來(lái),同時(shí)也滿足了不同年齡段學(xué)生的學(xué)習(xí)需求。本文就網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)的功能設(shè)計(jì)進(jìn)行了分析,并基于UML 建模技術(shù)完成了系統(tǒng)的需求分析,用例建模、類圖建模和順序圖建模。
UML (Unified Modeling Language, 統(tǒng)一建模語(yǔ)言),是面向?qū)ο蠹夹g(shù)發(fā)展的一項(xiàng)重大成果之一,它是一種標(biāo)準(zhǔn)的圖形化建模語(yǔ)言。早期的面向?qū)ο蠼<夹g(shù)主流方法有:Grady Booch 創(chuàng)立的Booch 方法、Jim Rumbaugh 創(chuàng)立的OMT 方法和Ivar Jacobson 創(chuàng)立的OOSE 方法,同時(shí)還有許多其他的建模技術(shù)。這些建模技術(shù)之間各有差別,極大地妨礙了用戶之間的交流。在1995 年,由Grady Booch、Jim Rumbaugh和Ivar Jacobson 三人共同努力對(duì)建模語(yǔ)言進(jìn)行了統(tǒng)一,形成了現(xiàn)在的UML 標(biāo)準(zhǔn),并從此之后UML 標(biāo)準(zhǔn)也經(jīng)過(guò)了多次的擴(kuò)充和定義[1]。
UML 的定義包括兩部分:UML 表示法和UML 語(yǔ)義。UML 表示法定義了UML 符號(hào)的表示法。UML 語(yǔ)義描述基于UML 的精確元模型定義。元模型為UML 的所有元素在語(yǔ)法和語(yǔ)義上提供了簡(jiǎn)單、一致和通用的定義性說(shuō)明,使得開發(fā)者能夠在語(yǔ)義上取得一致,消除了因人而異的表達(dá)方法所造成的影響[2]。
圖1 網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)用例圖
網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)有注冊(cè)、登錄、找回密碼、輔導(dǎo)答疑、在線授課、課程選擇、課程視頻管理、預(yù)約輔導(dǎo)課程、AI 題庫(kù)練習(xí)、課程咨詢、課程評(píng)測(cè)等模塊及功能。當(dāng)用戶處于游客狀態(tài)時(shí),可以選擇課程類型、年級(jí)和學(xué)科篩選課程,選擇想看的視頻進(jìn)行免費(fèi)試聽體驗(yàn),體驗(yàn)滿意后可以正式注冊(cè)系統(tǒng)。注冊(cè)成為會(huì)員之后可以繼續(xù)選擇精品課程學(xué)習(xí),可以在個(gè)人中心修改個(gè)人信息、預(yù)約課程、購(gòu)買課程、查看訂單、查看自己所學(xué)過(guò)的課時(shí)信息。當(dāng)學(xué)生學(xué)完課程或經(jīng)過(guò)輔導(dǎo)之后,可以在AI 題庫(kù)中進(jìn)行練習(xí)和考試,隨時(shí)測(cè)評(píng)自己的學(xué)習(xí)掌握情況。學(xué)生學(xué)習(xí)完課程后可以對(duì)視頻及教師進(jìn)行評(píng)價(jià)。該系統(tǒng)接收全國(guó)各地優(yōu)秀教師注冊(cè),資格審核通過(guò)后可以成為授課教師或者答疑教師。教師根據(jù)系統(tǒng)中的預(yù)約信息對(duì)學(xué)生進(jìn)行在線授課或者答疑輔導(dǎo)。教師也可以根據(jù)課程標(biāo)準(zhǔn)錄制視頻,錄制好的視頻由系統(tǒng)管理員統(tǒng)一進(jìn)行管理。學(xué)生可回看課堂授課及輔導(dǎo)視頻。視頻管理模塊包括修改課程信息、上傳課程視頻、發(fā)布課程視頻及信息子功能,此模塊由系統(tǒng)管理員負(fù)責(zé)執(zhí)行。同時(shí)系統(tǒng)管理員還負(fù)責(zé)更新和維護(hù)題庫(kù)、維護(hù)系統(tǒng)網(wǎng)站頁(yè)面。
用例圖僅僅是站在外部觀察系統(tǒng)功能,也就是參與者使用系統(tǒng)的角度來(lái)描述系統(tǒng)中的信息,并不描述這些功能在系統(tǒng)內(nèi)部是怎樣具體實(shí)現(xiàn)的,即在用例建模階段不考慮系統(tǒng)功能的實(shí)現(xiàn)規(guī)格和細(xì)節(jié)[3]。
在一個(gè)UML 用例圖中必須包括三個(gè)組成要素:參與者、用例和關(guān)系。參與者表示使用該系統(tǒng)的人、事物、時(shí)間、進(jìn)程或是其他系統(tǒng),按角色來(lái)命名。用例表示參與者想要系統(tǒng)做的事情,即系統(tǒng)應(yīng)該提供的功能,按動(dòng)詞+名詞的形式來(lái)命名。在UML用例圖中,包括關(guān)聯(lián)關(guān)系、包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系,每種關(guān)系表示的含義不同,在建模時(shí),可以通過(guò)設(shè)置關(guān)系的構(gòu)造型來(lái)區(qū)分[4]。
網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)的參與者包括三個(gè):學(xué)生、教師和系統(tǒng)管理員。其中,與學(xué)生有關(guān)聯(lián)的用例包括注冊(cè)、登錄、輔導(dǎo)答疑、在線授課、選擇課程、預(yù)約輔導(dǎo)課程、AI 題庫(kù)練習(xí)、課程評(píng)測(cè)、查看授課或輔導(dǎo)視頻回放、瀏覽課程詳情、評(píng)價(jià)課程及教師等。教師需要執(zhí)行到的用例包括注冊(cè)、登錄、輔導(dǎo)答疑、在線授課。系統(tǒng)管理員需要執(zhí)行到的用例包括登錄、課程視頻管理、更新和維護(hù)題庫(kù)、維護(hù)系統(tǒng)網(wǎng)站頁(yè)面。根據(jù)以上描述和對(duì)系統(tǒng)功能的分析,可得到網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)的用例圖,如圖1 所示。
類圖(Class Diagram)展示了一組類、接口和協(xié)作以及它們間的關(guān)系,建模時(shí)最常見的圖就是類圖。類包括3 個(gè)組成部分:類名、屬性和該類提供的操作。類的名稱是每個(gè)類所必須有的,用于和其他類區(qū)分。類的屬性描述了類的特性。類的操作是對(duì)類的對(duì)象所能做的事務(wù)的抽象。在面向?qū)ο筌浖こ讨?將類劃分為三種類型:實(shí)體類、邊界類和控制類。
就該系統(tǒng)中的“學(xué)生選擇課程”來(lái)分析,涉及的類有“課程選擇界面類”、“課程類”、“數(shù)據(jù)庫(kù)操作類”。
4.2.1“課程選擇界面類”的主要方法有創(chuàng)建窗體、獲取學(xué)生信息、獲取課程信息、初始化設(shè)置、選擇課程、校驗(yàn)必須選擇數(shù)據(jù)的控件是否為空、保存選擇的課程數(shù)據(jù)等。
4.2.2“課程類”的主要屬性有課程名稱、課程類型、課程年級(jí)、主講教師、課程時(shí)長(zhǎng)、課程目錄等。主要方法有獲取課程類型、獲取課程年級(jí)、獲取課程科目、選擇課程、添加課程、修改課程、獲取課程名稱等。
4.2.3“數(shù)據(jù)庫(kù)操作類”的主要屬性有conn(創(chuàng)建的數(shù)據(jù)庫(kù)連接對(duì)象),主要方法有打開連接、關(guān)閉連接、插入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)、獲取數(shù)據(jù)和更新數(shù)據(jù)等。
通過(guò)以上分析,可以設(shè)計(jì)出網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)中學(xué)生選擇課程的類圖如圖2 所示。
圖2“學(xué)生選擇課程”類圖
順序圖(Sequence Diagram),用來(lái)描述多個(gè)對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重反映對(duì)象間消息傳遞的時(shí)間順序,說(shuō)明對(duì)象之間的交互過(guò)程。順序圖存在兩個(gè)軸,水平軸表示多個(gè)不同的對(duì)象;垂直軸表示時(shí)間。在建立順序圖時(shí),各對(duì)象之間一般按照參與者類、邊界類、業(yè)務(wù)控制類、數(shù)據(jù)庫(kù)類順序來(lái)排列。對(duì)象之間通過(guò)調(diào)用另一個(gè)對(duì)象的操作來(lái)發(fā)送消息。
學(xué)生選擇課程的主要參與者是學(xué)生,涉及的類主要有課程選擇界面類、課程類和數(shù)據(jù)庫(kù)操作類。系統(tǒng)運(yùn)行時(shí),學(xué)生執(zhí)行選擇課程的操作,系統(tǒng)創(chuàng)建并顯示課程選擇界面,開始執(zhí)行初始化數(shù)據(jù)的操作,在該界面上學(xué)生選擇課程類型、課程年級(jí)和課程科目完成課程的選擇,提交數(shù)據(jù)時(shí),系統(tǒng)對(duì)必選控件的數(shù)據(jù)是否為空進(jìn)行校驗(yàn),校驗(yàn)通過(guò)后,調(diào)用業(yè)務(wù)邏輯層課程類的方法新增課程,再調(diào)用數(shù)據(jù)操作層的數(shù)據(jù)庫(kù)操作類的方法插入新記錄、更新數(shù)據(jù)表,并將更新后的數(shù)據(jù)返回到學(xué)生“個(gè)人中心”->“我的課程”界面供學(xué)生查詢。
通過(guò)以上分析,可以設(shè)計(jì)出學(xué)生選擇課程的順序圖如圖3所示。
圖3 學(xué)生選擇課程順序圖
使用UML 可以對(duì)面向?qū)ο蠹夹g(shù)和面向過(guò)程技術(shù)的任意軟件系統(tǒng)進(jìn)行設(shè)計(jì)和建模,比較容易使用和掌握,被廣泛運(yùn)用于項(xiàng)目的分析、設(shè)計(jì)和開發(fā)過(guò)程中,難點(diǎn)是要掌握每一種UML 模型圖的構(gòu)思方法,并結(jié)合具體業(yè)務(wù)情況才能從多個(gè)方面來(lái)更好的設(shè)計(jì)系統(tǒng)。本文以網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)為例,分析了系統(tǒng)的功能需求,運(yùn)用UML 建模技術(shù)進(jìn)行了系統(tǒng)的用例圖、類圖和順序圖的建模。