標籤:
第一章 軟體定義程式:是電腦系統中與硬體相互依存的另一部分,包括程式、資料和相關文檔的完整集合。 軟體特性:形態特性、智能特性、開發特性、品質特性、生產特性、管理特性、環境特性、維護特性、廢棄特性、應用特性。 軟體分類。 (1) 系統軟體 (2) 應用軟體 (3) 支撐軟體 (4) 可複用軟體 軟體危機的原因:1)缺乏軟體開發的經驗和有關軟體開發資料的積累,使得開發工作的計劃很難制定。2)軟體人員與使用者的交流存在障礙,除了知識背景的差異,缺少合適的交流方法和需求描述工具也是重要的一個原因。3)軟體開發過程不規範,缺少方法論和規範的指導,軟體難以維護。4)隨著軟體規模的增大,其複雜性往往會呈指數級升高。5)缺少有效軟體評測手段,提交使用者的軟體品質差 軟體工程的定義: 1.指導軟體開發和維護的工程性學科,它以電腦科學理論和其他相關學科的理論為指導,採用工程化的概念、原理技術和方法進行軟體的開發和維護,把經過時間考慮而證明是正確的管理技術和當前能夠得到的最好的技術方法結合起來,以較少的代價獲得高品質的軟體並維護 2.軟體工程的目標:運用先進的軟體開發技術和管理方法來提高軟體的品質和生產率,也就是要以較短 周期、較低的成本生產出高品質的軟體產品,並最終實現軟體的工業化生產。 3.軟體的生存周期:軟體孕育、誕生、成長、成熟、衰亡的生存過程。由軟體定義程式、軟體開發和運行維護三個時期組成。軟體定義程式:解決“做什麼”的問題;軟體開發:解決“如何做”的問題,分為概要設計、詳細設計、編碼和測試四個階段;維護:使軟體持久的滿足使用者的需求。 4.開發過程中的典型文檔 a.軟體需求規格說明書:描述將要開發的軟體做什麼。 b.專案計劃:描述將要完成的任務及其順序,並估計所需要的時間及工作量。 c.軟體測試計劃:描述如何測試軟體,確保軟體應實現規定的功能,並達到預期的效能。 d.軟體設計說明書:描述軟體的結構,包括概要設計及詳細設計。 e.使用者手冊:描述如何使用軟體 各階段基本任務:問題定義與可行性研究、需求分析、軟體設計、程式編碼和單元測試、整合測試和系統測試。 5.軟體生存期模型: 瀑布模型。優點:強迫開發人員正常化方法、嚴格規定每個階段必須提交的文檔、要求每個階段交出的所有產品必須經過驗證。缺點:完全依賴書面規格說明,可能會導致產品與使用者需求有差異、只適用於項目開始時需求已確定的情況。需求分析、規格說明、設計、編碼、綜合測試、維護 快速原型模型。優點:易於滿足使用者真實需求、已通過與使用者的互動驗證,能正確描述使用者需求、產品開發基本上按線性順序、規格文檔說明正確描述了使用者需求,後期錯誤率和返工率很低、開發人員建立原型 系統時學到的東西有助於減少後期的錯誤率、快速開發有助於節約成本,原型的用途是擷取使用者的正真需求。 增量模型。優點:較短時間內能提交有用產品、逐步增加產品有助於使用者適應學習、項目失敗風險較低、優先順序最高的服務首先交付,則系統核心服務接受最多測試,一般不會失敗。注意:新的構件加入系統時必須不破壞已開發出的產品、體繫結構必須開放,易於向其中加入新構件。 螺旋模型。四個象限:目標設定、風險估計與弱化、開發與驗證、計劃。優點有利於已有軟體的重用,也有助於把軟體品質作為開發的一個重要目標、減少了過多測試或測試不足帶來的風險、維護和開發之間沒有本質區別。缺點:此模型為風險驅動,要求開發人員必須具有豐富的風險評估經驗,否則會意識不到風險的出現導致失敗。 6.統一過程的6個核心工作流程:業務建模、需求、分析與設計、實現、測試、部署 7.統一過程的4個階段:初始階段、細化階段、構造階段、移交階段. a.主要關注專案計劃和風險評估,其目的是確定是否值得開發目標系統。b.細化階段關心定義系統的總體架構,目標是:細化初始需求,細化體繫結構,監控風險並細化他們的優先順序,細化業務案例以及制定專案管理計劃。c.構造階段是建立系統,構造系統的第一個具有操作性的版本,以能夠交付給客戶進行β測試版本結束。d.移交階段包含β測試時期,以發布完完整的系統而終止,其目標是確保系統真正滿足客戶的需求。
《軟體工程概論》第一章核心內容