The impact of maintainability on component-based software systems

There is a great deal of inconsistency and vagueness in the treatment of and terminology involved with software maintainability. This is exacerbated by the fact that there are a number of different dimensions of maintainability, each requiring specific treatment. The trends of increasing systems functionality and increasing systems complexity have given rise to new dimensions of maintainability since ISO/IEC defined maintainability as "the capability of the software to be modified" in 1996. We introduce the framework of maintainability and the techniques that promote maintainability in three abstraction levels; system, architecture and component. In the system dimension, the maintainability requirement is considered from a business-related point of view. In architecture, maintainability means a set of quality attributes, e.g. extensibility and flexibility. At the component level, maintainability focuses on modifiability, integrability and testability.

[1]  Standard Glossary of Software Engineering Terminology , 1990 .

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  Jan Bosch,et al.  Architecture level prediction of software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[4]  Alain Wegmann,et al.  On quality attribute based software engineering , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[5]  Alan W. Brown,et al.  The Current State , 2016 .

[6]  Mark Vigder,et al.  The evolution, maintenance, and management of component-based systems , 2001 .

[7]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[8]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[9]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[10]  Ali Mili,et al.  A hierarchy of COTS certification criteria , 2000, SPLC.

[11]  Nicolas Farcet,et al.  Expression and Usage of the Variability in the Software Product Lines , 2001, PFE.

[12]  Antonio Vallecillo,et al.  Quality Attributes for COTS Components , 2002 .

[13]  Eila Niemelä,et al.  Product line software engineering of embedded systems , 2001, SSR '01.

[14]  Cristina Gacek,et al.  Implementing product line variabilities , 2001, SSR '01.

[15]  Eila Niemelä,et al.  Viewpoints of DSP software and service architectures , 2004, J. Syst. Softw..

[16]  Leigh A. Davis,et al.  The impact of component architectures on interoperability , 2002, J. Syst. Softw..

[17]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[18]  A. Jefferson Offutt,et al.  Quality Attributes of Web Software Applications , 2002, IEEE Softw..

[19]  Scott A. Hissam Experience report: correcting system failure in a COTS information system , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).