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

Design by Contract原則與實踐

Design by Contract原則與實踐

定 價:¥33.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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