基于模式的工程

出版時間:2012-10-1  出版社:機械工業(yè)出版社華章公司  作者:Lee Ackerman,Celso Gonzalez  頁數:290  譯者:徐波  
Tag標簽:無  

前言

前言:軟件開發(fā)過程中存在著日益增長且無窮無盡的壓力:要求我們更快地完成開發(fā)、提出更高質量的解決方案、占用更少的資源。我們可以使用模式,即被證明行之有效的已知問題的最佳實踐解決方案,把它作為一種強大的工具幫助迎接這些挑戰(zhàn)。但是,如果答案簡單如“使用模式就可以了”,你可能已經搞定這些挑戰(zhàn)了。使用模式存在復雜性、深度和微妙之處。為了成功地使用模式,需要具備知識、專家技能和指南。并且,我們不僅想成功地使用模式,而且想采用一種可伸縮的、可重復的和可預測的方式。本書介紹了一種稱為基于模式的工程(Pattern-Based Engineering,PBE)的方法,提供了怎樣成功地在軟件開發(fā)中吸收和利用模式的指南。我們并不僅僅使用模式,而且包括對模式的思考、評估、創(chuàng)建、革新、協(xié)作、抽象、簡化、調整、自動化和復用?;谀J降墓こ蘌BE是一種基于資產開發(fā)的專用方法,它的焦點集中在一種特殊類型的可復用資產即模式上。PBE提供了一種以系統(tǒng)性的、訓練有素的和可量化的方法使用模式的指南和支持。通過PBE,公司在使用模式時可以采用多種形式、實現(xiàn)許多用途并采用一些不同的方式。更具體地說,我們關注兩種特定類型的模式:模式規(guī)范和模式實現(xiàn)。我們使用這兩種類型的模式支持軟件開發(fā)生命周期的設計、測試、部署以及其他方面的工作。在完成這些任務時,我們通過許多方法使用模式,例如文檔、生成、重構和收獲。結果,我們可以使用模式提高生產率、改進質量、利用專業(yè)技能、簡化工作和加強公司內部的交流。我們的目標是在使用和創(chuàng)建模式時,能夠為我們的項目和公司增加價值并提高敏捷性。PBE的一個重要方面是它超越了技術范疇。項目的成功從來不是僅僅依靠技術就可以的,將來也不會如此。我們需要保證開發(fā)團隊能夠協(xié)同工作,知道自己所扮演的角色、需要完成的任務和創(chuàng)建的工作產品并且與他人進行交流。怎樣閱讀本書本節(jié)首先對本書的結構進行概括;然后提供了按照角色閱讀本書的指導;最后提出了為最大限度地利用本書,你最好具備的一些背景,并列出了一些學習目標。本書的結構本書分為四部分。第一部分是對PBE的介紹。在第一部分中,第1章定義PBE,而第2章提供了模式實現(xiàn)的一些例子,因為它對于大多數人來說是個新概念,并且是PBE的一個重要方面。第3~7章通過案例研究的形式展示了一個實際的PBE例子。第8章對第一部分進行了總結,討論了PBE過程方面的內容以及它怎樣配合現(xiàn)有的軟件開發(fā)過程,包括極限編程、Scrum和OpenUP。第二部分以模式和指導方針的形式描述了一些與PBE相關的最佳實踐。第9章解釋了第二部分的組織形式,并對每個模式和指導方針進行了總結。第10~16章詳細描述了模式和指導方針,其中每一章都把注意力集中在一個特定的分類上。第三部分覆蓋了一些其他話題,提供了對PBE的更深入的討論,尤其是非技術方面的討論。第17章詳細描述了PBE的一些優(yōu)點,而在第18章討論了PBE的經濟因素。第三部分最后的第19章,討論了在公司內部推廣PBE時可能出現(xiàn)的一些誤解。第四部分是一組附錄,提供了支持材料和參考信息。附錄A對主要的PBE定義進行了總結,方便讀者快速參考在本書中反復使用的術語和概念。附錄B將PBE與其他的軟件開發(fā)方法進行了比較。附錄C提供了可以幫助我們在公司中應用PBE的工具列表。附錄D提供了一組PBE模式和指導方針的概括圖。附錄E提供了在本書的案例研究中所使用的子系統(tǒng)外觀模式的模式規(guī)范。附錄F可以作為第8章的附屬讀物,增加了許多細節(jié),幫助我們理解PBE實踐。要對PBE有一個高層次的理解,讀者應該閱讀第一部分的所有章節(jié)以及第二部分的第9章。這一章提供了PBE模式和指導方針的一個高層總結。為了更深入地理解PBE,讀者至少應該仔細閱讀一遍PBE模式和指導方針,對它們所解決的問題以及相關聯(lián)的解決方案有一個更好的理解。如果讀者對PBE的一些非技術內容感興趣,那么第三部分更是不可不讀。誰應該閱讀本書模式在開發(fā)生命周期的整個過程中都會浮現(xiàn)并可以應用,同時可用于多種用途。因此,本書所面向的讀者群范圍很廣,包括:軟件架構師、設計人員和開發(fā)人員:閱讀全書。項目經理:閱讀第一部分(至少第1章)和第三部分。過程工程師:閱讀全書,重點閱讀第8章和附錄F。分析師,包括負責測試、需求和業(yè)務方面的人員:閱讀第一部分,至少閱讀第1章。建議的背景為了最大限度地利用本書,我們建議讀者對下面這些術語有基本的理解:用Java或C#這樣的語言進行面向對象編程模式統(tǒng)一建模語言(Unified Modeling Language,UML)XML學習目標在完成本書的學習之后,讀者將能夠:描述在交付軟件中怎樣利用模式。描述PBE所定義的角色、任務、工作產品和最佳實踐。描述一些有助于在PBE的有關投資上做出決策的因素,并描述這類決策的預期影響。描述使用模式的價值和用途(包括實現(xiàn)和規(guī)范)。成功地確認、指定和實現(xiàn)模式。理解模式適用于所有人和所有項目。本書的意義為什么要寫作本書呢?為什么還需要這樣一本關于模式的書呢?不是已經有了足夠多的這類書籍了嗎?一個關于這些問題的答案是我們不想一次又一次地解決相同的問題。事實上,我們在編寫軟件時已經疲于處理那些機械性的問題和老生常談的任務。我們渴望創(chuàng)新精神,希望解決新的、獨特的問題。我們想利用自動化幫助我們盡量減少甚至避免那些機械性的和老生常談的任務?;卮疬@些問題的另一個答案是保持熱情還不夠,具有創(chuàng)新精神也不夠,使用工具和自動化也不夠。關于這些話題的內容非常多且形式各異,包括各種書籍、課程和文章。但是,我們并沒有把這些思路結合在一起。我們需要一種整體的方法,討論怎樣更有策略性、更系統(tǒng)性地使用模式。我們需要能夠圍繞整個機構對模式的使用進行裁剪,并保證應用了模式的項目具有可預測性和可重復性??上螺d的內容本書具有三種相關聯(lián)的下載資源,下載網站為www.PatternsBasedEngineering.net。這些下載資源包括:在案例研究中所討論的模式實現(xiàn)的源工件。在Eclipse的過程框架合成器中所使用的用于PBE實踐的源插件。由一組HTML頁面所組成的已發(fā)布的PBE實踐配置,可以通過標準瀏覽器查看。寫作風格軟件開發(fā)是一項團隊活動,我們在本書剩余部分中也表現(xiàn)出團隊精神。我們坐在一起,討論怎樣在我們的項目中更好地利用模式。

內容概要

本書是目前唯一講解基于模式的工程(PBE)的專著,由兩位具有30余年軟件行業(yè)從業(yè)經驗的資深軟件工程專家撰寫。軟件工程領域泰斗、UML之父Grady
Booch親自作序推薦。本書透徹而系統(tǒng)地闡述了PBE的原理和實踐方法,為在軟件開發(fā)過程中成功地使用各種模式提高開發(fā)效率、改進軟件質量和交付成功的軟件提供了絕佳指導。
本書分為四個部分:第一部分介紹了PBE的定義、模式實現(xiàn)實例,模式的構思、創(chuàng)建、包裝和消費,以及PBE與軟件開發(fā)過程的關系;第二部分詳細講解了PBE模式及其指導方針,包括發(fā)現(xiàn)模式、設計模式、創(chuàng)建模式、包裝模式、消費模式,以及在模式中使用DSL;第三部分討論了PBE的優(yōu)點和在經濟方面的考慮,以及軟件工程師對它的誤解;第四部分是附錄,收錄了PBE的詳細定義、開發(fā)方法、相關工具選項、模式和指導方針、子系統(tǒng)外觀模式的規(guī)范等重要資源和信息。

作者簡介

Lee
Ackerman,資深軟件工程專家,有30余年軟件行業(yè)從業(yè)經驗,對基于模式的工程有非常深刻的研究和認識,在模式、模型驅動開發(fā)、XML和SOA等方面也擁有豐富經驗?,F(xiàn)擔任Emphasys
Group 公司的產品副總裁兼CTO,曾擔任IBM
SWG競技項目高級認證IT專家和SOA市場部營銷經理,曾利用基于模式的工程的方法幫助IBM改進了Rational軟件產品體系的架構和開發(fā)方法。
Celso Gonzalez,資深軟件工程專家,有30余年軟件行業(yè)從業(yè)經驗,IBM
Rational開發(fā)團隊高級開發(fā)人員,對基于模式的工程有非常深刻的研究和認識,在模式、模型驅動開發(fā)等方面也擁有豐富經驗。一直致力于在全球推廣基于模式的工程方法以及該方法本身的演進,不僅在很多大型會議上發(fā)表相關的技術演講,在全球知名刊物上發(fā)表相關的技術文章,而且為大量企業(yè)提供相關方面的咨詢和服務。

書籍目錄

譯者序
序言
前言
致謝
第一部分 理解PBE
第1章 基于模式的工程的定義
 1.1 基于資產的開發(fā)
 1.2 模式
 1.3 工程
 1.4 基于模式的工程
 1.5 使PBE獲得成功的模型
  1.5.1 PBE核心價值
  1.5.2 PBE模式和指導方針
  1.5.3 PBE實踐
 1.6 PBE結果實例
  1.6.1 服務團隊:portlet概念驗證
  1.6.2 軟件開發(fā)商:產品更新
  1.6.3 娛樂行業(yè):增強MDD
  1.6.4 政府:部門之間的集成
 1.7 為什么需要PBE
 1.8 重要定義
  1.8.1 模型
  1.8.2 元模型
  1.8.3 范例
  1.8.4 領域特定語言
 1.9 小結
第2章 模式實現(xiàn)的實例
 2.1 模式實現(xiàn)的類型
 2.2 UML模式實現(xiàn)
  2.2.1 抽象工廠模式
  2.2.2 非循環(huán)依賴模式
  2.2.3 服務提供者模式
  2.2.4 主-明細模式
 2.3 模型到模型的模式實現(xiàn)
 2.4 模型到文本的模式實現(xiàn)
  2.4.1 Bean Factory模式實現(xiàn)
  2.4.2 Hibernate模式實現(xiàn)
 2.5 不同實現(xiàn)的組合使用
 2.6 小結
第3章 案例研究簡介
 3.1 概述
 3.2 與團隊的會面
 3.3 Oslec的開發(fā)過程
 3.4 計劃概述
 3.5 案例研究路線圖
 3.6 小結
第4章 迭代0:構思
 4.1 開始
 4.2 PBE焦點
 4.3 LogoAuction應用程序的需求
  4.3.1 功能性需求
  4.3.2 LogoAuction的域模型
  4.3.3 非功能性需求
 4.4 架構詳述
  4.4.1 LogoAuction的邏輯架構
  4.4.2 LogoAuction的部署架構
  4.4.3 LogoAuction數據架構
 4.5 記錄所使用的模式
 4.6 機會確認
 4.7 評估候選模式
 4.8 小結
第5章 迭代1:創(chuàng)建模式
 5.1 啟動迭代
 5.2 設計子系統(tǒng)外觀模式
  5.2.1 理解子系統(tǒng)外觀模式的本質
  5.2.2 子系統(tǒng)外觀范例
 5.3 創(chuàng)建子系統(tǒng)外觀模式規(guī)范
 5.4 創(chuàng)建子系統(tǒng)外觀模式的實現(xiàn)
  5.4.1 創(chuàng)建JET組件
  5.4.2 實現(xiàn)模式的UML前端
  5.4.3 測試完整的模式實現(xiàn)
 5.5 小結
第6章 迭代2:模式的包裝
 6.1 啟動迭代
 6.2 把子系統(tǒng)外觀模式應用于新的子系統(tǒng)
 6.3 包裝模式
  6.3.1 創(chuàng)建模式的文檔
  6.3.2 創(chuàng)建模式包裝
 6.4 使模式可以被復用
  6.4.1 模式元數據
  6.4.2 模式評審過程
 6.5 小結
第7章 迭代3:模式的消費
 7.1 啟動迭代
 7.2 在一個新子系統(tǒng)中使用這個模式
  7.2.1 安裝模式實現(xiàn)
  7.2.2 把模式應用于用戶管理子系統(tǒng)
  7.2.3 提供模式的反饋
 7.3 對拍賣項管理子系統(tǒng)進行重構以應用模式
 7.4 小結
第8章 PBE和軟件開發(fā)過程
 8.1 PBE實踐簡介
 8.2 場景中的PBE角色和任務
 8.3 PBE實踐起步
 8.4 在自己的過程中利用PBE實踐
  8.4.1 Scrum
  8.4.2 OpenUP
  8.4.3 極限編程
 8.5 小結
第二部分 PBE模式和指導方針
第9章 PBE模式和指導方針簡述
 9.1 模式和指導方針與PBE的其他元素之間的關系
 9.2 PBE模式和指導方針導航
  9.2.1 第10章:基礎
  9.2.2 第11章:發(fā)現(xiàn)模式
  9.2.3 第12章:設計模式
  9.2.4 第13章:創(chuàng)建模式
  9.2.5 第14章:包裝模式
  9.2.6 第15章:在模式中使用領域特定語言
  9.2.7 第16章:消費模式
 9.3 小結
第10章 基礎模式和指導方針
 10.1 模式
  10.1.1 貫穿始終的模式使用
  10.1.2 分塊式模式創(chuàng)建
  10.1.3 簡單解決方案空間
  10.1.4 單模式-變化的用例
 10.2 指導方針
  10.2.1 域驅動的模式
  10.2.2 模式搜索
 10.3 小結
第11章 發(fā)現(xiàn)模式
 11.1 模式
  11.1.1 反面模式
  11.1.2 模式機會
  11.1.3 重復解決方案
 11.2 指導方針
  11.2.1 確定業(yè)務影響
  11.2.2 模式描述
  11.2.3 模式收獲
  11.2.4 更新現(xiàn)有的模式
 11.3 小結
第12章 設計模式
 12.1 模式
  12.1.1 復合模式
  12.1.2 范例分析
  12.1.3 中間相遇模式的設計
  12.1.4 模式實現(xiàn)
 12.2 指導方針
  12.2.1 受限的可變點
  12.2.2 模式創(chuàng)建生命周期
  12.2.3 模式實現(xiàn)的可擴展性
  12.2.4 團隊模式實現(xiàn)的使用
 12.3 小結
第13章 創(chuàng)建模式
 13.1 模式
  13.1.1 模型到模型的模式實現(xiàn)
  13.1.2 模型到文本的模式實現(xiàn)
  13.1.3 UML模式實現(xiàn)
 13.2 指導方針
  13.2.1 模式實現(xiàn)的自動創(chuàng)建
  13.2.2 模式規(guī)范
  13.2.3 模式測試
 13.3 小結
第14章 包裝模式
 14.1 模式
  14.1.1 嵌入式模式實現(xiàn)指南
  14.1.2 可供應的模式實現(xiàn)
 14.2 指導方針
  14.2.1 創(chuàng)建模式文檔
  14.2.2 創(chuàng)建模式關系文檔
  14.2.3 使模式文檔容易訪問
  14.2.4 把相關的模式包裝在一起
  14.2.5 模式的包裝
  14.2.6 模式的版本
  14.2.7 在模式文檔中使用模型
 14.3 小結
第15章 在模式中使用領域特定語言
 15.1 模式
  15.1.1 DSL模型模板
  15.1.2 集成模式和DSL
 15.2 指導方針
  15.2.1 創(chuàng)建DSL
  15.2.2 設計DSL
  15.2.3 DSL中有意義的圖標
 15.3 小結
第16章 消費模式
 16.1 指導方針
  16.1.1 用模式交流設計
  16.1.2 用模式設計解決方案
  16.1.3 模式的密度
  16.1.4 需求驅動的模式選擇
  16.1.5 用模式進行重構
  16.1.6 大范圍模式優(yōu)先
  16.1.7 使用資產庫
  16.1.8 使用模式定義理解現(xiàn)有的解決方案
  16.1.9 使用模式尋找模式
 16.2 小結
第三部分 其 他 話 題
第17章 PBE的優(yōu)點
 17.1 提高生產率
  17.1.1 復用
  17.1.2 模式的組合
  17.1.3 模式實現(xiàn)
 17.2 改進質量
 17.3 促進交流
 17.4 更好地利用技能和專家知識
 17.5 加強管理
 17.6 小結
第18章 PBE的經濟考慮
 18.1 PBE的關鍵經濟因素
 18.2 模式的來源
  18.2.1 模式的選擇標準
  18.2.2 模式來源的建議
 18.3 PBE的采用
 18.3.1 工具
  18.3.2 方法改進
  18.3.3 培訓
  18.3.4 文化改變
  18.3.5 模式的獲取成本
  18.3.6 模式的支持成本
  18.3.7 模式的開發(fā)成本
 18.4 模式實現(xiàn)
 18.5 PBE項目
  18.5.1 系統(tǒng)集成商
  18.5.2 IT公司
  18.5.3 獨立軟件開發(fā)商
 18.6 小結
第19章 PBE的誤解
 19.1 PBE抹殺了創(chuàng)造力
 19.2 PBE引入了項目風險
 19.3 模式確認并不適合所有人
 19.4 模式應該在任何時候、任何場合使用
 19.5 PBE過分形式化
 19.6 PBE只用于設計
 19.7 PBE只用于前向工程
 19.8 關聯(lián)之罪
 19.9 PBE需要特定開發(fā)商的工具
 19.10 小結
第四部分 附  錄
附錄A PBE定義
附錄B PBE和其他開發(fā)方法
附錄C PBE的工具選項
附錄D PBE模式和指導方針
附錄E 子系統(tǒng)外觀模式的規(guī)范
附錄F PBE實踐介紹
參考書目和資源

章節(jié)摘錄

第1章  基于模式的工程的定義萬事開頭難。從哪里開始呢?是不是已經具備了必要的專業(yè)技能?能不能按時完成項目?項目的質量能否符合要求?項目中的每個人是否遵循了最佳實踐?開發(fā)團隊在使用和完善他們的技能時是否有機會展現(xiàn)他們的創(chuàng)造力?是不是真正明白和理解了需求?作為軟件工程師,不論是開發(fā)全新的項目還是維護遺留應用程序,我們都會向自己提出這些問題。這些問題的答案常常并不是我們所喜歡的。在項目開始時,我們常常會開玩笑說又要錯過最后期限了,并對能否完成任務感到焦慮。經驗告訴我們,前方的道路將充滿困難和挫折。就像Grady Booch所說的:“軟件開發(fā)過去是、現(xiàn)在是、將來仍然是一項非常困難的工作?!?/pre>

媒體關注與評論

本書介紹了一種新的軟件工程方法——基于模式的工程,這種方法為軟件工程師更好地應用已有的各種模式提供了一種新的思路。隨著我們積累的模式越來越多,理解和掌握如何在軟件開發(fā)生命周期的各個環(huán)節(jié)正確地應用模式已經變得十分重要。—— Kyle Brown  IBM Software Group杰出工程師,《Persistence in the Enterprise》作者Lee和Celso在本書中所提供的指導意見可以解決困擾許多軟件工程師的難題。本書將堅實的理論與實用的案例結合在一起,可以為學習PBE的軟件工程師提供很好的指導。—— Gregory Hodgkinson  軟件工程專家(在軟件生命周期相關的工具和方法領域成就卓著)自從GoF的名著《設計模式:可復用面向對象軟件的基礎》問世之后,軟件中的設計模式已經成為一種通過最佳實踐解決某些特定問題的偉大方式。這本書對如何管理公司內部的設計模式以及如何編寫最佳實踐提供了極為實用的建議。—— Dave Hendricksen  Thomson-Reuters公司軟件架構師Lee和Celso為所有軟件開發(fā)機構提供了一本極具參考價值的參考書,它提出了一種新的軟件工程方法——基于模式的工程(PBE)。本書通過頗具價值的研究案例及其詳細分析,充分闡述了如何管理和使用企業(yè)已經存在的各種模式。作為軟件工程師,我們應該理解使用模式的必要性和好處。PBE提供了一個框架,可以極大地提高生產率,并提高企業(yè)內部的模式的可復用性。—— Davie Sweis  Robert Bosch LLC公司解決方案架構師Lee和Celso在交付密集型軟件系統(tǒng)方面具有豐富的行業(yè)經驗。在本書中,他們將自己在該領域所掌握的最佳實踐和方法毫無保留地引入交付密集型軟件系統(tǒng)的工程實踐中,并且通過擴展案例進一步演示了如何系統(tǒng)地應用這些實踐和方法。本書為使用基于模式的工程的系統(tǒng)總結了大量最佳模式和反面模式。隨著密集型軟件系統(tǒng)的復雜度和重要性的不斷增加,作為軟件工程師,我們的責任就是交付高質量的系統(tǒng)。這本書將幫助你在這條道路上順利前行。—— Grady Booch  軟件工程領域泰斗、UML之父

編輯推薦

《基于模式的工程:軟件開發(fā)過程中的模式使用指南》系統(tǒng)而透徹地闡述了基于模式的工程(PBE)的原理和實踐方法,為在軟件開發(fā)過程中成功地使用各種模式提高開發(fā)效率、改進軟件質量和交付成功的軟件提供了絕佳指導。資深軟件工程專家撰寫,軟件工程領域泰斗、UML之父Grady Booch親自作序推薦!

名人推薦

本書介紹了一種新的軟件工程方法——基于模式的工程,這種方法為軟件工程師更好地應用已有的各種模式提供了一種新的思路。隨著我們積累的模式越來越多,理解和掌握如何在軟件開發(fā)生命周期的各個環(huán)節(jié)正確地應用模式已經變得十分重要?!?Kyle Brown IBM Software Group杰出工程師,《Persistence in the Enterprise》作者Lee和Celso在本書中所提供的指導意見可以解決困擾許多軟件工程師的難題。本書將堅實的理論與實用的案例結合在一起,可以為學習PBE的軟件工程師提供很好的指導?!?Gregory Hodgkinson  軟件工程專家(在軟件生命周期相關的工具和方法領域成就卓著)自從GoF的名著《設計模式:可復用面向對象軟件的基礎》問世之后,軟件中的設計模式已經成為一種通過最佳實踐解決某些特定問題的偉大方式。這本書對如何管理公司內部的設計模式以及如何編寫最佳實踐提供了極為實用的建議。—— Dave Hendricksen  Thomson-Reuters公司軟件架構師Lee和Celso為所有軟件開發(fā)機構提供了一本極具參考價值的參考書,它提出了一種新的軟件工程方法——基于模式的工程(PBE)。本書通過頗具價值的研究案例及其詳細分析,充分闡述了如何管理和使用企業(yè)已經存在的各種模式。作為軟件工程師,我們應該理解使用模式的必要性和好處。PBE提供了一個框架,可以極大地提高生產率,并提高企業(yè)內部的模式的可復用性。—— Davie Sweis  Robert Bosch LLC公司解決方案架構師Lee和Celso在交付密集型軟件系統(tǒng)方面具有豐富的行業(yè)經驗。在本書中,他們將自己在該領域所掌握的最佳實踐和方法毫無保留地引入交付密集型軟件系統(tǒng)的工程實踐中,并且通過擴展案例進一步演示了如何系統(tǒng)地應用這些實踐和方法。本書為使用基于模式的工程的系統(tǒng)總結了大量最佳模式和反面模式。隨著密集型軟件系統(tǒng)的復雜度和重要性的不斷增加,作為軟件工程師,我們的責任就是交付高質量的系統(tǒng)。這本書將幫助你在這條道路上順利前行。—— Grady Booch  軟件工程領域泰斗、UML之父

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    基于模式的工程 PDF格式下載


用戶評論 (總計3條)

 
 

  •   好書,提供軟件的設計方法。
  •   書中介紹了軟件模板的設計方法,平時工作較難遇見。
  •   更深層次剖析了設計模式在軟件工程中的應用
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7