|
| |
Object-Oriented and Component-Based Suggested Reading List
The following list of reading material is suggested for analysts, programmers. and
managers with an interest or need to familiarize themselves with Object-Oriented
technology. The list of available literature is staggering, thus, those that have made it
to this list have either achieved a level of acceptance within the industry and/or, in my
estimation, represent an important work that explains in clear terms the concepts. There
is no doubt that I may have overlooked several noteworthy books and for that I offer my
apologies to those authors and publishers.
There continues to be a constant stream of offerings in the Object-Oriented /
Component-based development realm. It is quite staggering and is impossible for us to keep
up.
The list is separated into two categories: METHOD and GENERAL. METHOD literature
provides prescriptive information for adapting and deploying OO and Component-based
technology. GENERAL provides information on a broader scale such as history, technique
comparisons, and project case studies. This list is not in order of importance and
does not suggest a rating. Hopefully, the descriptions provided will assist in
determining its usefulness.
| TITLE |
AUTHOR |
PUBLISHER |
DATE |
ISBN |
DESCRIPTION |
M E T H O D |
| Software Reuse |
I. Jacobson, M. Griss, P. Jonsson |
Addison Wesley |
1997 |
0-201-92476-5 |
This book stands on the shoulders
of his previous OO Software Engineering book (mentioned below). The material
provides clear guidelines and processes for producing quality OO/Components. Don'[t be
fooled by the title. This is about understanding how to build quality software - reuse is
a by-product. |
| Developing Software with UML |
B. Oestereich |
Addison Wesley |
1999 |
0-201-39826-5 |
A quick and easy over of the
software development process. It provides and overview of the UML (Unified Modeling
Language) and features some use of the OCL (Object Constraint Language). Without going
into too much detail (in which you'll have to refer to other books) it provides a good
understanding of the process of developing software using objects and how it all flows
together. |
| The Unified Software Development
Process |
I. Jacobson, G. Booch,
J. Rumbaugh |
Addison Wesley |
1999 |
0-201-57169-2 |
Although the book explains a
"process" it addresses the various techniques for developing OO/Component-based
systems. Much of the material is an outgrowth of Jacobson's previous work. To me, the
culmination of his work is in Software Reuse. However, this book, along with the
other two books in the "three amigos'" trilogy, will gain significant mindshare.
This is a good thing since we can move from project to project and, hopefully,
have agreement on process. |
| Building Object Applications That
Work |
S. W. Ambler |
Cambridge University Press (SIGS
Books) |
1998 |
0-521-64826-2 |
What a great title! It's subtitle
is Your Step-by-Step Handbook for Developing Robust Systems with Object Technology.
And that's what it is. Scott writes in an easy to understand, no-fluff manner. He's
practical and provides real-world insights that separates him from the pack. Scott is always worthwhile reading. His other works Process Patterns and
More Process Patterns are excellent as well. However, the problem is that the
market may feel these books compete with the Rational Unified Process. Still, I'd
get them and read them. Scott also writes for Software Development magazine. |
| The Unified Modeling Language
User Guide |
G. Booch J.
Rumbaugh
I. Jacobson |
Addison Wesley |
1999 |
0-201-57168-4 |
Although not a how-to on objects,
it does go through the various UML expressions (as of its publishing date) and provides
guidelines on UML use and semantics. In doing so, one can deduce clear OO methods and
techniques. As in The Unified Software Development Process,
this book is part of the trilogy and represents signifcant industry mindshare. |
| Business Component Factory |
P. Herzum O.
Sims |
Wiley |
2000 |
0-471-32760-3 |
The authors provide an overview
of component-based development as well as clear instructions on how to architect, design,
and deploy components. Very well written and useful, particularly given today's
distributed n tier technologies. (As with most things,
there are arguments against objects and arguments for components. Personally, though I
appreciate the argument, good design habits make sense, OO or not. The component
perspective builds on and refactors object thinking rather than discards OO. At times, as
I read this stuff, I feel as if we may be recycling back to Structured Systems Analysis
and Design. The ever expanding and contracting universe.) |
| Object-Oriented Modeling and Design |
J. Rumbaugh, et al. |
Prentice Hall, Englewood Cliffs,
NJ |
1991 |
0-13-629841-9 |
One of the earliest works
providing an in-depth and a methodological approach to OOA and OOD. OMT provides an
exhaustive notation and diagramming formats employing three basic models: Object Model,
Dynamic Model, and Functional Model. OMT has been well received by data modelers with ER
diagramming background. OMT has been pervasiveness in the industry and continues to be
integrated with newer methodologies. Rumbaugh, Booch, and Jacobson have since formed a
collaboration and have developed The Unified Method. |
| Object-Oriented Software
Construction |
B. Meyer |
Prentice Hall Hertfordshire HP2
7EZ |
1988 |
0-13-629049-3 |
A very, very important piece of
work by a rare individual who is both a tremendous thinker and an articulator of those
thoughts. Meyer is the author of Eiffel, an object-oriented programming environment. This
book should also be read by those not intending to program as Meyer and the language he
invented strives to demonstrate how business requirements are directly expressed in the
language. A must read. Scheduled for a new edition. |
| Object Oriented Analysis and
Design with Applications |
G. Booch |
Benjamin-Cummings |
1994 |
0-8053-0091-0 |
The first edition of Boochs
book was design focused and a significant pioneering effort. The recent edtion adds more
to the analysis dimension. The Booch method has experienced wide acceptance in the design
arena. |
| Object Oriented Systems
Engineering |
I. Jacobson |
Addison-Wesley |
1992 |
0-201-54435-0 |
This methodology has been embraced
by virtually every practitioner in the industry. This simple, yet powerful approach is now
being incorporated into several methodologies (including OMT). |
| Object-Oriented Development - The
Fusion Method |
D. Coleman, et al. |
Prentice Hall Englewood Cliffs, NJ |
1994 |
0-13-338823-9 |
The Fusion method is quite
understandable, reasonable, and provides a method that is not overwhelming (once you get
past the typos and poor sentence construction). It is a practical approach (developed at
Hewlett Packard) that represents a synthesis of the best-in-class techniques. |
| TITLE |
AUTHOR |
PUBLISHER |
DATE |
ISBN |
DESCRIPTION |
| Fundamentals of Object-Oriented Design in UML |
M. Page-Jones |
Addison Wesley |
2000 |
0-2010-69946-X |
Page-Jones' conversational and
witty style make this book an easy and an enjoyable way to understand OO design as it
relates to programming. The book explains OO concepts and various diagramming notations
(using the MOSES notation that he co-developed with Henderson-Sellers). The later chapters
are particularly valuable as they address the more pragmatic aspects of OO design. This is
not really a 'how-to-do' book but more a 'how-to-think' book. This
was formally, What Every Object-Oriented Programmer Should Know published through
Dorset House. |
| Essential Systems Analysis |
S. McMenamin, J. Palmer |
Yourdon Press, Englewood Cliffs, NJ |
1984 |
0-13-287905-0 |
Although not an OO book, it is
upon this work (whether OO folks realize it or not) that many OO techniques are based.
This early work was one of the first attempts to address the importance of event modeling.
An excellent work for a grounding in basic analytical skills. |
| Seamless Object-Oriented Software Architecture |
K. Walden J.M. Nerson |
Prentice Hall Hertfordshire HP2 7EZ |
1995 |
0-13-031303-3 |
These authors use Eiffel as part
of their examples and demonstrate how seamlessness is achieved through their approach.
These folks have also developed a CASE tool that facilitates their method. A particularly
valuable chapter is the one that addresses OO using relational technology. |
| Object, Components, and Frameworks with UML:
The Catalysis Approach |
D.F. D'Souza A.C. Wills |
Addison Wesley |
1999 |
0-201-31012-0 |
Wow! This is a dense, rich
approach that is directed at an advanced reader/practitioner. It does an excellent job of
presenting a clear, concise approach with a heavy emphasis on using the UML in an
extremely unambiguous manner. It does so by making heavy use of the OCL (Object Constraint
Language). This is one great piece of work that requires significant study and patience. |
| Design Patterns |
E. Gamma, et al. |
Addison-Wesley |
1995 |
0-201-63361-2 |
An instant classic. Borrowing from
the work of the architect Christopher Alexander, this book explores the notion of software
patterns - reusable conceptual constructions. An important work. A CD version of the
book is available and it is excellent. See DesignReadling List. |
| Applying UML and Pattern |
C. Larman |
Prentice Hall |
1998 |
0-13-748880-7 |
Many books have come out since
this was published. However, this continues to be the book that I recommend beginner and
intermediate OO folk to review. Craig does an excellent job of moving through the analysis
and design lifecycle in a clear and easy to understand manner. He covers all aspect from
requirements (use cases), modeling, notation, patterns, etc. - all with examples that are
crisp and easy to internalize. He now has a video (VHS) that accompanies the book but I've
not reviewed it yet. |
| Object Lifecycles |
S. Shlaer, S. Mellor |
Yourdon Press, Englewood Cliffs, NJ |
1992 |
0-13-629940-7 |
Shlaer and Mellor have a
data-centric approach regarding their style of OOA. Their apparent roots in ER diagramming
will be an easy read for the data folks. A very thorough discussion on Object life-cycle
analysis. |
G E N E R A L |
| The Unified Modeling Language Reference Manual |
J. Rumbaugh I. Jacobson
G. Booch |
Addison Wesley |
1999 |
0-201-30998-X |
This is James Rumbaugh's
contribution to the trilogy of UML books. This book provides the sematic understanding of
the features of the UML. The subtle value of this book (besides its mindshare value) is
Rumbaugh's depth of thought which provides insights into various notations and modeling
concepts. A CD-Rom version accompanies the book providing on-line search capabilities. |
| UML Distilled: Second Edition |
M. Fowler K. Scott |
Addison Wesley |
2000 |
0-201-65783-X |
This is the lightweight
(literally) version of the UML Reference. This is the one you carry around with you. The
author writes about the most popular (used) aspects of the UML. He gives good examples.
For its size its fairly complete. |
| Object-Oriented Technology: A Managers
Guide |
D. Taylor |
Addison-Wesley |
1990 |
0-201-56358-4 |
This early work was written by Dr.
Taylor while working for Servio. It was originally developed in-house to provide
background for their management. Later it was used to market their product and later
still, found its way on to commercial bookshelves. This ones good for the boss. |
| Surviving Object-Oriented Projects: A
Manager's Guide |
A. Cockburn |
Addison Wesley |
1998 |
0-201-49834-0 |
A practical, no-holds-barred
overview of OO projects. Alistair provides quality advice on all aspects of OO projects. |
| Succeeding with Objects |
A. Goldberg K. Rubin |
Addison-Wesley |
1995 |
0-201-62878-3 |
An easy to read book, though
voluminous, on just about every aspect of introducing OO into an organization. The topics
are very broad in nature, from the context of OO all the way through training, teams, and
measurement. Almost every topic includes a case study. |
| Object Success |
B. Meyer |
Prentice Hall Hertfordshire HP2 7EZ |
1995 |
0-13-192833-3 |
This book provides another
point-of-view on what it takes to be successful. Meyer's writing is straight from the
shoulder and clear. His approach is more from an underlying technical aspect and how it
affects the organization. Another very well articulated volume. |
| Component Software: Beyond Object-Oriented
Programming |
C. Szyperski |
Addison Wesley |
1998 |
0-201-17888-5 |
The first book (that I read) that
formally introduced the notion of component-based development/programming. The author very
clearly states his case addressing the various problems associated with OO programming,
e.g. polymorphism and inheritance. In the course of the exposition, the author addresses
many areas of development which include: technologies such as DCOM, Corba, and Java;
architectures and frameworks; component development and distribution. |
REFERENCES
and PERIODICALS |
|
|
|
|
|
| Dictionary of Object Technology |
D. Firesmith E. Eykhold |
SIGS Books New York, NY |
1995 |
0-13-373887-6 |
A very complete, up-to-date
dictionary of OO terms. This 603 page desk reference should answer most of your questions. |
| Application Development Trends |
|
Software Productivity Group, Inc., Northboro,
MA |
|
|
This free magazine should
be on everyone's office rack. Formerly "CASE Trends" this monthly magazine has
useful articles by active practitioners . |
| Software Development |
|
CMP |
|
|
A monthly magazine that provides
up-to-date perspectives, discussions, and prescriptions on the state of software
development. The columnist list is respectable and the articles are informative and often
controversial. |
| Component Strategies |
|
SIGS Publication, New York, NY |
|
|
This monthly magazine leans more
toward OOA than OOD. Lots of useful articles by well known authors. |
| Journal of Object-Oriented Programming |
|
SIGS Publication, New York, NY |
|
|
As the name of this monthly
magazine suggests, this is largely a technical magazine . However, there are several
articles each month that deal exclusively with analysis and are quite valuable. For those
with programming curiosity, there are also several articles each month on C++ and
Smalltalk that provide snippets of code. |
|