前 言
軟件工程是應用計算機科學技術、數學、管理學的原理,運用工程科學的理論、方法和技術,研究和指導軟件開發和演化的一門交叉學科。隨著科技的發展,軟件工程已成為計算機科學及其相關專業的一門重要的必修課,其教學目的在於使學生掌握軟件工程的基本概念和原則,培養學生使用工程化的方法高效地開發高質量軟件的能力,以及進行項目管理的能力。
軟件工程是一門理論與實踐並重的課程。本書在講述軟件工程的基本概念、原理和方法的基礎上,詳細而全面地介紹了可以實際用於軟件開發實踐的各種技能,旨在使學生通過有限課時的學習後,不僅能對軟件工程的原理有所認識,而且能具備實際開發軟件的各種技能,比如按照標準和規範編寫文檔等。
本書共10章,內容涉及軟件工程的基本原理和概念、軟件開發生命周期的各個階段、軟件工程管理的相關內容,以及課程設計。在第10章中,除了介紹如何進行課程設計外,還舉了一個可供模仿的課程設計案例——“Web Publishing System”。此案例的文檔盡管是以英文呈現的,但相應地都有中文文檔(包括源代碼、用戶手冊、部署文檔等),可通過掃描二維碼獲取,或在華信教育資源網上獲取,網址:http://www.hxedu.com.cn;同時,本書電子教案等相關教學資源也可通過此網站獲取。
本書的教學安排建議如下:
章節 內容 學時數
第1章 軟件工程概述 2~4
第2章 可行性研究及需求分析 4~6
第3章 軟件設計 4~6
第4章 軟件編程 2
第5章 軟件測試與維護 4~6
第6章 面向對像方法與UML 4~6
第7章 面向對像分析 4~6
第8章 面向對像設計與實現 4~6
第9章 軟件工程管理 2~4
第10章 課程設計 2
建議先修課程:計算機導論、面向對像程序設計、數據結構、數據庫原理等。
建議理論教學時數:32~48學時。
建議實踐教學時數:16~32學時。
教師可以按照自己對軟件工程的理解適當地刪除一些章節,也可以根據教學目標,靈活地調整章節的順序,增減各章的學時數。
本書作者一直在北京航空航天大學軟件學院擔任軟件工程課程的教學工作,總結了自己多年軟件工程教學與實踐的經驗。曾洪立、呂彼佳、姜彥華參與了本書的素材收集與資源整理工作。在本書編寫的過程中,還得到了叢碩、任彬、王啟菡、鄧博洋、左宗源、楊晨、蔡哲源、寇宇增的支持,在此對他們表示感謝。也感謝其他對本書有貢獻的同人。
由於軟件工程是一門新興學科,軟件工程的教學方法本身還在探索之中,加之我們的水平和能力有限,本書難免有疏漏之處。懇請各位同人和廣大讀者給予批評指正,也希望各位將實踐過程中的經驗和心得與我們交流(yunxianglu@hotmail.com)。
編 著 者