Executable UML技术内幕(影印版)

Executable UML技术内幕(影印版)
作 者: 梅勒 巴尔塞
出版社: 科学出版社
丛编项: UML与面向对象设计影印丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Executable UML技术内幕(影印版)》作者简介

内容简介

Executable UML是软件开发领域的一项重大发明,这方面的著作尚不多见。本书对这一技术做了深入的介绍,比如,怎样用UML将需求和用况物化成为直观的图表,如何用UML产生可执行、可测试的模型,如何将模型直接翻译成代码,以及如何用Executable UML模型编译器将分散的系统域编译在一起。为加深读者对有关概念和技巧的理解,书中还提供了一个开发成功的大型案例。另外,还提供了两个网址,以便于读者下载有关的模型以及翻译和运行这些模型的工具。本书适合软件系统分析、设计人员阅读。

图书目录

Foreword

Preface

Acknowledgments

Chapter 1 Introduction

1.1 Raising the Level of Abstraction

1.2 Executable UML

1.3 Making UML Executable

1.4 Model Compilers

1.5 Model-Driven Architecture

1.6 References

Chapter 2 Using Executable UML

2.1 The System Model

2.1.1 Domain Identification

2.1.2 Use Cases

2.1.3 Iterating the System Model

2.2 Modeling a Single Domain

2.2.1 Classes

2.2.2 State Machines

2.2.3 Procedures

2.2.4 Iterating the Domain Models

2.2.5 Iterating between System and Domain Modeling

2.3 Verification and Execution

2.3.1 Model Verification

2.3.2 Model Compilation

2.3.3 Iterating Verification and Execution

2.4 The Big Picture

2.5 References

Chapter 3 Domains and Bridges

3.1 Domains

3.1.1 Domain Missions

3.1.2 Domain Autonomy

3.1.3 Domain Replacement

3.2 Domains and Requirements

3.3 Bridges

3.4 Aspects and Join Points

3.5 Domains and Aspects

3.6 References

Chpater 4 Use Cases

4.1 Basics of Use Cases

4.1.1 Actors

4.1.2 Use Cases

4.1.3 External Signals

4.2 Working with Use Cases

4.2.1 Single-Domain Use Cases

4.2.2 Levels of Use Cases

4.2.3 Applying Use Cases

4.3 Activity Diagrams

4.4 Formalizing Use Cases

4.4.1 Preconditions

4.4.2 Postconditions

4.4.3 Linked Use Cases

4.5 Scenarios and Testing

4.6 System Modeling

4.7 References

Chapter 5 Classes and Attributes

5.1 Classes

5.1.1 Finding Classes

5.1.2 Naming Classes

5.2 Attributes

5.2.1 Finding Attributes

5.3 Attribute Data Types

5.3.1 Core Data Types

5.3.2 Domain-Specific Data Types

5.3.3 Using Types

5.4 Documenting Classes and Attributes

5.4.1 Diagramming Classes and Attributes

5.4.2 Class Descriptions

5.4.3 Attribute Descriptions

5.5 Checking Classes and Attributes

5.5.1 Subject-Matter Check

5.5.2 Abstraction Checks

5.5.3 Attribute Checks

5.6 Rules, Rules, Rules

5.7 References

Chapter 6 Relationships and Associations

6.1 Associations

6.1.1 Association Names

6.1.2 Association Meanings

6.1.3 Multiplicity

6.2 Association Descriptions

6.3 Checking Associations

6.3.1 Conditionality

6.3.2 Capturing the Correct Classes and Roles

6.3.3 Multiple Associations

6.4 Association Classes

6.5 Generalization and Specialization

6.5.1 The Concept of Generalization and Specialization

6.5.2 Mutual Exclusion and its Implications

6.5.3 Repeated Specialization

6.5.4 Multiple Generalization

6.5.5 Compound Generalization

6.6 Reflexive Associations

6.7 The Class Model

6.8 References

Chapter 7 Class Actions

7.1 Object and Attribute Actions

7.2 Selection Expressions

7.3 Link Actions

7.4 Link Object Actions

7.5 Generalization Hierarchies

7.6 Other Action Languages

7.6.1 Small

7.6.2 Tall

7.6.3 Actions and Syntax

7.7 References

Chapter 8 Constraints

8.1 Unique Instance Constraints

8.1.1 Single Attribute Identifiers

8.1.2 Multiple Attribute Identifiers

8.1.3 Multiple Identifiers

8.2 Derived Attributes

8.3 Referential Constraints

8.3.1 Referential Attributes

8.3.2 Derived Identifiers

8.4 Association Loops

8.4.1 Unconstrained Association Loops

8.4.2 Redundant Associations

8.4.3 Equal Set Constraints

8.4.4 Subset Constraints

8.5 Constraints Capture Semantics

8.6 References

Chapter 9 Lifecycles

9.1 Concept of a Lifecycle

9.2 State Machine

9.2.1 Example Class with a State Machine

9.2.2 States

9.2.3 Events

9.2.4 Transitions

9.2.5 Procedures

9.3 State Transition Table

9.3.1 Basics of the State Transition Table

9.3.2 Discovering New Transitions

9.3.3 Discovering New States and Events

9.3.4 Event Ignored and Can't Happen

9.4 Creating and Deleting Objects

9.4.1 Initial Pseudostates

9.4.2 Final Pseudostates

9.5 Forming Lifecycles

9.6 Lifecycles for Classes

9.7 References

Chapter 10 Communicating Objects

10.1 Signals

10.1.1 Sending Signals

10.1.2 Event Parameters

10.1.3 Signals with Parameters

10.1.4 Signals to Self

10.1.5 Signals to External Entities

10.2 Creating and Deleting Objects

10.2.1 Asynchronous Creation and Deletion

10.2.2 Synchronous Creation and Deletion

10.3 Visualizing Domain Dynamics

10.3.1 Collaboration Diagrams

10.3.2 Concept of a Execution Trace

10.3.3 Sequencing Signals on a Collaboration Diagram

10.3.4 Sequence Diagram

10.3.5 Applicability

10.4 Domain Dynamics

Chapter 11 Synchronizing Objects

11.1 How to Think about Time

11.2 Rules about Signals

11.3 Rules about Procedures

11.4 Rules about Data Access

11.5 Delayed Signals and Time Events

11.6 Rules, Rules, Rules

11.7 References

Chapter 12 Using Lifecycles

12.1 Statechart Diagram Construction Techniques

12.1.1 Modeling Intention

12.1.2 Modeling Progression

12.1.3 Simultaneous Signals

12.1.4 Distinct Signals

12.2 Reworking the Class Diagram

12.2.1 Refactoring Behavior

12.2.2 Saving Signals in Data

12.3 References

Chapter 13 Relationship Dynamics

13.1 Dynamically Simple Associations

13.1.1 Associations without Explicit Lifecycles

13.1.2 Dynamic Associations with Association Classes

13.2 Associations Involving Competition

13.2.1 Competition in the Domain

13.2.2 Competition in the Models

13.2.3 An Example

13.2.4 Multi-Instance Contention

13.2.5 Object Selection and Selection Policies

13.3 Dynamics in Generalization Hierarchies

13.3.1 Superclass State Machines

13.3.2 Subclass State Machines

13.4 Polymorphic Events and Polymorphic Signals

13.5 Reclassification

13.5.1 Superclass State Machine

13.5.2 Subclass State Machines with Reclassification

13.6 References

Chapter 14 Domain Dynamics

14.1 Partitioning Control

14.2 Control Strategies

14.2.1 Push and Pull Control

14.2.2 The Pivot Point

14.2.3 Finding the Pivot

14.3 Delegation of Control

14.3.1 Hierarchical Delegation

14.3.2 Networked Delegation

14.3.3 Distributing Control in Associations

14.4 Input Conditioning

14.4.1 Input Sequencing

14.4.2 Distributing the Inputs

14.5 Distributed Dynamics

14.6 References

Chapter 15 Domain Verification

15.1 Finding Unit Tests for a Single Use Case

15.2 Test Execution

15.3 System Tests

15.4 Finding Test Cases from the Models

15.5 The Verification Gap

15.6 References

Chapter 16 Model Management

16.1 Dividing Large Domains

16.2 Subsystems and the Class Diagram

16.3 Collaborations between Subsystems

16.4 Adjusting Subsystem Partitioning

16.5 Model Management

Chapter 17 Joining Multiple Domains

17.1 Kinds of Domains

17.1.1 Application User Interface

17.1.2 Generic Service Domains

17.1.3 Realized Domains

17.2 Anonymous Explicit Bridges

17.2.1 External Entities

17.2.2 Signals from External Entities

17.2.3 Signals to External Entities

17.2.4 Bridge Operations

17.2.5 Synchronous or Asynchronous Bridging?

17.3 Implicit Bridging with Join Points

17.3.1 Rationale for Join Points

17.3.2 Class-Class Joins

17.3.3 Class-Instance Joins

17.4 Bridging to the Model Compiler

Chapter 18 Model Compilers

18.1 Compiling the Models: The Bookstore

18.1.1 Mechanisms

18.1.2 Archetypes

18.1.3 Archetype Language

18.2 Model Compilers and the Software Platform

18.3 Fit

18.4 Buying, Modifying, and Building a Model Compiler

18.5 Modeling the Model Compiler as a Domain

18.6 References

Appendix AGlossary

Appendix BCase Study

B.1 Subsystem ProductSpecification

B.2 Subsystem Ordering

B.3 Subsystem Shipping

B.4 Domain Data Types

B.5 Object Collaboration Diagram

Index