天天看點

系統分析與設計——第二次作業

1. 簡答題

簡述瀑布模型、增量模型、螺旋模型(含原型方法)的優缺點。
模型 優點 缺點
瀑布模型

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

2.推遲軟體實作,強調在軟體實作前必須進行分析和設計工作;

3.以項目的階段評審和文檔控制為手段有效地對整個開發過程進行指導,保證了階段之間的正确銜接,能夠及時發現并糾正開發過程中存在的缺陷,使産品達到預期的品質要求。

1.強調過程活動的線性順序;

2.缺乏靈活性,特别是無法解決軟體需求不明确或不準确的問題;

3.風險控制能力較弱;

4.瀑布模型中的軟體活動是文檔驅動的,當階段之間規定過多的文檔時,會極大地增加系統的工作量;

5.管理人員如果僅僅以文檔的完成情況來評估項目完成進度,往往會産生錯誤的結論。

增量模型

1.增強客戶對系統的信心;

2.降低系統失敗風險;

3.提高系統可靠性;

4.提高系統的穩定性和可維護性。

1.增量粒度難以選擇;

2.确定所有的基本業務服務比較困難。

螺旋模型

1.引入了明确的風險管理;

2.由風險驅動的疊代過程,強調可選方案和限制條件進而支援軟體的重用,有助于将軟體品質作為特殊目标融入産品開發之中;

3.遵從瀑布模型的要求,将瀑布模型的多個階段轉化到多個疊代過程中,以減少項目的風險。

1.螺旋模型強調風險分析,但說服外部客戶接受和相信分析結果并做出相關反應并不容易,是以螺旋模型往往比較适合内部的大規模軟體開發;

2.風險分析需要相當的成本耗費,是以螺旋模型隻适合于投資較大的規模軟體項目;

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

簡述 UP 的三大特點,其中哪些内容展現了用例驅動的開發,哪些内容展現風險驅動的開發?

UP 的三大特點:

(1) 用例驅動: 開發團隊使用從需求收集到代碼和測試的用例。

(2) 以架構為中心: 軟體架構提供了所有其他發展演變的中心點。

(3) 疊代和增量: 精化,建構和傳遞階段分為一系列時間盒疊代。(在大型項目中,初始階段也可以劃分為一系列疊代。)每次疊代都會産生一個增量,是以,與以前的版本相比,這将是一個包含增加或改進功能的系統版本。

用例驅動直接展現了用例驅動的開發。線上風險評估是疊代和增量的優點之一,這展現了風險驅動的開發。

UP 四個階段的劃分準則是什麼?關鍵的裡程碑是什麼?
階段 劃分準則 裡程碑
初始階段 确定該系統是可行的 生命周期目标(Lifecycle Objective) 裡程碑,包括一些重要的文檔,如:項目構想(Vision)、原始用例模型、原始業務風險評估、一個或者多個原型、原始業務案例等。需要對這些文檔進行評審,以确定正确了解用例需求、項目風險評估合理、階段計劃可行等。
精化階段 建立起在限制條件下建構系統的能力 生命周期體系結構(Lifecycle Architecture) 裡程碑。包括風險分析文檔、軟體體系結構基線、項目計劃、可執行的進化原型、初始版本的使用者手冊等。通過評審确定軟體體系結構已經穩定、高風險的業務需求和技術機制已經解決、修訂的項目計劃可行等。
建構階段 生成系統的測試版本 初始運作能力(Initial Operational Capability) 裡程碑。包括可以運作的軟體産品、使用者手冊等,它決定了産品是否可以在測試環境中進行部署。此刻,要确定軟體、環境、使用者是否可以開始系統的運作。
傳遞階段 向客戶推出功能完備的系統 産品釋出(Product Release) 裡程碑。确定最終目标是否實作,是否應該開始産品下一個版本的另一個開發周期。在一些情況下這個裡程碑可能與下一個周期的初始階段的相重合。

(關鍵裡程碑: 一個有某些重大決策或評估發生的疊代終點。)

IT 項目管理中,“工期、品質、範圍/内容” 三個元素中,在合同固定條件下,為什麼說“範圍/内容”是項目團隊易于控制的
軟體品質是軟體工程開發的關鍵問題,也是軟體工程生産中的核心問題。現代品質管理中,品質被認為是“使用者的滿意程度”。即使在合同固定條件下,“品質”這個元素也絕非是項目團隊易于控制的。又因為軟體品質問題是導緻軟體項目進度延誤的根本原因,是以“工期”這一進制素也是難以控制的。至于“範圍/内容”,可以通過需求分析進行确定。即使在開發過程中需求發生了變化,項目團隊也能随之快速地對“範圍/内容”進行調整。綜上所述,我們認為“範圍/内容”是項目團隊易于控制的。
為什麼說,UP 為企業按固定節奏生産、固定周期釋出軟體産品提供了依據?
在UP中,軟體開發生命周期根據時間和UP的核心工作流程劃分為二維空間。其中,時間次元從組織管理的角度描述整個軟體開發生命周期,為企業按固定節奏生産、固定周期釋出軟體産品提供了依據。