What is software architecture?

Software application architecture is the process of defining a structured solution that meets all of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application (Microsoft, 2009).

Systems should be designed with consideration for the user, the system (the IT infrastructure), and the business goals. For each of these areas, you should outline key scenarios and identify important quality attributes (for example, reliability or scalability) and key areas of satisfaction and dissatisfaction. Where possible, develop and consider metrics that measure success in each of these areas (Microsoft, 2009).
wk_archt_rt
(IBM, 2010).

This short video will show you how architects focus on failure risks and build models that allow them to reason about their designs.

References:

IBM. (20 May 2010). Role: Software Architect. Retrieved from: http://files.defcon.no/RUP/process/workers/wk_archt.htm

Microsoft. (October 2009). Microsoft Application Architecture Guide. 2nd Edition. Retrieved from: https://msdn.microsoft.com/en-us/library/ee658098.aspx