Quality Criteria and an Analysis Framework for Self-Healing Systems
SEAMS '07 Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Systems
Information and Software Technology
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
Using REO on ETL conceptual modelling: a first approach
Proceedings of the sixteenth international workshop on Data warehousing and OLAP
Hi-index | 0.00 |
This paper addresses the problems related with the construction of quality software systems. A generally accepted claim is that the evaluation and control of each stage of development in a well-defined process will improve the overall quality of the final software product. In particular, we are interested in the early analysis and design stages, where the architecture of the system is an intermediate product. Several approaches will be discussed here, where quality models are established in order to determine the influence of the system non-functional characteristics, as part of the software initial requirements, on the final software system. These characteristics affect mostly the software system structure or architecture. The main goal of this paper is to discuss three important approaches based on quality models: ISO 9126, Dromey and ABAS (Attribute-Based Architectural Styles), and establish several criteria or points of comparison. These approaches have been selected because they share the fact of considering quality models related to the product or products obtained in the early stages of the software development process. In this sense, they are good candidates to be used in an architectural design process. The problem of establishing the quality of software architecture is, in general, not an easy one. But the selection of an architecture that guarantees, for example, a portable and extensible system, is crucial in component-based and object-oriented development. We believe that the study of the above approaches will be useful to introduce design quality issues in the development process that does not consider them explicitly, which is actually a usual practice. On the other hand, even if the semantics of the terminology is similar in the different approaches studied, the names of the terms used are quite different. We feel that our discussion will contribute to unify the terminology in the field of quality architectural design of software systems.