Overview
Master the Unified Modeling Language, the new standard for object orientation.It's not enough just to learn an object-oriented language. A proficient programmer must also have the ability to design robust, scalable, maintainable systems. Applying UML and Patterns was written especially to provide the foundation for a complete understanding of the object paradigm, and how to put it to practical use.
Applying UML and Patterns provides beginning object programmers with a detailed activity roadmap to guide them through each step of requirements, analysis, design, and coding. This book strongly emphasizes translating theoretical concepts to practical applications, including:
- Mapping object-oriented diagrams directly to Java code
- Expressing models using UML
- Integrating patterns for analysis and design
- Creating layered architectures
- Building frameworks
Using a single integrated case study throughout the book, Applying UML and Patterns provides a comprehensive, hands-on approach that gives a thorough grounding to beginning and intermediate programmers.
Step-by-step introduction to the use of the Unified Modeling Language and patterns in the analysis, design and construction of software projects. One integrated case study based on the point-of-sale system is developed throughout as a means to clarify and define the software development process. Presents a concise review of the object-oriented analysis, design and development process then introduces the point-of-sale case study through development and understanding of the requirements' specification and use case process description. Continues with the analysis phase by building and expanding a conceptual model with attributes and associations. Defines behaviors via system sequence diagrams and contracts. Shifts from analysis to design with use cases, collaboration diagrams, responsibility patterns and class diagrams. Discusses visibility concepts and system design issues before going on to the construction and analysis phases. Shows how to map designs to code (Java), explains development cycle requirements, extends the conceptual model, and organizes elements and model behavior in state diagrams. Introduces additional patterns in the design phase and concludes with discussions of special topics related to UML notation, development process issues, frameworks, patterns and persistence.