In this eagerly awaited second edition, Grady Booch draws upon the rich and varied results of those projects and offers improved methods for object development and a new, unified notation. With numerous examples implemented in C++, Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pra...
In this eagerly awaited second edition, Grady Booch draws upon the rich and varied results of those projects and offers improved methods for object development and a new, unified notation. With numerous examples implemented in C++, Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management. A two-time winner of Software Development's coveted Jolt Cola Product Excellence Award! --This text refers to the Hardcover edition.
Book 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.
Sidebars
Preface
Acknowledgments
About the Authors
Section I: Concepts
Chapter 1: Complexity
Chapter 2: The Object Model
Chapter 3: Classes and Objects
Chapter 4: Classification
Section II: Method
Chapter 5: Notation
Chapter 6: Process
Chapter 7: Pragmatics
Chapter 8: System Architecture: Satellite-Based Navigation
Through the object concept, a child comes to realize that objects have a permanence and
identity apart from any operations on them.
what is an Object?
an object represents an individual, identifiable item, unit, or entity, either real or
abstract, with a well-defined role in the problem domain.
control objects
--the ones that unite courses of events and thus will carry on communication with other
objects.
Some objects may have crisp conceptual boundaries yet represent intangible events or
processes.
An object has state, exhibits some well-defined behavior, and has a unique identity.
Some objects may be tangible yet have fuzzy physical boundaries.
attributes such as beauty or color are not objects, nor are emotions such as love and
anger. On the other hand, these things are... (查看原文)
The part of software development that will go away is the crafting of conceptual
structures; the part that can go away is the labor of expressing them.
The UML has numerous types of diagrams, each providing a certain view of your system.
Across all diagrams, all entities with the same name are considered to be references to
the same modeal item.
UML can be classified into two groups:
structure diagrams and behavior diagrams.
Behavior Diagrams
-User Case Diagram
-Activity Diagram
-State Machine Diagram
-Interaction Diagrams
.. Sequence Diagram
.. Communication Diagram
.. Interaction Overview Diagram
.. Timing Diagram
forward-engineering
reverse-engineering
The Conceptual model
captures the system in terms of the domain entities that exist(or will exist) and their
association wi... (查看原文)
1 有用 狂气之瞳改 2014-03-03 20:12:38
作者惊叹于各种复杂系统总是由界限清晰相互协作的单元构成的。——可正因为科学理论成功地把某事物解释为单元间的协作,这个事物才被称作系统啊。
0 有用 DMC 2010-07-02 03:44:02
用字挺艱深的一本書。
0 有用 Yining 2008-03-05 02:33:02
my first intro to OO and OOAD
0 有用 olostin 2009-09-04 15:38:31
还不错~理论结合实际~脉络清晰~开头很枯燥~要坚持
0 有用 ming 2013-03-09 10:36:15
说实话,感觉书名应该改成“面向对象软件工程”或者“面向对象软件开发过程”。里面讲了大量软件开发流程(基于RUP),目前对我而言,敏捷的吸引力更大,所以对这部分不太感兴趣。第三部分也同样是基于第二部分的流程展开实例讨论,完全没看。第一部分对我来说是最好的,主要从方法论上讲类、对象、分类方法等,算是本书最精华的部分。