本書是作者在多年從事軟件工程、軟件設計模式課程教學實踐基礎上編寫的。全書共分為8章,通過大量的實例,介紹了實用軟件工程學的原理及設計模式的相關知識,根據(jù)軟件開發(fā)工程化思想,系統(tǒng)地講授了軟件工程學、軟件設計過程、23種先進的設計模式、軟件測試方法、軟件項目管理、應用技術和實用工具等相關知識。全書采用社會所需實際案例為基線,以案例、項目式教學思路貫穿始終,根據(jù)需要安排了多個任務和子任務,讀者可以通過實踐掌握課程所學內容。書后配有適量的思考題和練習題,使讀者能夠在學習過程中提高操作能力和實際應用能力。
本書可作為高等院校學生學習軟件工程、軟件設計模式、軟件體系結構設計等課程的教材,也可以作為讀者自學的參考書。
軟件工程是軟件開發(fā)組織根據(jù)所要開發(fā)的軟件特點及項目自身的特點,選擇適合的軟件設計模式,把各種軟件工程學原理的特性和軟件設計模式有機地結合起來,充分利用它們的優(yōu)點,回避缺陷,有效地提高軟件質量的過程。
本書是軟件開發(fā)方法體系的完整體現(xiàn),有別于傳統(tǒng)軟件工程學,增加了許多實際軟件開發(fā)過程中需要的實用方法技術,填補了傳統(tǒng)軟件工程的設計薄弱環(huán)節(jié)。
前 言
21世紀是信息社會,信息技術已經(jīng)滲透到社會的各行各業(yè)。隨著計算機應用技術的不斷發(fā)展,軟件工程學也滲入軟件研發(fā)的各個環(huán)節(jié)中。實用軟件工程是一門將理論和知識應用于實踐的工程,它借鑒了傳統(tǒng)工程的原則和方法,講解了常用的23種設計模式,以求高效地開發(fā)高質量軟件。近年來,大多數(shù)高等院校,無論是理工科還是文科專業(yè)都將軟件工程作為計算機應用技術類課程的必修課或選修課。
軟件工程是軟件開發(fā)組織根據(jù)所要開發(fā)的軟件特點及項目自身的特點,選擇適合的軟件設計模式,把各種軟件工程學原理的特性和軟件設計模式有機地結合起來,充分利用它們的優(yōu)點,回避缺陷,有效地提高軟件質量的過程。
本書是軟件開發(fā)方法體系的完整體現(xiàn),有別于傳統(tǒng)軟件工程學,增加了許多實際軟件開發(fā)過程中需要的實用方法技術,填補了傳統(tǒng)軟件工程的設計薄弱環(huán)節(jié)。
全書共分為8章,各章的主要內容安排如下。
第1章主要介紹軟件工程學的基本概念、理論和基礎知識。
第2章主要介紹軟件設計過程基本原理、軟件設計建模工具UML,以及軟件設計環(huán)境Visio、PowerDesigner、Violet等。
第3章主要介紹23種先進的設計模式,體現(xiàn)23種設計模式在軟件開發(fā)過程中的重要設計地位和作用。
第4章主要介紹在面向對象程序設計語言Java中實現(xiàn)23種設計模式的方法和實踐。
第5章主要介紹面向對象技術。面向對象技術是一種以對象為基礎,以事件或消息驅動對象執(zhí)行相應的消息處理函數(shù)的程序設計技術。
第6章主要介紹各種行之有效的軟件測試方法和技術。
第7章主要介紹23種設計模式在實際應用中的原則和分類。
第8章主要介紹軟件工程控制活動中的質量保證、配置管理和項目管理的基本知識。
本書以學習、應用為目的,以案例貫穿始終,系統(tǒng)地講授了軟件工程學和軟件設計模式,各章均以項目分配任務形式編排,有助于提高學生的實操和實際應用能力。
本書由白文榮主編,在本書策劃和編寫的過程中,得到了清華大學出版社的大力支持,在此表示衷心的感謝。
由于作者水平有限,書中難免存在錯誤和不足之處,敬請廣大讀者批評指正。
為了方便教師教學和學生自主學習,本書配有電子教案、案例源代碼、安裝軟件等,若有需要,可從清華大學出版社網(wǎng)站下載。
編 者