一、引言
UML是一種編制系統藍圖的標準化語(yǔ)言,可以實(shí)現大型復雜系統各種成分描述的可視化、說(shuō)明并構造系統模型,以及建立各種所需的文檔,它是一種定義良好、易于表達、功能強大且普遍適用的建模語(yǔ)言。UML的發(fā)展對軟件工程的發(fā)展做出了杰出的貢獻。
UML支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程。UML通過(guò)三類(lèi)圖形建立系統模型:用例(Use Case)圖、靜態(tài)結構圖(對象類(lèi)圖、對象圖、組件圖、配置圖)和動(dòng)態(tài)行為圖(順序圖、協(xié)同圖、狀態(tài)圖、活動(dòng)圖),這些圖可以從不同的抽象角度實(shí)現系統的可視化。
URM的發(fā)展經(jīng)歷了以下幾個(gè)階段。
最初的階段是專(zhuān)家的聯(lián)合行動(dòng),由三位OO(面向對象)方法學(xué)家[8]將他們各自的方法結合在一起,形成UML 0.9。
第二階段是公司的聯(lián)合行動(dòng),由十幾家公司組成的“UML伙伴組織”將各自的意見(jiàn)加入UML,形成UML 1.0和1.1,并作為向OMG申請成為建模語(yǔ)言規范的提案。
第三階段是在OMG控制下的修訂與改進(jìn),OMG于1997年11月正式采納UML 1.1作為建模語(yǔ)言規范,然后成立任務(wù)組進(jìn)行不斷的修訂,并產(chǎn)生了UML 1.2、1.3和1.4版本,其中UML 1.3是較為重要的修訂版。
目前正處于UML的重大修訂階段,目標是推出UML 2.0,作為向ISO提交的標準提案。
1.UML的特點(diǎn)
UML具有以下特點(diǎn):
(1)面向對象。UML支持面向對象技術(shù)的主要概念,提供了一批基本的模型元素的表示圖形和方法,能簡(jiǎn)潔明了地表達面向對象的各種概念。
(2)可視化,表示能力強。通過(guò)UML的模型圖能清晰地表示系統的邏輯模型和實(shí)現模型??捎糜诟鞣N復雜系統的建模。
(3)獨立于過(guò)程。UML是系統建模語(yǔ)言,獨立于開(kāi)發(fā)過(guò)程。
(4)獨立于程序設計語(yǔ)言。用UML建立的軟件系統模型可以用Java、VC++、SmalltaIk等任何一種面向對象的程序設計來(lái)實(shí)現。
(5)易于掌握使用。UML圖形結構清晰,建模簡(jiǎn)潔明了,容易掌握使用。
使用UML進(jìn)行系統分析和設計,可以加速開(kāi)發(fā)進(jìn)程,提高代碼質(zhì)量,支持動(dòng)態(tài)的業(yè)務(wù)需求。UML適用于各種規模的系統開(kāi)發(fā)。能促進(jìn)軟件復用,方便地集成已有的系統,并能有效處理開(kāi)發(fā)中的各種風(fēng)險。
2. UML的面向對象分析設計過(guò)程
運用UML進(jìn)行面向對象的系統分析設計,其過(guò)程通常由以下3個(gè)部份組成:
(1)識別系統的用例和角色
首先對項目進(jìn)行需求調研,依據項目的業(yè)務(wù)流程圖和數據流程圖以及項目中涉及的各級操作人員,通過(guò)分析,識別出系統中的所有用例和角色;接著(zhù)分析系統中各角色和用例間的聯(lián)系,再使用UML建模工具畫(huà)出系統的用例圖,同時(shí),勾畫(huà)系統的概念層模型,借助UML建模工具描述概念層類(lèi)圖和活動(dòng)圖。
(2)進(jìn)行系統分析,并抽取類(lèi)
系統分析的任務(wù)是找出系統的所有需求并加以描述,同時(shí)建立特定領(lǐng)域模型。建立域模型有助于開(kāi)發(fā)人員考察用例,從中抽取出類(lèi),并描述類(lèi)之間的關(guān)系。
(3)系統設計,并設計類(lèi)及其行為
設計階段由結構設計和詳細設計組成。①結構設計是高層設計,其任務(wù)是定義包(子系統),包括包間的依賴(lài)關(guān)系和主要通信機制。包有利于描述系統的邏輯組成部分以及各部分之間的依賴(lài)關(guān)系。②詳細設計就是要細化包的內容,清晰描述所有的類(lèi),同時(shí)使用UML的動(dòng)態(tài)模型描述在特定環(huán)境下這些類(lèi)的實(shí)例的行為。
3、UML面向對象分析設計在開(kāi)放式學(xué)籍管理系統中的應用
UML是一種建模語(yǔ)言,是系統開(kāi)發(fā)的一個(gè)組成部分,本身并沒(méi)有關(guān)于開(kāi)發(fā)過(guò)程概念的定義和表示符號[2]。UML的創(chuàng )始者比Booch 、Jacobson和Rumbaugh在Rational公司的支持下綜合了多種系統開(kāi)發(fā)過(guò)程的長(cháng)處,提出新的面向對象的開(kāi)發(fā)過(guò)程,稱(chēng)為Rational統一過(guò)程(Rational Unified Process,RUP)。RUP過(guò)程的核心工作流包括:業(yè)務(wù)建模、需求分析、系統分析與設計、實(shí)現、測試和系統配置。下面通過(guò)UML來(lái)分析并構造學(xué)籍管理模型,并結合Rational統一過(guò)程加以描述,圖形用Rational Rose工具軟件繪制。
3.1 開(kāi)放式學(xué)籍管理系統概述
隨著(zhù)網(wǎng)絡(luò )技術(shù)和軟件技術(shù)的飛速發(fā)展,特別是Internet/Intranet的出現及其相關(guān)技術(shù)的迅速發(fā)展,信息革命帶來(lái)了全球范圍市場(chǎng)競爭的日益加劇,對傳統的辦公教學(xué)和生活方式產(chǎn)生了巨大的沖擊。辦公自動(dòng)化就是采用Internet/Intranet技術(shù),基于工作流的概念,使內部人員方便快捷的共享信息,高效的協(xié)同工作;改變過(guò)去復雜,低效的手工辦公方式,實(shí)現迅速,全方位的信息采集,信息處理。校園網(wǎng)的建設,為開(kāi)放式的學(xué)籍管理系統提供了技術(shù)保障。
開(kāi)放式學(xué)籍管理系統是一個(gè)由學(xué)校學(xué)籍管理信息中心監控,各教學(xué)系(部)、教研室分級管理,由學(xué)生檔案管理、導師管理、授課教師管理、選課管理、成績(jì)查詢(xún)管理、打印報表等幾部分組成,選課學(xué)生甚至聯(lián)網(wǎng)的鄰近院校共同參與的管理系統。
學(xué)籍管理由學(xué)校學(xué)籍管理中心監控,各教學(xué)系部、教研室分級管理,任課教師,選課學(xué)生共同參與。
3.2 開(kāi)放式學(xué)籍管理系統的用例和角色
業(yè)務(wù)建模和需求分析的目的是對學(xué)籍管理進(jìn)行評估,采集和分析系統的需求,理解系統要解決的問(wèn)題,重點(diǎn)是充分考慮系統的實(shí)用性。結果可以用一個(gè)U se Case模型表達(圖1),模型中的活動(dòng)者代表外部與系統交互的角色,包括學(xué)生、系統管理員,Use Case是對系統需求的描述,表達了系統的功能和所提供的服務(wù),包括學(xué)生檔案管理子系統、導師檔案管理子系統、課程管理子系統、授課教師管理子系統、選課管理子系統、成績(jì)管理子系統、打印報表子系統。
模型元素之間的實(shí)線(xiàn)表示二者存在關(guān)聯(lián)關(guān)系,是學(xué)籍管理系統層的Use Case模型,只包含了最基本的Use Case模型,是系統的高層抽象,在開(kāi)發(fā)過(guò)程中,隨著(zhù)對系統的認識不斷加深,Use Case模型可以自頂向下不斷精化,演化出更為詳細的Use Case模型。
3.3 開(kāi)放式學(xué)籍管理系統分析與設計
系統分析與設計是研究欲采用的實(shí)現環(huán)境和系統結構,結果是產(chǎn)生一個(gè)對象模型,即設計模型。設計模型包含了Use Case的實(shí)現,可以表現對象是如何相互通信和運作來(lái)實(shí)現Use Case流的。對于系統的靜態(tài)結構??梢酝ㄟ^(guò)對象類(lèi)圖、對象圖、組件圖和配置圖來(lái)描述,對于系統的動(dòng)態(tài)行為,可以通過(guò)順序圖、協(xié)同圖、狀態(tài)圖、活動(dòng)圖描繪。這些圖再加上支持說(shuō)明文檔就構成一個(gè)完整的設計模型。
(1)靜態(tài)結構的分析設計
學(xué)籍管理系統中擁有大量數字化信息資源,這些資源是多種媒體、多種格式的,而且還是相互關(guān)聯(lián)的。其數據量大,信息長(cháng)度不定。非結構化信息與結構比信息并存。傳統的數據庫和信息管理系統在數據模型、系統結構、用戶(hù)接口等方面都虛擬實(shí)現對這些數字化信息資源的管理和操作,這就決定了學(xué)籍管理必須采用面向對象的方法來(lái)建立數據模型和管理模型,建立面向對象的數據庫。實(shí)現面向對象的信息管理系統。使用UML對學(xué)籍管理系統進(jìn)行基于面向對象的分析和設計,可以從開(kāi)發(fā)的第一步開(kāi)始,從系統的底層就把握住學(xué)籍管理信息資源的特征,為下一步的具體實(shí)現打好基礎。在為學(xué)籍管理系統建立模型時(shí)要涉及到處理大量的模型元素,如對象類(lèi)、接口、組件、節點(diǎn)、圖等。
學(xué)生類(lèi)圖中,包括學(xué)生類(lèi)的屬性和方法。例如:studentId是學(xué)生的學(xué)號,且數據類(lèi)型為bigint(8),且為主碼;selectCourse(courseId : bigint,studentId:bigint)return int,是類(lèi)的方法,其入口參數為課程編號courseId和學(xué)生學(xué)號studentId,此方法作用是學(xué)生進(jìn)行選課。
(2)動(dòng)態(tài)結構的分析與設計
學(xué)籍管理館提供的各種服務(wù)都是建立在分布、開(kāi)放的信息結構之上。依托高速、可靠的網(wǎng)絡(luò )環(huán)來(lái)完成。每項服務(wù)都可以看成一個(gè)事件流,由若干相關(guān)的對象交互合作來(lái)完成。對于這種系統內部的協(xié)作關(guān)系和過(guò)程行為,可以通過(guò)繪制順序圖和協(xié)同圖來(lái)幫助觀(guān)察和理解。
一個(gè)對象在雙生存期間所經(jīng)歷的狀態(tài)序列。對于把握對象的行為和狀態(tài)的遷移變化是非常重要的,可以通過(guò)狀態(tài)回來(lái)了解一個(gè)對象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉移的事件,以及由于狀態(tài)的轉移而引發(fā)的動(dòng)作。
此外,描述工作流和并發(fā)處理行為還可以用活動(dòng)圖,表達從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,顧序圖和協(xié)同圖適合描述多個(gè)對象的協(xié)同行為,而狀態(tài)圖適合描述一個(gè)對象穿越多個(gè)Use Case的行為。狀態(tài)圖與活動(dòng)圖的區別是:狀態(tài)圖描述的是對象類(lèi)響應事件的外部行為?;顒?dòng)圖描述的是響應內部處理的對象類(lèi)的行為。圖3是學(xué)生查詢(xún)成績(jì)的活動(dòng)圖。
學(xué)生登陸學(xué)籍管理系統,輸入其用戶(hù)名和密碼,若用戶(hù)名和密碼有誤則返回,否則進(jìn)入下一步:首先選擇查詢(xún)類(lèi)型(查詢(xún)成績(jì)),然后輸入查詢(xún)關(guān)鍵詞,再進(jìn)行查詢(xún),系統自動(dòng)生成了成績(jì)單。
2.4 開(kāi)放式學(xué)籍管理系統的實(shí)現、測試和系統配置
經(jīng)過(guò)系統分折與設計后.就可以根據設計模型在具體的環(huán)境中實(shí)現系統,生成系統的源代碼、可執行程序和相應的軟件文檔,建立一個(gè)可執行的系統.然后需要對系統送行測試和排錯,保證系統符合預定的要求。獲得一個(gè)無(wú)錯的系統實(shí)現,調試的結果將確認所完成的系統可以真正使用。最后系統配置的任務(wù)是在真實(shí)的使用運行環(huán)境中配置,調試系統,解決系統正式使用前可能存在的任何問(wèn)題。
三、小結
UML是一種功能強大的、面向對象的可視化系統分析的建模語(yǔ)言,它采用一整套成熟的建模技術(shù),廣泛地適用于各個(gè)應用領(lǐng)域。它的各個(gè)模型可以幫助開(kāi)發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統模型。從而使用戶(hù)和開(kāi)發(fā)人員對問(wèn)題的描述達到相同的理解,以減少語(yǔ)義差異,保障分析的正確性。
通過(guò)對學(xué)籍管理系統的開(kāi)發(fā)可以看到,UML作為軟件工程中的建模語(yǔ)言,代表了面向對象方法的軟件開(kāi)發(fā)技術(shù)的發(fā)展方向,具有重大的經(jīng)濟價(jià)值和國防價(jià)值,并獲得了國際上的廣泛支持,具有非常好的應用前景。
聯(lián)系客服