Karol Kazimierz Wnukiewicz MSE-2006:14, pp. 98. TEK/avd. för programvaruteknik, 2006.
An important issue during architectural design is that besides functional requirements, software architecture is influenced greatly by quality requirements , which often are neglected. The earlier quality requirements are considered, the less effort is needed later in the software lifecycle to ensure a sufficient software quality levels. Errors due to lack of their fulfilment are the most expensive and difficult to correct. Therefore, attention to quality requirements is crucial during an architectural design. The problem is not only to gather the system’s quality requirements, but to establish a methodology that helps to deal with them during the software development. Literature has paid some attention to software architecture in the context of quality requirements, but there is still lack of effective solutions in this area.
To alleviate the problem, this paper lays out important concepts and notions of quality requirements in a way they can be used to drive design decisions and evaluate the architecture to estimate whether these requirements are fulfilled. Important concepts of software architecture area are presented to indicate how important quality requirements are during the design and what are the consequences of their lack in a software system. Moreover, a quality requirement-oriented design method is proposed as an outcome of the literature survey. This method is a model taking quality requirements into account at first, before the core functionality is placed.
Besides the conceptual solution to the identified problems, this paper also suggests a practical method of handling quality requirements during a design. A recommendation framework for choosing the most suitable architectural pattern from a set of quality attributes is also proposed. Since the literature provides insufficient qualitative information about quality requirement issues in terms of software architectures, an empirical research is conducted as means for gathering the required data. Therefore, a systematic approach to support and analyze architectural designs in terms of quality requirements is prepared. Finally, quality requirement-oriented and pattern-based design method is further proposed as a result of investigating patterns as a tool for addressing quality requirements at different abstraction levels of a design. The research is concerned with the analysis of software architectures against one or more desired software qualities that ought to be achieved at the architectural level.