SE 510 Principles and Applications of Software Design
Dr. Yaodong Bi, STT478
Fall 2009

Course Information

     Syllabus
     Technical Article Presentations
     Team Projects

Programming Assignments

    Team Assignment 3: Tic-Tac-Toe - Multiple Online Game due: Oct. 14, 2009
    Team Assignment 2: Tic-Tac-Toe - Online Game due: Sept. 23, 2009
    Team Assignment 1: Tic-Tac-Toe - Single game due: Sept. 16, 2009

Homework

    Homework 2 (due: Oct. 28, 2009)
    Homework 1 (due: Sept. 16, 2009)

Class Presentation Slides

  1. Object Orientation
  2. Software Design Principles
  3. UML Tutorial 1, UML Tutorial 2
  4. Creational Design Patterns
  5. Structural Design Patterns
  6. Behavioral Design Patterns
  7. Software Architecture 1
  8. Software Architecture 2

Recommended Readings

  • E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
  • F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software Architecture: A System of Patterns, Wiley, 2001.
  • M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.
  • B. Douglass, Real-Time UML 2nd Ed.: Developing Efficient Objects for Embedded Systems, Addison Wesley, 1999.
  • G. Booch, J. Rumbaugh, and I. Jacobson, The United Modeling Language User Guide, Addison Wesley, 1999.
  • Resources on the Web

         Software Design Principles
             The open close principle
             The Liskov substitution principle.
             The dependency inversion principle
             The interface segregation principle

         Software Design: From Programming to Architecture by Eric J. Braude

         Introduction to C++ Programming

         Design Patterns on the Web
             Pattern library at hillside.net Has a comprehensive collection of links on design patterns.
             Programming Patterns Overview A good introduction to patterns.

         Software Architecture
             An Introduction to Software Architecture A tutorial
             Model Problems A collection of examples on software architecture.
             Software Architecture at SEI 

         Software Frameworks