During the state-of-the-art analysis several valuable approaches regarding the anal- ysis and realization of quality goals were identified. However, also limitations of the approaches were determined.
The goal-oriented modeling approaches from requirements engineering (GORE) are very important means for dealing with quality goals. But they do not go much beyond requirements engineering. From an architectural point of view they do not consider relevant design principles and technical constraints to find appropriate so- lutions. To specify a software architecture further means and activities for archi- tectural analysis are necessary. The GORE approaches and architectural analysis should be intertwined because some requirements can constitute constraints and hence restrict the design space at an early time. Vice versa technological aspects can influence requirements. Just to handover the goal models to an architect for the design is not enough.
The EMPRESS approach is valuable for treating quality goals due to its ques- tionnaires and checklists. Moreover, it provides some guidance for finding solutions by relating quality attributes to scenarios and further to architectural means, such as patterns. However, it does not explain how to resolve conflicts. The proposed design activities are rather sketchy, and guidance for the specification of concrete components and interfaces is not provided.
Unfortunately, especially evolvability is not considered in an advanced way in the analyzed approaches. EMPRESS discusses maintainability but has inconsistencies in this regard. At least there are works that discuss a refinement of evolvability akin to quality models (see Chapter 3). However, this is not related to design approaches and appropriate design principles or solutions to support decision-making.
The examined architectural design approaches QASAR, ADD, S4V, and Quasar of course somehow deal with quality goals and design quality, though either not especially with evolvability. QASAR expresses the concept of fulfilling quality goals by functional solutions, but treats quality goals as secondary after functional re- quirements. ADD concentrates on quality goals but does only provide guidance for a conceptual architecture and therefore has to be continued by other means. Moreover, if applied rigorously, it requires design patterns and tactics especially for
evolvability, which are not available as a well-established set, yet. Furthermore, its recursive nature forces strict top-down design and hampers bottom-up experi- mentation. The Global Analysis of the S4V approach is an important contribution for bridging from requirements to architectural design. But there is further poten- tial for improvement. For example, a coupling with the GORE approaches could improve the identification of influence factors. Moreover, Global Analysis leaves open, how to find the solutions and strategies described by the issue cards. The Quasar method does not concentrate on quality goals but particularly supports cer- tain design principles, such as separation of concerns, and can complement other architectural design approaches for detailed component and interface design. All in all the design approaches can be improved in their goal-orientation and guidance for choosing solutions and resolving conflicts.
Regarding traceability a comprehensive approach spanning several development phases and heterogenous artifacts, for example, considering goal modeling and par- ticularly design artifacts, is an unresolved problem. Besides traceability has to be efficient with as less additional effort as necessary. This is the reason why automa- tion has to be enforced. For automated traceability link establishment rule-based approaches and information retrieval techniques should be combined as well as with an event-based approach for maintaining links. Appropriate semantics for traceabil- ity links with specific link types is another issue to be considered to a greater extent. Moreover, adequate tool support that integrates with regular CASE tools and de- velopment environments is needed for practicability and useability. Only if all this is realized, change impact analysis can be enabled in an easy and well-established way.
4.1.2
Research Goals for the Proposed Approach
Knowing the limitations of the existing approaches the goals for the approach of this thesis can be refined. Regarding the goals G1 and G2 it can be said that a completely new methodical approach is not necessary. The refined goal is:
RG1 Combine the existing architectural analysis and design approaches and inte- grate them with the GORE approaches to follow a goal-oriented way for a comprehensive and systematic design regarding evolvability. Provide means and activities for its support.
Regarding goal G3 a discussion about the term evolvability was already started in Chapter 3. However, it is necessary to:
RG2 Provide a consolidated view on the quality goal evolvability with its char- acteristics and relations to other quality goals as well as a strategy for the realization of evolvability during architectural design.
The goals G4 and G5 are partly addressed by the GORE approaches regarding modeling goals and their influences on each other. However, in terms of design they are not sufficient, which requires to:
RG3 Establish a concept to integrate and adopt the GORE approaches for architec- tural design to provide systematic guidance for the treatment of quality goals and their interdependencies, for conflict resolution, and for design trade-offs. This concept can benefit from the utilization of design principles and solution instruments that shall be analyzed according to the goals G6 and G7 and collected in a catalog (G8). In order to provide effective guidance for decision-making it is necessary to:
RG4 Determine a quantitative rating of the impact of the design principles and solution instruments on the quality goal evolvability as a decision criterion, and collect this information in a catalog that can be utilized in the concept from RG3.
Regarding the traceability concept of goal G9 the challenges identified in Chap- ter 2 should be addressed. Therefore, the refined goal is to:
RG5 Develop a concept for design traceability, which enables comprehensive (semi-) automatic identification, recording, and maintenance of intra and inter model dependencies, includes goal models as well as design artifacts, provides a defined semantics based on specific link types, and hence facilitates change impact analysis and evolutionary development.