Difference between System Architecture and Software Architecture
1. System Architecture :
System architecture is a conceptual model that describes the structure and behavior of multiple components and subsystems like multiple software applications, network devices, hardware, and even other machinery of a system. It is Architecture Description Language (ADL) which helps to describe the entire system architecture. So it is a much broader topic. System architecture can be broadly categorize into centralized and decentralized architectural organizations.
2. Software Architecture :
Software architecture refers to the process of creating high level structure of a software system. It is about the complete structure/architecture of the overall system means it converts software characteristics like scalability, security, reusability, extensibility, modularity, maintainability, etc. into structured solutions to meet the business requirement. Multiple high-level architecture patterns and principles are followed during defining architecture of a system. It mainly focuses more on externally visible components of the system and their interaction with each other.
Difference between System Architecture and Software Architecture :
|S.No.||SYSTEM ARCHITECTURE||SOFTWARE ARCHITECTURE|
|01.||System architecture is a conceptual model that describes the structure and behavior of multiple components and subsystems like multiple software applications, network devices, hardware, and even other machinery of a system.||Software architecture refers to the process of creating high level structure of a software system.|
|02.||It focuses on the entire system.||Where as software architecture focuses on the components.|
|03.||Various types of system architectures are Hardware architecture, Enterprise Architecture, Collaborative system architecture.||Various software architecture patterns include Serverless Architecture, Event Driven Architecture, Micro Service Architecture.|
|04.||It helps to define low level infrastructure of a software.||It helps to define high level infrastructure of a software.|
|05.||What we are building overall is system architecture.||What we are building individually is software architecture.|
|06.||System architecture includes elements of both software and hardware and is used to enable design of such a composite system.||Software architecture considers different factors such as Business strategy, human dynamics, quality attributes, design, and IT environment etc.|
|07.||It defines structure, behavior and view of a system.||It defines the solutions to meet technical and business requirements.|
|08.||So in one line overall view of all components and their relationship is called system architecture.||So in one line individual component and its relationship with other is called software architecture.|
|09.||For example system architecture of an order entering system contains web front end, business layer service, web backend, data base etc.||For example software architecture is one component of ordering system is web front end which consist of responsive user interface, view controller, web services and many more.|