Java™ Design - Kirk Knoernschild

Java™ Design

Objects, UML, and Process
Buch | Softcover
304 Seiten
2002
Addison Wesley (Verlag)
978-0-201-75044-7 (ISBN)
45,85 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
This volume provides a systematic approach to striving for perfection in Java enterprise software.
Drawing upon the experiences of hundreds of developers he has trained or worked with, Kirk Knoernschild offers a systematic guide to solving today's complex problems of Java-based enterprise application design and implementation. Knoernschild focuses on both technology and process, offering a phased approach to integrating UML, object-oriented development, and Java throughout the entire development lifecycle. Knoernschild begins by reintroducing objects and object-oriented design, presenting key concepts such as polymorphism and inheritance in terms of several powerful principles and patterns that inform the entire book. Next, he introduces the UML: how it evolved, the problems it helps to solve, and how various UML constructs can be mapped to Java. Knoernschild shows how to structure UML diagrams to more easily identify the problem being solved, introduces best practices that any software development process should promote, and shows how the UML fits with these best practices.
He reviews the external considerations that impact how companies really use the UML, Java, and object-based techniques, presenting a pragmatic, phased approach to integrating them with the least pain and the greatest effectiveness. The book concludes with in-depth coverage of behavioral and structural modeling, again emphasizing the principles and patterns associated with long-term success. For every Java enterprise developer, architect, analyst, and project manager.

Kirk Knoernschild is a hands-on software consultant who is passionate about using leading best practices to build better software. In addition to his work on large development projects, Kirk shares his experiences through courseware development and teaching, writing, and speaking at seminars and conferences on UML, Java J2EE technology, object-oriented programming, software architecture, the Rational Unified Process, and Extreme Programming. Kirk can be reached at kirk@kirkk.com, or by visiting his Web site at www.kirkk.com. 0201750449AB11262001

Preface.


Introduction.


1. OO Principles and Patterns.


Introduction.



Principles, Patterns, and the OO Paradigm.



Class Principles.



Open Closed Principle (OCP).



Liskov Substitution Principle (LSP).



Dependency Inversion Principle (DIP).



Interface Segregation Principle.



Composite Reuse Principle (CRP).



Principle of Least Knowledge (PLK).



Package Principles.



Package Dependency.



Release Reuse Equivalency Principle (REP).



Common Closure Principle (CCP).



Common Reuse Principle (CRP).



Acyclic Dependencies Principle (ADP).



Stable Dependencies Principle (SDP).



Stable Abstractions Principle (SAP).



Patterns.



Strategy.



Visitor.



Layers.



Conclusion.



2. Introduction to the UML.


Introduction.



UML Defined.



Origin.



Role of Modeling.



The Challenge.



Complexity of Architecture.



The Remedy.



Benefits.



Conclusion.



3. Fundamental UML.


Introduction.



Models and Views.



Fundamental Elements.



Diagrams.



Views.



Core Diagrams.



Behavioral Diagrams.



Structural Diagrams.



Fundamental Elements.



Structural Elements.



Java Independent Entities.



Java Dependent Entities.



Diagram Introduction.



Sequence Diagram.



Class Diagram.



Package Diagram.



Conclusion.



4. UML and Software Process.


Introduction.



Process Defined.



Best Practices.



Behavioral Driven.



Architecture Centric.



Iterative.



Refactoring.



Visual Modeling.



Simple Prototypes.



Development Lifecycle and UML.



Requirements.



Analysis & Design.



Construction.



Test.



Deployment.



The Full Lifecycle.



Conclusion.



5. Modeling Strategies.


Introduction.



Integration Goals.



Development Approach.



Tool Approach.



Integration Factors.



Development Culture.



Software Process.



Object Oriented Experience.



Technological.



Modeling Strategies.



Integration Strategy.



Conclusion.



6. Requirements Modeling.


Introduction.



Notation.



Actor.



Use Case.



Relationships.



Use Case Diagram.



Stereotypes.



Requirements Modeling.



Problem Statement.



Use Case Diagrams.



Use Case Specifications.



Additional Elements.



Conclusion.



7. Problem Analysis.


Introduction.



Notation.



Class.



Association.



Package.



Dependency.



Stereotype.



Collaboration.



Realization.



Identifying Initial Concepts.



Software Specification.



Boundary.



Entity.



Control.



Establishing Architecture.



Allocating Classes.



Conclusion.



8. Behavioral Modeling.


Introduction.



Notation.



Object.



Message.



Sequence Diagrams.



Collaboration Diagrams.



Use Case Realizations.



Responsibility Allocation.



Decentralized versus Centralized Flow of Control.



Controllers as Mediators.



Managing Collections.



Accessor and Mutator Methods.



Additional Diagrams.



Simple Prototypes.



Model Structure.



Conclusion.



9. Structural Modeling.


Introduction.



Notation.



Class Diagram.



Structural Elements.



Relationships.



Coupling and Cohesion.



Useful Class Diagrams.



Package Diagrams.



Interface Diagram.



Implementation Diagrams.



View of Participating Classes (VOPC).



Identifying Structure.



Complex Structure.



Factories.



Collections.



Structural Notes.



Model Structure.



View of Participating Classes.



Conclusion.



10. Architectural Modeling.


Introduction.



Defining Architecture.



Establishing Architecture.



Architectural Mechanisms.



Layers.



Observing.



Model-View-Controller.



Partitions.



Views of Architecture.



Frameworks and Class Libraries.



Frameworks.



Class Libraries.



Component Architectures.



Components Defined.



Components and UML.



Component Sample.



Conclusion.



11. Designing Subsystems.


Introduction.



Defining Subsystems.



Subsystem Dependencies.



Subsystems in Java.



Subsystem Specification.



Subsystem Identification.



Subsystem Development.



Subsystems as Frameworks.



Conclusion.



Bibliography.


Index. 0201750449T09042001

Erscheint lt. Verlag 3.1.2002
Verlagsort Boston
Sprache englisch
Maße 186 x 234 mm
Gewicht 606 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-75044-9 / 0201750449
ISBN-13 978-0-201-75044-7 / 9780201750447
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90