UML面向对象设计基础

UML面向对象设计基础
作 者: 约翰斯
出版社: 科学出版社
丛编项: UML与面向对象设计影印丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《UML面向对象设计基础》作者简介

内容简介

UML已成为描述面向对象设计符号的事实上的标准。本书介绍了面向对象软件设计的基本概念、符号表示、术语、准则以及原理等内容,其中第一部分(第1章和第2章)介绍了面向对象的基本概念以及面向对象编程的发展过程,第二部分(第3章至第7章)对UML进行了系统的介绍,第三部分(第8章至第14章)较深入地介绍面向对象设计的原理。最后一章(第15章)对软件构件的优缺点作了分析。本书可供面向对象技术的程序员、设计人员、系统工程师或技术经理使用。

图书目录

Forword

Preface

Part I Introduction

Chapter 1 What Does It Mean to Be Object Oriented,Anyway?

1.1 Encapsulation

1.2 Information/Implementation Hiding

1.3 State Retention

1.4 Object Identity

1.5 Message

1.5.1 Message stuture

1.5.2 Message arguments

1.5.3 The roles of objects in message

1.5.4 Types of message

1.6 Classes

1.7 Inheritance

1.8 Polymorphism

1.9 Genericity

1.10 Summary

1.11 Exercises

1.12 Answers

Chapter 2 A Brief History of Object Orientation

2.1 Where Did Object Orientation Come From?

2.1.1 Larry Constantine

2.1.2 O.J Dahl and Nygaard

2.1.3 Alan Kay,Adele Goldberg, and others

2.1.4 Edsger Dijkstra

2.1.5 Barbara Liskov

2.1.6 David Parnas

2.1.7 Jean Ichbiah and others

2.1.8 Bjarne Stroustrup

2.1.9 Bertrand Meyer

2.1.10 Grady Booch,Ivar Jacobson,and Jim Rumbaugh

2.2 Object Orientation Comes of Age

2.3 Object Orientation As an Enguneering Discipline

2.4 What's Object Orientation Good For?

2.4.1 Analyzing user'requireements

2.4.2 Designing software

2.4.3 Constructing software

2.4.4 Maintaining software

2.4.5 Using software

2.4.6 Managing Software projects

2.5 Summary

2.6 Exercise

2.7 Answers

PART II The Unified Modeling language

Chapter 3 Basic Expression of Classes,Attibutes,and Operations

3.1 The class

3.2 Attibutes

3.3 Operations

3.4 Overloaded Operations

3.5 Visibilitity of Attributes and Operations

3.6 Class Attibutes and Operations

3.7 Abstract Operations and Class

3.8 The Utility

3.9 Parameterized Classes

3.10 Summary

3.11 Exercises

3.12 Answers

Chapter 4 Class Diagrams

4.1 The Generalization Construct

4.1.1 Single inheritance

4.1.2 Multiple inheritance

4.1.3 Subclass partitioning

4.1.4 partitioning discriminators

4.2 The Association Construct

4.2.1 The basic UML notation for associations

4.2.2 Associations depicted as classes

4.2.3 Higher-order associations

4.2.4 Navigability of associations

4.3 Whole/part Associations

4.3.1 Composition

4.3.2 Aggregation

4.4 Summary

4.5 Exercises

4.6 Answers

Chapter 5 Object-Interaction Diagrams

5.1 The Collaboration Diagram

5.1.1 Depicting a message

5.1.2 Polymorphism in the collaboration diagram

5.1.3 Interated message

5.1.4 Use of self in messages

5.2 The Sequence Diagram

5.3 Asynchronous Messages and Concurrent Execution

5.3.1 Depicting an asynchronous message

5.3.2 The callback mechanism

5.3.3 Asynchronous messages with priority

5.3.4 Depicting a broadcast(nontargeted)message

5.4 Summary

5.5 Exercise

5.6 Answers

Chapter 6 State Dialgrams

6.1 Basic State Diagrams

6.2 Nested States

6.3 Concurrent States and Synchroniation

6.4 Ttansient States from Message-Result Arguments

6.5 Continuousl Variable Attributes

6.6 Summary

6.7 Exercises

6.8 Answers

Chapter 7 Architecture and Interface Diagrams

7.1 Depicting System Architecture

7.1.1 Packages

7.1.2 Deployment diagrams for hardware artifaces

7.1.3 Deployment diagrams for software constructs

7.2 Drpicting the Human Interface

7.2.1 The windows-Layout diagram

7.2.2 The windows-navigation diagram

7.2.3 ABrief diagression:What' object oriented about a GUI?

7.3 Summary

7.4 Exercises

7.5 Answers

Part III Principle of Object-Orientend Design

Chapter 8 Encapsulation and Connascence

8.1 Encapsulation Structure

8.1.1 Levels of encapdulation

8.1.2 Design criteria governing interacting levles of encapsulation

8.2 connascence

8.2.1 Varieties of connascence

8.2.2 Contranascene

8.2.3 Connascence and encapsulation boundaries

8.2.4 Connascence and maintanability

8.2.5 Connascence abuses in object-oriented systems

8.2.6 The term connascence

8.3 Summary

8.4 Exercises

8.5 Answers

Chapter 9 Domains,Encumbrance,and Cohesion

9.1 Domains of Object Classes

9.1.1 The architecture domain

9.1.2 The Architecture domain

9.1.3 The business domain

9.1.4 The application domain

9.1.5 The source of classes in each domain

9.2 Encumbrance

9.2.1 What is encumbrance?

9.2.2 The user of encumbrance

9.2.3 The law of Demeter

9.3 Class Cohesion:A Class and its Festures

9.3.1 Mixed-instance cohesion

9.3.2 Mixed-domain cohesion

9.3.3 Mixed-role cohesion

9.4 Summary

9.5 Exercises

9.6 Answers

Chapter 10 State-Space and Behavior

10.1 State-Space and Behavior of Class

10.2 The State-Space of a subclass

10.3 The behavior of a subclass

10.4 The class invariant as a Restriction on a State-Space

10.5 Preconditions and Postcondition

10.6 Summary

10.7 Exercises

10.8 Answers

Chapter 11 Type Conformance and Closed Behavior

11.1 Class versus Type

11.2 The Principe of Type Conformance

11.2.1 The principles of contravariance and covariance

11.2.2 An example of contravariance and covariance

11.2.3 A graphic illustration of contravariance and covariance

11.2.4 A summary of the requirements for type conformance

11.3 The rinciple of Closed Behavior

11.4 Summary

11.5 Exercises

11.6 Answers

Chapter 12 The Perils of Inheritance and Polymorphism

12.1 Abuses of Inheritance

12.1.1 Mistaken aggregates

12.1.2 Inverted hierarchy

12.1.3 Confuseing class and instance

12.1.4 Misapplying is a 306

12.2 The Danger of Polymorphism

12.2.1 Polymorphism of operations

12.2.2 Polymorphism of variables

12.2.3 Polymorphism in message

12.2.4 Polymorphism and genericity

12.3 Summary

12.4 Exercises

12.5 Answers

Chapter 13 Techniques for Organizing Operations

13.1 Mix-in Class

13.1.1 A business example

13.1.2 A graphics example

13.2 Rights of Operations

13.3 Summary

13.4 Exercises

13.5 Answers

Chapter 14 Class Cohesion and Support of States and Bheavior

14.1 States Support in a Class Interface

14.2 Behavior Support in a Class Interface

14.3 Operation Cohesion in a Class Interface

14.4 Summary

14.5 Exercises

14.6 Answers

Chapter 15 Designing a software Component

15.1 What Is a Component?

15.2 Similarties and Differences Between Components and Objects

15.3 Example of a Component

15.4 Internal Disign of a Component

15.5 Lightweight and Hesvyweight Components

15.6 Advabtages and Disadvantages of Using Component

15.7 Summary

15.8 Exercises

15.9 Answers

Appendix A: Checklist for Object-Oriented Design Walkthrough

Appendix B: The Object-Oriented Owner's Manuals

Appendix C: The Blitz Guide to Object-Oriented Terminology

Glossary

Bibiography

Index