Аннотация
In their lifetime software systems usually need to be adapted in order
to fit in a changing environment or to cover new required functionality.
The effort necessary for implementing changes is related to the maintainability
of the software system. Therefore, maintainability is an important
quality aspect of software systems. Today Software Architecture plays
an important role in achieving software quality goals. Therefore,
it is useful to evaluate software architectures regarding their impact
on the quality of the program. However, unlike other quality attributes,
such as performance or reliability, there is relatively less work
on the impact of the software architecture on maintainability in
a quantitative manner. In particular, the cost of software evolution
not only stems from software-development activities, such as reimplementation,
but also from software management activities, such as re-deployment,
upgrade installation, etc. Most metrics for software maintainability
base on code of object-oriented designs, but not on architectures,
and do not consider costs from software management activities. Likewise,
existing current architectural maintainability evaluation techniques
manually yield just qualitative (and often subjective) results and
also do concentrate on software (re-)development costs. In this paper,
we present KAMP, the Karlsruhe Architectural Maintainability Prediction
Method, a quantitative approach to evaluate the maintainability of
software architectures. Our approach estimates the costs of change
requests for a given architecture and takes into account re-implementation
costs as well as re-deployment and upgrade activities. We combine
several strengths of existing approaches. First, our method evaluates
maintainability for concrete change requests and makes use of explicit
architecture models. Second, it estimates change efforts using semi-automatic
derivation of work plans, bottom-up effort estimation, and guidance
in investigation of estimation supports (e.g. design and code properties,
team organization, development environment, and other influence factors).
Пользователи данного ресурса
Пожалуйста,
войдите в систему, чтобы принять участие в дискуссии (добавить собственные рецензию, или комментарий)