Mary Shaw
People often ask me for recommendations about software
engineering books. These don't cover all the topics that people
ask about, but each is outstanding in its area. You'll notice
that the emphasis here is on the engineering aspects of design,
and the scope is not limited strictly to software.
The Books:
Software architecture and system organization
Design
Universal Modeling Language
Engineering in General
Ordering On-line:
To make it easy for you to obtain these
books, each recommendation includes a link that allows
you to order the book from Amazon.com. To order more than
one of these, you may put each book in your shopping cart
and use the "back" button to return here for
the next book. . |
|
The Recommendations:
|
Naturally we'll start close to home. This is the
definitive introduction to software architecture, or the
study of the structural patterns people find useful for
organizing software systems. Using extensive examples, it
presents the software system organizations -- such as
pipes-and-filters, communicating processes, blackboards,
and event systems -- that software designers know and
love. It goes on to discuss ways to choose from among the
alternatives and to write precise specifications. Order
it from Amazon.com |
|
One of the two best books from the very successful
pattern movement, this one focuses on patterns that apply
to overall system organization, or architecture. Order
it from Amazon.com |
|
Jackson recognizes that problems fall into
recognizable classes, and that the classes have different
properties. He captures these as problem frames
such as "workpieces," "simple information
system," and "control." The book is
organized as a collection of short essays. Order
it from Amazon.com |
|
"Design" here means design of the
software-centered product as seen and used by its
ultimate clients. This collection of case studies,
guidelines, and reflections presents a view of software
design that includes issues that are too often neglected.
Order
it from Amazon.com |
|
As reported by my colleagues, a high-level overview
of UML. Quick read but not much technical detail. Read it
to get the overview. Order
it from Amazon.com |
|
According to my colleagues, a single volume with a
chapter on each of the myriad aspects of UML. Lots of
detail, CD-ROM with demo environment. Order
it from Amazon.com |
|
Software is often embedded in a larger system. Here
"architecting" is taken to be "the
planning and building of structures." Based on
Rechtin's long experience in aerospace systems, this
volume articulates design principles that apply not only
to software but to larger systems. Order
it from Amazon.com |
|
Petroski is a civil engineer. He believes that one of
the best ways to learn about good engineering design is
to examine failure cases to find the source of failure. I
liked To Engineer is Human; I like Design
Paradigms even better, because it includes not only
case studies but also generalizations and some design
guidance. Although the subject matter of these cases is
large engineering structures, the design lessons apply to
software as well. Order
it from Amazon.com |
|
Although the book is over 12 years old, the message
is still fresh: Success of an engineered artifact depends
critically on faithfulness to the integrity of the
engineered artifact. Squires analyzes a number of
successful and unsuccessful government technology
procurements. He finds that the failures were usually
associated with bureaucratic or political interference in
the acquisition. Order
it from Amazon.com, but realize that because of its
age, it may take several weeks to get a copy. On the
other hand, I was unsuccessful in locating it in even the
best physical bookstores in several cities. |
The fine print: This is the
Software Engineering department of Roy Weil's on-line bookstore,
an affiliate of Amazon.com. This department is edited by Mary
Shaw. Amazon.com is an on-line bookstore with secure procedures
for credit card purchases. To search for other books in Amazon's
huge collection, you may go directly to Amazon's front page. We'll donate any proceeds from sales via this page to
Carnegie Mellon.
This page is part of Mary Shaw's site in the School
of Computer Science at Carnegie Mellon
University. It was last modified on
01/22/98. Use of any portion of this site to generate spam or
other mass communications is forbidden. Comments to maintainer.