Software Architecture

A Definition of Software Architecture

Software Architecture, as in the architecture of software intensive systems, is the total concept of those software-intensive systems. A total concept is a set of coherent concepts. A concept is an approach abstracted from its implementation. A software architecture consists of many software concepts. And when designing a piece of software, only the concepts in the software architecture may be used, or at least the software must comply to them. In this way software architecture will guide the way software is designed and build [Dragon1].

Software Architecture, as in the field of Software Architecture, is the design and construction of high quality (like stable, functional and secure) software-intensive systems or applications [Dragon1].

A Software Architecture Reference Model

Below you see an example generic reference model of concepts forming a software total concept.

All of these concepts are commonly in most modern software.

software architecture

Creating a Software Architecture

Suppose you need to create a software architecture 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.

Of course, this model does not provide all software concepts, but it gives you a start. Any piece of software where all of these concepts are used in, would be the most perfect piece of software ever.

Designing Software Applications

Suppose you need to create a software design for an organization, you might want to use a reference model like this, created by the architects of the organization and apply the concepts onto the software.