實(shí)例講解UML面向?qū)ο蠓治鲈O(shè)計(jì)
本節(jié)和大家學(xué)習(xí)一下UML面向?qū)ο蠓治鲈O(shè)計(jì),通過實(shí)例開放式學(xué)籍管理系統(tǒng)中的應(yīng)用向大家講解,相信通過本節(jié)的介紹你對(duì)UML面向?qū)ο蠓治鲈O(shè)計(jì)過程一定會(huì)有所了解。
UML面向?qū)ο蠓治鲈O(shè)計(jì)在開放式學(xué)籍管理系統(tǒng)中的應(yīng)用
UML是一種建模語言,是系統(tǒng)開發(fā)的一個(gè)組成部分,本身并沒有關(guān)于開發(fā)過程概念的定義和表示符號(hào)[2]。UML的創(chuàng)始者比Booch、Jacobson和Rumbaugh在Rational公司的支持下綜合了多種系統(tǒng)開發(fā)過程的長(zhǎng)處,提出新的面向?qū)ο蟮拈_發(fā)過程,稱為Rational統(tǒng)一過程(RationalUnifiedProcess,RUP)。RUP過程的核心工作流包括:業(yè)務(wù)建模、需求分析、系統(tǒng)分析與設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和系統(tǒng)配置。下面通過UML來分析并構(gòu)造學(xué)籍管理模型,并結(jié)合Rational統(tǒng)一過程加以描述,圖形用RationalRose工具軟件繪制。
1、開放式學(xué)籍管理系統(tǒng)概述
隨著網(wǎng)絡(luò)技術(shù)和軟件技術(shù)的飛速發(fā)展,特別是Internet/Intranet的出現(xiàn)及其相關(guān)技術(shù)的迅速發(fā)展,信息革命帶來了全球范圍市場(chǎng)競(jìng)爭(zhēng)的日益加劇,對(duì)傳統(tǒng)的辦公教學(xué)和生活方式產(chǎn)生了巨大的沖擊。辦公自動(dòng)化就是采用Internet/Intranet技術(shù),基于工作流的概念,使內(nèi)部人員方便快捷的共享信息,高效的協(xié)同工作;改變過去復(fù)雜,低效的手工辦公方式,實(shí)現(xiàn)迅速,全方位的信息采集,信息處理。校園網(wǎng)的建設(shè),為開放式的學(xué)籍管理系統(tǒng)提供了技術(shù)保障。
開放式學(xué)籍管理系統(tǒng)是一個(gè)由學(xué)校學(xué)籍管理信息中心監(jiān)控,各教學(xué)系(部)、教研室分級(jí)管理,由學(xué)生檔案管理、導(dǎo)師管理、授課教師管理、選課管理、成績(jī)查詢管理、打印報(bào)表等幾部分組成,選課學(xué)生甚至聯(lián)網(wǎng)的鄰近院校共同參與的管理系統(tǒng)。
學(xué)籍管理由學(xué)校學(xué)籍管理中心監(jiān)控,各教學(xué)系部、教研室分級(jí)管理,任課教師,選課學(xué)生共同參與。
2、開放式學(xué)籍管理系統(tǒng)的用例和角色
UML面向?qū)ο蠓治鲈O(shè)計(jì)中業(yè)務(wù)建模和需求分析的目的是對(duì)學(xué)籍管理進(jìn)行評(píng)估,采集和分析系統(tǒng)的需求,理解系統(tǒng)要解決的問題,重點(diǎn)是充分考慮系統(tǒng)的實(shí)用性。結(jié)果可以用一個(gè)UseCase模型表達(dá)(圖1),模型中的活動(dòng)者代表外部與系統(tǒng)交互的角色,包括學(xué)生、系統(tǒng)管理員,UseCase是對(duì)系統(tǒng)需求的描述,表達(dá)了系統(tǒng)的功能和所提供的服務(wù),包括學(xué)生檔案管理子系統(tǒng)、導(dǎo)師檔案管理子系統(tǒng)、課程管理子系統(tǒng)、授課教師管理子系統(tǒng)、選課管理子系統(tǒng)、成績(jī)管理子系統(tǒng)、打印報(bào)表子系統(tǒng)。
圖1中模型元素之間的實(shí)線表示二者存在關(guān)聯(lián)關(guān)系,是學(xué)籍管理系統(tǒng)層的UseCase模型,只包含了最基本的UseCase模型,是系統(tǒng)的高層抽象,在開發(fā)過程中,隨著對(duì)系統(tǒng)的認(rèn)識(shí)不斷加深,UseCase模型可以自頂向下不斷精化,演化出更為詳細(xì)的UseCase模型。
3、開放式學(xué)籍管理系統(tǒng)分析與設(shè)計(jì)
UML面向?qū)ο蠓治鲈O(shè)計(jì)是研究欲采用的實(shí)現(xiàn)環(huán)境和系統(tǒng)結(jié)構(gòu),結(jié)果是產(chǎn)生一個(gè)對(duì)象模型,即設(shè)計(jì)模型。設(shè)計(jì)模型包含了UseCase的實(shí)現(xiàn),可以表現(xiàn)對(duì)象是如何相互通信和運(yùn)作來實(shí)現(xiàn)UseCase流的。對(duì)于系統(tǒng)的靜態(tài)結(jié)構(gòu)??梢酝ㄟ^對(duì)象類圖、對(duì)象圖、組件圖和配置圖來描述,對(duì)于系統(tǒng)的動(dòng)態(tài)行為,可以通過順序圖、協(xié)同圖、狀態(tài)圖、活動(dòng)圖描繪。這些圖再加上支持說明文檔就構(gòu)成一個(gè)完整的設(shè)計(jì)模型。
(1)靜態(tài)結(jié)構(gòu)的分析設(shè)計(jì)
學(xué)籍管理系統(tǒng)中擁有大量數(shù)字化信息資源,這些資源是多種媒體、多種格式的,而且還是相互關(guān)聯(lián)的。其數(shù)據(jù)量大,信息長(zhǎng)度不定。非結(jié)構(gòu)化信息與結(jié)構(gòu)比信息并存。傳統(tǒng)的數(shù)據(jù)庫(kù)和信息管理系統(tǒng)在數(shù)據(jù)模型、系統(tǒng)結(jié)構(gòu)、用戶接口等方面都虛擬實(shí)現(xiàn)對(duì)這些數(shù)字化信息資源的管理和操作,這就決定了學(xué)籍管理必須采用面向?qū)ο蟮姆椒▉斫?shù)據(jù)模型和管理模型,建立面向?qū)ο蟮臄?shù)據(jù)庫(kù)。實(shí)現(xiàn)面向?qū)ο蟮男畔⒐芾硐到y(tǒng)。使用UML對(duì)學(xué)籍管理系統(tǒng)進(jìn)行基于面向?qū)ο蟮姆治龊驮O(shè)計(jì),可以從開發(fā)的第一步開始,從系統(tǒng)的底層就把握住學(xué)籍管理信息資源的特征,為下一步的具體實(shí)現(xiàn)打好基礎(chǔ)。在為學(xué)籍管理系統(tǒng)建立模型時(shí)要涉及到處理大量的模型元素,如對(duì)象類、接口、組件、節(jié)點(diǎn)、圖等。圖2是學(xué)籍管理系統(tǒng)中的學(xué)生類。
在圖2的學(xué)生類圖中,包括學(xué)生類的屬性和方法。例如:studentId是學(xué)生的學(xué)號(hào),且數(shù)據(jù)類型為bigint(8),且為主碼;selectCourse(courseId:bigint,studentId:bigint)returnint,是類的方法,其入口參數(shù)為課程編號(hào)courseId和學(xué)生學(xué)號(hào)studentId,此方法作用是學(xué)生進(jìn)行選課。
(2)動(dòng)態(tài)結(jié)構(gòu)的分析與設(shè)計(jì)
UML面向?qū)ο蠓治鲈O(shè)計(jì)對(duì)動(dòng)態(tài)結(jié)構(gòu)的分析與設(shè)計(jì)。學(xué)籍管理館提供的各種服務(wù)都是建立在分布、開放的信息結(jié)構(gòu)之上。依托高速、可靠的網(wǎng)絡(luò)環(huán)來完成。每項(xiàng)服務(wù)都可以看成一個(gè)事件流,由若干相關(guān)的對(duì)象交互合作來完成。對(duì)于這種系統(tǒng)內(nèi)部的協(xié)作關(guān)系和過程行為,可以通過繪制順序圖和協(xié)同圖來幫助觀察和理解。
一個(gè)對(duì)象在雙生存期間所經(jīng)歷的狀態(tài)序列。對(duì)于把握對(duì)象的行為和狀態(tài)的遷移變化是非常重要的,可以通過狀態(tài)回來了解一個(gè)對(duì)象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件,以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動(dòng)作。
此外,描述工作流和并發(fā)處理行為還可以用活動(dòng)圖,表達(dá)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,顧序圖和協(xié)同圖適合描述多個(gè)對(duì)象的協(xié)同行為,而狀態(tài)圖適合描述一個(gè)對(duì)象穿越多個(gè)UseCase的行為。狀態(tài)圖與活動(dòng)圖的區(qū)別是:狀態(tài)圖描述的是對(duì)象類響應(yīng)事件的外部行為。活動(dòng)圖描述的是響應(yīng)內(nèi)部處理的對(duì)象類的行為。圖3是學(xué)生查詢成績(jī)的活動(dòng)圖。
圖3中,學(xué)生登陸學(xué)籍管理系統(tǒng),輸入其用戶名和密碼,若用戶名和密碼有誤則返回,否則進(jìn)入下一步:首先選擇查詢類型(查詢成績(jī)),然后輸入查詢關(guān)鍵詞,再進(jìn)行查詢,系統(tǒng)自動(dòng)生成了成績(jī)單。
4、開放式學(xué)籍管理系統(tǒng)的實(shí)現(xiàn)、測(cè)試和系統(tǒng)配置
經(jīng)過系統(tǒng)對(duì)UML面向?qū)ο蠓治鲈O(shè)計(jì)后.就可以根據(jù)設(shè)計(jì)模型在具體的環(huán)境中實(shí)現(xiàn)系統(tǒng),生成系統(tǒng)的源代碼、可執(zhí)行程序和相應(yīng)的軟件文檔,建立一個(gè)可執(zhí)行的系統(tǒng).然后需要對(duì)系統(tǒng)送行測(cè)試和排錯(cuò),保證系統(tǒng)符合預(yù)定的要求。獲得一個(gè)無錯(cuò)的系統(tǒng)實(shí)現(xiàn),調(diào)試的結(jié)果將確認(rèn)所完成的系統(tǒng)可以真正使用。最后系統(tǒng)配置的任務(wù)是在真實(shí)的使用運(yùn)行環(huán)境中配置,調(diào)試系統(tǒng),解決系統(tǒng)正式使用前可能存在的任何問題。
小結(jié)
UML是一種功能強(qiáng)大的、面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言,它采用一整套成熟的建模技術(shù),廣泛地適用于各個(gè)應(yīng)用領(lǐng)域。它的各個(gè)模型可以幫助開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統(tǒng)模型。從而使用戶和開發(fā)人員對(duì)問題的描述達(dá)到相同的理解,以減少語義差異,保障分析的正確性。
通過對(duì)學(xué)籍管理系統(tǒng)的開發(fā)可以看到,UML作為軟件工程中的建模語言,代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向,具有重大的經(jīng)濟(jì)價(jià)值和國(guó)防價(jià)值,并獲得了國(guó)際上的廣泛支持,具有非常好的應(yīng)用前景。
【編輯推薦】
- UML面向?qū)ο蠼VR(shí)簡(jiǎn)介
- UML面向?qū)ο蠹夹g(shù)全面解析
- 專家指導(dǎo) 如何進(jìn)行UML面向?qū)ο蠓椒ǚ治雠c設(shè)計(jì)
- 教你繪制整潔的UML圖
- UML面向?qū)ο蠼V兴姆N常見開發(fā)模式