1.簡述瀑布模型、增量模型(含原型方法),並分析優缺點
答:瀑布模型:
簡述:瀑布模型將軟體生命週期劃分為制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。過程是從上一項活動接收該項活動的工作物件作為輸入,利用這一輸入實施該項活動應完成的內容給出該項活動的工作成果,並作為輸出傳給下一項活動。同**審該項活動的實施,若確認,則繼續下一項活動;否則返回前面,甚至更前面的活動。
優點:(1)為專案提供了按階段劃分的檢查點。當前一階段完成後,只需要去關注後續階段。
(2)它提供了乙個模板,這個模板使得分析、設計、編碼、測試和支援的方法可以在該模板下有乙個共同的指導。
(3)有利於大型軟體開發過程中人員的組織、管理,有利於軟體開發方法和工具的研究,從而提高了大型軟體專案開發的質量和效率。
缺點:(1)通過過多的強制完成日期和里程碑來跟蹤各個專案階段。
(2)由於開發模型是線性的,使用者只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。
(3)各個階段的劃分完全固定,階段之間產生大量的文件,極大地增加了工作量。
增量模型(含原型方法):
簡述:增量模型從一組給定的需求開始,通過構造一系列可執行中間版本來實施開發活動。第乙個版本納入一部分需求,下乙個版本納入更多的需求,依此類推,直到系統完成。每個中間版本都要執行必需的過程、活動和任務。其是瀑布模型和原型進化模型的綜合,在整體上按照瀑布模型的流程實施專案開發,以方便對專案的管理;但在軟體的實際建立中,則將軟體系統按功能分解為許多增量構件,並以構件為單位逐個地建立與交付,直到全部增量構件建立完畢,並都被整合到系統之中交付使用者使用。
優點:(1)切實的專案進展,有利於進度控制。
(2)風險分布到幾個更小的增量中,而不是集中於乙個大型開發中。
(3)採用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源。
缺點:(1)並行開發構件有可能遇到不能整合的風險,軟體必須具備開放式的體系結構。
(2)增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟體過程的控制失去整體性。
2.簡述統一過程三大特點,與物件導向的方法有什麼關係?
答:統一過程的三大特點為受控迭代式增量開發、用例驅動、以架構設計為中心。
(1)受控迭代式增量開發:將軟體開發分為一系列小的迭代過程,在每個迭代過程中逐步增加資訊,進行細化。根據具體情況決定迭代的次數、每次迭代延續的時間以及迭代的工作流。每次都選擇目前對風險影響最大的用例進行,以分解和降低風險。
(2)用力驅動:採用用例來描述捕獲對目標系統的功能需求。採用用例來驅動軟體的整個開發過程,保證需求的可跟蹤性,確保系統所有功能均被實現。將使用者關係的業務功能模型和開發人員關心的目標軟體系統的功能實體模型結合起來,提供了貫穿整個開發周期的方式,使得軟體開發的各個階段工作自然、一致協調起來。
(3)以架構設計為中心:強調在軟體開發過程早期,識別出與軟體體系架構緊密相關的用例,並通過對這些用例的分析、設計、實現和測試形成體系結構框架。在後續階段對已形成的體系結構進行不斷細化,最終實現整個系統。在開發早期形成良好的軟體體系結構,有利於對系統的理解,支援重用和有效的組織軟體開發。
與物件導向的關係:統一過程是乙個物件導向的程式開發方**。
3.簡述統一過程四個階段的劃分準則是什麼?每個階段關鍵的里程碑是什麼?
答:統一過程中的軟體生命週期以時間為準則被劃分為四個順序的階段:初始階段、細化階段、構造階段和交付階段。
(1)初始階段:初始階段的目標是為系統建立商業案例並確定專案的邊界。為了達到該目的必須識別所有與系統互動的外部實體,在較高層次上定義互動的特性。本階段具有非常重要的意義,在這個階段中所關注的是整個專案進行中的業務和需求方面的主要風險。對於建立在原有系統基礎上的開發專案來講,初始階段可能很短。
初始階段結束時是第乙個重要的里程碑:生命週期目標里程碑。生命週期目標里程碑評價專案基本的生存能力。
(2)細化階段:細化階段的目標是分析問題領域,建立健全的體系結構基礎,編制專案計畫,淘汰專案中最高風險的元素。為了達到該目的,必須在理解整個系統的基礎上,對體系結構作出決策,包括其範圍、主要功能和諸如效能等非功能需求。同時為專案建立支援環境,包括建立開發案例,建立模板、準則並準備工具。
細化階段結束時第二個重要的里程碑:生命週期結構里程碑。生命週期結構里程碑為系統的結構建立了管理基準並使專案小組能夠在構建階段中進行衡量。此刻,要檢驗詳細的系統目標和範圍、結構的選擇以及主要風險的解決方案。
(3)構造階段:在構建階段,所有剩餘的構件和應用程式功能被開發並集成為產品,所有的功能被詳細測試。從某種意義上說,構建階段是乙個製造過程,其重點放在管理資源及控制運作以優化成本、進度和質量。
構建階段結束時是第三個重要的里程碑:初始功能里程碑。初始功能里程碑決定了產品是否可以在測試環境中進行部署。此刻,要確定軟體、環境、使用者是否可以開始系統的運作。
(4)交付階段:交付階段的重點是確保軟體對終端使用者是可用的。交付階段可以跨越幾次迭代,包括為發布做準備的產品測試,基於使用者反饋的少量的調整。在生命週期的這一點上,使用者反饋應主要集中在產品調整,設定、安裝和可用性問題,所有主要的結構問題應該已經在專案生命週期的早期階段解決了。
在交付階段的終點是第四個里程碑:產品發布里程碑。此時,要確定目標是否實現,是否應該開始另乙個開發周期。在一些情況下這個里程碑可能與下乙個週期的初始階段的結束重合。
4.軟體企業為什麼能按固定節奏生產、固定週期發布軟體產品?它給企業專案管理帶來哪些好處?
答:因為需求分析,設計,實現,迭代,測試和交付的生命週期是有固定長度的,利用軟體產品範圍的彈性,合理規劃範圍(20%業務決定80%滿意度),使得軟體生產按固定節奏執行,固定迭代週期、固定開發周期、固定公升級週期。
好處:迭代週期固定有利於對於人力資源和預算進行控制,量化生產過程,以及對企業專案進行規範化管理,在早期對出現的風險進行處理。# 簡答題
系統分析與設計HW3
cap cv2.videocapture 0 if key ord q break import os import numpy as np from pil import image import tensorflow as tf import math from tkinter import f...
系統分析與設計HW3
優點 需求是明確的,在短期內可獲取每個階段是無差錯的 有利於大型軟體開發過程中人員的組織 管理,有利於軟體開發方法和工具的研究,從而提高了大型軟體專案開發的質量和效率。缺點 資源調配問題 優點 缺點 優點 缺點統一過程是乙個物件導向且基於網路的程式開發方 統一過程中的軟體生命週期在時間上被分解為四個...
系統分析與設計hw3
從專案特點 風險特徵 人力資源利用角度思考 瀑布模型 優點 有利於大型軟體開發過程中人員的組織 管理,有利於軟體開發方法和工具的研究,從而提高了大型軟體專案開發的質量和效率。缺點 1 開發過程一般不能逆轉,否則代價太大 2 實際的專案開發很難嚴格按該模型進行 3 客戶往往很難清楚地給出所有的需求,而...