天天看點

《UML使用者指南(第2版.修訂版)》—第2章2.4節軟體開發生命周期

本節書摘來自異步社群《uml使用者指南(第2版.修訂版)》一書中的第2章2.4節軟體開發生命周期,作者【美】grady booch , james rumbaugh , ivar jacobson,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

2.4 軟體開發生命周期

uml使用者指南(第2版.修訂版)

uml在很大程度上是獨立于過程的,這意味着它不依賴于任何特殊的軟體開發生命周期。然而,為了從uml中得到最大的收益,應該考慮這樣的過程,它是:

用況驅動的;

以體系結構為中心的;

疊代的和增量的。

【在附錄b中概述了rational統一過程,對該過程的更完整處理在the unified software development process一書以及the rational unified process中讨論。】

用況驅動(use case driven)意味着把用況作為一種基本的制品,用于建立所要求的系統行為、驗證和确認系統的體系結構、測試以及在項目組成員間進行交流。

以體系結構為中心(architecture-centric)意味着以系統的體系結構作為一種基本制品,對被開發的系統進行概念化、構造、管理和演化。

疊代過程(iterative process)是這樣一種過程,它涉及到對一連串可執行的釋出的管理。增量過程(incremental process)是這樣一種過程,它涉及到系統體系結構的持續內建,以産生各種釋出,每個新的釋出都比上一個釋出有所改善。總的來講,疊代和增量的過程是風險驅動的(risk-driven),這意味着每個新的釋出都緻力于處理和降低對于項目成功影響最為顯著的風險。

這種用況驅動的、以體系結構為中心的、疊代/增量的過程可以分成幾個階段。階段(phase)是過程的兩個主要裡程碑之間的時間跨度,在階段中将達到一組明确的目标,完成一定的制品,并做出是否進入到下一階段的決策。如圖2-24所示,在軟體開發生命周期内有4個階段:初始、細化、構造和移交。在圖中,按這些階段對工作流進行了劃分,并顯示了它們的焦點随時間的推移而變化的程度。

初始(inception)是這個過程的第一個階段。在此階段,萌發的開發想法經過培育要達到這樣一個目标:至少要在内部奠定足夠的基礎,以保證能夠進入到細化階段。

細化(elaboration)是這個過程的第二個階段。在此階段定義産品需求和體系結構。在這個階段,将明确系統需求,按其重要性排序并劃定基線。可以按一般的描述,也可以按精确的評價準則來排列系統的需求,每個需求都說明了特定的功能或非功能的行為,并為測試提供了基礎。

構造(construction)是這個過程的第三個階段,在此階段軟體從可執行的體系結構基線發展到準備移交給使用者。針對項目的商業需要,這裡也要不斷地對系統的需求,特别是對系統的評價準則進行檢查,并要适當地配置設定資源,以主動地降低項目的風險。

《UML使用者指南(第2版.修訂版)》—第2章2.4節軟體開發生命周期

移交(transition)是這個過程的第四個階段,在此階段把軟體傳遞給使用者。在這個階段,軟體開發過程很少能結束,還要繼續改善系統,根除錯誤,增加早期釋出未能實作的特性。

使得這個過程與衆不同,并貫穿所有4個階段的要素是疊代。疊代(iteration)是一組明确的工作任務,具有産生能運作、測試和評價的可執行系統的基準計劃和評價準則。可執行系統無須向外釋出。因為疊代産生可執行的産品,是以可以判斷進展并在每次疊代後可重新估計風險。這意味着,軟體開發生命周期具有以下特征:持續地釋出系統體系結構的可執行版本,而且在每步疊代後可中途進行修改,以減少潛在的風險。正是因為強調将體系結構作為一個重要的制品,uml非常注重對系統體系結構的不同視圖進行模組化。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

繼續閱讀