四、標準建模語言UML支持環境
標準建模語言UML定義良好、易于表達、功能強大,不僅支持面向對象的分析與設計,而且支持從需求分析開始的軟件開發的全過程。但如何恰當地將這種可視化圖形建模技術用于解決軟件開發所面臨的問題,如何研制和開發支持UML的建模過程及其支持環境,仍是目前該領域的熱點問題。
目前,在基于UML的開發方法和環境方面,國際上已經進行了一些研究和實際開發工作。Rational 公司正致力于它稱之為Objectory過程的研究,并試圖將其原有支持OMT的工具作進一步擴充,以期支持UML建模。國內對UML支持環境的研制開發工作尚處于起步階段。
這里從當前對軟件開發過程的需求及其動向出發,提出了UML柔性軟件開發過程的概念,并設計了相應的UML集成化支持環境的組成框架。
1. 過程工程的基本要點
任何語言的支持環境都是為了更好地開發計算機應用系統,而任何計算機應用系統又都是為一定的企事業的目標服務的。因此計算機應用系統及其支持環境的研制與開發,必須在企事業過程工程理論的指導下進行。下面根據我們近十年來從事過程工程理論研究與正反兩方面的實際經驗,扼要介紹過程工程理論和過程工程環境的基本要點。
(1) 任何企事業都可以也都應該從過程、資源、機構、行為和信息等五方面來描述。其中過程是指該企事業所進行的活動及其活動間的關系,它有一個包含規劃、設計、建造和應用等四個階段呈螺旋特征的生命周期?虅澮粋企事業模型,首先必須研究這五個方面模型的定量描述技術及其相互關系的約束理論,并研究其描述技術及約束理論在四個不同階段中的演變情況,建立系統動力學模型,為采用模擬技術解決上述五個方面模型的綜合集成與整體優化奠定理論基礎。
(2) 任何企事業中的過程都可劃分為縱向過程與橫向過程兩類?v向過程是以產品工程技術為核心的逐步發展的硬技術群,橫向過程是以產品和過程的管理技術為主體的服務于縱向過程的軟技術群。因此要刻劃一個企事業過程,還必須研究縱向過程與橫向過程的定性模型與定量度量技術,研究這兩類過程的相互關系,以建立產品開發和管理過程相結合的集成化綜合模型,為采用模擬技術研究硬技術群與軟技術群的相互之間的量化關系奠定理論基礎。
(3) 在瞬息萬變的信息化社會中,由于客觀環境(系統的外部參數)和主觀實體(系統的內部結構及狀態)均具有動態的性質,系統模型的結構、狀態及其計算機支持環境也應隨之而變化。為此,要研究面向對象技術在過程工程中的應用技術,把軟件工程、過程工程和企事業工程結合起來,為建立自適應的過程工程支持環境奠定理論基礎。我們不妨把軟件工程、過程工程、企事業工程三者結合起來進行綜合考察的工程技術稱之為聚合工程,把自適應的計算機支持環境稱之為柔性信息系統。
(4) 過程的規?纱罂尚,過程的持續時間可長可短。因此要研究既能支持過程的橫向劃塊(將過程規模較大的系統劃分成若干個規模較小的子系統)、又能支持過程的縱向分段(將持續時間較長的過程劃分成幾個持續時間較短的子過程)的分割與綜合技術,研究資源的動態調度技術以及模型的局部實例化與局部模擬技術,為采用模擬技術研究大范圍、長周期的復雜動力學系統奠定技術基礎。
由以上理論可知,任何語言的支持環境必須滿足這些基本的技術設施,這就是我們研制與開發標準建模語言UML支持環境的基本出發點。在這些基本點中,特別值得注意的是前三條,即聚合工程和柔性信息系統的概念。
2. UML柔性軟件開發過程及其支持環境
(1) UML柔性軟件開發過程
軟件系統的規模越來越大,復雜程度不斷提高,傳統的軟件開發模式越來越難以滿足需求。新的產品開發周期已不再是從需求定義、軟件設計、實現和交付的一次性過程,迭代式增量開發方式已得到了廣泛采用。除了傳統概念上的時間、質量和花費三個主要要求外,產品支持系統的"柔性"成為更加重要的核心需求。因此我們將新的軟件開發模式歸結為圖4所示的迭代式開發和圖5所示的柔性軟件開發模型。
文章來源于領測軟件測試網 http://www.kjueaiud.com/