Design means to draw or plan something to show the look, functions and working of it.
Software Design is also a process to plan or convert the software requirements into a step that are needed to be carried out to develop a software system. There are several principles that are used to organize and arrange the structural components of Software design. Software Designs in which these principles are applied affect the content and the working process of the software from the beginning.
These principles are stated below :
Principles Of Software Design :
- Should not suffer from “Tunnel Vision” –
While designing the process, it should not suffer from “tunnel vision” which means that is should not only focus on completing or achieving the aim but on other effects also.
- Traceable to analysis model –
The design process should be traceable to the analysis model which means it should satisfy all the requirements that software requires to develop a high-quality product.
- Should not “Reinvent The Wheel” –
The design process should not reinvent the wheel that means it should not waste time or effort in creating things that already exist. Due to this, the overall development will get increased.
- Minimize Intellectual distance –
The design process should reduce the gap between real-world problems and software solutions for that problem meaning it should simply minimize intellectual distance.
- Exhibit uniformity and integration –
The design should display uniformity which means it should be uniform throughout the process without any change. Integration means it should mix or combine all parts of software i.e. subsystems into one system.
- Accommodate change –
The software should be designed in such a way that it accommodates the change implying that the software should adjust to the change that is required to be done as per the user’s need.
- Degrade gently –
The software should be designed in such a way that it degrades gracefully which means it should work properly even if an error occurs during the execution.
- Assessed or quality –
The design should be assessed or evaluated for the quality meaning that during the evaluation, the quality of the design needs to be checked and focused on.
- Review to discover errors –
The design should be reviewed which means that the overall evaluation should be done to check if there is any error present or if it can be minimized.
- Design is not coding and coding is not design –
Design means describing the logic of the program to solve any problem and coding is a type of language that is used for the implementation of a design.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- An Introduction to Software Development Design Principles
- Software Engineering | Seven Principles of software testing
- Modern Principles Of Software Development
- Software Inspection Guiding Principles
- Agile Software Process and it's Principles
- Basic Principles of Good Software Engineering approach
- Principles of Conventional Software Engineering
- Principles of Risk Management and Paradigm
- Basic Principles of RCM
- Difference between Good Design and Bad Design in Software Engineering
- Difference between High Level Design and Low Level Design
- Difference between Function Oriented Design and Object Oriented Design
- Software Engineering | Software Design Process
- Difference between Software Design and Software Architecture
- Software Engineering | Architectural Design
- Software Engineering | User Interface Design
- Software Engineering | Function Oriented Design
- Software Engineering | System Design Strategy
- Software Engineering | Structured analysis and design with CASE tools
- Introduction of Software Design process | Set 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.