Design Study Guide
Revised: 31 January 2007
Content:
This Design Study Guide pulls together, in one place, the resources we use in CSE687 - Object Oriented Design
to discuss design issues.
Fundamental Design Principles
-
KISS Principle
-
Single Responsibility Principle
-
Prime Directives: no surprises, maximize cohesion, minimize coupling
-
Encapsulation
Design Presentatons and Code
-
Abstract Data Types
-
Abstract Data Type Example: Str class
-
Hiding and Other Evils
-
Software Design
-
Design Notes
-
Design Principles
-
Design Guidelines
-
Design Strategies
-
Modules
A module is a physical package of code in files. In this course, by module, we mean
those source code files that constitute a compilable entity. The result of compilation
may be an execution image (exe), a dynamic link library (dll), or an object file (obj).
A simple module example is provided in the code directory:
str program.
-
Notation
When discussing object oriented designs, we will often use a subset of the Universal
Modeling Language (UML), described briefly in these notes. You also may wish to
consult UML Tutorial