什么是軟件工程?
(1)將系統化的、規范的、可量化的方法應用於軟件的開發、運行和維護,即用工程化的方法應用於軟件。
(2)對(1)中所述方法的研究。
軟件工程的三要素
軟件工程是一個層次化的技術。

支持軟件工程的根基在質量關注點,任何工程都要構建在質量承諾的根基上。
過程層
(1)過程是工作產品構建時所執行的一系列活動、動作和任務的集合。是將方法和工具結合起來,達到合理、及時地開發軟件過程的方法。過程定義了方法使用的順序、要求交付的文檔資料、以及項目各個階段的里程碑,但過程不是嚴格規定,而是一種可適應的調整方法。
(2)過程還定義了若干框架活動,過程框架包含一些適用於整個軟件過程的普適應活動。
一般框架包括如下幾種活動:
溝通;策划(軟件項目計划、任務、工作進度計划等)、建模、構建(編碼和測試)、部署。
普適性活動:
軟件項目跟蹤和控制、風險管理、軟件質量保證、技術評審、測量、軟件配置管理、可復用管理、工作產品的准備和再生產。
方法
為軟件開發提供了“如何做”的技術。方法覆蓋面很廣,包括溝通,需求分析、設計建模、程序構造、測試和技術支持。
工具
提供了自動的或半自動的軟件支撐環境。目前,已經推出了許多軟件工具,這些軟件工具集成起問來,建立起稱之為計算機輔助軟件工程(CASE)的軟件開發支撐系統。CASE將各種軟件工具、開發機器和一個存放開發過程信息的工程數據庫組合起答來形成一個軟件工程環境。
