1.軟件是人們寫給計算機的一係列指令以及相關文檔的集合。
軟件由以下三部分組成:
(1)在運行中能提供所希望的功能和性能的指令集(即程序)。
(2)使程序能夠正確運行的數據結構。
(3)描述程序研製過程、方法所用的文檔。
2.軟件的評價因素:易用性、可靠性、可維護性、安全性。
3.程序的發展:程序設計階段、程序係統階段、軟件工程階段、第四階段。
程序設計階段:
批處理係統
有限的分布
自定義軟件
程序係統階段:
多用戶係統
實時
數據庫管理係統
軟件產品
軟件工程階段:
分布式係統
嵌入“智能”
硬件成本下降
消費者的影響
第四階段
強大的桌麵係統
麵向對象技術
專家係統
人工神經網絡
並行計算
網絡計算
4.軟件的特點:抽象性、可複製性、不會磨損、依賴性、開發效率低、開發費用高。
5.軟件的分類:
軟件功能->係統軟件、係統支持軟件、應用軟件
軟件工作方式->實時處理軟件、批處理軟件、分時軟件、交互式軟件
係統規模->微型軟件、小型軟件、大型軟件、巨大型軟件、超大型軟件
應用結構層次->基礎軟件、中間層、應用軟件
硬件關聯性->嵌入式係統、實施係統
軟件的運行方式->編譯式軟件、解釋型軟件、混合型軟件
6.軟件危機是指軟件生產方式無法滿足迅速增長的計算機軟件需求,從而導致軟件在開發與維護過程中出現一係列嚴重問題的現象。
7.軟件危機的特征:軟件開發費用和進度的失控、軟件可靠性差、生產出來的軟件難以維持。
8.軟件危機的原因:與軟件本身特點有關、與軟件開發人員本身的特點有關(軟件需求不明確、缺乏正確的理論指導、軟件開發規模來越大、軟件開發複雜度越來越高)。
9.軟件工程的理解:
軟件工程學科是一門指導計算機軟件開發和維護的工程學科
軟件工程不是科學,其目的是創造而不是發現
軟件工程不是傳統意義的工程,沒有成熟的係統化方法。
10.軟件工程的7條基本原理:
用分階段的生命周期計劃嚴格管理
堅持進行階段評審
實行嚴格的產品控製
采用現代程序設計技術
結果應能清楚的審查
開發小組的人員應該少而精
承認不斷改進軟件工程實踐的必要性
11.新的思想方法:抽象、信息隱蔽、模塊化、局部化。
12.新的設計原則:確定性、一致性、完備性、可驗證性。
13.軟件生命周期:問題定義->可行性研究->需求分析->總體設計->詳細設計->軟件編碼->軟件測試->軟件維護。
14.軟件需求:IEEE軟件工程中需求定義->用戶解決問題或達到目標所需的條件或技能、係統或係統部件要滿足合同、標準、規範或其他正式規定文檔所需具有的條件或技能、一種反映上麵兩條所描述的條件或技能的文檔說明。