Continuous evolution through software architecture evaluation: a case study: Practice Articles

  • Authors:
  • Christian Del Rosso

  • Affiliations:
  • Nokia Research Center, Itämerenkatu 11‐13, 00180 Helsinki, Finland

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The need for software architecture evaluation is based on the realization that software development, like all engineering disciplines, is a process of continuous modeling and refinement. Detecting architectural problems before the bulk of development work is done allows re-architecting activities to take place in due time, without having to rework what has already been done. At the same time, tuning activities allow software performance to be enhanced and maintained during the software lifetime. When dealing with product families, architectural evaluations have an even more crucial role: the evaluations are targeted to a set of common products. We have tried different approaches to software assessments with our mobile phone software, an embedded real-time software platform, which must support an increasingly large number of different product variants. In this paper, we present a case study and discuss the experiences gained with three different assessment techniques that we have worked on during the past five years. The assessment techniques presented include scenario-based software architecture assessment, software performance assessment and experience-based assessment. The various evaluation techniques are complementary and, when used together, constitute a tool which a software architect must be aware of in order to maintain and evolve a large software intensive system. Copyright © 2006 John Wiley & Sons, Ltd.