随著(zhe)現代軟件工程的複雜程度不斷提高,而軟件項目也産生了越來越多的問題,像軟件項目的花費以及維護費用越來越高,以及軟件開(kāi)發(fā)的周期也越來越長(cháng)等,而一個優秀的模型系統的建立成(chéng)爲必要。UML已經(jīng)成(chéng)爲通用建模語言的工業标準,而工業在競争激烈的市場中生存發(fā)展,則就(jiù)需要基于UML的适用于需求分析、概要設計和結構優化的軟件開(kāi)發(fā)支持環境。而與傳統的軟件開(kāi)發(fā)環境不同的是,它能(néng)廣泛覆蓋軟件開(kāi)發(fā)的各方面(miàn),同時其支持環境提供了全面(miàn)的軟件建模支持以及良好(hǎo)的體系結構,從而爲軟件開(kāi)發(fā)者提供最好(hǎo)的服務。 2、基于UML的軟件開(kāi)發(fā)方法
在對(duì)基于UML的軟件開(kāi)發(fā)方法探索時,則傳統的軟件開(kāi)發(fā)方法必然有其不足之處。其一,很難準确的理解以及表達系統需求。畢竟準确、透徹的理解系統需求是軟件開(kāi)發(fā)的首要任務。其二,很難處理系統需求的變化。當前,軟件系統更新較快,這(zhè)就(jiù)要求研發(fā)的周期要盡可能(néng)的短,同時在開(kāi)發(fā)過(guò)程中要調整需求。其三,風險大以及軟件複用率低。傳統的開(kāi)發(fā)方法,開(kāi)發(fā)中大多是一段程序或者是模塊的複用,軟件複用的利用率和效果都(dōu)不是很好(hǎo)。其四,軟件的可維護性較差。這(zhè)是由于傳統的軟件開(kāi)發(fā)方法中,需求分析、設計和編碼以及測試之間存在著(zhe)鴻溝所造成(chéng)的。
由于傳統的軟件開(kāi)發(fā)方法存在著(zhe)諸多的弊端,而無法适應當今複雜并具有人性化的軟件系統。則在衆多開(kāi)發(fā)中基于UML的軟件開(kāi)發(fā)方法成(chéng)爲首選。UML是一種(zhǒng)建模語言,并不是一種(zhǒng)面(miàn)向(xiàng)對(duì)象的建模方法。當前也有RUP、OPEN以及OOSP等較爲流行的開(kāi)發(fā)過(guò)程,但通過(guò)比較RUP最爲完善,與UML形成(chéng)了最好(hǎo)的結合,是UML推薦使用的軟件開(kāi)發(fā)過(guò)程。
首先,RUP建模框架模型。從軟件工程過(guò)程的角度看,RUP是一個軟件開(kāi)發(fā)過(guò)程,是一個將(jiāng)用戶需求轉化成(chéng)軟件系統的一組有序的步驟。RUP是一種(zhǒng)二維結構的軟件開(kāi)發(fā)過(guò)程。在RUP的二維開(kāi)發(fā)模型中,則包括階段與叠代内容。階段是軟件開(kāi)發(fā)過(guò)程随著(zhe)時間的動态組織。RUP把一個開(kāi)發(fā)周期分成(chéng)四個連續的階段,有初始階段、細化階段、構造階段和移交階段。而叠代是一個完整的開(kāi)發(fā)循環,它的結果是可執行産品的一個版本,是正在開(kāi)發(fā)的最終産品的一個子集。當然,在上述的内容中可見,RUP建模框架模型中也存在這(zhè)不足。則基于領域分析的RUP改進(jìn)模型框架出現,它是一種(zhǒng)三維模型,包括領域維、生命周期維和階段維。基于領域分析的RUP改進(jìn)模型動态建模技術主要有兩(liǎng)個部分組成(chéng),領域建模方法和基于領域分析的RUP改進(jìn)模型的動态建模方法。開(kāi)發(fā)系統的最終目的是建立一個可執行的系統,在軟件開(kāi)發(fā)過(guò)程中,RUP爲需求、分析、設計、實現以及測試提供了很好(hǎo)的指導。
3、基于UML的軟件開(kāi)發(fā)支撐環境
基于UML的軟件開(kāi)發(fā)支撐環境方面(miàn),國(guó)際上已經(jīng)進(jìn)行了一些研究和實際開(kāi)發(fā)工作。特别是Rational公司的Rational Rose是目前國(guó)際上應用最廣泛以及功能(néng)最強大的UML支撐環境。而國(guó)内對(duì)于UML支撐環境的研制開(kāi)發(fā)工作尚處于起(qǐ)步階段,而比較典型的有UML_Designer。而其按照功能(néng)劃分包括建模和模型管理子系統,模型檢查和代碼生成(chéng)子系統以及逆向(xiàng)變換和構件支持子系統以及工程管理和支持子系統。其中Rational Rose提供了UML的所有建模元素的可視化編輯環境,基于組件的開(kāi)發(fā)以及對(duì)軟件開(kāi)發(fā)全過(guò)程的支持,其中, Rational Rose目前在面(miàn)向(xiàng)對(duì)象分析、建模以及設計工具市場上都(dōu)起(qǐ)著(zhe)主導作用。
基于UML的軟件開(kāi)發(fā)支撐環境主要包括UML建模環境、UML模拟環境以及自動代碼生成(chéng)環境和逆向(xiàng)變換環境等。而這(zhè)些環境均是基于UML的語法規則和語義定義。在UML建模環境中主要實施的是對(duì)UML各種(zhǒng)圖形的可視化支持,除了完成(chéng)最基本的圖形編輯功能(néng)外,還(hái)要能(néng)進(jìn)行語法檢查和一緻性檢查,從而保證系統模型的完整性。其結構體系主要包括對(duì)象管理系統、圖形支持庫以及結構化圖形編輯器生成(chéng)工具等。自動代碼生成(chéng),就(jiù)是把爲系統建立的各級分析以及設計模型轉換成(chéng)特定語言的代碼,自動代碼生成(chéng)是以信息中心庫爲基礎的。當用戶對(duì)生成(chéng)的代碼進(jìn)行修改後(hòu),逆向(xiàng)變換機制將(jiāng)用戶的修改轉換到模型上,保證模型和代碼的一緻性。代碼的生成(chéng)主要是通過(guò)五個步驟後(hòu)生成(chéng),有檢查系統模型,生成(chéng)組件并將(jiāng)類賦予組件,設置代碼生成(chéng)屬性,選擇生成(chéng)對(duì)象,生成(chéng)代碼。UML模拟環境支持UML的動态模型的模拟以及系統功能(néng)和用戶界面(miàn)的模拟和系統性能(néng)的模拟。作爲一個良好(hǎo)的建模和開(kāi)發(fā)支持工具,以支持對(duì)系統體系結構的建模,即在不同系統配置和功能(néng)分配的情況下,對(duì)系統性能(néng)進(jìn)行模拟。
建模是開(kāi)發(fā)優秀軟件的所有活動中的關鍵部分,其目的是爲了更好(hǎo)的理解、分析以及設計和實現所構造的系統。而統一建模語言UML的出現是軟件工程領域的重大突破,在對(duì)基于UML的軟件開(kāi)發(fā)方法以及軟件支撐環境的研究中,雖然開(kāi)發(fā)設計的探讨中,對(duì)全局性的框架部分有著(zhe)理論以及相關實踐的支持,特别是國(guó)内開(kāi)發(fā)的UML_Designer開(kāi)發(fā)支持環境,雖然并不是很完善,但也有著(zhe)更大的發(fā)展前景。諸多不完善的地方主要有以下方面(miàn),對(duì)于UML的應用仍需要更多的實踐對(duì)其進(jìn)行評價,同時基于UML的動态建模技術和基于構件的開(kāi)發(fā)技術還(hái)需要進(jìn)一步結合等。對(duì)于這(zhè)些方面(miàn)的不足,有的需要進(jìn)一步探讨研究,有的需要更多的實踐應用及反複測試得到更多的數據作爲依據。