Design by contract, by example:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston, MA
Addison Wesley
2002
|
Schriftenreihe: | Object technology
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references (p. 227-230) and index |
Beschreibung: | XV, 238 S. |
ISBN: | 0201634600 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV014461302 | ||
003 | DE-604 | ||
005 | 20030521 | ||
007 | t | ||
008 | 020603s2002 xxu |||| 00||| eng d | ||
020 | |a 0201634600 |9 0-201-63460-0 | ||
035 | |a (OCoLC)47739287 | ||
035 | |a (DE-599)BVBBV014461302 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-91G | ||
050 | 0 | |a QA76.64 | |
082 | 0 | |a 005.1/17 |2 21 | |
084 | |a DAT 315f |2 stub | ||
100 | 1 | |a Mitchell, Richard J. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Design by contract, by example |c Richard Mitchell, Jim McKim |
264 | 1 | |a Boston, MA |b Addison Wesley |c 2002 | |
300 | |a XV, 238 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Object technology | |
500 | |a Includes bibliographical references (p. 227-230) and index | ||
650 | 7 | |a Conception assistée par ordinateur |2 ram | |
650 | 7 | |a Programmation orientée objets (informatique) |2 ram | |
650 | 4 | |a Computer-aided design | |
650 | 4 | |a Object-oriented programming (Computer science) | |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Komponente |g Software |0 (DE-588)4439521-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a CAD |0 (DE-588)4069794-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a CAD |0 (DE-588)4069794-0 |D s |
689 | 0 | 1 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 0 | 2 | |a Komponente |g Software |0 (DE-588)4439521-8 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a McKim, Jim |e Sonstige |4 oth | |
856 | 4 | 2 | |m GBV Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009875505&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-009875505 |
Datensatz im Suchindex
_version_ | 1804129298432393216 |
---|---|
adam_text | DESIGN BY CONTRACT, BY EXAMPLE RICHARD MITCHELL JIM MCKIM * * *
ADDISON-WESLEY BOSTON * SAN FRANCISCO * NEW YORK * TORONTO * MONTREAL
LONDON * MUNICH * PARIS * MADRID CAPETOWN * SYDNEY * TOKYO * SINGAPORE *
MEXICO CITY CONTENTS FOREWORD PREFACE CHAPTER I CHAPTER 2 A FIRST TASTE
OF DESIGN BY CONTRACT 1.1 ABOUT THIS CHAPTER 1.2 THE CUSTOMER MANAGER
EXAMPLE 1.3 SOME QUESTIONS 1.4 A CONTRACT FOR CUSTOMER_MANAGER 1.5 THE
STORY SO FAR 1.6 RUNTIME CHECKING 1.7 TRUSTWORTHY DOCUMENTATION 1.8
SUMMARY 1.9 AN AIDE MEMOIRE 1.10 THINGS TO DO ELEMENTARY PRINCIPLES OF
DESIGN BY CONTRACT 2.1 ABOUT THIS CHAPTER 2.2 STACKS 2.3 SEPARATE
COMMANDS AND QUERIES 2.4 NAMING CONVENTIONS 2.5 SEPARATE BASIC QUERIES
AND DERIVED QUERIES 2.6 SPECIFY HOW COMMANDS AFFECT BASIC QUERIES IX XI
I I 2 5 6 9 I I 13 15 15 15 17 17 18 19 22 23 26 III CONTENTS 2.7
CAPTURE UNCHANGING PROPERTIES IN INVARIANTS 34 2.8 THE CLASS AND ITS
CONTRACT 36 2.9 THE BASIC QUERIES ARE A CONCEPTUAL MODEL OF STACKS 38
2.10 THE SIX PRINCIPLES 42 2.11 THINGS TO DO 43 CHAPTER 3 APPLYING THE
SIX PRINCIPLES 47 3.1 ABOUT THIS CHAPTER 47 3.2 DICTIONARIES 47 3.3
SEPARATING AND CATEGORIZING FEATURES 48 3.4 POSTCONDITIONS 50 3.5
PRECONDITIONS 56 3.6 INVARIANT 62 3.7 A COMPLETE, CONTRACT-LEVEL VIEW OF
DICTIONARY 63 3.8 SUMMARY 65 3.9 THINGS TO DO 66 CHAPTER 4 BUILDING
SUPPORT FOR CONTRACTS*IMMUTABLE LISTS 69 4.1 ABOUT THIS CHAPTER 69 4.2
SUPPORT FOR LINEAR STRUCTURES 69 4.3 CONTRACTS INVOLVE EXPRESSIONS 70
4.4 IMMUTABLE LISTS 71 4.5 A CONTRACT FOR IMMUTABLE LISTS 72 4.5.1 THE
BASIC QUERIES 72 4.5.2 THE CREATION COMMAND 74 4.5.3 THE DERIVED QUERY
COUNT 74 4.5.4 THE DERIVED QUERY PRECEDED_BY 74 4.5.5 THE DERIVED QUERY
ITEM 75 4.5.6 THE DERIVED QUERY IS_EQUAL 77 4.5.7 THE DERIVED QUERY
SUBLIST 79 4.6 SUMMARY 8 I 4.7 THINGS TO DO 81 CHAPTER 5 APPLYING THE
SIX PRINCIPLES TO QUEUE 83 5.1 ABOUT THIS CHAPTER 83 5.2 QUEUES 83 5.3 A
CONTRACT FOR THE REMOVE FEATURE 84 IV CONTENTS 5.4 MAKING COUNT A
DERIVED FEATURE 88 5.5 A CONTRACT FOR THE INITIALIZE FEATURE 9 I 5.6 A
CONTRACT FOR THE HEAD FEATURE 93 5.7 A CONTRACT FOR THE PUT FEATURE 94
5.8 MORE DERIVED QUERIES 94 5.9 SUMMARY 95 5.10 THINGS TO DO 96 CHAPTER
6 DESIGN BY CONTRACT AND INHERITANCE 99 6.1 ABOUT THIS CHAPTER 99 6.2
SUPERCLASSES AND SUBCLASSES 99 6.3 REDEFINING CONTRACTS 100 6.3.1 EIFFEL
SYNTAX 104 6.3.2 SUMMARY 107 6.4 INVARIANTS AND INHERITANCE 108 6.5
DESIGNING SUPERCLASSES WITH GUARDED POSTCONDITIONS 109 6.6 TWO KINDS OF
INHERITANCE I I 6 6.7 SUMMARY I 17 6.8 THINGS TO DO 117 CHAPTER 7 FRAME
RULES 119 7.1 ABOUT THIS CHAPTER 119 7.2 CHANGE SPECIFICATIONS AND FRAME
RULES I I 9 7.3 FRAME RULES FOR PUT USING IMMUTABLE LISTS I 2 I 7.4
FRAME RULES FOR PUT USING FORALL 128 7.5 KINDS OF FRAME RULES 130 7.6
THINGS TO DO 132 7.7 APPENDIX: MORE ABOUT THE PREPROCESSOR I 32 CHAPTER
8 BENEFITS OF DESIGN BY CONTRACT 137 8.1 ABOUT THIS CHAPTER 137 8.2
KINDS OF BENEFITS 137 8.3 BETTER DESIGNS 138 8.4 IMPROVED RELIABILITY
140 8.5 BETTER DOCUMENTATION 140 8.6 EASIER DEBUGGING 142 V CONTENTS 8.7
SUPPORT FOR REUSE 1 42 8.8 DESIGN BY CONTRACT AND DEFENSIVE PROGRAMMING
143 8.8.1 DEFENDING A PROGRAM AGAINST UNWANTED INPUT 143 8.8.2
BULLETPROOFING A ROUTINE 144 8.8.3 DEFENSIVE PROGRAMMING 145 8.9 SOME
COSTS AND LIMITATIONS OF CONTRACTS 1 46 CHAPTER 9 CONTRACTS FOR AN
OBSERVER FRAMEWORK 149 9.1 ABOUT THIS CHAPTER 149 9.2 THE OBSERVER
FRAMEWORK I 50 9.3 IMMUTABLE SETS 1 52 9.4 ATTACHING AND DETACHING
OBSERVERS 155 9.5 NOTIFICATION (FOR ONE OBSERVER) I 56 9.6 NOTIFICATION
(FOR ALL OBSERVERS) I 58 9.7 A PERFORMANCE ISSUE I 60 9.8 FRAME RULES
161 9.9 PRIVACY 164 9.10 THINGS TO DO 166 CHAPTER 10 FULFILLING A
PRECONDITION 169 10.1 ABOUT THIS CHAPTER 169 10.2 THE EXAMPLES 170 10.3
FULFILLING AND TESTING A PRECONDITION 170 10.4 TESTING VERSUS CHECKING
172 10.5 A SIMPLE COUNTER CLASS 173 10.6 THE USER S VIEW OF THE PROGRAM
I 74 10.7 THE INTERNAL STRUCTURE OF THE PROGRAM 176 10.8 THE PROGRAM S
BEHAVIOR I 78 10.9 A MINOR DETAIL 184 10.10 SUMMARY 186 10.11 THINGS TO
DO 187 CHAPTER I I JAVA EXAMPLES 189 11.1 ABOUT THIS CHAPTER 189 11.2
WHY JAVA? 190 V! CONTE NTS 11.3 QUEUES 190 11.3.1 THE BASIC QUERY SIZEQ
192 11.3.2 THE BASIC QUERY GETQ 193 11.3.3 THE DERIVED QUERY HEAD() 193
11.3.4 THE DERIVED QUERY ISEMPTY() I 94 11.3.5 THE DERIVED QUERY
SHALLOWCOPYO I 94 11.3.6 THE CONSTRUCTOR QUEUE 195 11.3.7 THE COMMAND
PUT 196 11.3.8 THE COMMAND REMOVE 196 11.3.9 SUMMARY 198 11.4
DICTIONARIES 198 11.4.1 NAMES 199 11.4.2 THE INVARIANT 200 11.4.3 THE
BASIC QUERIES 200 11.4.4 A DERIVED QUERY 201 11.4.5 THE COMMANDS 201
11.4.6 THE CONSTRUCTOR 202 11.4.7 A POSSIBLE SET OF CLASSES 203 11.5
JAVA WITHOUT ICONTRACT 203 11.6 PRECONDITION TESTING 207 11.7 THINGS TO
DO 212 CHAPTER 12 ANALYSIS BY CONTRACT 215 12.1 ABOUT THIS CHAPTER 215
12.2 A USE CASE 215 12.3 CONTRACTS IN ANALYSIS MODELS 217 12.4 A
CONTRACT FOR THE WITHDRAWCASH USE CASE 21 7 12.5 FROM ANALYSIS TO DESIGN
220 12.6 PROBLEM DOMAIN AND SYSTEM MODELS 22 I 12.7 THE OBJECT
CONSTRAINT LANGUAGE 224 12.8 SUMMARY 225 BIBLIOGRAPHY 227 INDEX 231 VII
|
any_adam_object | 1 |
author | Mitchell, Richard J. |
author_facet | Mitchell, Richard J. |
author_role | aut |
author_sort | Mitchell, Richard J. |
author_variant | r j m rj rjm |
building | Verbundindex |
bvnumber | BV014461302 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.64 |
callnumber-search | QA76.64 |
callnumber-sort | QA 276.64 |
callnumber-subject | QA - Mathematics |
classification_tum | DAT 315f |
ctrlnum | (OCoLC)47739287 (DE-599)BVBBV014461302 |
dewey-full | 005.1/17 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1/17 |
dewey-search | 005.1/17 |
dewey-sort | 15.1 217 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01836nam a2200481zc 4500</leader><controlfield tag="001">BV014461302</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20030521 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">020603s2002 xxu |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0201634600</subfield><subfield code="9">0-201-63460-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)47739287</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV014461302</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.64</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1/17</subfield><subfield code="2">21</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 315f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Mitchell, Richard J.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Design by contract, by example</subfield><subfield code="c">Richard Mitchell, Jim McKim</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston, MA</subfield><subfield code="b">Addison Wesley</subfield><subfield code="c">2002</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XV, 238 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Object technology</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references (p. 227-230) and index</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Conception assistée par ordinateur</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programmation orientée objets (informatique)</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer-aided design</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Object-oriented programming (Computer science)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Komponente</subfield><subfield code="g">Software</subfield><subfield code="0">(DE-588)4439521-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">CAD</subfield><subfield code="0">(DE-588)4069794-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">CAD</subfield><subfield code="0">(DE-588)4069794-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Komponente</subfield><subfield code="g">Software</subfield><subfield code="0">(DE-588)4439521-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">McKim, Jim</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">GBV Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009875505&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-009875505</subfield></datafield></record></collection> |
id | DE-604.BV014461302 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T19:02:55Z |
institution | BVB |
isbn | 0201634600 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-009875505 |
oclc_num | 47739287 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM |
owner_facet | DE-91G DE-BY-TUM |
physical | XV, 238 S. |
publishDate | 2002 |
publishDateSearch | 2002 |
publishDateSort | 2002 |
publisher | Addison Wesley |
record_format | marc |
series2 | Object technology |
spelling | Mitchell, Richard J. Verfasser aut Design by contract, by example Richard Mitchell, Jim McKim Boston, MA Addison Wesley 2002 XV, 238 S. txt rdacontent n rdamedia nc rdacarrier Object technology Includes bibliographical references (p. 227-230) and index Conception assistée par ordinateur ram Programmation orientée objets (informatique) ram Computer-aided design Object-oriented programming (Computer science) Objektorientierte Programmierung (DE-588)4233947-9 gnd rswk-swf Komponente Software (DE-588)4439521-8 gnd rswk-swf CAD (DE-588)4069794-0 gnd rswk-swf CAD (DE-588)4069794-0 s Objektorientierte Programmierung (DE-588)4233947-9 s Komponente Software (DE-588)4439521-8 s DE-604 McKim, Jim Sonstige oth GBV Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009875505&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Mitchell, Richard J. Design by contract, by example Conception assistée par ordinateur ram Programmation orientée objets (informatique) ram Computer-aided design Object-oriented programming (Computer science) Objektorientierte Programmierung (DE-588)4233947-9 gnd Komponente Software (DE-588)4439521-8 gnd CAD (DE-588)4069794-0 gnd |
subject_GND | (DE-588)4233947-9 (DE-588)4439521-8 (DE-588)4069794-0 |
title | Design by contract, by example |
title_auth | Design by contract, by example |
title_exact_search | Design by contract, by example |
title_full | Design by contract, by example Richard Mitchell, Jim McKim |
title_fullStr | Design by contract, by example Richard Mitchell, Jim McKim |
title_full_unstemmed | Design by contract, by example Richard Mitchell, Jim McKim |
title_short | Design by contract, by example |
title_sort | design by contract by example |
topic | Conception assistée par ordinateur ram Programmation orientée objets (informatique) ram Computer-aided design Object-oriented programming (Computer science) Objektorientierte Programmierung (DE-588)4233947-9 gnd Komponente Software (DE-588)4439521-8 gnd CAD (DE-588)4069794-0 gnd |
topic_facet | Conception assistée par ordinateur Programmation orientée objets (informatique) Computer-aided design Object-oriented programming (Computer science) Objektorientierte Programmierung Komponente Software CAD |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009875505&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT mitchellrichardj designbycontractbyexample AT mckimjim designbycontractbyexample |