Muutke küpsiste eelistusi

E-raamat: Codecharts: Roadmaps and blueprints for object-oriented programs

, Contributions by
  • Formaat: PDF+DRM
  • Ilmumisaeg: 12-Apr-2011
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9780470891025
  • Formaat - PDF+DRM
  • Hind: 111,09 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Raamatukogudele
  • Formaat: PDF+DRM
  • Ilmumisaeg: 12-Apr-2011
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9780470891025

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

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").
Preface xi
Acknowledgements xiii
Guide to the Reader xv
Codecharts xix
Propositions xxv
Prologue 1(44)
1 Motivation
3(4)
2 Design Description Languages
7(12)
2.1 Theory Versus Practice
9(2)
2.2 Decidability
11(1)
2.3 Abstraction
12(4)
2.4 Elegance
16(3)
3 An Overview of Codecharts
19(18)
3.1 Object-Orientation
19(4)
3.2 Visualization
23(3)
3.3 Rigour
26(2)
3.4 Automated Verifiability
28(2)
3.5 Scalability
30(2)
3.6 Genericity
32(1)
3.7 Minimality
33(1)
3.8 Information Neglect
34(3)
4 UML Versus Codecharts
37(6)
5 Historical Notes
43(2)
Part I: Practice 45(122)
6 Modelling Small Programs
47(24)
6.1 Modelling Individual Classes
49(1)
6.2 Modelling Individual Methods
50(3)
6.3 Modelling Properties
53(2)
6.4 Modelling Implementation Minutia
55(1)
6.5 Modelling Simple Relations
56(8)
6.6 Modelling Indirect Relations
64(2)
6.7 Subtyping
66(5)
7 Modelling Large Programs
71(38)
7.1 Modelling Sets of Classes
75(2)
7.2 Modelling Total Relations Between Sets
77(4)
7.3 Modelling Sets of Methods (Clans)
81(2)
7.4 Modelling Isomorphic Relations
83(2)
7.5 Modelling Sets of Methods (Tribes)
85(5)
7.6 Modelling Class Hierarchies
90(3)
7.7 Modelling Methods in Hierarchies
93(4)
7.8 Modelling Properties of Sets
97(1)
7.9 Case Study: Total Versus. Isomorphic
98(3)
7.10 Case Study: JDOM
101(2)
7.11 Case Study: Java 3D
103(6)
8 Modelling Industry-Scale Programs
109(18)
8.1 Modelling Sets of Hierarchies
111(1)
8.2 Modelling Sets of Sets of Methods (Clans)
112(3)
8.3 Modelling Sets of Sets of Methods (Tribes)
115(3)
8.4 Modelling Total Relations Revisited
118(2)
8.5 Modelling Isomorphic Relations Revisited
120(7)
9 Modelling Design Motifs
127(6)
10 Modelling Application Frameworks
133(6)
10.1 Case Study: Enterprise JavaBeans
135(1)
10.2 Case Study: JUnit
136(3)
11 Modelling Design Patterns
139(20)
11.1 Case Study: The Composite Pattern
140(5)
11.2 Case Study: The Iterator Pattern
145(4)
11.3 Case Study: The Factory Method Pattern
149(5)
11.4 Case Study: The Abstract Factory Pattern
154(3)
11.5 Concluding Remarks
157(2)
12 Modelling Early Design Revisited
159(2)
13 Advanced Modelling Techniques
161(6)
13.1 Ad Hoc Symbols
161(3)
13.2 Modelling Information Hiding
164(3)
Part II: Theory 167(46)
14 Abstract Semantics
169(10)
14.1 Finite Structures
170(4)
14.2 Abstract Semantics Functions
174(1)
14.3 Design Models
174(3)
14.4 Program Modelling Revisited
177(2)
15 Verification
179(12)
15.1 Verifying Closed Specifications
180(3)
15.2 Verifying Open Specifications
183(3)
15.3 Verifying Pattern Implementations
186(2)
15.4 Tool Support for Automated Verification
188(3)
16 Schemes
191(4)
17 LePUS3 in Classical Logic
195(6)
17.1 LePUS3 and Class-Z as First-Order Languages
195(1)
17.2 Specifications in the Predicate Logic
196(2)
17.3 The Axioms of Class-Based Programs
198(3)
18 Reasoning about Charts
201(12)
Appendix I: The Gang of Four Companion 213(16)
Appendix II: Formal Definitions 229(4)
Appendix III: UML Quick Reference 233(2)
References 235(4)
Index 239
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.