Objects, Components, and Frameworks with UML: The Catalysis Approach
暫譯: 使用 UML 的物件、元件與框架:催化法

Desmond Francis D'Souza, Alan Cameron Wills

  • 出版商: Addison Wesley
  • 出版日期: 1998-10-29
  • 定價: $1,980
  • 售價: 5.0$990
  • 語言: 英文
  • 頁數: 816
  • 裝訂: Paperback
  • ISBN: 0201310120
  • ISBN-13: 9780201310122
  • 相關分類: UML
  • 立即出貨(限量) (庫存=1)

買這商品的人也買了...

相關主題

商品描述


Description

This book teaches the student 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 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, students 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.

Back to Top


Appropriate Courses

Unified Modeling Language (UML).

Back to Top


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.
Back to Top


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


Back to Top

商品描述(中文翻譯)

這本書教導學生如何使用物件、框架和UML符號來設計、建構和重用基於元件的軟體。Catalysis是一種快速興起的基於UML的方法,用於物件和元件的開發。它提供了UML符號的清晰意義和系統化的使用方式。「Catalysis方法」解釋了如何將模式特徵化為模型框架。透過在需求、規範、架構和設計中應用框架,學生將發現所有模型都包含結構、行為和精煉的重複模式。這為快速構建模型和設計鋪平了道路,通過調整和組合通用及特定領域的建模框架。

適合的課程
統一建模語言 (UML)。

特點
- 展示如何建立清晰的共享商業模型。
- 以精確的方式定義基本的共享詞彙。
- 在抽象細節的同時,早期指出關鍵需求和設計決策。
- 使用UML作為分析師和設計師之間強大且明確的溝通工具。
- 從一致的可插拔元件套件中製作可調整系統的家族。
- 將以介面為中心的設計和組合分配給元件。
- 使用精確規範和設計的技術創建穩健的元件。
- 應用和提取可重用的框架以進行設計、規範和架構。

目錄
- 前言。
- I. 概述。
1. Catalysis之旅。
物件與行動。
精煉:不同尺度的物件與行動。
開發層次。
商業建模。
模型框架作為模板。
對軟體的深入了解:系統上下文。
需求規範模型。
元件。
分配責任。
物件導向設計。
開發過程。
三個構造加框架。
三個建模層次。
三個原則。
總結。
- II. 使用物件建模。
2. 靜態模型:物件屬性和不變式。
靜態模型是什麼?
物件狀態:物件和屬性。
物件狀態的實現。
建模物件狀態:類型、屬性和關聯。
靜態不變式。
字典。
商業模型;元件模型。
靜態模型:總結。
3. 行為模型:物件類型和操作。
物件行為:物件和行動。
更精確的行動規範。
兩個Java實現的日曆。
日曆的類型規範。
具有不變式的行動。
解釋行動規範。
子類型和類型擴展。
因式分解行動規範。
狀態圖。
行動的輸出。
主觀模型:包含的意義。
類型規範:總結。
程式語言:類別和類型。
4. 互動模型:使用案例、行動和協作。
設計物件協作。
行動(使用案例)抽象複雜的互動。
使用案例是共同的行動。
行動和效果。
同時行動。
協作。
協作的用途。
協作規範。
協作:總結。
5. 有效的文檔。
這一切是為了什麼?
文檔簡單有趣,並加速設計。
接觸文檔受眾。
主要文檔:規範和實現。
文檔化商業模型。
文檔化元件規範。
文檔化元件實現。
總結。
- III. 因式分解模型和設計。
6. 抽象、精煉和測試。
放大和縮小:為什麼要抽象和精煉?
文檔化精煉和符合性。
試算表:一個精煉的例子。
試算表:模型精煉。
試算表:行動精煉。
試算表:物件精煉。
試算表:操作精煉。
狀態圖的精煉。
總結。
精煉的過程模式。
模式6.1 OO黃金法則(無縫或連續性)。
模式6.2 黃金法則與其他優化的比較。
模式6.3 正交抽象和精煉。
模式6.4 精煉是一種關係,而不是序列。
模式6.5 遞歸精煉。
7. 使用包。
包是什麼?
包導入。
如何使用包和導入。
使用包進行解耦。
嵌套包。
使用包進行封裝。
多重導入和名稱衝突。
發布、版本控制和構建。
程式語言包。
總結。
8. 組合模型和規範。
將片段粘合在一起。
連接和子類型化。
組合包及其定義。
行動例外和組合規範。
總結。
9. 模型框架和模板包。
模型框架概述。
類型和屬性的模型框架。
協作框架。
精煉框架。
組合框架。
作為屬性包的模板。
用於相等和複製的模板。
包語義。
基本模板。
模型框架概念的總結。
- IV. 通過組裝實現。
10. 元件和連接器。
基於元件的開發概述。
元件的演變。
使用Java構建元件。
使用COM+的元件。
使用CORBA的元件。
元件套件:可插拔元件庫。
元件架構。
定義Cat One-A元件架構。
指定Cat One元件。
連接Cat One元件。
異構元件。
模式10.1 提取通用代碼元件。
模式10.2 元件管理。
模式10.3 從框架構建模型。
模式10.4 插入符合性。
模式10.5 使用舊版或第三方元件。
總結。
11. 在代碼中重用和可插拔設計框架。
重用和開發過程。
通用元件和插入點。
代碼重用的框架方法。
框架:從規範到代碼。
基本插入技術。
總結。
模式11.1 角色委派。
模式11.2 可插拔角色。
12. 架構。
架構是什麼?
為什麼要架構?
使用場景進行架構評估。
架構基於定義的元素。
架構使用一致的模式。
應用架構與技術架構。
典型的四層商業架構。
使用者介面。
物件和資料庫。
總結。
- V. 如何應用Catalysis。
13. 流程概述。
模型、設計、實現和測試 - 遞歸。
流程的一般說明。
典型項目演變。
典型包結構。
主要流程模式。
模式13.1 從零開始的物件開發。
模式13.2 重新工程。
模式13.3 短週期開發。
模式13.4 平行工作。
14. 如何建立商業模型。
商業建模過程模式。
模式14.1 商業流程改進。
模式14.2 建立商業模型。
模式14.3 表示商業詞彙和規則。
模式14.4 涉及商業專家。
模式14.5 創建共同的商業模型。
模式14.6 選擇抽象層次。
建模模式。
模式14.7 類型模型是詞彙表。
模式14.8 概念分離:正規化。
模式14.9 項目和描述符。
模式14.10 一般化和特殊化。
模式14.11 遞歸組合。
模式14.12 來自關聯循環的不變式。
視頻案例研究:抽象商業模型。
視頻商業:使用案例精煉。
模式14.13 行動具象化。
15. 如何指定元件。
指定元件的模式。
模式15.1 指定元件。
模式15.2 橋接需求和規範。
模式15.3 使用案例導向的系統規範。
模式15.4 遞歸分解:分而治之。
模式15.5 使用案例創建上下文模型。
模式15.6 故事板。
模式15.7 構建系統行為規範。
模式15.8 指定系統行動。
模式15.9 在系統類型模型中使用狀態圖。
模式15.10 指定元件視圖。
模式15.11 組合元件視圖。
模式15.12 避免奇蹟,精煉規範。
模式15.13 為客戶解釋模型。
視頻案例研究:系統規範。
系統上下文圖。
系統規範。
使用模型框架。
16. 如何實現元件。
設計以滿足規範。
模式16.1 解耦。
模式16.2 高層次元件設計。
模式16.3 具象化主要的並行使用案例。
模式16.4 分離外觀。
模式16.5 平台獨立性。
模式16.6 將中介軟體與商業元件分開。
模式16.7 實現技術架構。
模式16.8 基本設計。
模式16.9 在基本設計後進行一般化。
模式16.10 協作和責任。
模式16.11 連結和屬性擁有權。
模式16.12 物件局部性和連結實現。
模式16.13 優化。