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

by ;
Edition: 1st
Format: Paperback
Pub. Date: 1998-10-19
Publisher(s): Addison-Wesley Professional
List Price: $53.45

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Using the Catalysis approach, Objects, Components, and Frameworks with UMLdetails the recurring patterns within UML. Catalysis is a rapidly emerging UML-based method for component and framework-based development with objects, and it is gaining popularity because it allows developers to more easily build business models, requirement specs, designs, and code. The authors describe a unique UML-based approach to precise specification of component interfaces using a type model. By identifying patterns in this notational language, the authors provide application developers and system architects with well-defined and reusable techniques that help them build open distributed object systems from components and frameworks. Expected Availability: September 1998

Author Biography

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

Table of Contents

Preface xv
PART I OVERVIEW 1(42)
Chapter 1 A Tour of Catalysis
3(40)
1.1 Objects and Actions
3(3)
1.2 Refinement: Objects and Actions at Different Scales
6(4)
1.3 Development Layers
10(1)
1.4 Business Modeling
11(2)
1.5 Model Frameworks as Templates
13(2)
1.6 Zooming In on the Software: System Context
15(1)
1.7 Requirements Specification Models
16(2)
1.8 Components
18(7)
1.9 Assigning Responsibilities
25(5)
1.10 Object-Oriented Design
30(1)
1.11 The Development Process
31(1)
1.12 Three Constructs Plus Frameworks
32(3)
1.13 Three Levels of Modeling
35(2)
1.14 Three Principles
37(2)
1.15 Summary
39(4)
PART II MODELING WITH OBJECTS 43(168)
Chapter 2 Static Models: Object Attributes and Invariants
45(34)
2.1 What Is a Static Model?
46(3)
2.2 Object State: Objects and Attributes
49(5)
2.3 Implementations of Object State
54(2)
2.4 Modeling Object State: Types, Attributes, and Associations
56(10)
2.5 Static Invariants
66(8)
2.6 The Dictionary
74(1)
2.7 Models of Business; Models of Components
75(1)
2.8 Summary
76(3)
Chapter 3 Behavior Models: Object Types and Operations
79(74)
3.1 Object Behavior: Objects and Actions
80(6)
3.2 More Precise Action Specifications
86(6)
3.3 Two Java Implementations of a Calendar
92(5)
3.4 Type Specification of Calendar
97(5)
3.5 Actions with Invariants
102(6)
3.6 Interpreting an Action Specification
108(5)
3.7 Subtypes and Type Extension
113(4)
3.8 Factoring Action Specifications
117(9)
3.9 State Charts
126(8)
3.10 Outputs of Actions
134(3)
3.11 Subjective Model: The Meaning of Containment
137(2)
3.12 Type Specifications: Summary
139(4)
3.13 Programming Language: Classes and Types
143(10)
Chapter 4 Interaction Models: Use Cases, Actions, and Collaborations
153(32)
4.1 Designing Object Collaborations
153(1)
4.2 Actions (Use Cases) Abstract Complex Interactions
154(10)
4.3 Use Cases Are Joint Actions
164(3)
4.4 Actions and Effects
167(1)
4.5 Concurrent Actions
168(4)
4.6 Collaborations
172(1)
4.7 Uses of Collaborations
173(6)
4.8 Collaboration Specification
179(3)
4.9 Collaborations: Summary
182(3)
Chapter 5 Effective Documentation
185(26)
5.1 What's It All For?
185(1)
5.2 Documentation Is Easy and Fun, and It Speeds Design
186(6)
5.3 Reaching the Documentation Audience
192(3)
5.4 The Main Documents: Specification and Implementation
195(3)
5.5 Documenting Business Models
198(4)
5.6 Documenting Component Specifications
202(4)
5.7 Documenting Component Implementations
206(2)
5.8 Summary
208(3)
PART III FACTORING MODELS AND DESIGNS 211(170)
Chapter 6 Abstraction, Refinement, and Testing
213(72)
6.1 Zooming In and Out: Why Abstract and Refine?
214(16)
6.2 Documenting Refinement and Conformance
230(3)
6.3 Spreadsheet: A Refinement Example
233(5)
6.4 Spreadsheet: Model Refinement
238(9)
6.5 Spreadsheet: Action Refinement
247(7)
6.6 Spreadsheet: Object Refinement
254(10)
6.7 Spreadsheet: Operation Refinement
264(5)
6.8 Refinement of State Charts
269(3)
6.9 Summary
272(1)
6.10 Process Patterns for Refinement
273(12)
Pattern 6.1 The OO Golden Rule (Seamlessness or Continuity)
274(2)
Pattern 6.2 The Golden Rule versus Other Optimizations
276(2)
Pattern 6.3 Orthogonal Abstractions and Refinement
278(2)
Pattern 6.4 Refinement Is a Relation, Not a Sequence
280(3)
Pattern 6.5 Recursive Refinement
283(2)
Chapter 7 Using Packages
285(36)
7.1 What Is a Package?
285(7)
7.2 Package Imports
292(6)
7.3 How to Use Packages and Imports
298(5)
7.4 Decoupling with Packages
303(5)
7.5 Nested Packages
308(2)
7.6 Encapsulation with Packages
310(2)
7.7 Multiple Imports and Name Conflicts
312(3)
7.8 Publication, Version Control, and Builds
315(3)
7.9 Programming Language Packages
318(1)
7.10 Summary
318(3)
Chapter 8 Composing Models and Specifications
321(18)
8.1 Sticking Pieces Together
321(1)
8.2 Joining and Subtyping
322(2)
8.3 Combining Packages and Their Definitions
324(7)
8.4 Action Exceptions and Composing Specs
331(6)
8.5 Summary
337(2)
Chapter 9 Model Frameworks and Template Packages
339(42)
9.1 Model Framework Overview
339(3)
9.2 Model Frameworks of Types and Attributes
342(4)
9.3 Collaboration Frameworks
346(6)
9.4 Refining Frameworks
352(5)
9.5 Composing Frameworks
357(2)
9.6 Templates as Packages of Properties
359(7)
9.7 Templates for Equality and Copying
366(3)
9.8 Package Semantics
369(4)
9.9 Down to Basics with Templates
373(5)
9.10 Summary of Model Framework Concepts
378(3)
PART IV IMPLEMENTATION BY ASSEMBLY 381(124)
Chapter 10 Components and Connectors
383(70)
10.1 Overview of Component-Based Development
384(8)
10.2 The Evolution of Components
392(6)
10.3 Building Components with Java
398(3)
10.4 Components with COM+
401(2)
10.5 Components with CORBA
403(1)
10.6 Component Kit: Pluggable Components Library
404(5)
10.7 Component Architecture
409(5)
10.8 Defining Cat One-A Component Architecture
414(7)
10.9 Specifying Cat One Components
421(5)
10.10 Connecting Cat One Components
426(2)
10.11 Heterogeneous Components
428(24)
Pattern 10.1 Extracting Generic Code Components
444(2)
Pattern 10.2 Componentware Management
446(2)
Pattern 10.3 Build Models from Frameworks
448(1)
Pattern 10.4 Plug Conformance
449(1)
Pattern 10.5 Using Legacy or Third-Party Components
450(2)
10.12 Summary
452(1)
Chapter 11 Reuse and Pluggable Design Frameworks in Code
453(28)
11.1 Reuse and the Development Process
453(4)
11.2 Generic Components and Plug-Points
457(4)
11.3 The Framework Approach to Code Reuse
461(4)
11.4 Frameworks: Specs to Code
465(6)
11.5 Basic Plug Technology
471(6)
11.6 Summary
477(4)
Pattern 11.1 Role Delegation
478(2)
Pattern 11.2 Pluggable Roles
480(1)
Chapter 12 Architecture
481(24)
12.1 What Is Architecture?
481(5)
12.2 Why Architect?
486(4)
12.3 Architecture Evaluation with Scenarios
490(1)
12.4 Architecture Builds on Defined Elements
491(2)
12.5 Architecture Uses Consistent Patterns
493(3)
12.6 Application versus Technical Architecture
496(1)
12.7 Typical Four-Tier Business Architecture
497(1)
12.8 User Interfaces
498(3)
12.9 Objects and Databases
501(1)
12.10 Summary
502(3)
PART V HOW TO APPLY CATALYSIS 505(184)
Chapter 13 Process Overview
507(36)
13.1 Model, Design, Implement, and Test-Recursively
507(3)
13.2 General Notes on the Process
510(12)
13.3 Typical Project Evolution
522(4)
13.4 Typical Package Structure
526(4)
13.5 Main Process Patterns
530(13)
Pattern 13.1 Object Development from Scratch
533(2)
Pattern 13.2 Reengineering
535(4)
Pattern 13.3 Short-Cycle Development
539(2)
Pattern 13.4 Parallel Work
541(2)
Chapter 14 How to Build a Business Model
543(38)
14.1 Business Modeling Process Patterns
543(14)
Pattern 14.1 Business Process Improvement
545(3)
Pattern 14.2 Make a Business Model
548(3)
Pattern 14.3 Represent Business Vocabulary and Rules
551(1)
Pattern 14.4 Involve Business Experts
552(2)
Pattern 14.5 Creating a Common Business Model
554(2)
Pattern 14.6 Choose a Level of Abstraction
556(1)
14.2 Modeling Patterns
557(12)
Pattern 14.7 The Type Model Is a Glossary
558(2)
Pattern 14.8 Separation of Concepts: Normalization
560(2)
Pattern 14.9 Items and Descriptors
562(2)
Pattern 14.10 Generalize and Specialize
564(1)
Pattern 14.11 Recursive Composite
565(2)
Pattern 14.12 Invariants from Association Loops
567(2)
14.3 Video Case Study: Abstract Business Model
569(6)
14.4 Video Business: Use Case Refinement
575(6)
Pattern 14.13 Action Reification
580(1)
Chapter 15 How to Specify a Component
581(58)
15.1 Patterns for Specifying Components
581(35)
Pattern 15.1 Specify Components
583(2)
Pattern 15.2 Bridge Requirements and Specifications
585(2)
Pattern 15.3 Use-Case-Led System Specification
587(2)
Pattern 15.4 Recursive Decomposition: Divide and Conquer
589(2)
Pattern 15.5 Make a Context Model with Use Cases
591(4)
Pattern 15.6 Storyboards
595(1)
Pattern 15.7 Construct a System Behavior Spec
596(4)
Pattern 15.8 Specifying a System Action
600(3)
Pattern 15.9 Using State Charts in System Type Models
603(4)
Pattern 15.10 Specify Component Views
607(2)
Pattern 15.11 Compose Component Views
609(2)
Pattern 15.12 Avoid Miracles, Refine the Spec
611(2)
Pattern 15.13 Interpreting Models for Clients
613(3)
15.2 Video Case Study: System Specifications
616(5)
15.3 System Context Diagram
621(5)
15.4 System Specification
626(8)
15.5 Using Model Frameworks
634(5)
Chapter 16 How to Implement a Component
639(50)
16.1 Designing to Meet a Specification
639(30)
Pattern 16.1 Decoupling
641(2)
Pattern 16.2 High-Level Component Design
643(1)
Pattern 16.3 Reifying Major Concurrent Use Cases
644(2)
Pattern 16.4 Separating Facades
646(3)
Pattern 16.5 Platform Independence
649(1)
Pattern 16.6 Separate Middleware from Business Components
650(2)
Pattern 16.7 Implement Technical Architecture
652(2)
Pattern 16.8 Basic Design
654(6)
Pattern 16.9 Generalize after Basic Design
660(1)
Pattern 16.10 Collaborations and Responsibilities
661(3)
Pattern 16.11 Link and Attribute Ownership
664(1)
Pattern 16.12 Object Locality and Link Implementation
665(2)
Pattern 16.13 Optimization
667(2)
16.2 Detailed Design Patterns
669(11)
Pattern 16.14 Two-Way Link
670(2)
Pattern 16.15 Role Decoupling
672(2)
Pattern 16.16 Factories
674(2)
Pattern 16.17 Observer
676(2)
Pattern 16.18 Plug-Points and Plug-Ins
678(2)
16.3 Video Case Study: Component-Based Design
680(9)
Appendix A Object Constraint Language 689(8)
Appendix B UML Perspective 697(6)
Appendix C Catalysis Support Tools, Services, and Experiences 703(2)
Notes 705(10)
Glossary 715(14)
Index 729

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.