Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.
| FactSnippet No. 447,589 | 
Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.
| FactSnippet No. 447,589 | 
Software architecture is about making fundamental structural choices that are costly to change once implemented.
| FactSnippet No. 447,590 | 
Software architecture choices include specific structural options from possibilities in the design of the software.
| FactSnippet No. 447,591 | 
Software architecture is an "intellectually graspable" abstraction of a complex system.
| FactSnippet No. 447,592 | 
Comparison between software design and architecture was first drawn in the late 1960s, but the term "software architecture" did not see widespread usage until the 1990s.
| FactSnippet No. 447,593 | 
These core architecture activities are performed iteratively and at different stages of the initial software development life-cycle, as well as over the evolution of a system.
| FactSnippet No. 447,594 | 
Software architecture supporting activities are carried out during core software architecture activities.
| FactSnippet No. 447,595 | 
Software architecture description involves the principles and practices of modeling and representing architectures, using mechanisms such as architecture description languages, architecture viewpoints, and architecture frameworks.
| FactSnippet No. 447,596 | 
Software architecture descriptions are commonly organized into views, which are analogous to the different types of blueprints made in building architecture.
| FactSnippet No. 447,597 | 
Software architecture erosion refers to the gap observed between the planned and actual architecture of a software system as realized in its implementation.
| FactSnippet No. 447,598 | 
Software architecture erosion occurs when implementation decisions either do not fully achieve the architecture-as-planned or otherwise violate constraints or principles of that architecture.
| FactSnippet No. 447,599 | 
Software architecture recovery includes the methods, techniques, and processes to uncover a software system's architecture from available information, including its implementation and documentation.
| FactSnippet No. 447,600 | 
Requirements engineering and software architecture can be seen as complementary approaches: while software architecture targets the 'solution space' or the 'how', requirements engineering addresses the 'problem space' or the 'what'.
| FactSnippet No. 447,601 |