- Lecture Notes on
Data Abstraction
Supplementary notes: Queue ADT
- ADT Case Study:
Ranked Sequence
- Code for Natural number type
example.
-
Understanding Inheritance (Budd's UOOPJ, Chapter 8)
-
Solitaire Case Study (Budd's UOOPJ, Chapter 9)
-
Mechanisms for Software Reuse (Budd's UOOPJ, Chapter 10)
-
Replacement and Refinement
-
Implications of Inheritance
-
Multiple Inheritance
-
Polymorphism
-
Second Look at Classes
- Introduction to
Patterns
- Mark Grand. "Factory Method," "Strategy" ,and "Template Method"
patterns sections in Patterns in Java, Volume 1, Wiley,
1998.
- Pipes and Filters
Architectural Pattern
- Student presentations of
patterns.
- John Vlissides. "Designing with Patterns", In Pattern
Hatching: Design Patterns Applied, Addison-Wesley, 1998.
Planned but not covered Spring 2003
- 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.
(Used Spring 2002.)
Mary Shaw and David Garlan. "Process Control," Section 2.8 in
Software Architecture: Perspectives on an Emerging
Discipline, Prentice Hall, 1996.
(Used Spring 2002.)
Documents from Previous Semesters
- Introduction to Software Architecture (HTML)
- Introduction to Object Orientation
Used material on Requirements Analysis and Object-Oriented Design.
- Architectural Mismatch (HTML)
(Used in Fall 2002 ENGR 662 Software Engineering II class.)
- Sudharshan Vazhkudai and H. Conrad Cunningham. "A Reusable Software Framework
for Distributed Decision-Making Protocols".
- H. C. Cunningham and J. Wang.
Building a Layered Framework
for the Table Abstraction , In Proceedings of the ACM
Symposium on Applied Computing, March 2001.
[Presentation]
(Used Fall 2003 in ENGR 660 Software Engineering II--Software
Product LInes.)
Variant paper: H. C. Cunningham and J. Wang.
Applying Software Patterns in
the Design of a Table Framework, In Proceedings of the
Conference on Applied Research in Data Engineering, Acxiom
Data Engineering Laboratory, University of Arkansas at Little
Rock, November 2001. ADEL-WP-01-01.
- 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.
- Mary Shaw and David Garlan. "Case Studies: Keyword in Context,"
Section 3.1 in Software Architecture: Perspectives on an Emerging
Discipline, Prentice Hall, 1996.
(Used Spring 2002.)
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.
- 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.
(Used Spring 2002.)
- Hans Albrecht Schmid. "Framework Design by Systematic
Generalization", In Mohamed E. Fayad and Ralph E. Johnson, Editors,
Domain-Specific Application Frameworks, Wiley, 2000.
(Also used in Fall 2002 ENGR 662 Software Engineering II class.)
- Hans Albrecht Schmid. "OSEFA: Framework for Manufacturing",
Mohamed E. Fayad, Douglas C. Schmidt, and Ralph E. Johnson,
Editors, Building Application Frameworks: Object-Oriented
Foundations of Framework Design, Wiley, 1999.