software construction.

  • 0 Ratings
  • 10 Want to read
  • 1 Currently reading
  • 0 Have read
software construction.
Bertrand Meyer
Not in Library

My Reading Lists:

Create a new list

Check-In

×Close
Add an optional check-in date. Check-in dates are used to track yearly reading goals.
Today

  • 0 Ratings
  • 10 Want to read
  • 1 Currently reading
  • 0 Have read

Buy this book

Last edited by ImportBot
August 19, 2020 | History

software construction.

  • 0 Ratings
  • 10 Want to read
  • 1 Currently reading
  • 0 Have read

Object-Oriented Software Construction presents the methods and techniques of object-oriented design, based on a careful assessment of the underlying software-engineering issues. The book reviews both the techniques needed to obtain the full extent of the approach and object-oriented systems design, with emphasis on effective module-interface design. Numerous examples of reusable software components are presented covering many of the important everyday programming structures. The ideas and concepts are made concrete by realizing them in the Eiffel object-oriented programming language. (Back cover copy)

Publish Date
Publisher
Prentice-Hall
Language
English

Buy this book

Previews available in: English

Edition Availability
Cover of: Object-oriented software construction
Object-oriented software construction
1997, Prentice Hall PTR
in English - 2nd ed.
Cover of: Object-oriented software construction.
Cover of: software construction.
software construction.
1988, Prentice-Hall
in English
Cover of: Object-oriented software construction
Object-oriented software construction
1988, Prentice-Hall
in English

Add another edition?

Book Details


First Sentence

"The principal aim of software engineering is to help produce quality software."

Table of Contents

Preface, viii
Syntax notation, xvii
. Part 1 Issues and Principles, 1
. 1 Aspects of software quality, 3
1.1 External and internal factors, 3
1.2 External quality factors, 4
1.3 About software maintenance, 7
1.4 The key qualties, 9
1.5 Key concepts, 10
1.6 Bibliographical notes, 10
. 2 Modularity, 11
2.1 Five criteria, 12
2.2 Five principles, 18
2.3 The open-closed principle, 23
2.4 Key concepts, 25
2.5 Bibliographical notes, 26
Exercises, 26
. 3 Approaches to reusability, 27
3.1 Repetition in programing, 27
3.2 Simple approaches, 30
3.3 Five requirements on module structures, 31
3.4 Routines, 35
3.5 Packages, 36
3.6 Overloading and genericity, 37
3.7 Key concepts, 39
3.8 Bibliographical notes, 40
. 4 The road to object-orientedness, 41
4.1 Process and data, 41
4.2 Functions, data and continuity, 42
4.3 The top-down functional approach, 43
4.4 Why use the data?, 49
4.5 Object-oriented design, 50
4.6 Finding the objects, 51
4.7 Describing objects: abstract data types, 52
4.8 A precise definition, 59
4.9 Seven steps towards object-based happiness, 60
4.10, Key concepts, 63
4.11 Bibliographical notes, 63
Exercises, 64
. Part 2 Techniques of Object-Oriented Design and Programming, 65
. 5 Basic elements of Eiffel programming, 67
5.1 Objects, 67
5.2 A first view of classes, 71
5.3 Using classes, 73
5.4 Routines, 79
5.5 Reference and value semantics, 86
5.6 From classes to systems, 90
5.7 Classes vs. objects, 94
5.8 Discussion, 94
5.9 Key concepts, 101
5.10 Syntactical symmary, 102
. 6 Genericity, 105
6.1 Parameterizing classes, 105
6.2 Arrays, 108
6.3 Discussion, 109
6.4 Key concepts, 110
6.5 Syntactical summary, 110
6.6 Bibliographical notes, 110
. 7 Systematic approaches to program construction, 111
7.1 The notion of assertion, 112
7.2 Preconditions and postconditions, 113
7.3 Contracting for software reliability, 115
7.4 Class invariants and class correctness, 123
7.5 Some theory, 129
7.6 Representation invariants, 131
7.7 Side-effects in functions, 132
7.8 Other constructs involving assertions, 140
7.9 Using assertions, 143
7.10 Coping with failure: disciplined exceptions, 144
7.11 Discussion, 155
7.12 Key concepts, 161
7.13 Syntactical summary, 162
7.14 Bibliographical notes, 163
Exercises, 163
. 8 More aspects of Eiffel
8.1 Style standards, 165
8.2 Lexical conventions, 168
8.3 External routines, 169
8.4 Argument passing, 170
8.5 Instructions, 172
8.6 Expressions 176
8.7 Strings, 179
8.8 Input and output, 180
8.9 Key concepts, 181
8.10 Syntactical summary, 181
. 9 Designing class interfaces, 183
9.1 Lists and list elements, 184
9.2 Objects as machines, 191
9.3 Dealing with abnormal cases, 199
9.4 Selective exports, 203
9.5 Documenting a class, 204
9.6 Discussion, 210
9.7 Key concepts, 214
9.8 Syntatical summary, 215
9.9 Bibliographical notes, 215
Exercises, 215
. 10 Introduction to inheritance, 217
10.1 Polygons and rectangles, 218
10.2 The meaning of inhertance, 228
10.3 Deferred classes, 234
10.4 Multiple inheritance, 241
10.5 Discussion, 250
10.6 Key concepts, 251
10.7 Syntatical summary, 251
10.8 Bibliographical notes, 253
Excercises, 253
. 11 More about inheritance, 255
11.1 Inheritance and assertions, 255
11.2 Redefinition vs. renaming, 259
11.3 The Eiffel type system, 261
11.4 Declaration by association, 266
11.5 Inheritance and information hiding, 272
11.6 Repeated inheritance, 274
11.7 Key concepts, 279
11.8 Syntactical summary, 280
11.9 Bibliographical note, 280
Exercises, 280
. 12 Object-oriented design: case studies, 281
12.1 Outline of a window system, 281
12.2 Undoing and redoing, 285
12.3 Full-screen entry systems, 291
Exercises, 304
. 13 Constants and shared objects, 305
13.1 Constants of simple types, 306
13.2 Use of constants, 306
13.3 Constants of class types, 308
13.4 Constants of string type, 314
13.5 discussion, 316
13.6 Key concepts, 321
13.7 Syntactical summary, 321
13.8 Bibliographical notes, 322
Exercises, 322
. 14 Techniques of object-oriented design, 323
14.1 Design philosophy, 323
14.2 Finding the classes, 326
14.3 Interface techniques, 328
14.4 Inheritance techniques, 329
14.5 Woudl you rather buy or inherit?, 332
14.6 Bibliographical notes, 334
Exercises, 334
. 15 Implementation: the Eiffel programming environment, 335
15.1 The implementation, 335
15.2 Compilation and configuration management, 336
15.3 Generating C packages, 341
15.4 Performance issues, 343
15.5 Other aspects of the environment, 345
. 16 Memory management, 353
16.1 What happens to objects, 353
16.2 The casual approach, 358
16.3 Reclaiming memory: the issues, 359
16.4 Programmer-controlled deallocation, 359
16.5 The self-management approach, 360
16.6 Automatic storage management, 365
16.7 The Eiffel approach 367
16.8 Key concepts, 369
16.9 Bibliographical notes, 370
Exercises, 370
. Part 3 Applying Object-Oriented Techniques in Other Environments, 373
. 17 Object-oriented programming in classical languages, 375
17.1 Levels of language support, 375
17.2 Object-oriented programming in Pascal?, 376
17.3 Fortran, 376
17.4 Object-oriented programming in C, 379
17.5 Bibliographical notes, 383
Exercises, 383
. 18 Object-oriented programming and Ada, 385
18.1 Packages, 386
18.2 A stack implementation, 386
18.3 Hiding the representation: the private story, 390
18.4 Exceptions, 392
18.5 Tasks, 396
18.6 Key concepts, 397
18.7 Bibliographical notes, 398
Exercises, 398
. 19 Genericity versus inheritance, 399
19.1 Genericity, 400
19.2 Inheritance, 406
19.3 Simulating inheritance with genericity, 409
19.4 Simulating genericy with inheritance, 410
19.5 Genericity and inheritance in Eiffel, 418
19.6 Discussion, 420
19.7 Key concepts, 421
19.8 Bibliographical notes, 421
Exercises, 422
. 20 Other object-oriented languages, 423
20.1 Simula, 243
20.2 Smalltalk, 437
20.3 C extensions, 440
20.4 Lisp extensions, 442
20.5 Other languages, 443
20.6 Bibliographical notes, 443
Exercises, 444
. 21 Further issues, 445
21.1 Implementing reusability, 445
21.2 Persistency, 446
21.3 Concurrency, 447
21.4 Bibliographical notes, 448
. Part 4 Appendices
. Appendix A Extracts from the Eiffel library, 451
A.1 Arrays, 451
A.2 General lists, 453
A.3 Array lists, 455
A.4 Linkable elements, 455
A.5 Linked lists, 463
A.6 Two-way lists, 469
A.7 Trees and nodes, 471
. Appendix B Eiffel: a quick overview, 475
B.1 Design principles, 475
B.2 Classes, 476
B.3 Assertions, 479
B.4 Exceptions, 480
B.5 Generic classes, 482
B.6 Multiple inheritance, 482
B.7 Polymorphism, 493
B.8 Deferred classes, 485
B.9 The implementation, 487
B.10 The environment, 488
. Appendix C Eiffel grammar, 489
C.1 Lexical conventions, 489
C.2 Syntactical specification, 490
C.3 Operator precedence, 494
. Appendix D Reserved words and special symbols, 495
D.1 Reserved words, 495
D.2 Special symbols, 495
. Appendix E Input, output and strings, 497`

Edition Notes

Published in
Englewood Cliffs, NJ, London

ID Numbers

Open Library
OL18179888M
ISBN 10
0136291481
Goodreads
4067228

Source records

Better World Books record

Excerpts

The principal aim of software engineering is to help produce quality software.
added anonymously.

Community Reviews (0)

Feedback?
No community reviews have been submitted for this work.

History

Download catalog record: RDF / JSON / OPDS | Wikipedia citation
August 19, 2020 Edited by ImportBot import existing book
April 16, 2010 Edited by bgimpertBot Added goodreads ID.
December 15, 2009 Edited by WorkBot link works
November 15, 2009 Edited by 122.52.65.39 Edited without comment.
October 11, 2008 Created by ImportBot Imported from Talis record