Object Oriented Software Construction - Bertrand Meyer
1370 pág.

Object Oriented Software Construction - Bertrand Meyer


DisciplinaProgramação Orientada A Objetos3.887 materiais57.123 seguidores
Pré-visualização50 páginas
and how they were
ten wished, when reading descriptions of well-known languages, that the
 told me not only what solutions they chose, but why they chose them, and
ives they rejected. The candid discussions included in this book should, I
 you with insights not only about language design but also about software
as the two tasks are so strikingly similar. 
PREFACEx
Analysis, design and implementation
It is always risky to use a notation that externally looks like a programming language, as
this may suggest that it only covers the implementation phase. This impression, however
wrong, is har
of metaphys
underworld o
Well-un
the essential u
of abstraction
contributions
for analysis a
Unfortu
through two e
\u2022 Object-o
in gener
\u2022 Object-o
are adve
an admi
Such ap
contrast, both
applicable th
high-level de
techniques an
The envir
Software con
method is at t
in a while we
obvious reaso
oriented envi
The env
concepts prac
other object-o
other O-O a
descriptions g
anything else
O and non O-
 
-
30.
6, 
d to correct, so frequently have managers and developers been told that a gap
ical proportions exists between the ether of analysis-design and the
f implementation. 
derstood object technology reduces the gap considerably by emphasizing
nity of software development over the inevitable differences between levels
. This seamless approach to software construction is one of the important
 of the method and is reflected by the language of this book, which is meant
nd design as well as for implementation. 
nately some of the recent evolution of the field goes against these principles,
qually regrettable phenomena: 
riented implementation languages which are unfit for analysis, for design and
al for high-level reasoning. 
riented analysis or design methods which do not cover implementation (and
rtized as \u201clanguage-independent\u201d as if this were a badge of honor rather than
ssion of failure). 
proaches threaten to cancel much of the potential benefit of the approach. In
 the method and the notation developed in this book are meant to be
roughout the software construction process. A number of chapters cover
sign issues; one is devoted to analysis; others explore implementation
d the method\u2019s implications on performance. 
onment
struction relies on a basic tetralogy: method, language, tools, libraries. The
he center of this book; the language question has just been mentioned. Once
 will need to see what support they may require from tools and libraries. For
ns of convenience, such discussions will occasionally refer to ISE\u2019s object-
ronment, with its set of tools and associated libraries.
ironment is used only as an example of what can be done to make the
tically usable by software developers. Be sure to note that there are many
riented environments available, both for the notation of this book and for
nalysis, design and implementation methods and notations; and that the
iven refer to the state of the environment at the time of writing, subject, as
 in our industry, to change quickly \u2014 for the better. Other environments, O-
O, are also cited throughout the text.
\u201cSEAMLESSNESS
AND REVERSIBIL
ITY\u201d, 28.6, page 9
The last chapter, 3
summarizes the 
environment.
PREFACE xi
Acknowledgments (quasi-absence thereof)
The first edition of this book contained an already long list of thanks. For a while I kept
writing down the names of people who contributed comments or suggestions, and then at
some stage I 
ideas has now
some importa
So these
make my gra
source of inv
advice. The 
improvement
I have sent h
clarification o
of an attributi
Web page; th
ready they w
comments (an
Dubois, Jam
corrections). 
about the top
enjoyed the w
sabbaticals at
Milano provi
first-year stud
should be tau
The larg
others have c
the Algol lin
seminal work
Mills-Gries) s
techniques, in
nineteen-seve
and Cliff Jon
Ichbiah\u2019s Ad
Simula 67, w
right, bringin
improvement
A few notes in the 
margin or in chap-
ter-end biblio-
graphic sections give 
credit for some spe-
cific ideas, often 
unpublished.
lost track. The roster of colleagues from whom I have had help or borrowed
 grown so long that it would run over many pages, and would inevitably omit
nt people. Better then offend everyone a little than offend a few very much.
 acknowledgments will for the most part remain collective, which does not
titude less deep. My colleagues at ISE and SOL have for years been a daily
aluable help. The users of our tools have generously provided us with their
readers of the first edition provided thousands of suggestions for
. In the preparation of this new edition (I should really say of this new book)
undreds of e-mail messages asking for help of many different kinds: the
f a fine point, a bibliographical reference, a permission to quote, the details
on, the origin of an idea, the specifics of a notation, the official address of a
e answers have invariably been positive. As draft chapters were becoming
ere circulated through various means, prompting many constructive
d here I must cite by name the referees commissioned by Prentice Hall, Paul
es McKim and Richard Wiener, who provided invaluable advice and
In the past few years I have given countless seminars, lectures and courses
ics of this book, and in every case I learned something from the audience. I
it of fellow panelists at conferences and benefited from their wisdom. Short
 the University of Technology, Sydney and the Università degli Studi di
ded me with a influx of new ideas \u2014 and in the first case with three hundred
ents on whom to validate some of my ideas about how software engineering
ght.
e bibliography shows clearly enough how the ideas and realizations of
ontributed to this book. Among the most important conscious influences are
e of languages, with its emphasis on syntactic and semantic elegance; the
 on structured programming, in the serious (Dijkstra-Hoare-Parnas-Wirth-
ense of the term, and systematic program construction; formal specification
 particular the inexhaustible lessons of Jean-Raymond Abrial\u2019s original (late
nties) version of the Z specification language, his more recent design of B,
es\u2019s work on VDM; the languages of the modular generation (in particular
a, Liskov\u2019s CLU, Shaw\u2019s Alphard, Bert\u2019s LPG and Wirth\u2019s Modula); and
hich introduced most of the concepts many years ago and had most of them
g to mind Tony Hoare\u2019s comment about Algol 60: that it was such an
 over most of its successors. 
Foreword to the second edition
M any eve
OOSC
 (as the
alluded to in t
expanded for
and conferen
devoted to th
concurrency 
formal speci
relevant to m
the Web is af
This is 
occurring in t
of object tech
the obligatory
compared to 
There is no re
uses software
no reason to b
It is the ambi
This sec
paragraph of 
Countless ne
distribution, 
and databases
and impleme
which little is
it; discussion
presentation o
indispensable
detail by tex
bibliographic
development 
enjoyment) a
explanations,
The rea
expectations.
Santa Barbara
nts have happened in the object-oriented world since the first edition of
 book came to be known) was published in 1988. The explosion of interest
he Preface to the first edition, reproduced in the preceding pages in a slightly
m, was nothing then as compared to what we have seen since. Many journals
ces now cover object technology; Prentice Hall has an entire book series
e subject; breakthroughs have occurred in such areas as user interfaces,
and databases; entire new topics have emerged, such as O-O analysis and
fication; distributed computing, once a specialized topic, is becoming
ore and more developments, thanks in part to the growth of the Internet; and
fecting everyone\u2019s daily work.
not the only exciting news. It is gratifying to see how much progress is
he software