UML的應用
UML是一種模組化語言,不是一種方法,它獨立于過程。利用它模組化時,可遵循任何類型的模組化過程。該模組化語言的作者們給出了一種推薦性的模組化過程指導,即RUP。本部分闡述RUP如何支援UML的應用。
RUP是以用況為驅動、體系結構為中心、疊代和增量的過程。RUP包括四個階段,每個階段又分為若幹次疊代,每次疊代都有一個核心工作流(包括5個活動),請參見下圖。
用況驅動旨在為到最終産品為止的每個階段都可以回溯到使用者的真正需求。以體系結構為中心是指關注體系結構模式的開發,以引導後續系統,保證系統的平滑演進。每一次疊代包括疊代計劃、疊代評價和一些具體活動。關于核心工作流中的五個活動:需求、分析、設計、實作和測試較好了解,這裡不再贅述。下面對RUP的四個階段要做的工作做一闡述。
1. 初始階段本階段确定所設立的項目是否可行,具體要做如下工作:
對需求有一個大概的了解,确定系統中的大多數角色和用況,但此時的用況是簡要的。對給出的系統體系結構的概貌,細化到主要子系統即可。
識别影響項目可行性的風險。
考慮時間、經費、技術、項目規模和效益等因素。
關注業務情況,制訂出開發計劃。
2. 細化階段識别出剩餘的大多數用況。對目前疊代的每個用況進行細化,分析用況的處理流程、狀态細節以及可能發生的狀态改變。細化流程時,可以使用程式框圖和合作圖,還可以使用活動圖、類圖分析用況。
需求風險
考慮項目的目标是否偏離了使用者的需求。為解決需求風險要充分了解使用者需求以及各需求的優先度,還應盡量列出所有的用況,至少列出重要的用況,并要建立領域的概念模型。
技術風險
考察所選的技術方案是否可行。建立原型是解決技術風險的一種有效方法。
技能風險
考慮實施項目的人員素質能否勝任項目的要求。
政策風險
考慮政策性的因素對項目的影響。
● 進行高層分析和設計,并作出結構性決策。
所産生的基線體系結構包括用況清單、領域概念模型和技術平台等。以後的階段對細化階段建立的體系結構不能進行過大的變動。
● 為構造階段制訂計劃。
細化階段完成,意味着已經完成了如下的任務:用況完全細化并被使用者接受;完成概念驗證;完成類圖;開發人員能給出項目估算(可分為精确、人月和無法估算);基于用況考慮了所有風險(可分為高風險、可能的風險和不可能的風險),并制訂了相應的對策和計劃;對用況标出優先級(可分為必須先實作、短期内實作和長期實作)。
3. 構造階段識别出剩餘的用況。每一次疊代開發都針對用況進行分析、設計、編碼(如類聲明、屬性聲明、範圍聲明、函數原型聲明和繼承的聲明等)、測試和內建過程,所得到産品滿足項目需求的一個子集。由于細化階段的軟體設計已經完成,這樣各項目組可以并發開發。
在代碼完成後,要保證其符合标準和設計規則,并要進行品質檢查。對于新出現的變化,要通過逆向工具把代碼轉換為模型,對模型進行修改,再重新産生代碼,以保證軟體與模型同步。
此階段要建立類圖、互動圖和配置圖;如一個類具有複雜的生命周期,可繪制狀态圖;如算法特别複雜,可繪制活動圖。
4. 移交階段這一階段完成最後的軟體産品和最後的驗收測試,并完成使用者文檔編制以及使用者教育訓練等工作。