What is Software Architecture?
Software architecture refers to design a high level of software system, a practice of creating software structures, and the documentation of such structures. The term software architecture is the technique of defining a structured solution that address all the technical and operational prerequisites, while ensuring the key attributes such as performance, security and manageability. This process incorporates a series of decisions based on a wide range of factors, and each factor has a critical impact on quality, performance and maintainability, and the overall success of a software.
Software architecture is about constructing fundamental structural choices, which are expensive enough once implemented, i.e., which are used to ‘house’ the more uncertain elements of the program like operating system. In addition, software architecture comprised of functionality, resilience, performance, reuse, usability, economic and technology constraints, trade offs and aesthetic concerns.