Home > Store > Software Development & Management > Object Technology

larger cover

Add To My Wish List

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

Register your product to gain access to bonus material or receive a coupon.

  • About
  • Description
  • Reviews
  • Sample Content

Annotation

Introduces Catalysis, a next-generation method for constructing open component systems from frameworks.

Product Author Bios

Desmond D'Souza is senior vice president of component-based development at Platinum Technologyis ICON Computing Lab, working on tools and methods for effective software engineering. Since 1985 he has helped model and build systems in finance, systems management, CAD, and telecommunications, and is a frequent speaker at conferences and companies worldwide. Alan Cameron Wills is technical director of TriReme International Ltd., consulting and training clients in many fields including banking, telecommunications, and manufacturing. Dr. Wills has worked on methods and tools since 1982, and specializes in making frontline research practical and available for main-stream software engineering.

0201310120AB04062001

Features

  • Shows how to build clear shared business models.
  • Defines essential shared vocabulary in a precise way.
  • Points out critical requirements and design decisions early while abstracting detail.
  • Uses UML as a powerful, unambiguous communication tool between analysts and designers.
  • Makes families of adaptable systems from coherent kits of pluggable components.
  • Assigns interface-centric design and composition to components.
  • Creates robust components, using techniques of precise specification and design.
  • Applies and extracts reusable frameworks for designs, specifications, and architectures.

". . . We found Catalysis to be the first comprehensive object-oriented methodology to unify the concepts of objects, frameworks, and component technologies."
John McGehee, Senior Architect, Texas Instruments Works Project

Objects, Components, and Frameworks with UML: The Catalysis Approach is where you will learn how to use objects, frameworks, and UML notation to design, build, and reuse component-based software. Catalysis is a rapidly emerging UML-based method for object and component-based development. It provides you with a clear meaning of and systematic uses for the UML notation.

"The Catalysis Approach" explains how patterns can be characterized as model frameworks. Through the application of frameworks in requirements, specifications, architectures, and designs, you will find that all models contain recurring patterns of structure, behavior, and refinement. This opens the way to building models and designs rapidly by adapting and composing both generic and domain-specific modeling frameworks.

Key Features of Catalysis:

  • Shows how to build clear shared business models
  • Defines essential shared vocabulary in a precise way
  • Points out critical requirements and design decisions early while abstracting detail
  • Uses UML as a powerful, unambiguous communication tool between analysts and designers
  • Makes families of adaptable systems from coherent kits of pluggable components
  • Assigns interface-centric design and composition to components
  • Creates robust components, using techniques of precise specification and design
  • Applies and extracts reusable frameworks for designs, specifications, and architectures

In development and use with the authorsi many clients since 1992, Catalysis has influenced the UML standard and the MicrosoftTI component-definition model as implemented in the Microsoft Repository. Its simple core, on-demand precision, and separation of concerns support component technologies and standards based on Java, CORBA, COM+, and RMODP.



0201310120B04062001

Customer Reviews

25 of 25 people found the following review helpful
4.0 out of 5 stars ***** content, *** presentation - Some brilliant stuff here, February 24, 1999
By 
Christopher (Seattle, Washington, USA) - See all my reviews
This review is from: Objects, Components, and Frameworks with UML: The Catalysis(SM) Approach (Paperback)
I have just completed this text, having read every word on every page. Now it is my time to give back to the authors; I take this review quite seriously. First, a little context (which most reviewers feel obliged to omit): I am 23, a consultant, and have designed and coded on 3 major systems (10,000+ lines of code, up to 9 months in duration). I have not yet independently led a project, but I will, this year. So I am ahead of the curve in time, but still young with much to learn.

I have owned this book for approximately 7 weeks. I have given this 800-page book between 1-4 hours of care, 5-6 days a week since its arrival. In total, I would guess 50-60 hours of reading spent (not counting the 80+ hours of spacing out/absorption). I am versed in UML, Design Patterns, OMT, and all major technologies (excluding SmallTalk). This book has just jumped to the top of my all-time-favorites list... and I almost gave up after the 3rd chapter.

These authors have discovered... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 9 people found the following review helpful
5.0 out of 5 stars Best Book on UML and Process, May 4, 2001
By 
R. Williams "code slubber" (Los Angeles, CA United States) - See all my reviews
(VINE VOICE)    (REAL NAME)   
This review is from: Objects, Components, and Frameworks with UML: The Catalysis(SM) Approach (Paperback)
IMHO, this one is top of the heap. There are a number of things that set it apart: 1. it is looking at issues that surround the large scale, complex development. When people start to realize that XP doesn't have legs long enough for most projects, this will be a good place for them to turn, 2. A lot of modeling is about structure and these guys talk about structure a lot, and give you lots of ideas about some of the ways structure informs design. For instance, on the component front, they focus on the fact that component architectures are often going to be layered and that the structures are almost fractal. This is one of those books where you realize that they are talking about things that you have often wondered about but never seen covered elsewhere. 3. This books is all about components. XP doesn't even mention components really. Frameworks and components are the future. And not monolithic, swiss army knife components, but interlocking, specifically purposed components.

My... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 8 people found the following review helpful
3.0 out of 5 stars The method is great the book could be improved, September 16, 1999
By 
Daniel Moth (Seattle, WA) - See all my reviews
(REAL NAME)   
This review is from: Objects, Components, and Frameworks with UML: The Catalysis(SM) Approach (Paperback)
Catalysis as a method is very powerful no doubt. Catalysis the book is a different story. I consider myself lucky in the respect that I had a subset of the method taught to me by people that have had some input to the Catalysis method (from University of Brighton, UK). I was also impressed by IS A RUNNING THROUGH EXAMPLE? A case study is desperately needed and it could easily replace some of the other material in the book. I know that if one can apply the techniques described in this book (not necessarily the full set) better more robust software will be the result. It is a shame that you need loads of time to get through the book. Given the choice I would have still bought this book but I believe there is area for improvement in the book not the method. END
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 15 customer reviews...

Table of Contents



Preface.

I. OVERVIEW.

1. A Tour of Catalysis.

Objects and Actions.

Refinement: Objects and Actions at Different Scales.

Development Layers.

Business Modeling.

Model Frameworks as Templates.

Zooming In on the Software: System Context.

Requirements Specification Models.

Components.

Assigning Responsibilities.

Object-Oriented Design.

The Development Process.

Three Constructs Plus Frameworks.

Three Levels of Modeling.

Three Principles.

Summary.

II. MODELING WITH OBJECTS.

2. Static Models: Object Attributes and Invariants.

What Is a Static Model?

Object State: Objects and Attributes.

Implementations of Object State.

Modeling Object State: Types, Attributes, and Associations.

Static Invariants.

The Dictionary.

Models of Business; Models of Components.

Static Models: Summary.

3. Behavior Models: Object Types and Operations.

Object Behavior: Objects and Actions.

More Precise Action Specifications.

Two Java Implementations of a Calendar.

Type Specification of Calendar.

Actions with Invariants.

Interpreting an Action Specification.

Subtypes and Type Extension.

Factoring Action Specifications.

State Charts.

Outputs of Actions.

Subjective Model: The Meaning of Containment.

Type Specifications: Summary.

Programming Language: Classes and Types.

4. Interaction Models: Use Cases, Actions, and Collaborations.

Designing Object Collaborations.

Actions (Use Cases) Abstract Complex Interactions.

Use Cases Are Joint Actions.

Actions and Effects.

Concurrent Actions.

Collaborations.

Uses of Collaborations.

Collaboration Specification.

Collaborations: Summary.

5. Effective Documentation.

What’s It All For?

Documentation Is Easy and Fun, and It Speeds Design.

Reaching the Documentation Audience.

The Main Documents: Specification and Implementation.

Documenting Business Models.

Documenting Component Specifications.

Documenting Component Implementations.

Summary.

III. FACTORING MODELS AND DESIGNS.

6. Abstraction, Refinement, and Testing.

Zooming In and Out: Why Abstract and Refine?

Documenting Refinement and Conformance.

Spreadsheet: A Refinement Example.

Spreadsheet: Model Refinement.

Spreadsheet: Action Refinement.

Spreadsheet: Object Refinement.

Spreadsheet: Operation Refinement.

Refinement of State Charts.

Summary.

Process Patterns for Refinement.

Pattern 6.1 The OO Golden Rule (Seamlessness or Continuity).

Pattern 6.2 The Golden Rule versus Other Optimizations.

Pattern 6.3 Orthogonal Abstractions and Refinement.

Pattern 6.4 Refinement Is a Relation, Not a Sequence.

Pattern 6.5 Recursive Refinement.

7. Using Packages.

What Is a Package?

Package Imports.

How to Use Packages and Imports.

Decoupling with Packages.

Nested Packages.

Encapsulation with Packages.

Multiple Imports and Name Conflicts.

Publication, Version Control, and Builds.

Programming Language Packages.

Summary.

8. Composing Models and Specifications.

Sticking Pieces Together.

Joining and Subtyping.

Combining Packages and Their Definitions.

Action Exceptions and Composing Specs.

Summary.

9. Model Frameworks and Template Packages.

Model Framework Overview.

Model Frameworks of Types and Attributes.

Collaboration Frameworks.

Refining Frameworks.

Composing Frameworks.

Templates as Packages of Properties.

Templates for Equality and Copying.

Package Semantics.

Down to Basics with Templates.

Summary of Model Framework Concepts.

IV. IMPLEMENTATION BY ASSEMBLY.

10. Components and Connectors.

Overview of Component-Based Development.

The Evolution of Components.

Building Components with Java.

Components with COM+.

Components with CORBA.

Component Kit: Pluggable Components Library.

Component Architecture.

Defining Cat One-A Component Architecture.

Specifying Cat One Components.

Connecting Cat One Components.

Heterogeneous Components.

Pattern 10.1 Extracting Generic Code Components.

Pattern 10.2 Componentware Management.

Pattern 10.3 Build Models from Frameworks.

Pattern 10.4 Plug Conformance.

Pattern 10.5 Using Legacy or Third-Party Components.

Summary.

11. Reuse and Pluggable Design Frameworks in Code.

Reuse and the Development Process.

Generic Components and Plug-Points.

The Framework Approach to Code Reuse.

Frameworks: Specs to Code.

Basic Plug Technology.

Summary.

Pattern 11.1 Role Delegation.

Pattern 11.2 Pluggable Roles.

12. Architecture.

What Is Architecture?

Why Architect?

Architecture Evaluation with Scenarios.

Architecture Builds on Defined Elements.

Architecture Uses Consistent Patterns.

Application versus Technical Architecture.

Typical Four-Tier Business Architecture.

User Interfaces.

Objects and Databases.

Summary.

V. HOW TO APPLY CATALYSIS.

13. Process Overview.

Model, Design, Implement, and Test-Recursively.

General Notes on the Process.

Typical Project Evolution.

Typical Package Structure.

Main Process Patterns.

Pattern 13.1 Object Development from Scratch.

Pattern 13.2 Reengineering.

Pattern 13.3 Short-Cycle Development.

Pattern 13.4 Parallel Work.

14. How to Build a Business Model.

Business Modeling Process Patterns.

Pattern 14.1 Business Process Improvement.

Pattern 14.2 Make a Business Model.

Pattern 14.3 Represent Business Vocabulary and Rules.

Pattern 14.4 Involve Business Experts.

Pattern 14.5 Creating a Common Business Model.

Pattern 14.6 Choose a Level of Abstraction.

Modeling Patterns.

Pattern 14.7 The Type Model Is a Glossary.

Pattern 14.8 Separation of Concepts: Normalization.

Pattern 14.9 Items and Descriptors.

Pattern 14.10 Generalize and Specialize.

Pattern 14.11 Recursive Composite.

Pattern 14.12 Invariants from Association Loops.

Video Case Study: Abstract Business Model.

Video Business: Use Case Refinement.

Pattern 14.13 Action Reification.

15. How to Specify a Component.

Patterns for Specifying Components.

Pattern 15.1 Specify Components.

Pattern 15.2 Bridge Requirements and Specifications.

Pattern 15.3 Use-Case-Led System Specification.

Pattern 15.4 Recursive Decomposition: Divide and Conquer.

Pattern 15.5 Make a Context Model with Use Cases.

Pattern 15.6 Storyboards.

Pattern 15.7 Construct a System Behavior Spec.

Pattern 15.8 Specifying a System Action.

Pattern 15.9 Using State Charts in System Type Models.

Pattern 15.10 Specify Component Views.

Pattern 15.11 Compose Component Views.

Pattern 15.12 Avoid Miracles, Refine the Spec.

Pattern 15.13 Interpreting Models for Clients.

Video Case Study: System Specifications.

System Context Diagram.

System Specification.

Using Model Frameworks.

16. How to Implement a Component.

Designing to Meet a Specification.

Pattern 16.1 Decoupling.

Pattern 16.2 High-Level Component Design.

Pattern 16.3 Reifying Major Concurrent Use Cases.

Pattern 16.4 Separating Facades.

Pattern 16.5 Platform Independence.

Pattern 16.6 Separate Middleware from Business Components.

Pattern 16.7 Implement Technical Architecture.

Pattern 16.8 Basic Design.

Pattern 16.9 Generalize after Basic Design.

Pattern 16.10 Collaborations and Responsibilities.

Pattern 16.11 Link and Attribute Ownership.

Pattern 16.12 Object Locality and Link Implementation.

Pattern 16.13 Optimization.

Detailed Design Patterns.

Pattern 16.14 Two-Way Link.

Pattern 16.15 Role Decoupling.

Pattern 16.16 Factories.

Pattern 16.17 Observer.

Pattern 16.18 Plug-Points and Plug-Ins.

Video Case Study: Component-Based Design.

Appendix A: Object Constraint Language.

Appendix B: UML Perspective.

Appendix C: Catalysis Support Tools, Services, and Experiences.

Notes.

Glossary.

Index. 0201310120T04062001

 
Buy

Book  $49.95  $39.96

Usually ships in 24 hours.

This book includes free shipping!

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.