An approach to building quality into software architecture

Lawrence Chung, Brian A. Nixon, Eric S. K. Yu · Conference of the Centre for Advanced Studies on Collaborative Research · 1995

Quality issues such as modifiability, performance, reusability, comprehensibility and security, are often crucial to a software system. As such, quality requirements (or nonfunctional requirements, NFRs) should be addressed as early as possible in a software lifecycle and properly reflected in a software architecture before committing to a detailed design. This paper discusses how the treatment of NFRs as goals (which may be synergistic or conflicting) serves to systematically guide selection among architectural design alternatives. During the architectural design process, goals are decomposed, design alternatives are analysed with respect to their tradeoffs, design decisions are made and rationalised, and goal achievement is evaluated. This process can be supported by a body of knowledge. This paper1 outlines an approach by which such knowledge can be organised. The approach draws on our framework for dealing with NFRs, which has been applied to several NFRs (accuracy, performance, security), used to study several information systems, and is now applied to architecture. This approach is illustrated by a preliminary study of architectural design for a KWIC (Key Word in Context) system.

Read the paper · More papers on PaperTik