Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Objects, Components, and Frameworks with UML : The Catalysis(SM) Approach

Objects, Components, and Frameworks with UML : The Catalysis(SM) Approach

List Price: $49.95
Your Price: $43.18
Product Info Reviews

<< 1 2 >>

Rating: 3 stars
Summary: Interesting Concepts, But Overall A Little Disappointing
Review: This book had the potential to be a 5 star book but alas it comes up short. The concepts that the authors attempt to relate are things that most people could use in their software development: static and behavioral object modeling, abstraction, components, packages, architecture, and frameworks. The problem is the Catalysis Approach. Unfortunately, many of the terms and diagrams used are similar in name but different in meaning from what is typically written in UML. I have numerous other books published by Addison Wesley on object modeling - Design Patterns and Refactoring to name a couple - and they tend to lean more toward the Rational or Unified Process. It is very difficult to take the information that the authors present in Catalysis and see how it relates to the work of the GOF without a lot of translating. This is not to say that there is not room for other processes or methodologies in the software community; however, the average engineer sitting at his desk is going to have a hard time mining the information in this book because of the presentation. Catalysis may be a very effictive process, but it should be examined to see if it can use UML in ways that most software developers are accostumed to seeing.

Rating: 5 stars
Summary: Superb In-Depth Component Treatment
Review: This book is superb. I have not seen any other book (UML or otherwise) that provides as thorough and consistent a treatment of the really difficult range of issues from domain modeling through component-based implementation.

The best parts, IMO, are (a) Type Modeling (b) Refinement (c) Package factoring, and (d) Frameworks.

The writing could have been simplified; the (many) valuable insights are not sufficiently highlighted. And the book is not for those who need "Objects 101" or "UML for dummies".

But if you know objects, understand basic modeling, and really want to step up ... get this one and keep it!

Rating: 5 stars
Summary: What we all have been waiting for ...
Review: This is a great book on software development methodology. If you want to go component based, then this should be on your software shopping list. (But beware, this is NOT a beginners-tutorial or an OO-for-dummies-kind of book.)

The book does not only cover the Catalysis methodology. There is a lot of stuff also on architecture, implementation and every other aspect of software development.

A must have for all who consider designing and building software a serious business.

Rating: 5 stars
Summary: Alltime favorite
Review: This is one of my alltime favorites.
If you always felt annoyed by the lack of coherence in UML, then buy this book to read about a comforting and coherent approach.
If you're looking for a book on applying standard UML diagramming techniques, then you shouldn't buy this book. Catalysis people would probably call this an 'import with modifications'. They modify some of the UML language in order to present you a more coherent way of looking at software and software development.
If you're looking for a book that would help you using your UML tools in a useful way, then you shouldn't read this book. I've never been able to find a tool that supports the Catalysis approach.
If you wonder if Catalysis is still alive, then I'd say: join the crew. There isn't really a living Catalysis community, and the authors seem to have gone numb after writing this book.

Rating: 5 stars
Summary: This book made me a better developer
Review: Two years after I first read it, it amazes me how often I come back to the ideas in this book. One of the underlying principles of Catalysis is that you use as much or as little rigor as you need. As a consultant, I tend to bounce back and forth between projects that require loads of rigor (documentation) and projects that just want me to hack up a quick fix to a problem. Surprisingly, Catalysis works equally well for both.

I was prompted to write this review after performing a recent application optimization that I was particularly proud of. There is no way I would have arrived at such a good solution so quickly had I not internalized some of the ideas in this book. In the end, I think that's the true measure of any tech book, method, product, etc. - does it make me a better developer? I am a much better developer for having read this book.

In case you're interested, the optimization I performed involved an application that accessed the database over and over. Any good developer knows that caching that data in memory is the way to speed it up. But the database access was married into the processing all over the place - there was no concept of a database tier. At first I thought I'd have to redesign everything to make it faster, which I simply didn't have time to do. Then I had a "Catalysis moment" when I realized that to the calling code the database itself is just a component that can be replaced. I looked at the way the calling code (lots of it) accessed the database - what parameters did it send into queries, etc. Then I made a component that looked as much as possible like the database, using collection objects (STL in C++) to store the complex network of data. I loaded data into the component at the appropriate start-up point and replaced all the individual database calls with calls to this component, making the app 15 times faster. The important point here is that I never changed the algorithms of the calling code - just one of the "components" that the calling code referred to, so making this change took very little time and solved a serious business problem.

Most books on objects just focus on fine-grained objects (person, order, company, etc.). Catalysis also makes you look at large-grained components (OrderManager, "legacy order management system", etc.), even things that you wouldn't at first think of as a component. Thinking of a database or a legacy mainframe system or even a human process as a component part of a larger system makes it just a building block with a defined interface that can be used or replaced as needed. This is an incredibly powerful way of viewing the world. This book is huge - it has a ton of ideas, and it even ties them all together, but this concept was my favorite. Bottom line - Catalysis made me a better developer.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates