Design concepts and principles
The Designing is the 1st step in the development phase for any engineering system or product. The designer's objective is to produce a model or representation of an entity which will later be established.
The Modularity in both program and data and the concept of abstraction enable the designer to easy and reuse software components. The Refinement gives a mechanism for representing successive layers of functional detail. Data structure and Program contribute to an overall view of software architecture although procedure gives the detail necessary for algorithm implementation.
Information hiding and functional independence gives heuristics for achieving effective modularity. We conclude our discussion of design fundamentals with the words of Glenford Myers: We try to solve the problem through rushing by the design process so which enough time will be left at the end of the project to uncover errors that were made because we rushed through the design process. The moral is doing rush through it! Design is worth the effort.