Object-Oriented Design: With Applications gives you practical guidance for constructing complex object-oriented systems and provides the first comprehensive description of object-oriented design methods. Numerous examples – drawn from the author's extensive experience in developing very large software systems – and five challenging application projects will teach you how to use object-oriented and object-based programming languages to solve real problems.
The First Section: Concepts examines the fundamental elements of the object model and explains techniques to identify classes and objects. Object-oriented programming issues are discussed throughout. The Second Section: The Method then introduces you to a method for object-oriented design (OOD). You’ll study the method’s widely accepted graphical notation and step-by-step design process. Practical advice is also offered on the challenges of managing object-oriented development projects. The Third Section: Applications gives you the opportunity to synthesize OOD concepts and apply the method in five real-world application domains. Each application is a complete design example and is implemented in a different programming language.
Features
• Provides a comprehensive overview of all key object-oriented issues,
methods, and languages using numerous real-world examples.
• Teaches a pragmatic method for developing object-oriented systems
based on sound software engineering principles.
• Distinguishes between good and bad object-oriented designs
and shows how to trade off alternate designs to manage complexity.
• Demonstrates in each application how to implement an incremental and iterative process
(analysis, design, evolution, and modification) to tackle realistic, complex problems.
• Includes a detailed appendix on object-oriented programming languages
for review and use in the applications.
Many of the articles have been updated to reflect current thinking in the Unified Modeling Language (UML).
With The Unified Modeling Language User Guide, readers will:
• understand what the UML is, what it is not,
and why it is relevant to the development of software-intensive systems
• master the vocabulary, rules, and idioms of the UML in order
to “speak” the language effectively
• learn how to apply the UML to a number of common modeling problems
• see illustrations of the UML’s use interspersed with use cases for specific UML features
• gain insight into the UML from the original designers of the UML