Object-Oriented Software Construction

Object-Oriented Software Construction
Object-Oriented Software Construction  
Oosc2-medium.jpg
Author(s) Bertrand Meyer
Subject(s) software object-oriented programming
Publisher Prentice Hall
Publication date 1988, 1997
Pages 1254 + xxviii
ISBN ISBN 0-13-629155-4 (1997 ed.)
OCLC Number 36187052
Dewey Decimal 005.1/17 21
LC Classification QA76.64 .M493 1997

Object-Oriented Software Construction is a book by Bertrand Meyer, widely considered a foundational text of object-oriented programming[citation needed]. The first edition was published in 1988; the second, extensively revised and expanded edition (more than 1300 pages), in 1997. Numerous translations are available including Dutch (first edition only), French (1+2), German (1), Italian (1), Japanese (1+2), Polish (2), Romanian (1), Russian (2), Serbian (2), and Spanish (2).[1] The influence of the book can be measured by the thousands of citations[2] of the book in computer science literature[neutrality is disputed]. The book won a Jolt award in 1994. [3]

Unless otherwise indicated, descriptions below apply to the second edition.

Contents

Focus

The book, known among its fans as "OOSC", presents object technology as an answer to major issues of software engineering, with a special emphasis on addressing the software quality factors of correctness, robustness, extendibility and reusability. It starts with an examination of the issues of software quality, then introduces abstract data types as the theoretical basis for object technology and proceeds with the main object-oriented techniques: classes, objects, genericity, inheritance, Design by Contract, concurrency, and persistence. It includes extensive discussions of methodological issues.

Table of contents

Preface etc.
Part A: The issues

1 Software quality
2 Criteria of object orientation

Part B: The road to object orientation

3 Modularity
4 Approaches to reusability
5 Towards object technology
6 Abstract data types

Part C: Object-oriented techniques

7 The static structure: classes
8 The run-time structure: objects
9 Memory management
10 Genericity
11 Design by Contract: building
reliable software
12 When the contract is broken:
exception handling
13 Supporting mechanisms
14 Introduction to inheritance
15 Multiple inheritance
16 Inheritance techniques
17 Typing
18 Global objects and constants

Part D: Object-oriented methodology:
applying the method well

19 On methodology
20 Design pattern: multi-panel
interactive systems
21 Inheritance case study: “undo”
in an interactive system
22 How to find the classes
23 Principles of class design
24 Using inheritance well
25 Useful techniques
26 A sense of style
27 Object-oriented analysis
28 The software construction process
29 Teaching the method

Part E: Advanced topics

30 Concurrency, distribution, client-server
and the Internet
31 Object persistence and databases
32 Some O-O techniques for graphical
interactive applications

Part F: Applying the method in various
languages and environments

33 O-O programming and Ada
34 Emulating object technology in non-O-O environments
35 Simula to Java and beyond: major O-O
languages and environments

Part G: Doing it right

36 An object-oriented environment
Epilogue, In Full Frankness Exposing the Language

Part H: Appendices

A Extracts from the Base library
B Genericity versus inheritance
C Principles, rules, precepts and definitions
D A glossary of object technology
E Bibliography

Index

Notation

The first edition of the book used Eiffel for the examples and served as a justification of the language design choices for Eiffel. The second edition also uses Eiffel as its notation, but in an effort to separate the notation from the concepts it does not name the language until the Epilogue, on page 1162, where "Eiffel" appears as the last word. A few months after publication of the second edition, a reader posted on Usenet[citation needed] his discovery that the book's 36 chapters alternatively start with the letters "E", "I", "F", "F", "E", "L", a pattern being repeated 6 times. In addition, in the Appendix, titled "Epilogue, In Full Frankness Exposing the Language" (note the initials), the first letters of each paragraph spell out the same pattern.

References

  1. ^ Web search, August 2006
  2. ^ The ACM's Guide to Computing Literature counts close to 400 citations for the second edition alone in computer science journals and technical books; Google Scholar (February 2008) lists over 4600 citations; the book appears as number 35 in the Citeseer list of all-time most cited works (books, articles etc.) in computer science, with 1260 citations (September 2006).
  3. ^ Jolt winners 1997

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Object-oriented analysis and design — (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its… …   Wikipedia

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Inheritance (object-oriented programming) — In object oriented programming (OOP), inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support. In classical inheritance where objects are defined by …   Wikipedia

  • Identity (object-oriented programming) — An identity in object oriented programming, object oriented design and object oriented analysis describes the property of objects that distinguishes them from other objects. This is closely related to the philosophical concept of identity.… …   Wikipedia

  • Modular Approach to Software Construction Operation and Test — The Modular Approach to Software Construction Operation and Test (MASCOT) is a software engineering methodology developed under the auspices of the United Kingdom Ministry of Defence starting in the early 1970s at the Royal Radar Establishment… …   Wikipedia

  • Software design pattern — In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into code. It is a… …   Wikipedia

  • Component-based software engineering — A simple example of two components expressed in UML 2.0. The checkout component, responsible for facilitating the customer s order, requires the card processing component to charge the customer s credit/debit card (functionality that the latter… …   Wikipedia

  • Software engineering — (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1] It is the… …   Wikipedia

  • SCOOP (software) — SCOOP stands for Simple Concurrent Object Oriented Programming. It is a concurrency model designed for the Eiffel programming language, conceived by Eiffel s creator designer, Bertrand Meyer.SCOOP defines a way for an object oriented program to… …   Wikipedia

  • Software prototyping — Software prototyping, a possible activity during software development, is the creation of prototypes, i.e., incomplete versions of the software program being developed.A prototype typically simulates only a few aspects of the features of the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”