注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具Design by Contract原則與實(shí)踐

Design by Contract原則與實(shí)踐

Design by Contract原則與實(shí)踐

定 價(jià):¥33.00

作 者: [美]Richard Mitchell,[美]Jim Mckim著;孟巖譯
出版社: 人民郵電出版社
叢編項(xiàng): IT Trend系列叢書
標(biāo) 簽: 軟件開發(fā)

ISBN: 9787115115706 出版時(shí)間: 2003-01-01 包裝: 膠版紙
開本: 23cm 頁數(shù): 280 字?jǐn)?shù):  

內(nèi)容簡介

本書凝聚作者多年的實(shí)踐和教學(xué)經(jīng)驗(yàn),通過Eiffel和Java的實(shí)例闡述了DBC的主要原則,并教讀者如何實(shí)踐這些原則,撰寫優(yōu)質(zhì)高效的契約。譯者孟巖還特別撰寫了《契約式設(shè)計(jì)的理解及其在C/C++中的應(yīng)用》作為本書的附錄,討論了DBC在C/C++語言中的應(yīng)用。什么是DbC?DesignbyContract(DBC,契約式設(shè)計(jì))是面向?qū)ο筌浖髱烞ertrandMeyer對(duì)軟件構(gòu)造方法的一個(gè)重大貢獻(xiàn),無論是在形式化的數(shù)學(xué)證明中,還是在實(shí)踐運(yùn)用中,都被證明是大幅改善軟件工程質(zhì)量的有效手段。該方法在Eiffel編程語言中獲得直接支持,并且可以通過輔助工具在Java語言中運(yùn)用。國內(nèi)第一本系統(tǒng)闡述“契約式設(shè)計(jì)”思想和方法的譯作深刻理解和充分發(fā)揮契約在面向?qū)ο筌浖O(shè)計(jì)中的作用本書特色:通過Eiffel、Java實(shí)例透徹分析DbC思想方法。引入DbC六大原則和六大準(zhǔn)則,指導(dǎo)你的應(yīng)用實(shí)踐。精辟分析DbC在C/C++語言中的應(yīng)用。本書通過Eiffel和Java實(shí)例,闡述了“契約式設(shè)計(jì)(DesignbyContract)”的思想原則和應(yīng)用方法,幫助讀者掌握如何在面向?qū)ο筌浖O(shè)計(jì)過程中應(yīng)用契約。全書分為12章。通過實(shí)例探討了DbC的基本概念,引入了DbC的六大原則和六大準(zhǔn)則,展示了六大原則的應(yīng)用,分析了DbC和繼承的關(guān)系,介紹了框定規(guī)則、DbC的好處和限制、觀察者框架中的契約和先驗(yàn)條件檢驗(yàn);最后給出了一個(gè)Java范例,并探討了契約在分析模型中的應(yīng)用。附錄部分是譯者專門為C/C++程序員撰寫的,提供用C/C++進(jìn)行契約式設(shè)計(jì)的指導(dǎo)和建議。本書適合面向?qū)ο筌浖こ處熀兔嫦驅(qū)ο笳Z言程序員閱讀。第一章試讀第8章精彩節(jié)選

作者簡介

  Richard Mitchell是InferData公司的高級(jí)顧問,專門從事面向?qū)ο蠓治龊驮O(shè)計(jì)。他曾經(jīng)擔(dān)任英國Brighton大學(xué)計(jì)算機(jī)系教授,長期從事面向?qū)ο蠹夹g(shù)的研究和教學(xué)。Jim Mckim 是Rensselaer理工研究所工程與科學(xué)院教授兼院長,從事面向?qū)ο筌浖_發(fā)的教學(xué)和咨詢已經(jīng)有10年多時(shí)間。兩位作者都曾經(jīng)在Journal of Object-Oriented Programming和IEEE Comprting發(fā)表過很多關(guān)于:“契約式設(shè)計(jì)”和相關(guān)話題的文章。

圖書目錄

第1章  契約式設(shè)計(jì)初案
  1.1  概述
  1.2  顧客管理器范例
  1.3  一些問題
  1.4  CUSTOMER_MANAGER的契約
  1.5  臨時(shí)總結(jié)
  1.6  運(yùn)行時(shí)檢測(cè)
  1.7  可靠的文檔
  1.8  小結(jié)
  1.9  一言以蔽之
  1.10  練習(xí)
第2章  契約式設(shè)計(jì)的基本原則
  2.1  關(guān)于本章
  2.2  棧
  2.3  區(qū)分命令和查詢
  2.4  命名規(guī)范
  2.5  區(qū)分基本查詢和派生查詢
  2.6  說明命令對(duì)基本查詢的影響
  2.7  用不變式確定恒定特性
  2.8  類及其契約
  2.9  基本查詢是棧的一個(gè)概念模型
  2.10  六大原則
  2.11  練習(xí)
第3章  運(yùn)用六大原則
  3.1  關(guān)于本章
  3.2  字典
  3.3  特性分離與分類
  3.4  后驗(yàn)條件
  3.5  先驗(yàn)條件
  3.6  不變式
  3.7  關(guān)于字典的完整的契約級(jí)概括
  3.8  小結(jié)
  3.9  練習(xí)
第4章  契約的構(gòu)造支持類——不可變列表
  4.1  關(guān)于本章
  4.2  支持線性結(jié)構(gòu)
  4.3  契約只涉及表達(dá)式
  4.4  不可變列表
  4.5  不可變列表的契約
  4.6  小結(jié)
  4.7  練習(xí)
第5章  六大原則在QUEUE設(shè)計(jì)中的運(yùn)用
  5.1  關(guān)于本章
  5.2  隊(duì)列
  5.3  remove特性的契約
  5.4  將count作為一個(gè)派生特性
  5.5  initialize特性的契約
  5.6  head特性的契約
  5.7  put特性的契約
  5.8  更多派生查詢
  5.9  小結(jié)
  5.10  練習(xí)
第6章  契約式設(shè)計(jì)與繼承
  6.1  關(guān)于本章
  6.2  超類和子類
  6.3  重新定義契約
  6.4  不變式和繼承
  6.5  以被確保的后驗(yàn)條件定義超類
  6.6  兩種繼承
  6.7  小結(jié)
  6.8  練習(xí)
第7章  框定規(guī)則
  7.1  關(guān)于本章
  7.2  變化規(guī)格和框定規(guī)則
  7.3  使用不可變列表為put撰寫框定規(guī)則
  7.4  使用“forall”為put撰寫框定規(guī)則
  7.5  框定規(guī)則的類別
  7.6  練習(xí)
  7.7  關(guān)于預(yù)處理器的補(bǔ)充說明
第8章  契約式設(shè)計(jì)的收益
  8.1  關(guān)于本章
  8.2  幾種優(yōu)點(diǎn)
  8.3  更優(yōu)秀的設(shè)計(jì)
  8.4  提高可靠性
  8.5  更出色的文檔
  8.6  簡化調(diào)試
  8.7  支持復(fù)用
  8.8  契約式設(shè)計(jì)與防御性編程
  8.9  契約的一些開銷和限制
第9章  觀察者框架中的契約
  9.1  關(guān)于本章
  9.2  觀察者框架
  9.3  不可變集合
  9.4  觀察者的系縛和解縛
  9.5  通知(一個(gè)觀察者)
  9.6  通知(多個(gè)觀察者)
  9.7  性能問題
  9.8  框定規(guī)則
  9.9  保密
  9.10  練習(xí)
第10章  觀察者框架中的契約
  10.1  關(guān)于本章
  10.2  例子
  10.3  滿足并測(cè)試稱驗(yàn)條件
  10.4  測(cè)試與檢驗(yàn)
  10.5  一個(gè)簡單的計(jì)數(shù)器類
  10.6  從用戶角度看示例程序
  10.7  程序的內(nèi)部結(jié)構(gòu)
  10.8  程序的招待情況
  10.9  一個(gè)次要的細(xì)節(jié)
  10.10  小結(jié)
  10.11  練習(xí)
第11章  Java范例
  11.1  關(guān)于本章
  11.2  為什么選擇Java
  11.3  隊(duì)列
  11.4  字典
  11.5  沒有iContract的Java
  11.6  測(cè)試先驗(yàn)條件
  11.7  練習(xí)
第12章  契約式分析
  12.1  關(guān)于本章
  12.2  一個(gè)用例
  12.3  分析模型中的契約
  12.4  withdrawCash用例的契約
  12.5  從分析到設(shè)計(jì)
  12.6  問題域和系統(tǒng)模型
  12.7  對(duì)象限制語言
  12.8  小結(jié)
參考資料
契約式設(shè)計(jì)的理解及其在C/C++語言中的運(yùn)用
什么是契約——Eiffel的觀點(diǎn)
契約思想的一個(gè)反面案例
索引

本目錄推薦

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