Fundamentals of Object-Oriented Design in UML
暫譯: UML物件導向設計基礎

Meilir Page-Jones

  • 出版商: Addison Wesley
  • 出版日期: 1999-11-03
  • 售價: $2,050
  • 貴賓價: 9.5$1,948
  • 語言: 英文
  • 頁數: 480
  • 裝訂: Paperback
  • ISBN: 020169946X
  • ISBN-13: 9780201699463
  • 相關分類: UMLObject-oriented
  • 海外代購書籍(需單獨結帳)

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

商品描述


Table Of Contents

I. INTRODUCTION.

1. What does it mean to be object oriented, anyway?
Encapsulation.
Information / implementation hiding.
State retention.
Object identity.
Messages.
Message structure.
Message arguments.
The roles of objects in messages.
Types of messages.

Classes.
Inheritance.
Polymorphism.
Genericity.

2. Object orientation--who ordered that?
Where did object orientation come from?
Larry Constantine.
O.J. Dahl and K. Nygaard.
Alan Kay, Adele Goldberg and others.
Edsger Dijkstra.
Barbara Liskov.
David Parnas.
Jean Ichbiah and others.
Bjarne Stroustrup.
Bertrand Meyer.
0 Grady Booch, Ivar Jacobson and Jim Rumbaugh.

Object orientation in a social context.
The history of the mainstream.
To the barricades: the object-oriented revolutionaries.
Forward to the past: the object-oriented reactionaries.
Enter the evolutionists (stage middle).

Object orientation as an engineering discipline.
What's object orientation good for?
Analyzing users' requirements.
Designing software.
Constructing software.
Maintaining software.
Using software.
Managing software projects.


II. UML NOTATION.

3. The basic notation for classes, attributes and operations.
The class symbol.
Notation for attributes.
Notation for operations.
Overloaded operations.
Public, protected and private features.
Class attributes and operations.
Abstract classes and features.
The utility.
Parameterized classes.

4. Class diagrams.
The generalization construct.
Single inheritance.
Multiple inheritance.
Subclass partitioning.
Partitioning discriminators.

The association construct.
The basic UML notation for associations.
Associations depicted as classes.
Higher-order associations.
Navigability of associations.

"Whole / part" associations.
Composition.
Aggregation.


5. Object-interaction diagrams.
The collaboration diagram.
Depicting a message.
Polymorphism in the collaboration diagram.
Iterated messages.
Use of self in messages.

The sequence diagram.
Asynchronous messages and concurrent execution.
Depicting an asynchronous message.
The callback mechanism.
Asynchronous messages with priority.
Depicting a broadcast (non-targeted) message.


6. State diagrams.
Basic state diagrams.
Nested states.
Concurrent states and synchronization.
Transient states from message-result arguments.
Continuously variable attributes.

7. Additional design diagrams.
Depicting system architecture.
Packages.
Deployment diagrams for hardware components.
Deployment diagrams for software components.

Depicting the human interface.
The window-layout diagram.
The window-navigation diagram.
A brief digression: what's object-oriented about a GUI?


III. FUNDAMENTAL DESIGN PRINCIPLES.

8. Encapsulation and connascence.
Encapsulation structure.
Levels of encapsulation.
Design criteria governing interacting levels of encapsulation.

Connascence.
Varieties of connascence.
Contranascence.
Connascence and encapsulation boundaries.
Connascence and maintainability.
Connascence abuses in object-oriented systems.


9. Domains, encumbrance and cohesion.
Domains of object classes.
The foundation domain.
The architectural domain.
The business domain.
The application domain.
The source of classes in each domain.

Encumbrance.
Definition of encumbrance.
The use of encumbrance.
The Law of Demeter.

Class cohesion: a class and its features.
Mixed-instance cohesion.
Mixed-domain cohesion.
Mixed-role cohesion.


10. State space and behavior.
State-space and behavior of a class.
The state-space of a subclass.
The behavior of a subclass.
The class invariant as a restriction on a state-space.
Preconditions and postconditions.

11. Principles of robust class hierarchies.
The principle of type conformance.
Subclasses as subtypes.
Conformance: the principles of contravariance and covariance.
An example of contravariance and covariance.
A graphic illustration of contravariance and covariance.
A summary of the requirements for type conformance.

The principle of closed behavior.

12. The perils of inheritance and polymorphism.
Abuses of inheritance.
Mistaken aggregates.
Inverted hierarchy.
Confusing class and instance.
Misapplying is a.

The danger of polymorphism.
Polymorphism of operations.
Polymorphism of variables.
Polymorphism in messages.
Polymorphism and genericity.


13. Organizing features.
Mix-in classes.
A business example.
A graphics example.

Rings of operations.

14. Quality of a class interface.
State support in a class interface.
Behavior support in a class interface.
Operation cohesion in a class interface.

15. Development of an object-oriented component.
Appendices.
Appendix A Checklist for an object-oriented design walkthrough.
Appendix B The object-oriented design owner's manual.
Bibliography.
Glossary.
Index. 020169946XT04062001


Back to Top

商品描述(中文翻譯)

目錄

I. 引言
1. 物件導向到底是什麼意思?
封裝。
資訊/實作隱藏。
狀態保留。
物件身份。
訊息。
訊息結構。
訊息參數。
物件在訊息中的角色。
訊息類型。

類別。
繼承。
多型。
泛型。

2. 物件導向——誰訂的?
物件導向的起源。
Larry Constantine。
O.J. Dahl 和 K. Nygaard。
Alan Kay、Adele Goldberg 等人。
Edsger Dijkstra。
Barbara Liskov。
David Parnas。
Jean Ichbiah 等人。
Bjarne Stroustrup。
Bertrand Meyer。
Grady Booch、Ivar Jacobson 和 Jim Rumbaugh。

社會背景下的物件導向。
主流的歷史。
衝上前線:物件導向的革命者。
回顧過去:物件導向的反動派。
進入進化論者(中間階段)。

物件導向作為一種工程學科。
物件導向的用途是什麼?
分析使用者需求。
設計軟體。
建構軟體。
維護軟體。
使用軟體。
管理軟體專案。

II. UML 符號
3. 類別、屬性和操作的基本符號。
類別符號。
屬性的符號。
操作的符號。
重載操作。
公共、保護和私有特徵。
類別屬性和操作。
抽象類別和特徵。
實用性。
參數化類別。

4. 類別圖。
泛化結構。
單一繼承。
多重繼承。
子類別劃分。
劃分區別符。

關聯結構。
關聯的基本 UML 符號。
將關聯描繪為類別。
高階關聯。
關聯的可導航性。

「整體/部分」關聯。
組合。
聚合。

5. 物件互動圖。
協作圖。
描述訊息。
協作圖中的多型。
迭代訊息。
在訊息中使用 self。

序列圖。
非同步訊息和並行執行。
描述非同步訊息。
回呼機制。
具有優先權的非同步訊息。
描述廣播(非目標)訊息。

6. 狀態圖。
基本狀態圖。
嵌套狀態。
並行狀態和同步。
來自訊息結果參數的瞬態狀態。
持續變化的屬性。

7. 附加設計圖。
描述系統架構。
套件。
硬體元件的部署圖。
軟體元件的部署圖。

描述人機介面。
視窗佈局圖。
視窗導航圖。
簡短的插曲:GUI 中的物件導向是什麼?

III. 基本設計原則
8. 封裝和共生性。
封裝結構。
封裝的層級。
影響互動層級的設計標準。

共生性。
共生性的種類。
反共生性。
共生性和封裝邊界。
共生性和可維護性。
物件導向系統中的共生性濫用。

9. 領域、負擔和內聚性。
物件類別的領域。
基礎領域。
架構領域。
業務領域。
應用領域。
每個領域中的類別來源。

負擔。
負擔的定義。
負擔的使用。
德梅特法則。

類別內聚性:一個類別及其特徵。
混合實例內聚性。
混合領域內聚性。
混合角色內聚性。

10. 狀態空間和行為。
類別的狀態空間和行為。
子類別的狀態空間。
子類別的行為。
類別不變式作為狀態空間的限制。
前置條件和後置條件。

11. 穩健類別層級的原則。
類型相容性的原則。
子類別作為子類型。
相容性:反變和變的原則。
反變和變的範例。
反變和變的圖示。
類型相容性的要求總結。

封閉行為的原則。

12. 繼承和多型的危險。
繼承的濫用。
錯誤的聚合。
反轉層級。
混淆類別和實例。
錯誤應用 is a。

多型的危險。
操作的多型。
變數的多型。
訊息中的多型。
多型和泛型。

13. 組織特徵。
混合類別。
一個業務範例。
一個圖形範例。

操作環。

14. 類別介面的品質。
類別介面的狀態支援。
類別介面的行為支援。
類別介面的操作內聚性。

15. 物件導向元件的開發。
附錄。
附錄 A 物件導向設計檢查表。
附錄 B 物件導向設計使用手冊。
參考文獻。
術語表。
索引。
020169946XT04062001

最後瀏覽商品 (20)