面向对象设计的UML实践(英文影印版)

面向对象设计的UML实践(英文影印版)
作 者: Mark Priestley
出版社: McGraw-Hill
丛编项: 大学计算机教育丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《面向对象设计的UML实践(英文影印版)》作者简介

内容简介

面向对象方法及技术的发展推动了对象建模技术的发展,而后者的发展又促进了前者的进步。本书完整详尽地给出了对象建模表示法严格的一致性形式化定义,以及从设计到实现的面向对象开发全过程。书中UML的表示法采用了,兼容以OMT为主,以及Booch、Coad-Yourdon等目前主要流行的三种建模表示法。主要内容:1、UML对象建模的基本概念、方法、技术和表示法的详细内容,提供了可视化、文档化、可构造的系统体系结构规格说明设计的论述。2、介绍了一种基于文本的对象约定语言OCL。该语言不但处理标准约定,并且处理完整的、一般化的、任意性的约定条件(包括上下文、流向、联接、集合及反复等结构)。为提高和保证系统的软件质量,这种规格说明在面向对象的设计中尤为重要。3、结合大量实例,提供了从面向对象设计到面向对象代码实现清晰的关系和详细的过程。具体例子的实现采用JAVA 1.0及C++语言,易于广大读者阅读和实践。4、每章末尾提供大量练习,有助于读者加深理解内容和进行面向对象设计开发的试验。5、在www.mcgraw-hill.co.uk/textbooks/priestley网站上,能找到书中例子和练习的全部资料。本书对于无论是在面向对象软件开发颇有经验的工程技术人员,还是开始接触面向对象软件开发的人员,都有很好的参考价值。作为软件工程的一种潮流发展技术,本书也可作为大学教师、研究生和高年级学生的参考书。

图书目录

1 Introduction to UML

1. l Models and modelling

1. 2 Methodologies

1. 3 The Unified Modeling Language

1. 4 Design models and code

1. 5 The software development process

1. 6 Summary

1. 7 Exercises

2 Modelling with Objects

2. 1 The object model

2. 2 Objects

2. 3 Object properties

2. 4 Avoiding data replication

2. 5 Links

2. 6 Message passing

2. 7 Polymorphism

2. 8 Dynamic binding

2. 9 Class diagrams

2. 1O The applicability of the object model

2. 11 Summary

2. 12 Exercises

3 Diagram Editor: Use Case View

3.1 Statement of requirements

3.2 The use case view

3.3 Creating new diagrams

3.4 Use case realization

3.5 Creating new elements

3.6 Selecting elements

3.7 Deleting elements

3.8 Moving and resizing elements

3.9 Use case extension

3.1O Use case diagrams

3.1l Summary

3.12 Exercises

4 Diagram Editor: Deign View

4.l The role of the design view

4.2 Classes and associations

4.3 Generalization

4.4 Creation tools

4.5 Selection tools

4.6 Features of classes

4.7 Complete class diagram

4.8 Dynamic modelling of the diagram editor

4.9 A statechart for creation tools

4.1O A statechart for selection tools

4.1l Statecharts for other classes

4.12 Summary

4.13 Exercises

5 Diagram Editor: Implementation View

5.l Application frameworks

5.2 The applet framework

5.3 Implementation of classes

5.4 Implementation of associations

5.5 Implementation of statecharts

5.6 Managing tools

5.7 The document/view architecture

5.8 Summary

5.9 Exercises

6 Class Diagrams

6.1 Primitive notions

6.2 Classes

6.3 Describing objects with classes

6.4 Associations

6.5 The need for generalization

6.6 Generalization and specialization

6.7 Inheritance of attributes and operations

6.8 Association generalization

6.9 Aggregation

6.10 Composite objects

6.11 Association classes

6.12 Qualified associations

6.13 Multiple inheritance

6.14 Summary

6.15 Exercises

7 Interaction Diagrams

7.1 Collaborations

7.2 Classifier roles

7.3 Association roles

7.4 Transient links

7.5 Interaction diagrams

7.6 Object creation

7.7 Object destruction

7.8 Iterated messages

7.9 Multiobjects

7.1O Conditional messages

7.11 Messages to self

7.12 Summary

7.13 Exercises

8 Statecharts

8.1 State-dependent behaviour

8.2 States, events and transitions

8.3 Initial and final states

8.4 Guard conditions

8.5 Actions

8.6 Activities

8.7 Composite states

8.8 History states

8.9 Summary of the CD player

8.1O Dynamic modelling in practice

8.11 Time events

8.12 Activity states

8.13 Summary of the ticket machine

8.14 Summary

8.15 Exercises

9 Constraints

9.1 Standard constraints

9.2 The Object Constraint Language

9.3 The context of a constraint

9.4 Navigation expressions

9.5 Objects and collections

9.6 Constraints

9.7 Stereotyped constraints

9.8 Constraints and generalization

9.9 Summary

9.1O Exercises

1O Implementation Strategies

1O.1 Implementing associations

10.2 Unidirectional implementations

1O.3 Bidirectional implementations

1O.4 Implementing qualifiers

1O.5 Implementing associations as classes

1O.6 Implementing constraints

1O.7 Implementing statecharts

1O.8 Persistency

1O.9 Interfacing to databases

1O.1O Summary

1O.11 Exercises

11 Design Pragmatics

11.1 Physical design

11.2 Interfaces

11.3 Reverse engineering

11.4 Templates

11.5 Optimization of design models

11.6 Summary

11.7 Exercises

12 Principles and Patterns

12.1 The open-closed principle

12.2 No concrete superclasses

12.3 Decouple the interface hierarchy

12.4 The Liskov substitution principle

12.5 Interactions determine structure

12.6 Design patterns

12.7 Recursive structures

12.8 The State and Strategy patterns

12.9 MVC, document/view and Observer

12.1O Applying Visitor to the stock control program

12.1l Summary

12.12 Exercises

13 Cab Dispatching System

13.1 Use cases

13.2 Handling immediate jobs

13.3 Handling prebooked jobs

13.4 Allocating a cab to ajob

13.5 Job confirmation

13.6 Cancelling a job

13.7 Progression of jobs

13.8 Completing the static model

13.9 Implementation overview

13.1O Summary

13.1l Exercises

A Summary of Notation Used

A.1 Common notations

A.2 Use case diagrams

A.3 Object diagrams

A.4 Collaborations

A.5 Sequence diagrams

A.6 Collaboration diagrams

A.7 Class diagrams

A.8 Statechart diagrams

A.9 Component diagrams

A. 10 Templates

References

Index