Object-Oriented Software Engineering: Using UML, Patterns and Java (2nd Edition)

Object-Oriented Software Engineering: Using UML, Patterns and Java (2nd Edition)
Authors
Bernd Bruegge, Allen H. Dutoit
ISBN
0130471100
Published
05 Oct 2003
Purchase online
amazon.com

This widely used book teaches practical object-oriented software engineering with the key real world tools UML, design patterns and Java. This step-by-step approach allows the reader to address complex and changing problems with practical and state-of-the-art solutions. This book uses examples from real systems and examines the interaction between such techniques as UML, Java-based technologies, design patterns, rationale, configuration management, and quality control.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

MG said
This is not the best. You can probably can get something else that it is not that heavy to read. No good for rookies.

David A. Lessnau said
This is NOT a book on Unified Modeling Language (UML). It's not a book on Object Constraint Language (OCL). It's also not a book on Capability Maturity Models (CMM), Class-Responsibilities-Collaborators (CRC) cards, Decision Representation Language (DRL), Extreme Programming (XP), Gantt charts, Issue-Based Information Systems (IBIS), Joint Appication Design (JAD), Key Process Areas (KPA), the Liskov Substitution Principle, Model-View-Controller (MVC) architectural styles, Nonfunctional Requirements (NFR) Frameworks, Object Design Documents (ODD), PERT charts, the Questions-Options-Criteria (QOC) model, Requirements Analysis Documents (RAD), Royce's methodology, Software Configuration Management Plans (SCMP), System Design Documents (SDD), Software Project Management Plans (SPMP), the Unified Software Development Process, User Manuals, V-Models, Work Breakdown Structures (WBS), or any of the myriad other tools introduced in the book.

This IS a book to introduce newly-minted programmers to the kind of things, tools, and processes they can look forward to (with either anticipation or dread) in the real world of software development. As the authors state on page viii of the Preface:

"We have observed that students are taught programming and software engineering techniques in isolation, often using small problems as examples. As a result, they are able to solve well-defined problems efficiently, but are overwhelmed by the complexity of their first real development experience, when many different techniques and tools need to be used and different people need to collaborate."

It's been many years since I was involved in major software development projects (and those were all in the military). But, this book seems to have covered everything that all new programmers need to know so that they aren't simply lost when they enter their first software project. The readers certainly won't be experts in the things covered, but they'll at least have a good grounding and be able to bootstrap themselves from there (especially since the authors provide "Further Readings" and a Bibliography at the end of each chapter). For instance, on page 71, under Further Readings, they list three works on UML: one of which is the 566 page official specification, "OMG Unified Modeling Language Specification."

Overall, this is an excellent book for anyone who is just entering the software development world. I rate it at 5 stars out of 5.

As a side note, Florida State University (FSU) uses this book in its COP 3331: "Object-Oriented Analysis and Design" course.

O. Au said
It is a highly readable book. The authors are good at explaining concepts with clarity.

But the book is sloppy in any area that requires precision. They make no distinction of the four kinds of message sending in sequence diagrams. It is important for a UML user to differentiate synchronous, asynchronous, return and flat arrows. Otherwise a diagram will have different meaning. The authors use indiscriminately the notation of synchronous message when most of messages in their diagrams should be asynchronous.

The coverage on OCL is even worse. More than half of the OCL constraints are wrong!!!

You cannot rely on the corrections found on the authors' website because it only contains minor typos but misses the serious mistakes.

Though it is more prescriptive than the standard software engineering books such as the ones by Pressman and Sommerville, I would NOT recommend its use as a textbook due to the many errors. I found "Object-oriented Systems Analysis and Design" by Bennett, McRobb and Farmer a better how-to book in software engineering.

D. Fabbri said
I'm currently following a Msc in Software Development in England. This book is very good. Finally an excellent source to go through in all its aspects. Examples as well as explanations are clear, sound, and solid. The book provides short, though detailed definitions that avoid verbose and useless comments. The book is guiding the reader through the explanation of how to carry out and accomplish a real project. What I mostly like is the heuristics given for identifing and setting forth all the artifacts needed during Requirements Elicitation and Analysis. Hat off to the authors of this great reference.

NguyenHL said
The book is definitely a guide telling you how to do right thing in a right way. Good introduction to UML and show you how to prepare document for your customer.
Highly recommend !!!

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Debuggers don't remove bugs. They only show them in slow motion.”