Codecharts (eBook)

Roadmaps and blueprints for object-oriented programs
eBook Download: PDF
2011 | 1. Auflage
206 Seiten
John Wiley & Sons (Verlag)
978-0-470-89102-5 (ISBN)

Lese- und Medienproben

Codecharts - Amnon H. Eden, J. Nicholson
Systemvoraussetzungen
90,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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").

AMNON H. EDEN, PhD, is a computer scientist with the School of Computer Science and Electronic Engineering at the University of Essex and a research fellow at the Center for Inquiry. Dr. Eden has worked as a programmer and consultant to leading software companies, chaired the Software Engineering Diploma Programme at the Tel Aviv College of Management, and served as the associate editor of Minds and Machines. His publications include an entry in the Stanford Encyclopedia of Philosophy and articles in leading software engineering journals. JONATHAN NICHOLSON, PhD, earned his doctorate from the School of Computer Science and Electronic Engineering at the University of Essex under the co-supervision of Prof. Raymond Turner and Dr. Eden. His research centres on object-oriented design, with a focus on the development and implementation of the logic underlying the language of Codecharts.

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.

Erscheint lt. Verlag 12.4.2011
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Objektorientierung
Schlagworte Computer Science • Informatik • Object Technologies • Objektorientiertes Programmieren • Programmierung u. Software-Entwicklung • Programming & Software Development • Softwareentwicklung
ISBN-10 0-470-89102-5 / 0470891025
ISBN-13 978-0-470-89102-5 / 9780470891025
Haben Sie eine Frage zum Produkt?
PDFPDF (Adobe DRM)
Größe: 6,6 MB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Grundlagen, Objektorientierung und fortgeschrittene Konzepte

von Christian Kohls; Alexander Dobrynin

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
39,99
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
39,99