MODEM: an UML profile for MODEling and Predicting software Maintenance before implementation
Abstract
A software is developed to satisfy some requirements that could change with respect to technology progress or new clients needs. That is why a software evolves continually in order to fit with occurring requirements. Software evolution or maintenance represents a non-trivial issue that should be treated seriously. In fact, according to some studies software maintenance could consume about 80% of software development total cost. In most of works, such issue was treated in a source code level by proposing new techniques and tools that could optimize maintenance cost. In this paper, we treat the same issue but in an earlier phase of software development and exactly in software design. We propose here an UML profile that allows to software developers and designers to carry about maintenance tasks at the design phase in order to predict handling maintenance tasks before happening, to get an historical trace of these tasks and to express explicitly on models some design patterns helping to resolve software maintenance problems in order to make maintenance easier and cheaper.