系統分析與設計Lesson2

2021-08-17 08:19:53 字數 3011 閱讀 2405

瀑布模型優點:

- 降低軟體開發的複雜程度,提高軟體開發過程的透明性,提高軟體開發過程的可管理性。

- 推遲軟體實現,強調在軟體實現前必須進行分析和設計工作。

- 以專案的階段評審和文件控制為手段有效地對整個開發過程進行指導,保證了階段之間的正確銜接,能夠及時發現並糾正開發過程中存在的缺陷,從而能夠使產品達到預期的質量要求。

缺點:

- 強調過程活動的線性順序。

- 缺乏靈活性,特別是無法解決軟體需求不明確或不準確的問題。

- 風險控制能力較弱。

- 瀑布模型中的軟體活動是文件驅動的,當階段之間規定過多的文件時,會極大地增加系統的工作量;而且當管理人員以文件的完成情況來評估專案完成進度時,往往會產生錯誤的結論。

增量模型優點:

- 增強客戶對系統的信心。

- 降低系統失敗風險。

- 提高系統可靠性、穩定性和可維護性。

缺點:

- 增量粒度難以選擇。

- 確定所有的基本業務服務比較困難。

螺旋模型(含原型方法)優點:

- 設計上比較靈活。

- 可以在專案的各個階段進行變更。

- 成本計算變得簡單容易。

缺點:

- 螺旋模型強調風險分析,但說服外部客戶接受和相信分析結果並做出相關反應並不容易,因此螺旋模型往往比較適合內部的大規模軟體開發

- 風險分析需要相當的成本耗費,因此螺旋模型只適合於投資較大的規模軟體專案。

- 失誤的風險分析可能帶來更大的風險。

三大特點:

1. 用例驅動

2. 以架構為中心

3. 迭代式增量開發

體現使用者驅動的開發:1. 用例驅動 3. 迭代式增量開發

體現風險驅動的開發:2. 以架構為中心

up中的軟體生命週期在時間上被分解為四個順序的階段:初始階段(inception)、精化階段(elaboration)、構建階段(construction) 和產品交付階段(transition)。

每個階段結束於乙個主要的里程碑(major milestone),並在階段結尾執行一次評估以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許專案進入下乙個階段。

初始階段

- 目標:為系統建立業務案例(business case) 並確定專案的邊界。

- 業務案例包括專案的驗收規範、風險評估、所需資源估計、階段計畫等。

- 確定專案邊界需要識別所有與系統互動的外部實體,並在較高層次上定義外部實體與系統互動的特性,主要包括識別外部角色(actor)、識別所有用例並詳細描述一些重要的用例。

- 里程碑:生命週期目標(lifecycle objective) 里程碑,包括一些重要的文件,如:專案構想(vision)、原始用例模型、原始業務風險評估、乙個或者多個原型、原始業務案例等。需要對這些文件進行評審,以確定正確理解用例需求、專案風險評估合理、階段計畫可行等。

精化階段/細化階段

- 目標:分析問題領域,建立健全的體系結構基礎,編制專案計畫,完成專案中高風險需求部分的開發。

- 里程碑:生命週期體系結構(lifecycle architecture) 里程碑。包括風險分析文件、軟體體系結構基線、專案計畫、可執行的進化原型、初始版本的使用者手冊等。通過評審確定軟體體系結構已經穩定、高風險的業務需求和技術機制已經解決、修訂的專案計畫可行等。

構建階段/構造階段

- 完成所有剩餘的技術構件和穩定業務需求功能的開發,並集成為產品,所有功能被詳細測試。從某種意義上說,構建階段只是乙個製造過程,其重點放在管理資源及控制開發過程以優化成本、進度和質量。

- 里程碑:初始執行能力(initial operational capability) 里程碑。包括可以執行的軟體產品、使用者手冊等,它決定了產品是否可以在測試環境中進行部署。此刻,要確定軟體、環境、使用者是否可以開始系統的執行。

產品化階段/移交階段

- 產品化階段的重點是確保軟體對終端使用者是可用的。產品化階段可以跨越幾次迭代,包括為發布做準備的產品測試,基於使用者反饋的少量調整。

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

——from 蔡老師ppt

工期是事先確定好且在合同中規定,工期規定專案中各部分具體的完成時間,不能隨意調整。

專案質量在合同中已嚴格規定,驗收條件不可能由專案團隊控制。

範圍/內容可根據軟體開發過程中的實際情況稍加修改、完善。

up中的軟體生命週期在時間上被分解為四個順序的階段,每個階段結束於乙個主要的里程碑(major milestone),並在階段結尾執行一次評估以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許專案進入下乙個階段,因此可以說up為固定節奏生產軟體產品提供了依據。

up是乙個風險驅動的生命週期模型,為了有效地控制風險,up採用了迭代增量建模思想。高風險因素集中在前兩個階段解決,特別是體系結構級的風險在細化階段就得到了解決,及早降低了系統風險。每一次迭代都包括需求、設計、實施、部署和測試活動,因此,每乙個中間產品都得到了整合測試,而且這個整合測試是在乙個統一的軟體體系結構指導下完成的。由於中間版本的產品是逐步產生的,而且核心功能和效能需求已經包含在前面的版本中,因此可以說up為固定週期發布軟體產品提供了依據。

系統分析與設計 lesson2

缺點 增量模型 缺點 螺旋模型 含原型方法 缺點 三大特點 以構架為中心 體現了風險驅動的開發 採用迭代和增量的開發策略 劃分準則 里程碑與時間。每個階段本質上是兩個里程碑之間的時間跨度。精化階段 構建階段 產品化階段 移交階段 在合同固定條件下,質量最容易與客戶達成妥協,工期和產品內容是合同裡能比...

系統分析與設計Lesson1

所需技能 規劃能力,對任務 專案進行統籌管理,合理安排過程時間 理解能力,要能理解需求,分析需求 書面表達能力,能撰寫各種各樣的文件 編碼測試能力,要對底層的資料結構演算法等具有設計,具備編碼能力進行開發,能構思出高質量的輸入來進行測試。總結能力,對時間花費 工作量進行計算,事後進行總結,反思並提出...

系統分析與設計 lesson1

一 簡單題 將系統化 規範化 可度量的方法應用於軟體的開發 執行和維護的過程,即將工程化應用於軟體中。軟體工程是 指導計算機軟體開發和維護的工程學科。採用工程的概念 原理 技術和方法來開發與維護軟體,把經過實踐考驗 而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。soft...