Quality analysis of software architecture
Two types of quality analysis activities are often performed at software design stage: quality assessment and evaluation and quality exploration.
Quality assessment and evaluation aims at evaluating software architecture with regard to a set of well-defined criteria and in a set of well-defined usages or scenarios. It assesses the software to determine whether the design meets the given design goals.
Quality exploration intends to explore the architecture in order to discover problems in a design, where the problems are normally unknown and there are no fixed criteria and/or usage scenarios.
Each of these types of quality analysis has its own uses in software development. The former has its value in software validation and verification against known users’ quality requirements, while the latter manifests its importance to software engineers by discovering and predicting unintended side effects of design decisions. This is particularly important for software that has large user bases and long lifespan such as systems software and utility software, where usages are complicated and may change significantly in the future.