Engr 691-10: Special Topics in Engineering Science
Software Architecture
Spring Semester 2002
Lecture Notes


  1. Lecture Notes on Data Abstraction

    Supplementary notes: Queue ADT

  2. ADT Case Study: Ranked Sequence

  3. H. C. Cunningham and J. Wang. "Building a Layered Table Framework for the Table Abstraction,", Proceedings of the ACM Symposium on Applied Computing, March 2001.
    [Class presentation]

    Variant paper: H. C. Cunningham and J. Wang. "Applying Software Patterns in the Design of a Table Framework,", To appear in the Proceedings of the Conference on Applied Research in Data Engineering, Acxiom Data Engineering Laboratory, University of Arkansas at Little Rock, November 2001.

  4. Reto Kramer, Examples of Design by Contract: Using iContract, the Design-by-Contract Tool for Java , Object World, Berlin, 1999.

    Supplemental materials: Reto Kramer, iContract: The Java Design by Contract Tool, TOOLS USA, 1998.

  5. Understanding Inheritance

  6. Solitaire Case Study

  7. Mechanisms for Software Reuse

  8. Replacement and Refinement

  9. Implications of Inheritance

  10. Multiple Inheritance

  11. Polymorphism

  12. Second Look at Classes

  13. Introduction to Patterns

  14. Pipes and Filters Architectural Pattern

  15. Mary Shaw. "Some Patterns for Software Architecture," In John M Vlissides, James O. Coplien, and Norman L. Kerth, editors, Pattern Languages of Program Design 2, Addison Wesley, 1996, pages 255-270.

    Mary Shaw and David Garlan. "Process Control," Section 2.8 in Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.

  16. Mary Shaw and David Garlan. "Case Studies: Keyword in Context," Section 3.1 in Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.

    Mary Shaw and David Garlan. "Linguistic Issues: Adding Implicit Invocation to Traditional Programming Languages," Section 7.3 in Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.

  17. Mark Grand. "Factory Method," "Strategy" ,and "Template Method" patterns sections in Patterns in Java, Volume 1, Wiley, 1998.

  18. Student presentations of patterns.

  19. John Vlissides. "Designing with Patterns", In Pattern Hatching: Design Patterns Applied, Addison-Wesley, 1998.

  20. Hans Albrecht Schmid. "Creating Applications From Components: A Manufacturing Framework Design," IEEE Software, Vol. 13, No. 6, November 1997.
    Note: Used the introductory sections on frameworks.

  21. Hans Albrecht Schmid. "OSEFA: Framework for Manufacturing", In Mohamed E. Fayad, Douglas C. Schmidt, and Ralph E. Johnson, Editors, Building Application Frameworks: Object-Oriented Foundations of Framework Design, Wiley, 1999.
    Not used.

  22. Hans Albrecht Schmid. "Framework Design by Systematic Generalization", In Mohamed E. Fayad and Ralph E. Johnson, Editors, Domain-Specific Application Frameworks, Wiley, 2000.
    Not used.

    Not Used

  23. Sudharshan Vazhkudai and H. Conrad Cunningham. "A Reusable Software Framework for Distributed Decision-Making Protocols".

  24. Introduction to Object Orientation Used material on Requirements Analysis and Object-Oriented Design.

  25. Architectural Mismatch (HTML)

Miscellaneous Old Documents

  1. Introduction to Software Architecture (HTML)


UP to ENGR 691 root document?


Copyright © 2002, H. Conrad Cunningham
Last modified: Thu Sep 5 09:51:15 2002