Using dependency model to support software architecture evolution

Hongyu Pei Breivold, Ivica Crnkovic, Rikard Land, Stig Larsson
2008 2008 23rd IEEE/ACM International Conference on Automated Software Engineering - Workshops  
Evolution of software systems is characterized by inevitable changes of software and increasing software complexity, which in turn may lead to huge maintenance and development costs. For long-lived systems, there is a need to address and maintain evolvability (i.e. a system's ability to easily accommodate changes) during the entire lifecycle. As designing software for ease of extension and contraction depends on how well the software structure is organized, this paper explores the relationships
more » ... between evolvability, modularity and inter-module dependency. Through a case study of an industrial power control and protection system, we describe our work in managing its software architecture evolution, guided by the dependency analysis at the architectural level. The paper includes also the main analysis results, our experiences and reflections during the dependency analysis process in the case study.
doi:10.1109/asew.2008.4686324 dblp:conf/kbse/BreivoldCLL08 fatcat:3aoajm5akjb75nea2tlz2fd2lm