Identifying Metrics For Measuring Maintainability Of Models Defined in SystemWeaver
Software maintenance forms a crucial activity of any viable software system. Sometimes it becomes the most expensive and time-consuming phase in the life cycle of the software product. Software maintainability on the other hand, measures how easy it is for a software product to be modified. Since software products are growing fast and are becoming more sophisticated over time, measuring the maintainability during early stages of the development process, such as the phase of designing models, will be vital for reducing costs and improving quality of later stages. Our Study focused on studying software models presented in SystemWeaver, one of the systems that utilises models extensively for a wide range of industrial purposes. We analysed the structures of the models collected and used their revision history to obtain more knowledge and define situations reflecting some of the maintenance issues that the developers faced during their development activities. Many of the defined situations were confirmed later by interviewing experts in the collected data. The confirmed situations, named patterns, were used to validate a set of maintainability metrics which were extracted from literature and other research. The correlation tests for validating the mentioned metrics showed promising results and proved that metrics can be good candidates for measuring the maintainability of models. The results of this study included (1) a prove that struggles during the development processes can be recognised by inspecting some occurring patterns. (2) metrics can be used to measure the maintainability of models such as the set of metrics we provided at the final chapter of this report.