软件开发基础(一)
軟件危機
在計算機軟件開發和維護過程中所遇到的一系列嚴重問題
軟件工程定義
采用工程的概念、原理、技術和方法來開發與維護軟件
軟件工程的基本目標
優質、高產
軟件生命周期
①問題定義
②可行性研究
③需求分析
④總體設計(概要設計)
⑤詳細設計
⑥編碼和單元測試
⑦綜合測試
軟件開發模型
| 模型名稱 | 說明 |
| 瀑布模型 | 適用于:用戶需求較為明確的情況; 特點: ? ?1.階段間具有順序性和依賴性; ? ?2.推遲實現的觀點 ? ?3.質量保證的觀點;每個階段都必須完成規定的文檔,沒有? ? ? ? 交出合格的文檔就是沒有完成該階段的任務;每個階段結? ? ? ? 束前都要對所完成的文檔進行評審; 它是一種文檔驅動的開發模型; 優點: ? ? 1.強迫開發人員采用規范的方法,結構化技術; ? ? 2.嚴格規定了每個階段必須提交的文檔; ? ? 3.要求每個階段交出的所有產品都必須經過質量保證小組? ? ? ? ? ?的仔細驗證; 它是帶“反饋環”的; 缺點: ? ? 不能保證最終開發出的軟件產品能否真正滿足用戶的需求;不適應軟件開發工作中用戶需求的改動,對風險的控制能力較差; |
| 增量模型 | 適用于:用戶需求較為穩定,技術風險較大的軟件系統; 強調每一個增量都要發布一個可操作的產品,分批地逐步向用戶提交產品,整個軟件產品被分解成許多個增量構件,開發人員一個一個構件向用戶提交; |
| 螺旋模型 | 適用于:大型、復雜、高風險的管理信息系統 可以把它看做是在每個階段之前都增加了風險分析過程的快速原型模型; 主要優勢:在于風險驅動 ? |
| 噴泉模型 | 是一種以用戶需求為動力,以對象為驅動的模型,主要用于描述面向對象的軟件開發過程; 優點:提高軟件項目開發效率,節省開發時間,適應于面向對象的軟件開發過程。 迭代和無縫的特性; |
| V模型 | 強調在開發過程中測試貫穿始終;V模型在瀑布模型的基礎上,強調測試過程與開發過程的對應性和并行性;適用于需求明確,而且很少有需求變更的情況; |
| 原型模型 | 適用于軟件開發過程中用戶需求會變更的場合; 通過向用戶提供原型來獲取用戶的反饋,使開發? ? ? ? 出的軟件能夠真正反映用戶的需求; |
| 快速原型模型 | 適用于:用戶需求不明確,小型或是交互的系統,大型系統的某些部分; 它是不帶“反饋環“的; 過程: ? ? 它的第一步是快速的建立一個能反映用戶主要需求的原型? ? ? ? 系統,讓用戶在計算機上使用,通過實踐來了解目標系統? ? ? ? 的概貌;通過向用戶提供原型來獲取用戶的反饋,使開發? ? ? ? 出的軟件能夠真正反映用戶的需求; 目標是快速,低成本; ? |
| 構件組裝模型 | 步驟: ? ①需求分析和定義 ? ②軟件架構設計 ? ③構件庫的建立 ? ④應用軟件設計 ? ⑤測試和發布 優點:提高了軟件的復用性、可靠性; |
?軟件開發方法
| 名稱 | 說明 |
| 結構化方法 | 1.用戶至上 2.嚴格區分工作階段,每個階段有任務和成果 3.強調系統開發過程的整體性和全局性 4.系統開發過程工程化,文檔資源標準化 5.自頂向上、逐步分解 適用于用戶需求較為明確的開發 |
| 原型法 | 適用于需求不明確的開發 |
| 面向對象方法 | 1.更好的復用性 2.關鍵在于建立一個全面、合理、統一的模型 3.分析、設計、實現三個階段界面不明確 |
| 面向服務方法 | 三個層次: 1.基礎設計層 2.應用結構層 3.業務組織層 服務建模: 服務發現、服務規約、服務實現 |
?
總結
- 上一篇: 2021年90后脱发调研报告
- 下一篇: 软件开发基础(二)