|
|
|
Architecture Designs
A software architecture is an abstraction hiding some of the details of the software through encapsulation in order to better identify and maintain its properties. It represents an abstraction of the software behavior at various levels, such that architectural elements are defined by the abstract interfaces they provide to other elements at corresponding levels. Architecture is key to the success of any software project. It is the first design product that begins to place requirements into a solution space. A software system will often have multiple operational phases A description of a software architecture must be capable of describing the operational behavior of the software’s architecture and the architecture of transitions between phases. In order for an architecture to achieve its effectiveness, it must be documented from different perspectives or views. Although there are many views of an architecture, we will document the one selected by the Subject Matter Experts. It is important to document a software architecture so that others can readily understand it. With an understandable document the software can be developed and maintained. In any nontrivial project, there are competing requirements and corresponding architectural decisions that must be made to resolve them.
|