《計算機系列教材:實用軟件工程(第3版)》是《實用軟件工程》的第三版。《計算機系列教材:實用軟件工程(第3版)》的第二版出版后,在國內(nèi)被許多學(xué)校和培訓(xùn)班用作教材,部分內(nèi)容被其他相關(guān)教材多次引用,受到普遍好評。由于本領(lǐng)域在近年來發(fā)展極快,新的知識和技術(shù)不斷涌現(xiàn),如果限于一本教材,難于反映全貌,也無法授人以漁,故第三版分為“開發(fā)篇”——《實用軟件工程(第三版)》與“管理篇”——《實用軟件工程高級教程(第三版)》兩冊。本冊“開發(fā)篇”共10章,系統(tǒng)地介紹了軟件工程的概念、方法和技術(shù),包括軟件生存周期、需求分析、設(shè)計、編碼、測試、維護等;另一冊“管理篇”共8章,系統(tǒng)地介紹了軟件工程管理、軟件過程、質(zhì)量和質(zhì)量保證、可靠性、軟件標(biāo)準和文檔、軟件工具、MDA和SOA等!队嬎銠C系列教材:實用軟件工程(第3版)》力圖讓學(xué)習(xí)者不但能理解相關(guān)知識,而且能學(xué)會運用相關(guān)技能。
本冊適用于計算機專業(yè)的本科生、非計算機專業(yè)的本科生和研究生;“管理篇”適用于計算機專業(yè)的研究生和其他學(xué)習(xí)軟件工程的專業(yè)人員,也可用作培訓(xùn)班的教材。
本書第二版自1997年發(fā)行以來,已經(jīng)歷了十多個年頭。近年來它成為許多高等學(xué)校計算機相關(guān)專業(yè)軟件工程課的首選教材,已經(jīng)擁有了二十幾萬的讀者。在這十幾年中,軟件技術(shù)以及與其相關(guān)的計算機系統(tǒng)和網(wǎng)絡(luò)技術(shù)都已取得了長足的進步,原書內(nèi)容的調(diào)整與更新自然已成為適應(yīng)趨勢之必需。然而,在進行第三版的修訂之時,作者仍然力圖堅守第一、第二版的選材原則,希望繼續(xù)體現(xiàn)簡明與實用。當(dāng)然,過于簡短并不能充分地闡述軟件工程的基本概念、基本原則與基本方法,也將無法滿足廣大讀者的需求,指導(dǎo)軟件工程實踐。
為此第三版保留了軟件生存期過程的基本內(nèi)容,包括軟件需求、設(shè)計、實現(xiàn)、測試和維護等,同時增加了統(tǒng)一建模語言UML,擴充了面向?qū)ο蠓椒,以此來滿足高校計算機相關(guān)專業(yè)本科教學(xué)的要求。另一方面,把涉及軟件管理,包括項目管理、配置管理、質(zhì)量管理、軟件過程、軟件工程標(biāo)準以及軟件工具的內(nèi)容分離出來,另成一冊,并增加了體現(xiàn)軟件面向服務(wù)(SOA)的內(nèi)容,以期適應(yīng)研究生教學(xué)的要求。
關(guān)于如何把握好內(nèi)容的更新,我們認為,正是由于本書的主要讀者對象是初學(xué)者,他們在學(xué)習(xí)中更應(yīng)著重掌握好軟件工程的基本知識和基本內(nèi)容,而不是一味地求新。例如,當(dāng)前在一些軟件開發(fā)組織中流行著“敏捷開發(fā)方法”,盡管該方法具有簡單、靈活的優(yōu)點,我們?nèi)匀徊恢鲝埑鯇W(xué)者從敏捷開發(fā)入手。毋庸置疑,傳統(tǒng)的軟件工程方法有助于培養(yǎng)嚴謹?shù)乃季S、規(guī)范化的作風(fēng)和工程實踐,而這一點恰是軟件工程師的職業(yè)生涯中必不可缺和至關(guān)重要的。還是先學(xué)走再學(xué)跑為妥,否則本末倒置,也許掌握了技巧卻丟掉了基本功,那種“捷徑”是不可取的。
在內(nèi)容更新方面需要說明的另一點是軟件標(biāo)準的更新。由于軟件工程的規(guī)范化實踐很大程度上體現(xiàn)在能否遵循和參考軟件工程標(biāo)準,為此,必須及時地跟蹤新的國際標(biāo)準以及最新修訂的國家標(biāo)準。本書的第三版已盡可能選用了最新標(biāo)準版本予以介紹,并希望通過這一部分讓讀者建立軟件工程標(biāo)準化的概念。
以下三位作者參與了第三版的工作: 馬素霞教授負責(zé)編寫軟件設(shè)計工程、體系結(jié)構(gòu)設(shè)計與設(shè)計模式、軟件配置管理及軟件工具與環(huán)境等部分;本人負責(zé)編寫軟件質(zhì)量管理、軟件過程、軟件工程標(biāo)準及軟件文檔部分;其余部分由殷人昆教授和白曉穎副教授編寫。
讀者若有反饋意見請徑告作者或由清華大學(xué)出版社(zhengyk@tup.tsinghua.edu.cn)轉(zhuǎn)告。
鄭人杰2010年8月
第1章 軟件工程概述
第2章 計算機系統(tǒng)工程
第3章 面向?qū)ο蠓椒ㄅcUML
第4章 軟件需求工程
第5章 軟件設(shè)計工程
第6章 體系結(jié)構(gòu)設(shè)計與設(shè)計模式
第7章 軟件實現(xiàn)
第8章 軟件測試工程
第9章 軟件測試用例設(shè)計
第10章 軟件維護