Producing The Software Blueprint
It is very surprising that in spite of having many methodologies and tools available for software development, about 44% of these fail due to over budget, late delivery, missing functions or features. One of the many reasons is lack of proper requirement analysis and design. The design or blueprint of software represents the necessary details or features of required product with the help of graphs or Data Flow Diagrams (DFDs). The design model should be properly mapped to the analysis model to produce quality software. A good design follows the design principles like trace-ability, uniformity, integration, minimize intellectual distance etc. Four design models i.e. Data design, Architectural design, Interface design and Procedural design are needed to develop a complete specification of design. With the change in technology, the methods of applying concepts change however, but every good design is always based on some fundamental concepts e.g. Abstraction, Software architecture, Refinement, Information Hiding, Modularity, Control Hierarchy etc.