n Correctness --Conforming to specifications
n Maintainability--Modification with minimal
difficulty.
n Composing module that are:
u highly cohesive.
u weakly coupled.
n Three design principles:
u information hiding
u continuity
u open/closed
n software as a temporary solution.
n Software as data design followed by
algorithm design.
n Software as both an English document and
mathematical document.