軟件是壹種特別的產品,隨著規模和復雜性的進步以及應用領域的擴大逐漸形成了工程。
是計算機中與硬件相互依存的另壹部分,包括程序、數據和說明文檔。
程序是按照設計要求和性能指標設計的指令序列
數據是程序能夠正常操縱信息的數據結構
說明文檔是用於開發和維護軟件程序的各種圖文資料。
軟件工程是軟件的工程性方法,涵蓋了所有生命周期,並提供了壹整套工程性方法來指導軟件開發。
軟件工程是壹門研究如何用系統化、規範化、數量化等工程原則和方法去進行軟件的開發和維護的學科。
包含:1. 軟件開發技術 2. 軟件項目管理
軟件工程三要素:方法、工具、過程
軟件工程應包括的知識(10個):軟件需求、軟件設計、軟件構建、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法、軟件質量
指計算機軟件的開發和維護過程中所遇到了壹系列嚴重問題。
包括分析、設計、實現、測試和維護等。
軟件工程目標:正確性、可用性、費用合算
軟件工程活動:需求、設計、實現、確認、支持
軟件工程原則:適宜開發範型、合適設計方法、高質量工程支持
是為了獲得高質量軟件所需要完成的壹系列步驟。
生命周期模型把生命周期劃分成那些階段以及執行順序,也稱為軟件過程模型。
常見模型:瀑布模型、快速原型模型、增量模型、螺旋模型
應用場景: 大型軟件項目;需求明確;需求變化少
特點:
優點:
缺點:
應用領域: 客戶不熟悉軟件、溝通理解困難
優點:
缺點
適用範圍: 需求比較明確、架構穩定
優點:
缺點:
適用範圍: 大型復雜的系統
優點:
缺點:
五個階段: 規劃、分析、設計、實施、運行維護
Jackson方法的表示: 順序、選擇、重復
自底向上的歸納、自頂向下的分解,盡可能運用人類自然思維方式
要點:
三大重要特征: 封裝、繼承、多態
基本概念: 對象、類、封裝...
核心概念: 對象、類