軟體工程導論學習 軟體過程

2021-06-26 22:15:51 字數 2726 閱讀 1869

軟體過程是為了獲得高質量軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。

1.瀑布模型

階段間具有順序性和依賴性。

推遲實現的觀點。先做設計,再做程式設計。

質量保證的觀點。每個階段都必須完成規定的文件,每個階段結束前都要對所完成的文件進行評審,以便盡早發現問題,改正錯誤。

優點:可強迫開發人員採用規範的方法;嚴格地規定了每個階段必須提交的文件;要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證。

缺點:「瀑布模型是由文件驅動的」。在可執行的軟體產品交付給使用者之前,使用者只能通過文件來了解產品是什麼樣的。

2.快速原型模型

快速建立起來的可以在計算機上執行的程式,它所能完成的功能往往是最終產品能完成的功能的乙個子集。快速建立乙個能反映使用者主要需求的原型系統。

優點:快速原型模型是不帶反饋環的,開發基本上是線性順序進行的。

3.增量模型

把軟體產品作為一系列的增量構建來設計、編碼、整合和測試。它分批地逐步向使用者提交產品。

優點:能在較短時間內向使用者提交可完成部分工作的產品,逐步增加產品功能可以使使用者有較充裕的時間學習和適應新產品,從而減少乙個全新的軟體可能給客戶組織帶來的衝擊。

4.螺旋模型

使用原型及其他方法來盡量降低風險。每個階段之前都增加了風險分析過程的快速原型模型。每一步從風險角度分析上一步的工作結果,努力排除各種潛在的風險,通常用建造原型的方法來排除風險。如果風險不能排除,則停止開發工作或大幅度地削減專案規模。

5.噴泉模型

體現了物件導向軟體開發的過程迭代和無縫的特性。物件導向開發所有其他概念(例如功能、關係、事件等)都是圍繞物件組成的,目的是保證分析工作中得到的資訊不會丟失或改變。由於各階段都使用統一的概念和表示符號,因此,整個開發過程都是吻合一致的。

6.rational統一過程

rational統一過程(rational unified process, rup)是由rational軟體公司推出的一種完整而且完美的軟體過程。

最佳實踐:迭代是開發;管理需求;使用基於構建的體系結構;視覺化建模;驗證軟體質量;控制軟體變更。

rup軟體開發生命週期:二維的生命週期模型。工作流,時間。

rup中有9個核心工作流,其中前6個為核心過程工作流程,後3個為核心支援工作流程。

業務建模;需求;分析與設計;實現;測試;部署;配置與變更管理;專案管理;環境;

工作階段

rup把軟體生命週期劃分成4個連續的階段

初始階段:建立業務模型,定義最終產品檢視,並且確定專案的範圍。

精化階段:設計並確定系統的體系結構,制訂專案計畫,確定資源需求。

構建階段:開發出所有構件和應用程式,把它們集成為客戶需要的產品,並且詳盡地測試所有功能。

移交階段:把開發出的產品提交給使用者使用。

7.敏捷過程

目的:為了使軟體開發團隊具有高效工作和快速響應變化的能力。

4個簡單的價值觀

個體和互動勝過過程和工具:首先致力於構建軟體開發團隊(包括成員和互動方式等),然後再根據需要為團隊配置專案環境(包括過程和工具)。

可以工作的軟體勝過面面俱到的文件:開發人員應該把主要精力放在建立可工作的軟體上面,僅當迫切需要並且具有重大意義時,才進行文件編制工作,而且所編制的內部文件應該盡量簡明扼要、主體突出。

客戶合作勝過合同談判:能夠滿足客戶不斷變化的需求的切實可行的途徑是,開發團隊與客戶密切切做。

響應變化勝過遵循計畫:計畫必須有足夠的靈活性和可塑性,在形勢發生變化時能迅速調整,以適應業務和技術等方面發生的變化。

8.極限程式設計

極限程式設計是敏捷過程中最富盛名的乙個,其名稱中」極限「二字的含義是指把好的開發實踐運用到極致。

極限程式設計有限的開發實踐:

客戶作為開發團隊的成員。

使用使用者素材:使用者素材就是正在進行的關於需求的談話內容的助記符。

短交付週期:每兩周完成一次的迭代過程實現了使用者的一些需求,獲得他們的反饋意見。

驗收測試:通過執行客戶指定的驗收測試來捕獲使用者素材的細節。

測試驅動開發:在編碼之前首先設計好測試方案,然後再程式設計。

集體所有:小組每個成員都有更改**的權利,每個成員都對全部**的質量負責。

持續整合:一天之內多次整合系統,而且隨著需求的變更,應該不斷地進行回歸測試。

可持續的開發速度:以能夠長期維持的速度努力工作,避免工作時間太長,降低生產率。

開發的工作空間:全體參與者一起在乙個開放的場所中工作。在這個場所中自由地交流和討論。

及時調整計畫:制訂出計畫之後,可以根據專案進展情況及時進行調整,沒有一成不變的計畫。

簡單的設計:設計時不需要考慮未來的使用者素材,不斷變更系統設計,使之相對於正在實現的使用者素材而言始終處於最優狀態。

重構:在開發過程中不要過分依賴重構,不能輕視設計。

使用隱喻:可以將隱喻看做是整個系統聯絡在一起的全域性檢視,它描述系統如何運作,以及用何種方式把新功能加入到系統中。

9.微軟過程

基本準則:

專案計畫應該兼顧未來的不確定因素。

用有效的風險管理來減少不確定因素的影響。

經常生成並快速地測試軟體的過渡版本,從而提高產品的穩定性和可**性。

採用快速迴圈、遞進的開發過程。

用創造性的工作來平衡產品特性和產品成本。

專案進度表應該具有較高穩定性和權威性。

使用小型專案組併發地完成開發工作。

在專案早起把軟體配置項基線化,專案後期則凍結產品。

使用原型驗證概念,對專案進行早期論證。

把零缺陷作為追求的目標。

里程碑評審會的目的是改進工作,切忌相互指責。

軟體工程導論 面向過程的軟體工程

軟體是由電腦程式 資料和維護程式的文件組成。軟體工程包括三個要素 方法 工具 過程。軟體工程的發展經歷了程式設計時期 程式系統時期和軟體工程時期。軟體生存週期是指乙個軟體從提出開發要求開始,直到該軟體報廢為止的整個時期。通常,軟體生存週期包括問題定義 可行性研究 需求分析 概要設計 詳細設計 編碼 ...

軟體工程導論

現在由於房價的高漲,越來越多的人選擇了租房子,尤其是剛畢業的大學生。由此,如果有乙個專門的 或者軟體能夠提供租房的資訊,那麼它所產生的影響無疑是比較大的。房屋租賃管理系統的功能性需求包括 在房屋租賃管理系統中,設定乙個管理員,管理員有修改 新增 刪除系統中任何資料的許可權 普通使用者可以直接進入系統...

軟體工程導論

讀書筆記1 1 軟體工程 軟體工程將系統化的,規範化的,可度量的方法應用於軟體開發,執行和維護,將工程化應用於軟體方法。軟體工程的基本原理 分階段的生存週期計畫嚴格管理 分若干階段切實可行的計畫完成 階段評審 及早發現錯誤,減少成本 嚴格的產品控制 不得隨意更改需求 結果能清楚審查 採用現代程式設計...