計算機軟件作為非傳統產業的制成品,有著許多獨特的性質。它具有不可見性、易變更性,對于這樣一種智力勞動的成果人們難于把握它的質量,也難于組織好它的開發和生產過程。我們對它的分析和研究,絕不可忽視其與傳統產品及其開發過程相異的特殊性。然而,從另一方面看,軟件工程也是工程,雖然它是一門年輕的工程學課,仍然可以借鑒人們千百年來所積累的,在傳統工程領域行之有效的規律和經驗,例如規范化、標準化和模塊化等等。顯然,軟件工程需要統合與兼顧上述兩個方面的特征。任何過分強調某一方面,或是忽略某一方面的思維方式和行為都是錯誤的,并且這種綜合與兼顧需要在不斷探索中前進和發展。
Roger Pressman博士這本書很好地把握這些特征,對于軟件工程學課的發展起了重要的推動作用。本書在國際軟件工程界產生了巨大的影響。從而樹立了它無可置疑的權威地位。一本優秀的著作,特別是一本成功的教學用書可以影響一代人,甚至幾代人的業務成長。本書從1982年第1版開始,就受到我國軟件工程界的重視,成為高等學校計算機專業軟件工程課的重要教學參考書。20多年來,它的各個后續版本一直都是我國軟件專業人士喜愛和熟悉的讀物。它在全面而系統、概括而清晰地介紹軟件工程有關的概念、原則、方法和工具方面都獲得了國內廣大讀者的好評。如前所述,本書在給出對學科發展具有深刻影響的傳統方法時,又適當地引入了當前正在發展著、且有著生命力的新技術。
這里介紹的第六版具有幾個特點:
(1) 在第5版的基礎上做了大量的充實和更新,以適應軟件工程新技術的發展,例如,突出了軟件過程,增加了敏捷開發方法。
(2) 除各章后面提供了大量進一步閱讀的參考文獻信息外,還針對不同的讀者群(例如,學生、教師和專業人員等)提供了多種形式的材料,范圍廣泛、內容豐富,且使用方便。
(3) 為了方便閱讀和理解,除在各章開頭給出全章內容簡介和關鍵詞外,在文中穿插了許多形式不同的解釋框。而且全書各章貫穿了一個具體的應用實例(住宅安全系統),既覆蓋了各章的重點內容,又以對話形式逐步將軟件開發過程展開,從而提高了嚴肅的技術書籍可讀性和可理解性,極大地引發了讀者的閱讀興趣。
本書第6版共32章,分為5個部分,分別涉及5個專題:
(1) 第1部分為軟件過程。其中給出了軟件過程的不同論點,考慮了所有重要的過程模型,包括傳統和過程和(近年發展起來的)敏捷過程在指導思想上的爭論。
(2) 第2部分為軟件工程實踐,給出了分析、設計和測試以及產品度量方法,其中重點討論了面向對象技術和UML建模。
(3) 第3部分為應用Web工程,提供了Web應用系統的分析、設計和測試的全面工程方法。
(4) 第4部分為軟件項目管理,給出的是計劃、管理和控制軟件項目人員關心的問題。
(5) 第5部分是軟件工程高級課題,到形式化的方法、凈室軟件工程、基于構件的軟件工程、再工程以及軟件未來的發展趨勢等問題。
本書面向的主要讀者有三類,即高校學生、教師和專業技術人員。教師選用本書作教材時,如果面對的是軟件工程初學者,最好補充一些具體的輔助材料,讓學生能在本書的基礎上掌握一些具體的、實用的、操作性更強的工作步驟;如果是具有一定軟件工程基礎的研究生和專業軟件人員,本書給你的是全面的、豐富的、代表當前發展水平的軟件工程知識。
總之,這一非常優秀的軟件工程讀物若能認真地閱讀它、理解它,必將使你受益匪淺。