注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開發(fā)的演進(jìn)本質(zhì)

浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開發(fā)的演進(jìn)本質(zhì)

浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開發(fā)的演進(jìn)本質(zhì)

定 價(jià):¥59.00

作 者: (美)貝恩 著,趙俐,華潔 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 軟件工程/開發(fā)項(xiàng)目管理

ISBN: 9787115259783 出版時(shí)間: 2011-08-01 包裝: 平裝
開本: 16開 頁數(shù): 278 字?jǐn)?shù):  

內(nèi)容簡介

  浮現(xiàn)式設(shè)計(jì)是一種敏捷技術(shù),強(qiáng)調(diào)在開發(fā)過程中不斷演進(jìn)。由Scott L.Bain編著的《浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開發(fā)的演進(jìn)本質(zhì)》的討論圍繞著專業(yè)軟件開發(fā)方法的演進(jìn)主題展開,強(qiáng)調(diào)了讓軟件成為一個(gè)真正專業(yè)的重要性,以及以演進(jìn)方式開發(fā)軟件的重大意義。書中談到了如何在演進(jìn)過程中綜合運(yùn)用設(shè)計(jì)模式、重構(gòu)、單元測試和測試驅(qū)動(dòng)開發(fā)等實(shí)踐,以及何時(shí)制定耦合、內(nèi)聚和封裝等關(guān)鍵決策,而且通過準(zhǔn)確生動(dòng)的示例說明了如何開發(fā)出真正有用的軟件?!陡‖F(xiàn)式設(shè)計(jì):專業(yè)軟件開發(fā)的演進(jìn)本質(zhì)》主要面向軟件開發(fā)者群體,尤其是對敏捷開發(fā)感興趣的程序設(shè)計(jì)人員。

作者簡介

  擁有30年從業(yè)經(jīng)驗(yàn)的資深計(jì)算機(jī)技術(shù)專家。主要從事開發(fā)、工程和設(shè)計(jì)。他還曾負(fù)責(zé)設(shè)計(jì)、提供和管理認(rèn)證培訓(xùn)課程。從事最終用戶的技能培訓(xùn),既有課堂授課.也有遠(yuǎn)程教育。過去8年來。Scott一直在華盛頓州普捷灣畔的NetObjectives公司工作,負(fù)責(zé)培訓(xùn)課程以及有關(guān)設(shè)計(jì)模式、重構(gòu)、單元測試、測試驅(qū)動(dòng)開發(fā)的咨詢工作。Scott與NetObjectives的CEO AlanShalloway一起為敏捷環(huán)境中的設(shè)計(jì)模式集成做出了卓越的貢獻(xiàn)。他還經(jīng)常在各種開發(fā)者會(huì)議(例如JavaOne和SDWest)上發(fā)表演講。

圖書目錄

第1章 軟件開發(fā)這個(gè)職業(yè)
  1.1 人類制作軟件已經(jīng)有多久的歷史了
  1.2 軟件開發(fā)是一種什么樣的活動(dòng)
  1.3 軟件開發(fā)缺少了什么
  1.4 誰說了算
  1.5 獨(dú)特性
第2章 從衣櫥到探月
  2.1 軟件開發(fā)中的模式和專業(yè)化
  2.2 Andrea的衣櫥
  2.3 探月
    2.3.1 因素的連鎖變化
    2.3.2 不同的因素導(dǎo)致不同的設(shè)計(jì)
    2.3.3 還有更多環(huán)境因素
    2.3.4 成本和獲益
    2.3.5 火星探險(xiǎn)
  2.4 模式的價(jià)值
  2.5 小結(jié)
第3章 軟件開發(fā)的本質(zhì)
  3.1 失敗率過高
  3.2 成功的定義
  3.3 Standish Group
  3.4 做了錯(cuò)誤的事情
  3.5 做事的方式錯(cuò)了
  3.6 隨著時(shí)間的推移,軟件開發(fā)也有所改善
  3.7 一個(gè)原因:土木工程的類比
  3.8 放棄希望
  3.9 有時(shí)等待和拖延也是必要的
  3.10 橋是硬的,軟件是軟的
  3.11 我們在變化的海洋中游泳
  3.12 接受變化
  3.13 擁抱變化
  3.14 利用變化
  3.15 更好的類比:不斷演進(jìn)的系統(tǒng)
  3.16 小結(jié)
第4章 代碼的演進(jìn):初級(jí)階段
  4.1 用對象結(jié)構(gòu)來代替過程邏輯
  4.2 面向?qū)ο蠛湍J降钠鹪?br />  4.3 一個(gè)示例:簡單條件和Proxy模式
  4.4 下一步:多路徑條件選擇
  4.5 為什么要采用對象結(jié)構(gòu)
  4.6 從多個(gè)條件中選擇一個(gè)
  4.7 小結(jié)
第5章 使用和發(fā)現(xiàn)模式
  5.1 根據(jù)上下文進(jìn)行設(shè)計(jì):我做的另一個(gè)木匠活
  5.2 模式引出了另一個(gè)看問題的角度
  5.3 模式提供了一種討論設(shè)計(jì)的語言
  5.4 本書中的模式
  5.5 小結(jié)
第6章 軟件開發(fā)金字塔
  6.1 構(gòu)成專業(yè)的元素
  6.2 一種形象的表示
  6.3 小結(jié)
第7章 注重軟件質(zhì)量
  7.1 封裝
  7.2 內(nèi)聚
    7.2.1 方法內(nèi)聚
    7.2.2 視角層的內(nèi)聚
    7.2.3 類內(nèi)聚
    7.2.4 內(nèi)聚到何種程度才足夠
  7.3 耦合
    7.3.1 有意耦合與意外耦合
    7.3.2 耦合類型
  7.4 冗余 
  7.5 可測試性 
  7.6 可讀性 
  7.7 軟件的病癥 
    7.7.1 內(nèi)聚性較差的信號(hào) 
    7.7.2 意外耦合或不合邏輯耦合的信號(hào)
    7.7.3 冗余的信號(hào)
  7.8 小結(jié)
第8章 注重原則和智慧結(jié)晶
  8.1 使用與創(chuàng)建分離
    8.1.1 Fowler的三層視角
    8.1.2 另一種視角
    8.1.3 使用的視角
    8.1.4 一個(gè)單獨(dú)的視角:創(chuàng)建
    8.1.5 最后考慮構(gòu)造細(xì)節(jié)
    8.1.6 回到現(xiàn)實(shí)
  8.2 開閉原則
    8.2.1 類級(jí)的開閉原則
    8.2.2 方法級(jí)的開閉原則
  8.3 依賴倒置原則
  8.4 GoF的建議
    8.4.1 設(shè)計(jì)方法的接口
    8.4.2 設(shè)計(jì)類的接口
    8.4.3 GoF:優(yōu)先使用對象聚合而非類繼承
  8.5 GoF:在設(shè)計(jì)中思考什么應(yīng)該變化并封裝會(huì)發(fā)生變化的概念
  8.6 小結(jié)
第9章 注重實(shí)踐
  9.1 統(tǒng)一編碼風(fēng)格
    9.1.1 注釋
    9.1.2 命名類、方法和變量
    9.1.3 編碼標(biāo)準(zhǔn)的好處
  9.2 意圖導(dǎo)向編程
  9.3 封裝構(gòu)造函數(shù)
    9.3.1 原則與實(shí)踐
    9.3.2 做出決定
  9.4 公共性-可變性分析
  9.5 實(shí)踐與自由
  9.6 小結(jié)
第10章 注重紀(jì)律:單元測試
  10.1 測試的經(jīng)濟(jì)學(xué)
    10.1.1 單元測試
    10.1.2 先寫測試
  10.2 JUnit框架
    10.2.1 JUnit基礎(chǔ)知識(shí)
    10.2.2 JUnit示例
    10.2.3 Rule.java:先編碼,再測試
    10.2.4 RuleContainer.java:先測試,再編碼
    10.2.5 消除冗余:@Before和@After
    10.2.6 自動(dòng)化批量測試
    10.2.7 異常和單元測試
  10.3 模擬對象
    10.3.1 MockObject框架
    10.3.2 偽對象
    10.3.3 依賴注入和Endo-Testing技巧
    10.3.4 Endo-Testing
  10.4 小結(jié)
第11章 注重紀(jì)律:重構(gòu)
  11.1 重構(gòu)質(zhì)量糟糕的代碼
  11.2 重構(gòu)質(zhì)量優(yōu)秀的代碼
  11.3 結(jié)構(gòu)變化與功能變化
  11.4 重構(gòu)可幫助你做出選擇
  11.5 模式可以成為重構(gòu)的目標(biāo)
  11.6 避免重構(gòu):預(yù)構(gòu)
  11.7 重構(gòu)技巧
  11.8 重構(gòu)遺留代碼
  11.9 小結(jié)
第12章 測試驅(qū)動(dòng)開發(fā)
  12.1 何謂測試驅(qū)動(dòng)開發(fā)
    12.1.1 測試驅(qū)動(dòng)與先寫測試
    12.1.2 從單元測試的角度來設(shè)計(jì)
  12.2 測試與質(zhì)量
    12.2.1 測試與內(nèi)聚
    12.2.2 測試與耦合
    12.2.3 測試與冗余
  12.3 測試驅(qū)動(dòng)開發(fā)與模式
    12.3.1 Strategy模式
    12.3.2 烏龜站在烏龜上,一直向下
    12.3.3 模擬對象/模擬烏龜
  12.4 模擬對象
  12.5 模擬烏龜
  12.6 測試Decorator模式
  12.7 小結(jié)
第13章 模式與因素
  13.1 在演進(jìn)的設(shè)計(jì)中做決策
  13.2 Christopher Apexander與他所提出的“因素”
    13.2.1 信號(hào)處理器示例
    13.2.2 PKZip示例
    13.2.3 測試與因素
  13.3 更多選擇,更多因素
  13.4 小結(jié)
第14章 浮現(xiàn)式設(shè)計(jì):案例分析
  14.1 問題領(lǐng)域:MWave公司
  14.2 團(tuán)隊(duì)
  14.3 最簡單的能夠正常運(yùn)作的設(shè)計(jì)
  14.4 新需求:更復(fù)雜的機(jī)器
  14.5 順便介紹一下
  14.6 更多好消息
  14.7 小結(jié):設(shè)計(jì)是一次漫長而奇特的旅行
第15章 結(jié)束語:展望2020年
附錄A 演進(jìn)路徑
附錄B 示例中用到的模式簡介
附錄C 有用幻覺之原理
參考書目 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)