Principles of Software Design

Prerequisites –

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 :

  1. 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.


  2. 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.


  3. 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.


  4. 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.




  5. 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.


  6. 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.


  7. 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.


  8. 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.


  9. 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.


  10. 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.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.