What is software architecture?

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. The term also refers to documentation of a system’s software architecture. Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects.

Software architecture description languages:

Software architecture is described by the architecture description languages. Architecture description languages of several types are developed by various organizations. The organizations include Avionics architecture description languages, Wright, Acme, xArchitecture description languages, Darwin, DAOP architecture description languages. Architecture description languages have common elements like the component, connector and the configuration.

Software architecture views:

Software architecture is commonly organized in views, which are analogous to the different types of blueprints made in building architecture. The software architecture views were established by IEEE 1471-2000. Views are instances of viewpoints, where a viewpoint exists to describe the architecture in question from the perspective of a given set of stakeholders and their concerns.

Some of the possible views that can be seen in the software architecture are motioned below.

  • Functional or logic view
  • Code or module view
  • Development or structural view
  • Concurrency or process view
  • Physical or deployment view
  • User action or feedback view
  • Data view

Several languages were been used to describe the views of the software architecture which have been devised.

Frameworks of the software architecture:

The software architecture has different types of frameworks and they are mentioned below.

  • Department of defense architecture framework
  • UK ministry of defense architecture framework
  • Open group architecture framework
  • Zach man framework
  • Federal enterprise architecture
  • Service oriented modeling framework

The IEEE first recommended the use of the software architecture systems in the first normal systems.