Recall from SystemsTheory that systems and components have an external/behavioral/functionalview and an internal/structural view.
The specification of a system models its behavioral view,while the design models its structural view.
Design Goals
Three important design goals are correctness, efficiency,and maintainability.
Correctness meansthat the behavior of a system/component conforms to its specification.
Efficiency meansthat the system/component does not waste resources such as time and memory.
Maintainabilitymeans that repairing or enhancing the system/component is not needlesslydifficult.
Design Principles
Following a design principle usually helps us to createsystems/components that have a higher degree of maintainability. This isimportant because maintenance can be the most expensive phase of softwaredevelopment.
Here are a few important design principles: