系統分析與設計 Note3

2021-09-12 16:23:47 字數 2469 閱讀 3087

瀑布模型

瀑布模型是將軟體生存週期的各項活動規定為按固定順序而連線的若干階段工作,形如瀑布流水,最終得到軟體產品。

優點為專案提供了按階段劃分的檢查點

當前一階段完成後,只需要關注後面的階段

可在迭代模型中應用瀑布模型 缺點

各個階段的劃分完全固定,階段之間產生大量的文件,極大地增加了工作量

由於開發模型是線性的,使用者只有等到整個過程的末期才能見到開發成果,從而增加了開發風險

不適應使用者需求的變化

增量模型

增量模型是把待開發的軟體系統模組化,將每個模組作為乙個增量元件,從而分批次地分析、設計、編碼和測試這些增量元件。

優點開發初期的需求定義只是用來確定軟體的基本結構,而對於需求的細節性描述,則可以延遲到增量構件開發時進行。這種方式有利於使用者需求的逐漸明朗,能夠有效適應使用者需求的變更。

軟體系統可以按照增量構件的功能安排開發的優先順序,並逐個實現和交付使用。

有利於從總體上降低軟體專案的技術風險。 缺點

增量模型對軟體設計有更高的技術要求,特別是對軟體體系結構,要求它具有很好的開放性與穩定性,能夠順利地實現構件的整合。

由於一些模組必須在另乙個模組之前完成,所以必須定義良好的介面。

螺旋模型

螺旋模型(spiral model)採用一種週期性的方法來進行系統開發,沿著螺線進行若干次迭代。

優點螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。

設計上的靈活性,可以在專案的各個階段進行變更。

以小的分段來構建大型系統,使成本計算變得簡單容易。

客戶始終參與每個階段的開發,保證了專案不偏離正確方向以及專案的可控性。 缺點

螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,並做出相關反應是不容易的,因此,這種模型往往適應於內部的大規模軟體開發。

如果執行風險分析將大大影響專案的利潤,那麼進行風險分析毫無意義

軟體開發人員應該擅長尋找可能的風險,準確地分析風險,否則將會帶來更大的風險

用例驅動

use case模型表達了系統的需求。

以體系結構為中心

由於在專案的開發過程中不同的開發人員所關心的角度是不一樣的,因此軟體的體系結構應該是乙個多維的結構,rup採用如下所示的4+1檢視模型,利用uml語言來描述軟體的體系結構。

迭代和增量

rup強調採用迭代和增量方式來開發軟體,把整個專案開發分為多個迭代過程。在每一次迭代中,只考慮系統的一部分需求,進行分析、設計、實現、測試、部署等過程,每次迭代是在已完成部分的基礎上進行的,每次增加一些新的功能實現,以此進行下去,直至最後專案的完成。

與物件導向的聯絡

統一軟體開發過程(rup)是乙個物件導向且基於網路的程式開發方**。它可以為所有方面和層次的程式開發提供指導方針,模版以及事例支援。統一軟體開發過程和類似的產品,如物件導向的軟體過程(oosp),以及open process都是理解性的軟體工程工具,把開發中面向過程的方面(例如定義的階段,技術和實踐)和其他開發的元件(例如文件,模型,手冊以及**等等)整合在乙個統一的框架內。

每個階段本質上是兩個里程碑之間的時間跨度。在每個階段的結尾執行一次評估以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許專案進入下乙個階段。

1. 初始階段

初始階段結束時是第乙個重要的里程碑:生命週期目標(lifecycle objective)里程碑。生命週期目標里程碑評價專案基本的生存能力。

2. 細化階段

細化階段結束時第二個重要的里程碑:生命週期結構(lifecycle architecture)里程碑。生命週期結構里程碑為系統的結構建立了管理基準並使專案小組能夠在構建階段中進行衡量。此刻,要檢驗詳細的系統目標和範圍、結構的選擇以及主要風險的解決方案。

3. 構建階段

構建階段結束時是第三個重要的里程碑:初始功能(initial operational)里程碑。初始功能里程碑決定了產品是否可以在測試環境中進行部署。此刻,要確定軟體、環境、使用者是否可以開始系統的運作。此時的產品版本也常被稱為「beta」版。

4. 交付階段

在交付階段的終點是第四個里程碑:產品發布(product release)里程碑。此時,要確定目標是否實現,是否應該開始另乙個開發周期。在一些情況下這個里程碑可能與下乙個週期的初始階段的結束重合。

rup將軟體的生命週期劃分為四個階段,並且開發被組織成一系列固定的短期小專案,稱為迭代,每次迭代都產生經過測試、整合並可執行的區域性系統。每次迭代都具有各自的需求分析、設計、實現和測試活動。因此,在每次迭代完成後,都有一定的產品可供發布。

迭代開發降低了在乙個增量上的開支風險。如果開發人員重複某個迭代,那麼損失只是這乙個開發有誤的迭代的花費。

降低了產品無法按照既定進度進入市場的風險。通過在開發早期就確定風險,可以盡早來解決而不至於在開發後期匆匆忙忙。

加快了整個開發工作的進度。因為開發人員清楚問題的焦點所在,他們的工作會更有效率。

系統分析與設計(3)

瀑布模型 缺點 增量模型 缺點 螺旋模型 含原型方法 缺點 三大特點 用例驅動 以構架為中心 迭代和增量。關係 統一過程已經成為一種流行的構造物件導向系統的迭代軟體開發過程。它是一種基於 uml 的 以構架為中 心 用例驅動與風險驅動相結合的迭代增量過程。它將軟體開發過程要素和軟體工件要素整合在統一...

系統分析與設計作業(3)

a.閱讀asg rh文件,繪製用例圖 以攜程為例,預定酒店的流程如下 用例圖如下 c.對比兩個時代 不同地區產品的用例圖,總結在專案早期,發現創新的思路與方法。對比a.b.兩個酒店預定產品,不難發現a.中的是國外的 早期的,而b.是現代國內的。在預定酒店的固有流程上,二者是極其相似的,但對比之下,現...

系統分析與設計作業3

優點 缺點 優點 缺點 優點 缺點 1.用例驅動用例驅動既做到了以客戶為中心,以客戶的角度看系統,為客戶建立真正可用的系統的構造方式,又解決了傳統物件導向方法面臨的無法有效的從需求中提取物件的困難,從而填平了需求分析方法和物件設計方法之間的鴻溝。2.以架構為中心以架構為中心,堅持綜合考慮軟體系統的各...