You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.

The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.

For the reports in this repository we specifically note that

  • the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at
  • the use of articles under ACM copyright is governed by the ACM copyright policy (available at
  • technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
  • in other cases, please contact the copyright owner for detailed information

By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.

If you are in doubt, feel free to contact

An Architectural Approach to Software Evolution and Integration



Publication Type:

Licentiate Thesis


Mälardalen University Press


As time passes, software systems need to be maintained, modified, and integrated with other systems so as not to age and become obsolete. In the present thesis, we investigate how the concepts of software components and software architecture can be used to facilitate software evolution and integration. Based on three case studies, we argue that considering a software system at a high abstraction level, as a set of connected components, makes possible a cost efficient and structured evolution and integration process. The systems in two of our case studies are information systems developed in-house used for managing and manipulating business-critical data. The third case study concerns an integration framework in which systems can be integrated without modification. In the thesis, we describe how several architectural alternatives can be developed based on architectural descriptions of existing systems, and how these can be evaluated regarding a number of concerns in a relatively rapid way, while achieving an acceptable confidence/effort ratio. We describe how some of these concerns can be addressed in more detail, namely maintainability, cost of implementation, and time of implementation; we also discuss the risk involved in the decision. We show how although the existing architecture may reflect insufficient design decisions and an outdated state of practice, it can and should be seen as a prototype revealing strengths that should be preserved and weaknesses that should be addressed during redesign. We also describe four different integration approaches and the feasibility of each under various circumstances: Enterprise Application Integration (EAI), interoperability through import and export facilities, integration at data level, and integration at source code level. The two last of these are compared in more detail, revealing that code level integration is more risky but not necessarily more costly than data level integration, but is advantageous from a technical perspective.


author = {Rikard Land},
title = {An Architectural Approach to Software Evolution and Integration},
number = {13},
month = {September},
year = {2003},
publisher = {M{\"a}lardalen University Press},
url = {}