Authors:
David Faitelson
1
;
Robert Heinrich
2
and
Shmuel Tyszberowicz
3
Affiliations:
1
Afeka Tel-Aviv Academic College of Engineering, Israel
;
2
Karlsruhe Institute of Technology, Germany
;
3
The Academic College Tel Aviv-Yaffo, Israel
Keyword(s):
Decomposition, Coupling, Cohesion, Visualization, Evolution, Maintenance.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Component-Based Software Engineering
;
Methodologies, Processes and Platforms
;
Model Transformation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Software Engineering
;
Software Process Modeling, Enactment and Execution
Abstract:
Software systems evolve during their lifetime to reflect the changes in their users needs. However, unless
implemented carefully, such changes may degrade the quality of the system’s architecture by reducing the cohesion
and increasing the coupling between its subsystems. It is therefore important to systematically analyze
the changes and modify the system’s structure to accommodate the changes without degrading the system’s
architecture. However, looking just at functional aspects is not enough, because we may decide on a redesign
that is too expensive to implement. In this paper we combine a functional decomposition analysis technique
with a nonfunctional impact analysis technique to avoid this pitfall. The functional decomposition technique
generates a set of plausible decompositions that accommodate the required evolutionary changes, and the impact
analysis technique acts as a filter that selects only those decompositions that satisfy the cost constraints
of the required changes.
We briefly describe both techniques and then illustrate the approach with an example
of a parking lot management system.
(More)