Adaptability Evaluation at Software Architecture Level
نویسنده
چکیده
Quality of software is one of the major issues in software intensive systems and it is important to analyze it as early as possible. An increasingly important quality attribute of complex software systems is adaptability. Software architecture for adaptive software systems should be flexible enough to allow components to change their behaviors depending upon the environmental and stakeholders' changes and goals of the system. Evaluating adaptability at software architecture level to identify the weaknesses of the architecture and further to improve adaptability of the architecture are very important tasks for software architects today. Our contribution is an Adaptability Evaluation Method (AEM) that defines, before system implementation, how adaptability requirements can be negotiated and mapped to the architecture, how they can be represented in architectural models, and how the architecture can be evaluated and analyzed in order to validate whether or not the requirements are met. AEM fills the gap from requirements engineering to evaluation and provides an approach for adaptability evaluation at the software architecture level. In this paper AEM is described and validated with a real-world wireless environment control system. Furthermore, adaptability aspects, role of quality attributes, and diversity of adaptability definitions at software architecture level are discussed.
منابع مشابه
Metrics for Software Adaptability
This paper discusses our initial work in developing metrics for software adaptability. In this paper we have developed several metrics for software adaptability. One of the advantages of the metrics that we have developed is that they are applicable at the architectural level. Since architecture development is the first stage of the design process, the extent to which the architecture is adapta...
متن کامل1 Metrics for Software
Objective measurement of non-functional requirements (NFRs) in any software is one of the most difficult activities. This is because the inherent nature of the NFRs makes their common understanding difficult. The problem is compounded by the fact that the requirements for any software are usually vague about the NFRs that the software should satisfy and how to evaluate the NFRs in the final sof...
متن کاملA framework for evaluating model-driven architecture
In the last few years, Model Driven Development (MDD) has become an interesting alternative for designing the self-adaptive software systems. In general, the ultimate goal of this technology is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of model-driven methodologies shows them all...
متن کاملOn the Requirements for Concurrent Software Architectures to Support Advanced Separation of Concerns
Some of the open issues regarding the design and implementation of a concurrent software architecture that should support advanced separation of concerns lie at the level at which components and aspects integrate. Should the integration be at the source code or maybe at the object code? How do we better express the aspectual properties of systems? To what degree should an aspect oriented archit...
متن کاملAvailability evaluation of Software architecture of object oriented Style using coloured Petri nets
Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...
متن کامل