


This insight has led to substantial research into software architecture knowledge management.

That which is fundamental to understanding a system in its environment.The important stuff-whatever that is: this refers to the fact that software architects should concern themselves with those decisions that have high impact on the system and its stakeholders.Macroscopic system structure: this refers to architecture as a higher-level abstraction of a software system that consists of a collection of computational components together with connectors that describe the interaction between these components.Opinions vary as to the scope of software architectures: 6.6 Software architecture and agile development.Additionally, to satisfy the need for reliability the choice could be made to have multiple redundant and independently produced copies of the program, and to run these copies on independent hardware while cross-checking results.ĭocumenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows reuse of design components between projects. Therefore, an appropriate real-time computing language would need to be chosen. For example, the systems that controlled the Space Shuttle launch vehicle had the requirement of being very fast and very reliable. Software architecture choices include specific structural options from possibilities in the design of the software. Software architecture is about making fundamental structural choices that are costly to change once implemented. It functions as a blueprint for the system and the developing project, laying out the tasks necessary to be executed by the design teams. The architecture of a software system is a metaphor, analogous to the architecture of a building. Each structure comprises software elements, relations among them, and properties of both elements and relations. Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.
