Difference between Software Design and Software Architecture
1. Software Design :
Software design refers to the process of creating a specification of software artifact which will help to developers to implement the software. It is about designing individual modules/components means it defines what is module is performing, the classes, functions and their usages, etc. It is considered one of the initial phase of Software Development Life Cycle (SDLC). Software design process establishes a best possible design plan to implement the system. It mainly focuses more on internal components of the system and their interaction with each other.
2. Software Architecture :
Software architecture refers to fundamental structure or the process of creating high level structure of a software system. Initially software architecture is created and when it is agreed then that software design is carried out. In software architecture the solution is structured in such a way so that it meets technical and operational requirements and during structuring application quality, maintenance, performance and overall success all these things are kept in mind as ultimately software architecture impact all these things at last.
Difference between Software Design and Software Architecture :
|S.No.||SOFTWARE DESIGN||SOFTWARE ARCHITECTURE|
|01.||Software design is about designing individual modules/components.||Software architecture is about the complete architecture of the overall system.|
|02.||Software design defines the detailed properties.||Software architecture defines the fundamental properties.|
|03.||In general it refers to the process of creating a specification of software artifact which will help to developers to implement the software.||In general it refers to the process of creating high level structure of a software system.|
|04.||It helps to implement the software.||It helps to define the high level infrastructure of the software.|
|05.||Software design avoids uncertainty.||Software architecture manages uncertainty.|
|06.||Software design is more about on individual module/component.||Software architecture is more about the design of entire system.|
|07.||It is considered as one initial phase of Software Development Cycle (SSDLC) and it gives detailed idea to developers to implement consistent software.||It is a plan which constrains software design to avoid known mistakes and it achieves one organizations business and technology strategy.|
|08.||Some of software architecture patterns are microservice, server less and event driven.||Some of software design patterns are creational, structural and behavioral.|
|09.||In in one word the level of software design is implementation.||In one word the level of software architecture is structure.|
|10.||How we are building is software design.||What we are building is software architecture.|
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.