吳其林,袁志祥,屈嚴(yán)偉,羅 標(biāo) (安徽工業(yè)大學(xué)研究生學(xué)院,安徽 馬鞍山 243002)
UML在網(wǎng)上課程檔案系統(tǒng)設(shè)計(jì)中的應(yīng)用
吳其林,袁志祥,屈嚴(yán)偉,羅 標(biāo) (安徽工業(yè)大學(xué)研究生學(xué)院,安徽 馬鞍山 243002)
UML統(tǒng)一建模語言是一種面向?qū)ο蟮目梢暬UZ言,是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。以網(wǎng)上課程檔案系統(tǒng)的設(shè)計(jì)為例,詳細(xì)闡述了使用UML對系統(tǒng)進(jìn)行需求建模的全過程,并給出了系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)結(jié)果。
UML;網(wǎng)上課程檔案系統(tǒng);需求建模
隨著研究生培養(yǎng)手段的多樣化和學(xué)校數(shù)字化校園的發(fā)展,原有的信息化管理手段已經(jīng)不能完全滿足研究生培養(yǎng)發(fā)展的需要。網(wǎng)上檔案系統(tǒng)以“導(dǎo)師-學(xué)生”互動(dòng)為基礎(chǔ),管理部門提供服務(wù)的新模式對研究生整個(gè)培養(yǎng)環(huán)節(jié)進(jìn)行流程監(jiān)控和管理。以往系統(tǒng)設(shè)計(jì)所采用基于過程的瀑布生存周期模型將過程和數(shù)據(jù)分離,軟件開發(fā)效率低,軟件可重用性和擴(kuò)展性差[1]。而面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOA&D)方法解決了這些問題,其中UML(Unified Modeling Language,統(tǒng)一建模語言)就是其中的典型產(chǎn)物。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍使用的建模語言。它結(jié)合了軟件工程領(lǐng)域新的思想、方法和技術(shù),支持面向?qū)ο蟮姆治雠c設(shè)計(jì)從需求分析開始的軟件開發(fā)全過程[2-4]。下面,筆者以網(wǎng)上課程檔案系統(tǒng)為例,探討了UML建模方法。
UML的建模機(jī)制包括靜態(tài)建模和動(dòng)態(tài)建模2類,其中靜態(tài)建模是整個(gè)建模的基礎(chǔ),包括用例圖、類圖、包、對象圖、構(gòu)件圖和配置圖,定義了系統(tǒng)中重要對象的屬性和操作以及對象之間的相互關(guān)系;動(dòng)態(tài)建模包括狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖,定義了對象的時(shí)序性以及對象之間交互和通信的機(jī)制?;赨ML的系統(tǒng)分析和設(shè)計(jì)主要依據(jù)以下3步:①需求分析。描述系統(tǒng)的功能需要;②靜態(tài)建模。根據(jù)需求分析確立系統(tǒng)的靜態(tài)模型,構(gòu)造系統(tǒng)的框架;③動(dòng)態(tài)建模。根據(jù)靜態(tài)建模結(jié)果分析各對象之間的時(shí)序狀態(tài)或交互關(guān)系,建立動(dòng)態(tài)模型,描述系統(tǒng)的行為。
圖1 系統(tǒng)功能模塊需求圖
1)功能模塊需求 網(wǎng)上課程檔案系統(tǒng)實(shí)現(xiàn)的是對研究生培養(yǎng)環(huán)節(jié)的信息化管理和監(jiān)控,是學(xué)生-導(dǎo)師-學(xué)院-研究生管理部門互動(dòng)的過程,因此根據(jù)研究生培養(yǎng)環(huán)節(jié)中的內(nèi)容將系統(tǒng)功能需求分為以下幾個(gè)方面:個(gè)人培養(yǎng)計(jì)劃管理、開題報(bào)告管理、中期考核管理、答辯公告管理、預(yù)答辯管理、學(xué)位申請管理、培養(yǎng)質(zhì)量監(jiān)控管理、學(xué)術(shù)報(bào)告管理及用戶信息管理,功能模塊需求圖如圖1所示。
圖2 系統(tǒng)用例圖
2)用例圖設(shè)計(jì) 用例圖源于Jacobson的OOSE方法[5],通過用例來捕獲系統(tǒng)的需求,再結(jié)合參與者進(jìn)行系統(tǒng)功能需求的分析和設(shè)計(jì)。用例圖可視化地描述了系統(tǒng)外部的使用者和使用者使用系統(tǒng)時(shí),系統(tǒng)為這些使用者提供的一系列服務(wù),并清晰地描述了他們之間的關(guān)系,所以從用例圖中可以得到對于被定義系統(tǒng)的一個(gè)總體印象,是對系統(tǒng)需求的規(guī)范化描述。另外,用例圖方法是完全從外部來定義系統(tǒng)功能,它把需求和設(shè)計(jì)完全分離了開來,而不用關(guān)心系統(tǒng)內(nèi)部是如何完成各種功能的。導(dǎo)師、學(xué)生、學(xué)院、研究生管理部門是系統(tǒng)中的參與者,用戶登錄、培養(yǎng)計(jì)劃管理、開題報(bào)告管理、中期考核管理、答辯公告管理、預(yù)答辯、學(xué)位申請管理、培養(yǎng)質(zhì)量監(jiān)控、學(xué)術(shù)報(bào)告管理、個(gè)人信息管理及查詢管理都是系統(tǒng)的功能需求,用例和參與者之間的聯(lián)系表示了參與者對用例的操作。以用例開題報(bào)告為例,學(xué)生先需要填寫開題報(bào)告并提交,導(dǎo)師才能看到開題報(bào)告的內(nèi)容并審核,導(dǎo)師審核之后學(xué)院和研究生管理部門進(jìn)行雙重批準(zhǔn)后才能在查詢模塊中查看。用例圖如圖2所示。
圖3 系統(tǒng)類圖
系統(tǒng)靜態(tài)結(jié)構(gòu)描述由類圖、對象圖、包圖來實(shí)現(xiàn),其中類圖是系統(tǒng)設(shè)計(jì)中最核心的部分。類圖顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),而系統(tǒng)的靜態(tài)結(jié)構(gòu)構(gòu)成了系統(tǒng)的概念基礎(chǔ)。在類圖中不僅包含為系統(tǒng)定義的各種類,也包含了它們之間的關(guān)系,類圖就是用于對系統(tǒng)中的各種概念進(jìn)行建模,并描繪出它們之間關(guān)系的圖,在整個(gè)系統(tǒng)生命周期內(nèi)都是有效的。
靜態(tài)結(jié)構(gòu)的建立首先需要根據(jù)用例圖識別類,然后確定類的屬性和操作,最后進(jìn)一步分析類之間的聯(lián)系。在網(wǎng)上課程檔案系統(tǒng)中,實(shí)體類有學(xué)生、導(dǎo)師、學(xué)院秘書、研究生管理部門、個(gè)人培養(yǎng)計(jì)劃管理、開題報(bào)告管理、中期考核管理、預(yù)答辯管理、答辯公告管理、學(xué)位申請管理、培養(yǎng)質(zhì)量監(jiān)控管理、學(xué)術(shù)報(bào)告管理及查詢管理。邊界類為用戶登錄界面,它是系統(tǒng)內(nèi)部與外界參與者實(shí)現(xiàn)交互作用的紐帶。系統(tǒng)靜態(tài)模型如圖3所示。
圖4 開題報(bào)告流程時(shí)序圖
動(dòng)態(tài)模型是通過序列圖、協(xié)作圖和狀態(tài)圖描述對象間的交互關(guān)系、對象的生命周期和生命周期中對象的可能存在的狀態(tài)以及狀態(tài)間的轉(zhuǎn)換約束[6]。序列圖是一種交互圖,表示對象之間的動(dòng)態(tài)合作關(guān)系,用于表現(xiàn)一個(gè)交互,側(cè)重于強(qiáng)調(diào)時(shí)間順序。主要由角色、對象、消息、生命線和控制焦點(diǎn)組成。用垂直虛線來表示生命線,水平方向上用一個(gè)帶有垂直虛線的矩形框表示不同的對象,對象間的通信通過對象的生命線間的消息來表示。消息的箭頭指明消息的類型[7]。因?yàn)橄到y(tǒng)功能繁多,圖4僅對開題報(bào)告申請完成的流程進(jìn)行動(dòng)態(tài)建模,首先學(xué)生登錄系統(tǒng),填寫開題報(bào)告,完成后提交,提交后導(dǎo)師可以在自己的客戶端看到開題內(nèi)容并進(jìn)行審核,導(dǎo)師審核后開題報(bào)告提交到學(xué)院端,學(xué)院秘書審核后開題報(bào)告才可以提交到查詢窗口供師生查詢。在提交到查詢窗口之前,每個(gè)階段都可以返回上一階段對填寫內(nèi)容進(jìn)行修改。
在建模完成后,利用Rational Rose工具可以生成程序代碼框架,并根據(jù)實(shí)際需求對代碼框架進(jìn)行不斷地修改和補(bǔ)充,形成了完整的代碼[8]。依據(jù)具體情況,總體架構(gòu)為B/S模式,根據(jù)建立的系統(tǒng)模型,采用PHP+MySQL作為實(shí)現(xiàn)工具,并在實(shí)現(xiàn)系統(tǒng)的過程中,進(jìn)行產(chǎn)品測試、系統(tǒng)部署、用戶培訓(xùn)及售后服務(wù)的過程[6]。
在面向?qū)ο笙到y(tǒng)設(shè)計(jì)中,UML建模語言具有重要的作用,它使復(fù)雜的設(shè)計(jì)工作變的簡單易行。網(wǎng)上課程檔案系統(tǒng)使研究生信息化管理水平上了一個(gè)新的臺階,過去復(fù)雜繁瑣的培養(yǎng)環(huán)節(jié)現(xiàn)在通過系統(tǒng)監(jiān)控就可以得知。基于UML網(wǎng)上課程檔案系統(tǒng)的成功開發(fā)和運(yùn)用,改變了傳統(tǒng)的研究生管理手段,為研究生管理工作走向正規(guī)化和信息化提供了寶貴的平臺和手段,同時(shí)實(shí)踐證明了UML建模在面向?qū)ο箝_發(fā)中能夠發(fā)揮巨大的作用。
[1]常曉,王鳳霞,張景,等.基于RUP的UML建模方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(21):126-130.
[2]Seanhe.UML全解[EB/OL].http://www.testage.net/html/4-4/n-42944.html,2007-06-11.
[3]Booch G,Rumbaugh J,Jacobson I.The Unified Modeling L-anguage USER guide Second Edition[M].Addison Wesley Profes-sional,2005.
[4]謝星星.UML基礎(chǔ)與Rose建模實(shí)用教程[M].北京:清華大學(xué)出版社,2011.
[5]Jacobson I,Christerson M,Johnsson P,et al.Object-Orineted Software Engineering: A Use Case Driven Approach[M].Prentice-Hall,1992.
[6]Vahid Garousi,Lionel C.Briand,Y van Labiche.Traffic-aware stress testing of istributed real-time systems based on UML models using genetic algorithms[J].Journal of Systems and Software,2008,8(2): 161-185.
[7]徐寶文,周毓明,盧紅敏.UML與軟件建模[M].北京:清華大學(xué)出版社,2006.
[8]Boggs W,Boggs M,邱仲潘,等.UML with Rational Rose從入門到精通[M].北京:電子工業(yè)出版社,2000.
10.3969/j.issn.1673-1409(N).2012.08.045
TP311
A
1673-1409(2012)08-N137-03
2012-05-27
吳其林(1981-),男,2004年大學(xué)畢業(yè),碩士,實(shí)驗(yàn)師,現(xiàn)主要從事數(shù)據(jù)庫、軟件工程方面的教學(xué)與研究工作。
[編輯] 洪云飛