Study Guide - Design

Tactics for Creating Software

This Design Study Guide pulls together, in one place, the resources we use in CSE687 - Object Oriented Design to discuss design issues.
Design Presentations Design Concepts and Notes
Definition: Object Oriented Design

Structuring design of an application with classes and class relationships.

Core Presentations

  1. Class Relationships, Example Relationships, Example code
    Illustrates complete set of class relationships: inheritance, composition, aggregation, using.
  2. Software Design Goals, pptx
    Describes design goals and attributes for large software projects.
  3. Design Principles
    Discusses Liskov Substitution, Open and Closed, Dependency Inversion, and Interface Segregation principles.
  4. Design Strategies, pptx
    Discusses general design and more specific OOD strategies.
  5. Design Notes, pptx
    Discusses interface design and some cautions for team development.
  6. Design Guidelines, pptx
    A bag of design ideas, suggestions, and advice.
  7. Abstract Data Types, pptx, Code Example: Str Class
    Complete discussion of building a reusable package, using a string class as an example.
  8. Hiding and Other Evils, docx, Code Demo
    Demonstrates one of the dark corners of the C++ programming language.
  9. Packages, Code Example: Str Pkg
    A package is a physical packaging of code in (two) files.
  10. UML Notation
    Diagram notation used to describe software designs.

CST strip