Index

  1. Title slide

  2. Computer Programs Should Be an Art Form...

  3. Software Architecture (according to Garlan and Shaw): Motivation

  4. Examples of Software Architectures (according to Garlan and Shaw)

  5. A programming paradigm favors certain architectural forms
    demo of Heart Animation
    MVC class diagram of heart animation

  6. UML (Unified Modelling Language) Class Notation was used to document the architecture
    part 1
    part 2
    part 3

  7. Constraints Can Be Attached to Components

  8. Class Diagrams Present Static System Architecture

  9. Declarative Programs Have Structure, Too!

  10. Designing an Expression Interpreter by Means of Class Diagrams
    part 2a
    part 2b
    part 2c
    part 2d

  11. The control structure mimicks the data structure

  12. Reducing Redundancy: Composite Pattern

  13. Reducing Redundancy: Visitor Pattern

  14. Case Study: Stoughton's Flexible Pretty Printer

  15. Architecture of the Pretty Printer
    Class (dependency) Diagram of blockToFlex and Display

  16. Representing Dynamic Aspects

  17. UML Sequence Diagrams

  18. Sequence Diagrams for the Heart Animation

  19. Sequence Diagrams for the Expression Evaluator

  20. Software Design Methodology

  21. How Can Declarative Programming Benefit from these Techniques?