The document discusses principles of software design for a university institute of computing course. It covers 12 principles that should be followed in software design including not having tunnel vision, ensuring the design is traceable to analysis models, not reinventing existing solutions, minimizing intellectual distance, exhibiting uniformity and integration, accommodating change, degrading gracefully, being assessable for quality, undergoing reviews to discover errors, and distinguishing between design and coding. The principles are meant to help organize structural components and affect how the software works from the beginning of the design process.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
21 views
Lecture 3.1.2 Principles of Software Design
The document discusses principles of software design for a university institute of computing course. It covers 12 principles that should be followed in software design including not having tunnel vision, ensuring the design is traceable to analysis models, not reinventing existing solutions, minimizing intellectual distance, exhibiting uniformity and integration, accommodating change, degrading gracefully, being assessable for quality, undergoing reviews to discover errors, and distinguishing between design and coding. The principles are meant to help organize structural components and affect how the software works from the beginning of the design process.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8
UNIVERSITY INSTITUTE OF COMPUTING
UNIT-3 Bachelor of Computer Applications Software Engineering (21CAT-312/21SCT-312/22CAT-213/22SCT-213)
DISCOVER . LEARN . EMPOWER
Topics to be Covered • Principles of Software Design Introduction of Software Design • 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. Principles of Software Design 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. Principles of Software Design • 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. Principles of Software Design • 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.