Eden / Nicholson Codecharts
1. Auflage 2011
ISBN: 978-0-470-89102-5
Verlag: John Wiley & Sons
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
Roadmaps and blueprints for object-oriented programs
E-Book, Englisch, 206 Seiten, E-Book
ISBN: 978-0-470-89102-5
Verlag: John Wiley & Sons
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
NEW LANGUAGE VISUALIZES PROGRAM ABSTRACTIONS CLEARLY ANDPRECISELY
Popular software modelling notations visualize implementationminutiae but fail to scale, to capture design abstractions, and todeliver effective tool support. Tailored to overcome theselimitations, Codecharts can elegantly model roadmaps and blueprintsfor Java, C++, and C# programs of any size clearly, precisely, andat any level of abstraction. More practically, significantproductivity gains for programmers using tools supportingCodecharts have been demonstrated in controlled experiments.
Hundreds of figures and examples in this book illustrate howCodecharts are used to:
* Visualize the building-blocks of object-oriented design
* Create bird's-eye roadmaps of large programs with minimalsymbols and no clutter
* Model blueprints of patterns, frameworks, and other designdecisions
* Be exactly sure what diagrams claim about programs and reasonrigorously about them
Tools supporting Codecharts are also shown here to:
* Recover design from plain Java and visualize the program'sroadmap
* Verify conformance to design decision with a click of abutton
This classroom-tested book includes two main parts:
Practice (Part I) offers experienced programmers,software designers and software engineering students practicaltools for representing and communicating object-oriented design. Itdemonstrates how to model programs, patterns, libraries, andframeworks 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 forCodecharts to graduate students and researchers studying softwaredesign, modelling, specification, and verification. It defines aformal semantics and a satisfies relation for designverification, and uses them to reason about the relations betweenpatterns and programs (e.g., "java.awt implements Composite" and"Factory Method is an abstraction of Iterator").
Autoren/Hrsg.
Weitere Infos & Material
Preface.
Acknowledgements.
Guide to the Reader.
Codecharts.
Propositions.
Prologue.
1. Motivation.
2. Design Description Languages.
2.1 Theory Versus Practice.
2.2 Decidability.
2.3 Abstraction.
2.4 Elegance.
3. An Overview of Codecharts.
3.1 Object-Orientation.
3.2 Visualization.
3.3 Rigour.
3.4 Automated Verifiability.
3.5 Scalability.
3.6 Genericity.
3.7 Minimality.
3.8 Information Neglect.
4. UML Versus Codecharts.
5. Historical Notes.
PART I: Practice.
6. Modelling Small Programs.
6.1 Modelling Individual Classes.
6.2 Modelling Individual Methods.
6.3 Modelling Properties.
6.4 Modelling Implementation Minutia.
6.5 Modelling Simple Relations.
6.6 Modelling Indirect Relations.
6.7 Subtyping.
7. Modelling Large Programs.
7.1 Modelling Sets of Classes.
7.2 Modelling Total Relations Between Sets.
7.3 Modelling Sets of Methods (Clans).
7.4 Modelling Isomorphic Relations.
7.5 Modelling Sets of Methods (Tribes).
7.6 Modelling Class Hierarchies.
7.7 Modelling Methods in Hierarchies.
7.8 Modelling Properties of Sets.
7.9 Case Study: Total Versus. Isomorphic.
7.10 Case Study: JDOM.
7.11 Case Study: Java 3D.
8. Modelling Industry-Scale Programs.
8.1 Modelling Sets of Hierarchies.
8.2 Modelling Sets of Sets of Methods (Clans).
8.3 Modelling Sets of Sets of Methods (Tribes).
8.4 Modelling Total Relations Revisited.
8.5 Modelling Isomorphic Relations Revisited.
9. Modelling Design Motifs.
10. Modelling Application Frameworks.
10.1 Case Study: Enterprise JavaBeans.
10.2 Case Study: JUnit.
11. Modelling Design Patterns.
11.1 Case Study: The Composite Pattern.
11.2 Case Study: The Iterator Pattern.
11.3 Case Study: The Factory Method Pattern.
11.4 Case Study: The Abstract Factory Pattern.
11.5 Concluding Remarks.
12. Modelling Early Design Revisited.
13. Advanced Modelling Techniques.
13.1 Ad Hoc Symbols.
13.2 Modelling Information Hiding.
PART II: Theory.
14. Abstract Semantics.
14.1 Finite Structures.
14.2 Abstract Semantics Functions.
14.3 Design Models.
14.4 Program Modelling Revisited.
15. Verification.
15.1 Verifying Closed Specifications.
15.2 Verifying Open Specifications.
15.3 Verifying Pattern Implementations.
15.4 Tool Support for Automated Verification.
16. Schemas.
17. LePUS3 in Classical Logic.
17.1 LePUS3 and Class-Z as First-Order Languages.
17.2 Specifications in the Predicate Logic.
17.3 The Axioms of Class-Based Programs.
18. Reasoning about Charts.
Appendix I: The Gang of Four Companion.
Appendix II: Formal Definitions.
Appendix III: UML Quick Reference.
References.
Index.