1 UML 在軟件開發中的建模
Rational Rose 是一個完全的 , 具有能滿足所有建模環境(Web 開發,數據建模,Visual Studio 和 C++ )需求能力和靈活性的一套解決方案。 Rose 允許開發人員,項目經理,系統工程師和分析人員在軟件開發周期內在將需求和系統的體系架構轉換成代碼,消除浪費的消耗,對需求和系統的體系架構進行可視化,理解和精練。 通過在軟件開發周期內使用這種建模工具可以確保更快更好的創建滿足客戶需求的可擴展的、靈活的并且可靠的應用系統。 常用軟件開發過程為:分析、設計、實現、配置、測試等階段,不同的軟件開發方法,無疑都是對這些過程的 n 次迭代。
(1)需求分析階段建模。 使用 UML 靜態圖中的用例圖 、狀態圖,可以在軟件開發的需求分析階段找出系統所有需求并加以描述。 在用例圖中,使用事件表明了用戶和系統的交互作用,在這個圖形中顯示了用戶能實現一個目標。 通過用例圖,可以把需求分析和功能分析中的系統模塊, 按角色分配到各類用戶,使得系統模型更加清晰。 UML 的狀態圖是描述對象在生命周期內處于哪些狀態,每一種狀態的行為以及什么樣的事件引起對象狀態發生改變。
(2)設計階段建模。 設計階段的任務是通過綜合考慮所有的技術限制,以擴展和細化分析階段的模型。 設計的目的是指明一種易轉化成代碼的工作方案,是對分析工作的細化,即進一步細化分析階段所提取的類(包括屬性和操作),并且增加新的類處理諸如數據庫、用戶接口、通信、設備等技術領域的問題。
設計階段可以分為兩個部分,一是結構設計。 結構設計是高層設計,其任務是定義包(子系統),包括包間的依賴性和主要通信機制。 希望得到盡可能簡單和清晰的結構,各部分之間的依賴盡可能的少,并盡可能地減少雙向的依賴關系。 二是詳細設計。 細化包的內容,使編程人員得到的所有類的一個足夠清晰的描述。 在設計階段可以使用兩種 UML 視圖來描述系統,一是類圖,類圖是 UML 中的靜態視圖中的一種;二是序列圖,序列圖是 UML 中的動態圖中的一種。 ① 系統類圖。 定義的類通常要有二個特點:一是使用來自問題域的概念,二是類的名字用該類實際代表的涵義命名。 通過系統需求分析、系統用例,建立本系統類圖;② 序列圖。 序列圖描述對象如何相互交互和通訊。序列圖中的最重要的是時間。通過序列圖,可以看出為了完成某種功能一組對象如何發送和接收序列消息。
(3)實現階段建模。 構造或實現階段是對類進行編程的過程。 選擇向對象語言 C# 作為實現系統的軟件環境。 在 C# 中很容易實現從邏輯試圖到代碼部件的映射。 在實現階段中,可以選擇下列圖來輔助編程。 ①類的規格說明:每個類的規格說明詳細顯示了必要的屬性和操作。 ②類圖:顯示類的靜態結構和類之間的關系。 ③狀態圖:顯示類的對象可能的狀態、所需處理的轉移以及觸發這些轉移的操作。 ④包含某個類的對象的動態圖(順序圖、合作圖、活動圖):顯示該類的某個方法的實現或別的對象是如何使用該類的對象的。 ⑤ 用例圖和規格說明:顯示系統需求和結果。
(4)測試與配置階段建模。 完成系統編碼后,需要對系統進行測試,它通常包含:單元測試、集成測試、系統測試和驗收測試。 在單元測試中,使用類圖和類的規格說明,對單獨的類或一組類進行測試;在集成測試中,使用組件圖和合作圖,對各組件的合作情況進行測試;在系統測試中,使用 UML 的用例圖,以及查所,開發的系統是否滿足用例圖所描述的需求。
2 UML 建模簡介
UML 通 過事物 、 關系和圖來描述軟件工程的建模內容 .
UML 采用多視圖表示模型的不同側面, 表 示各種元素和概念之間的劃分, 而每一類視圖使用一種或兩種特定圖來可視化的表示視圖中的概念。 圖是 UML 的核心,通過事物和關系來描述客觀事物的抽象。 UML 的圖可劃分為如下三種類型:① 靜態圖:描述了那些不發生變化的軟件元素的邏輯結構,描繪了類、對象、數據結構及其存在于它們之間的關系。 ② 動態圖: 展示了在運行期間的軟件實體的變化,描繪了執行流程、實體改變狀態的方式。 ③物理圖:顯示了軟件實體的不變化的物理結構,描繪庫文件、字節文件、數據文件等,以及存在于它們之間的關系。
下表說明了三類圖中最常用的一些 UML 圖, 以及它們適用的軟件開發階段。
3 UML 建模的主要特點
建模的目的是從不同的視角去分析軟件的功能,從應用角度來看, UML 的主要特點可以歸結為:① UML 融合了當前一些流行的開發方法的主要概念與技術,成為一種面向對象的標準化的統一的建模語言,約束了以往各種方法的建模語言的不一致和差別。② UML 捕捉系統靜態和動態行為的信息。靜態結構定義了對系統具有重要意義的各種對象,以及它們之間的關系。 動態行為定義了時間上和狀態上對象間的通訊。 從不同而又相關的視角來對系統建模,允許了多角度對系統的理解。 ③UML 是系統建模語言,獨立于開發過程。 雖然 UML 與常用的建模工具配合使用,將發揮強大的效用,但是 UML 也可以在其它面向對象的開發過程中使用。④ UML 與具體的實現無關,可應用于任何語言平臺和工具平臺。 它可以被具有代碼生成的交互式可視建模工具所支持, 工具可以提供 UML 向各種編程語言的代碼生成,以及可以從現有的程序逆向構筑模型。
4 結語
在不同的階段建立不同的模型, 建模的目的也各不相同。
UML 為用戶提供了強大的支持,并提供了很大的自由度。 用戶在遵循某些軟件開發方法的原則下完全可以根據自己所開發系統的特點,在軟件開發的過程(分析、設計、實現、測試和配置)中,靈活地選用 UML 所提供的各種圖,建立系統模型。
參考文獻:
[1]胡 穎輝,寧 賽飛著?;?于 UML 和 ASP.NET 實 現三層 B/S 結構系統開發[J].合肥市:計算機與信息技術,2007.
[2]陸魁軍等。計算機網絡工程實踐教程[M].北京:清華大學出版社,2006 .