What is Software Architecture?
Software Architecture, as in the specialized fields of Software Design and Software-Defined Vehicles (SDV), may often be seen as a diagram of interconnected components.
But it is much more. Actually, it should be viewed as a total concept that governs the development, evolution, and lifecycle of the software system or a vehicle. [Dragon1]
Note: A total concept is a set of coherent, interconnected concepts. A concept itself is a specific approach or idea abstracted from its technical implementation.
Software Architectures for software design and software-defined vehicles (SDV).
Software Architecture consists of many software concepts, principles (working mechanisms), and elements, and serves as the rules of engagement.
During the design phase, developers must either utilize these specific concepts or ensure the software strictly complies with them. In this manner, the architecture acts as a blueprint, guiding how the system is conceived, structured, and eventually built. [Dragon1]
Software Architecture, as in the field of Software Architecting, is the design and construction of high-quality (like stable, functional, and secure) software-intensive systems or applications [Dragon1].
Software Architecture Reference Model
Below is an example of a generic reference model for concepts forming a software total concept.
All of these concepts are common in most modern software.
Software Architecture Diagram Reference Architecture.
Creating Software Architectures
Suppose you must create software architectures for an organization. You can use this reference model to check and uncheck what software concepts you think you need to answer all the goals and requirements of the owner/client and stakeholders.
This model does not provide all software concepts, but it gives you a start. Any piece of software that incorporates all these concepts would be ideal.
Designing Software Applications
Suppose you must create a software application design. You may want to utilize software architecture diagrams created by the architects and apply these concepts to the software.
Read more about the role and responsibilities of a Software Architect and try our AI UML Software Architect Tool