Font Size: a A A

Software Architecture Metric And Evaluation

Posted on:2016-03-20Degree:MasterType:Thesis
Country:ChinaCandidate:J W SiFull Text:PDF
GTID:2308330503476807Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software needs to evolve to meet newly incoming user demand, resolve system error or adapt to new environment and configuration. This life-time evolution not only could degrade software quality, but also may have the system deviated from its original design, which causes difficulties in comprehension and future modification. Therefore, keeping software in good stability, safety and maintainability, reducing the bugs introduced by software modification as well as the increasing complexity, is important to developers.Software architecture describes the software structure at a higher level. It facilitates the unity of various perspectives in development. Architecture metric can help developers estimate the project, track project progress and analyze software complexity. As architecture metric measures in a static way, it has advantages such as low cost and easy to implement, which is useful for monitor and evaluate software evolution.In this thesis a metric-based software architecture evaluation method is proposed. It can evaluate software maintainability and reliability based on UML model of architecture. First, external quality attributes are mapped with several quantifiable internal metrics. For each metric, collect data and calculate according to specific measurement methods. Then we gather the metric results and evaluate the external quality attributes. This evaluation method can help find out quality problem in the early stage of development, and make prediction based on the evaluation result. Then we apply it to software evolution. By evaluating architectures before and after evolution, we analyze how the software quality attributes change, and find out the relation between changes in structure and changes in software quality. We also find out the general evolution trend, which helps to monitor and control the software evolution process. Then we design and realize a tool for automatically evaluate a single version of software architecture and the software evolution process. Finally we propose an example to illustrate how the tool works, and prove effectiveness of our method.
Keywords/Search Tags:Architecture evaluation, Software evolution, Maintainability metric, Reliability metric
PDF Full Text Request
Related items