Codecharts: Roadmaps and blueprints for object-oriented programs
- Length: 272 pages
- Edition: 1
- Language: English
- Publisher: Wiley
- Publication Date: 2011-05-03
- ISBN-10: 0470626941
- ISBN-13: 9780470626948
- Sales Rank: #8422781 (See Top 100 Books)
NEW LANGUAGE VISUALIZES PROGRAM ABSTRACTIONS CLEARLY AND PRECISELY
Popular software modelling notations visualize implementation minutiae but fail to scale, to capture design abstractions, and to deliver effective tool support. Tailored to overcome these limitations, Codecharts can elegantly model roadmaps and blueprints for Java, C++, and C# programs of any size clearly, precisely, and at any level of abstraction. More practically, significant productivity gains for programmers using tools supporting Codecharts have been demonstrated in controlled experiments.
Hundreds of figures and examples in this book illustrate how Codecharts are used to:
- Visualize the building-blocks of object-oriented design
- Create bird’s-eye roadmaps of large programs with minimal symbols and no clutter
- Model blueprints of patterns, frameworks, and other design decisions
- Be exactly sure what diagrams claim about programs and reason rigorously about them
Tools supporting Codecharts are also shown here to:
- Recover design from plain Java and visualize the program’s roadmap
- Verify conformance to design decision with a click of a button
This classroom-tested book includes two main parts:
Practice(Part I) offers experienced programmers, software designers and software engineering students practical tools for representing and communicating object-oriented design. It demonstrates how to model programs, patterns, libraries, and frameworks using examples from JDK, Java 3D, JUnit, JDOM, Enterprise JavaBeans, and the Composite, Iterator, Factory Method, Abstract Factory, and Proxy design patterns.
Theory (Part II) offers a mathematical foundation for Codecharts to graduate students and researchers studying software design, modelling, specification, and verification. It defines a formal semantics and a satisfies relation for design verification, and uses them to reason about the relations between patterns and programs (e.g., “java.awt implements Composite” and “Factory Method is an abstraction of Iterator”).
Table of Contents
Chapter 1. Motivation
Chapter 2. Design Description Languages
Chapter 3. An Overview of Codecharts
Chapter 4. UML Versus Codecharts
Chapter 5. Historical Notes
PART I: Practice
Chapter 6. Modelling Small Programs
Chapter 7. Modelling Large Programs
Chapter 8. *Modelling Industry-Scale Programs
Chapter 9. Modelling Design Motifs
Chapter 10. Modelling Application Frameworks
Chapter 11. Modelling Design Patterns
Chapter 12. Modelling Early Design Revisited
Chapter 13. *Advanced Modelling Techniques
PART II: Theory
Chapter 14. Abstract Semantics
Chapter 15. Verification
Chapter 16. *Schemas
Chapter 17. LePUS3 in Classical Logic
Chapter 18. Reasoning about Charts
Appendix I: The Gang of Four Companion
Appendix II: Formal Definitions
Appendix III: UML Quick Reference