摘 要:本文利用UML來構(gòu)造基于云計(jì)算的機(jī)房小幫手分析與設(shè)計(jì)方法。包括使用UML用例圖來做用例模型,用UML類圖來做分析模型,用UML活動(dòng)圖和順序圖來做設(shè)計(jì)模型。
關(guān)鍵詞:UML;云計(jì)算;軟件建模
中圖分類號(hào):TP311.52
隨著云計(jì)算技術(shù)的發(fā)展和普及,很多大中專院校都建有自已的云計(jì)算機(jī)房來提供學(xué)生上機(jī)實(shí)踐,作為教學(xué)和管理的重要環(huán)節(jié),極大地提高了學(xué)生的動(dòng)手能力。長沙環(huán)保學(xué)院就新建了二個(gè)云計(jì)算機(jī)房,采用了北京透明計(jì)算公司的軟件系統(tǒng),這種新的技術(shù)最大的特點(diǎn)就是利用云計(jì)算的模式,用戶可以隨時(shí)隨地通過任何一個(gè)終端登陸系統(tǒng),來進(jìn)行上機(jī)教學(xué),非常的方便和節(jié)能環(huán)保。但是,也出現(xiàn)了一些小的問題比如教師和學(xué)生上機(jī)安排作業(yè)時(shí)都采用文件共享的方式,這樣讓一些偷懶的學(xué)生直接復(fù)制別的學(xué)生的作業(yè)提交,而老師卻無法發(fā)現(xiàn)這個(gè)問題,還有一些其它的問題。因此,既要提高機(jī)房的科學(xué)管理水平,使機(jī)房管理更加規(guī)范、有序,又要提高教師上機(jī)教學(xué)的質(zhì)量,這是目前擺在各個(gè)學(xué)院面前的一個(gè)迫切課題,筆者通過自己的工作經(jīng)歷,參考了一些技術(shù)資料,利用UML技術(shù)建立了一個(gè)云計(jì)算機(jī)房小幫手軟件的模型。
1 用例模型
1.1 用例圖
運(yùn)用UML對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì)主要是以下幾種圖型,如:類圖,用例圖,順序圖,活動(dòng)圖,狀態(tài)圖等,在做需求分析時(shí)選用用例圖。用例圖說明的是誰要使用系統(tǒng)以及他們使用該系統(tǒng)可以做些什么?主要目的是幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,以及系統(tǒng)內(nèi)用例之間的關(guān)系。
如何進(jìn)行用例建模,畫出用例圖呢,這里主要分解為二步:
(1)識(shí)別參與者(ACTOR)。參與者作為同系統(tǒng)交互的所有事物,它可以是人也可以是其它系統(tǒng)或硬件等。它不是系統(tǒng)的組成部分,是獨(dú)立于系統(tǒng)而客觀存在的。在確定參與者時(shí)可以采用提問的方式來找出來,如誰是系統(tǒng)的主要用戶?誰從系統(tǒng)獲得信息等等。
(2)確定用例。確定用例的一個(gè)最重要的原則是必須從用戶(參與者)角度來分析和設(shè)計(jì)系統(tǒng)。識(shí)別用例也可以采用提問方式,如每個(gè)參與者的任務(wù)?
1.2 機(jī)房小幫手軟件用例圖
通過業(yè)務(wù)調(diào)查,我們了解到云計(jì)算機(jī)房實(shí)驗(yàn)員的主要工作職責(zé)就是維護(hù)機(jī)房電腦,進(jìn)行硬件和軟件管理,包括維修硬件,安裝和更新軟件、網(wǎng)絡(luò)管理,保證網(wǎng)絡(luò)正常,記錄維護(hù)日志。學(xué)生到機(jī)房來主要是上機(jī)練習(xí)實(shí)踐,做作業(yè),提交作業(yè)。老師到機(jī)房來主要是指導(dǎo)學(xué)生上機(jī)練習(xí),保證機(jī)房上機(jī)紀(jì)律,安排作業(yè),填寫機(jī)房使用情況。那么,我們可以確定參與者是實(shí)驗(yàn)員、學(xué)生、老師。
根據(jù)上述所得,畫出用例圖:
圖1 云計(jì)算機(jī)房小幫手軟件的用例圖
2 分析模型
2.1 類圖
類圖(Class diagram)是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)。
分析類包括邊界類(boundary)、控制類(control)、實(shí)體類(entity),分析模型的設(shè)計(jì)取決于這三種分析類的設(shè)計(jì)。對(duì)于邊界類,可以從用例描述中找出與邊界相關(guān)的詞語,然后進(jìn)行整理,包括刪除重復(fù)詞語。對(duì)于實(shí)體類,選擇用例圖中的用例名稱里的名詞,然后進(jìn)行整理,避免出現(xiàn)一些大的名詞和專業(yè)名詞(如系統(tǒng)、子系統(tǒng)、網(wǎng)站、Oracle、sql、windows等)。對(duì)于控制類,有兩種方法,第一種選擇用例圖中的用例名稱里的動(dòng)詞,然后再進(jìn)行整理,包括刪除重復(fù)詞語。另一種方法就是為每一個(gè)帶有增刪改查功能的實(shí)體類建立一個(gè)控制類,有多少這樣的實(shí)體類就有多少個(gè)控制類[2]。
2.2 機(jī)房小幫手軟件的分析模型
通過圖1的用例圖,再根據(jù)每個(gè)用例的描述(由于字?jǐn)?shù)限制,用例的用例描述省略),得到以下類圖:
圖2 云計(jì)算機(jī)房小幫手軟件的分析模型
3 系統(tǒng)設(shè)計(jì)模型與實(shí)現(xiàn)模型
3.1 設(shè)計(jì)模型與活動(dòng)圖、順序圖
設(shè)計(jì)模型則是架構(gòu)設(shè)計(jì)和系統(tǒng)設(shè)計(jì)的結(jié)果。當(dāng)設(shè)計(jì)模型完成后,開發(fā)編程人員便可以進(jìn)行編程了。設(shè)計(jì)模型主要包含了活動(dòng)圖等。用例模型回答了軟件“做什么”的問題,而設(shè)計(jì)模型回答“該怎么做”的問題,工作的重點(diǎn)是適應(yīng)特定的實(shí)施環(huán)境和部署環(huán)境[3]。
活動(dòng)圖是UML用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模的另一種常用工具,它描述活動(dòng)的順序,展現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,闡明了業(yè)務(wù)用例實(shí)現(xiàn)的工作流程。業(yè)務(wù)用例工作流程說明了業(yè)務(wù)為向所服務(wù)的業(yè)務(wù)主角提供其所需的價(jià)值而必須完成的工作[4]。
順序圖是將交互關(guān)系表示為一個(gè)二維圖??v向是時(shí)間軸,時(shí)間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對(duì)象的類元角色。類元角色用生命線表示。當(dāng)對(duì)象存在時(shí),角色用一條虛線表示,當(dāng)對(duì)象的過程處于激活狀態(tài)時(shí),生命線是一個(gè)雙道線[5]。
3.2 云計(jì)算機(jī)房小幫手的活動(dòng)圖
教師上機(jī)的過程中,如果發(fā)現(xiàn)機(jī)房電腦或其它設(shè)備有故障,可以在旁邊好的電腦的上反映故障信息到服務(wù)器上,實(shí)驗(yàn)員就會(huì)立即看到這些信息,修復(fù)完電腦后,實(shí)驗(yàn)員回復(fù)故障已解決信息。根據(jù)上述過程,得出其活動(dòng)圖如下:
圖3 反映故障信息用例的活動(dòng)圖
上實(shí)驗(yàn)課之前,教師先把有關(guān)該課程的資料上傳到服務(wù)器,學(xué)生遇到疑難問題時(shí),可以在線搜索,服務(wù)器給出相關(guān)問題答案。根據(jù)上述業(yè)務(wù)過程,得出活動(dòng)圖如下:
圖4 上機(jī)幫助用例的活動(dòng)圖
3.3 云計(jì)算機(jī)房小幫手軟件的順序圖
每個(gè)學(xué)期開學(xué)時(shí),學(xué)校都會(huì)購買新的設(shè)備,實(shí)驗(yàn)員增加設(shè)備信息的過程是這樣:實(shí)驗(yàn)員首先輸入用戶名和密碼以準(zhǔn)備登錄系統(tǒng),后臺(tái)對(duì)用戶名和密碼進(jìn)行驗(yàn)證,然后實(shí)驗(yàn)員錄入設(shè)備信息,后臺(tái)保存設(shè)備信息。
圖5 云計(jì)算機(jī)房小幫手軟件增加設(shè)備順序圖
參考文獻(xiàn):
[1]譚云杰.Thinking in UML(第1版)[M].北京:中國水利水電出版社,2009:15.
[2]李軍.一種從用例模型到分析模型的設(shè)計(jì)方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012(01):34-35.
[3]孔軍.基于UML的系統(tǒng)需求分析[J].計(jì)算機(jī)工程與應(yīng)用,2003(15):217-218.
[4]方紅萍,陳和平.信息系統(tǒng)UML建模研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2006(19):3614.
[5]陳鑫,李宣東.基于設(shè)計(jì)演算的形式化用例分析建??蚣躘J].軟件學(xué)報(bào),2008(10):2548-2549.
作者簡介:李軍(1981-),男,系統(tǒng)分析師,碩士研究生,研究方向:軟件工程。
作者單位:長沙環(huán)境保護(hù)職業(yè)技術(shù)學(xué)院環(huán)境信息系,長沙 410004
基金項(xiàng)目:2013年湖南省教育科學(xué)“十二五”規(guī)劃課題:云計(jì)算在區(qū)域教育資源公共服務(wù)模式的應(yīng)用(項(xiàng)目編號(hào):XJK013CXX005);湖南省教育廳科學(xué)研究項(xiàng)目:基于云計(jì)算的區(qū)域教育資源公共服務(wù)模式的研究(項(xiàng)目編號(hào):13C1001);2010年學(xué)院科學(xué)研究課題:機(jī)房軟件小幫手軟件開發(fā)(項(xiàng)目編號(hào):10KY005)。