Object-Oriented Analysis and Design with Applications, 3/e (Hardcover)
內容描述
Description
Object-Oriented
Design with Applications has long been the essential reference to
object-oriented technology, which, in turn, has evolved to join the mainstream
of industrial-strength software development. In this third edition--the first
revision in 13 years--readers can learn to apply object-oriented methods using
new paradigms such as Java, the Unified Modeling Language (UML) 2.0, and
.NET.
The authors draw upon their
rich and varied experience to offer improved methods for object development
and numerous examples that tackle the complex problems faced by software
engineers, including systems architecture, data acquisition, cryptoanalysis,
control systems, and Web development. They illustrate essential concepts,
explain the method, and show successful applications in a variety of fields.
You'll also find pragmatic advice on a host of issues, including
classification, implementation strategies, and cost-effective project
management.
New to this new edition
are
An introduction to the new UML 2.0, from the
notation's most fundamental and advanced elements with an emphasis on key
changes
New domains and contexts
A greatly enhanced focus on modeling--as
eagerly requested by readers--with five chapters that each delve into one
phase of the overall development lifecycle.
Fresh approaches to reasoning about complex
systems
An examination of the conceptual foundation of
the widely misunderstood fundamental elements of the object model, such as
abstraction, encapsulation, modularity, and hierarchy
How to allocate the resources of a team of
developers and mange the risks associated with developing complex software
systems
An appendix on object-oriented programming
languages
This is the seminal text for
anyone who wishes to use object-oriented technology to manage the complexity
inherent in many kinds of systems.
Table of
Contents
Sidebars xiPreface
xiiiAcknowledgments xixAbout the
Authors xxi
Section I: Concepts 1
Chapter 1: Complexity 3
1.1 The Structure of Complex Systems
41.2 The Inherent
Complexity of Software 71.3
The Five Attributes of a Complex System
121.4 Organized and
Disorganized Complexity 141.5
Bringing Order to Chaos
181.6 On Designing Complex
Systems 24
Chapter 2: The Object Model 29
2.1 The Evolution of the Object
Model 292.2 Foundations of
the Object Model 372.3
Elements of the Object Model
432.4 Applying the Object Model
71
Chapter 3: Classes and Objects 75
3.1 The Nature of an Object
753.2 Relationships among
Objects 883.3 The Nature
of a Class 923.4
Relationships among Classes
963.5 The Interplay of
Classes and Objects 1113.6
On Building Quality Classes and Objects
112
Chapter 4: Classification 121
4.1 The Importance of Proper Classification
1214.2 Identifying Classes
and Objects 1264.3 Key
Abstractions and Mechanisms 138
Section II: Method 145
Chapter 5: Notation 147
5.1 The Unified Modeling Language
1475.2 Package Diagrams
1555.3 Component Diagrams
1635.4 Deployment Diagrams
1715.5 Use Case Diagrams
1755.6 Activity
Diagrams 1855.7 Class
Diagrams 1925.8 Sequence
Diagrams 2065.9
Interaction Overview Diagrams
2135.10 Composite Structure Diagrams
2155.11 State Machine Diagrams
2185.12 Timing Diagrams
2315.13 Object Diagrams
2355.14 Communication Diagrams
238
Chapter 6: Process 247
6.1 First Principles
2486.2 The
Macro Process: The Software Development Lifecycle 2566.3
The Micro Process: The Analysis and
Design Process 272
Chapter 7: Pragmatics 303
7.1 Management and Planning
3047.2 Staffing
3087.3 Release Management
3127.4 Reuse
3147.5 Quality Assurance
and Metrics 3167.6
Documentation 3207.7
Tools 3227.8
Special Topics 3247.9
The Benefits and Risks of Object-Oriented
Development 326
Section III: Applications 331
Chapter 8: System Architecture: Satellite-Based Navigation
333
8.1 Inception 3348.2
Elaboration 3478.3
Construction 3708.4
Post-Transition 371
Chapter 9: Control System: Traffic Management 375
9.1 Inception 3769.2
Elaboration 3859.3
Construction 3969.4
Post-Transition 411
Chapter 10: Artificial Intelligence: Cryptanalysis
413
10.1 Inception 41410.2
Elaboration 42110.3
Construction 42710.4
Post-Transition 446
Chapter 11: Data Acquisition: Weather Monitoring Station
449
11.1 Inception 45011.2
Elaboration 46311.3
Construction 47411.4
Post-Transition 487
Chapter 12: Web Application: Vacation Tracking System
489
12.1 Inception 49012.2
Elaboration 49412.3
Construction 50612.4
Transition and Post-Transition
534
Appendix A: Object-Oriented Programming Languages
537
A.1 Language Evolution
537A.2 Smalltalk
541A.3
C++ 546A.4
Java 551
Appendix B: Further Reading 557
Notes 567Glossary
591Classified Bibliography
603Index
677