Difference between Good Design and Bad Design in Software Engineering
The term design is used in two ways. While used as verb, it means – the design process and used as noun, it means- the result of design process. Design is a meaningful engineering representation of something that is to be built. The result of a design process is called as design model or the design of the system.
Design for computer software is as important as a roadmap for a home, otherwise the result will be chaos. A system design is a plan for a solution for the system. Here a system is components with clearly defined behavior that interact with each other in a predefined manner to produce certain behaviors or services for its environment.
The software design process often has two levels. One of which determines the modules for the system, their specifications and their interrelationship. This is known as elaborate design or logic design, decides the module’s internal design.
A design- methodology is a systematic method that creates a design by applying a set of techniques and guidelines. Most design practices focus on system design. Also most recently, provide a set of guidelines to help the developer, designing a system.
Differentiate of good and bad design against its key characteristics is provided in table.
|Characteristics||Good Design||Bad Design|
|Change||Change in one part of the system does not always require a change in another part of the system.||One conceptual change requires changes to many parts of the system.|
|Logic||Every piece of logic has one and only one home.||Logic has to be duplicated.|
|Link||The logic link can easily be found.||The logic link cannot be remembered.|
|Extension||System can be extended with changes in only one place.||System cannot be extended so easily.|