Explain the design principles.
-  The design process should not endure from tunnel vision. 
 
-  The design should be traceable to the analysis model. 
 
-  Design should not reinvent the wheel. 
 
-  The design should minimize the intellectual distance among the software and problem as it exists in the real world. 
 
-  The design should be structured to degrade gently, even when aberrant data, events or operating conditions are encountered. 
 
-  Design is not coding, coding is not design. 
 
-  The design should be assessed for quality as it is being formed, not after the fact.