第一章 軟件與軟件工程的概念
讀書筆記:主要參考教材《軟件工程概論》和PPT
- 軟件的概念
- 軟件是計算機系統中與硬件相互依存的另一部分,它是包括程序,數據及其相關文檔的完整集合。
- 程序是按事先設計的功能和性能要求執行的指令序列。
- 數據是使程序能正常操縱信息的數據結構。
- 文檔是與程序開發,維護和使用有關的圖文材料。
- 軟件特性:形態特性、智能特性、開發特性、質量特性、生產特性、管理特性、環境特性、維護特性、廢棄特性、應用特性
- 軟件的分類
- 系統軟件:操作系統 數據庫管理系統 設備驅動程序 通信和網絡處理程序等
-
支撐軟件(工具軟件)
-
縱向支撐軟件:分析、設計、編碼、測試工具等;
-
橫向支撐軟件:項目管理工具,配置管理工具等
-
-
應用軟件:工程與科學計算軟件 商業數據處理軟件 ERP軟件 計算機輔助設計/制造軟件 系統仿真軟件 智能產品嵌入軟件 事務管理、辦公自動化軟件
-
可復用軟件:標准函數庫、類庫、構件庫等
- 軟件危機:軟件的發展速度遠遠滯后於硬件的發展速度,不能滿足社會日益增長的軟件需求。軟件開發周期長、成本高、質量差、維護困難。
-
軟件工程:采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地開發出高質量的軟件並有效地維護它,這就是軟件工程。
- 系統工程的目標:運用先進的軟件開發技術和管理方法來提高軟件的質量和生產率,也就是要以較短的周期、較低的成本生產出高質量的軟件產品,並最終實現軟件的工業化生產。
- 軟件生存期:軟件定義、軟件開發、運行維護
- 軟件工程方法概述
- 目前使用最廣泛的軟件工程方法學:傳統方法學(結構化方法學),面向對象方法學。
- 三要素:方法、工具和過程
- 軟件工具概述
- 軟件工具是指能支持軟件生存周期中某一階段(如系統定義、需求分析、設計、編碼、測試或維護等)的需要而使用的軟件工具。
- 常用軟件工具:需求分析與設計工具、編碼工具與排錯工具、測試工具
- 軟件工程知識體系及知識域
- 軟件工程教育(3個歷史時期)
- 1978年以前:軟件工程教育以計算機專業的一門孤立的課程形式存在。
- 1978—1988年期間:早期的研究生學位教育,開始建立軟件工程專業的研究生學位教育項目。
- 1988年以后:快速發展的研究生學科教育,使軟件工程的理論快速發展,其中,卡內基·梅隆大學軟件工程研究所(SEI)的影響不可忽視。
-
軟件工程知識體系指南的內容 SWEBOK指南將軟件工程知識體系划分為15個知識域(knowledge areas,KA),這些知識域又划分為三類: 軟件工程基礎類、軟件生存期過程類、軟件工程管理類。
- 軟件工程教育(3個歷史時期)