Font Size: a A A

Study On Software Complexity Measurement Method And Tool Based On UML

Posted on:2016-05-31Degree:MasterType:Thesis
Country:ChinaCandidate:F B JingFull Text:PDF
GTID:2308330479984861Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software complexity metric is an important branch of software metrics. Accurate and comprehensive complexity metrics can help software developers to understand software better. On the one hand, it can help the developer to judge, decide and manage the process of software development. On the other hand, it also can improve the design structure of software and quality of software to meet the needs of users.The object-oriented technology is widely used in software development now. At the same time, the UML modeling technology has been widely applied in the object-oriented software development. But comprehensive and complete object-oriented software complexity metrics methods are lack. Based on current situation, the paper presents a software complexity measurement method based on UML.The paper introduces the basic knowledge of object-oriented technology, software metrics and UML model in the preceding chapters. On the basis of the analysis and summary to previous object-oriented software complexity metrics especially C&K Metrics Set, Wei Li Metrics Set, Lorenz&Kidd Metrics Set, MOOD Metrics Set, We pointed out the existing shortcomings. Such as, only MOOD presents the meaturement rules for Encapsulation and Polymorphism. But MOOD only aims at system level and is lack of rules for class. Only C&K metric set presents meaturement rules for Cohesion. These metrics are lack of consideration to strength of coupling.The paper decomposes software based on UML complexity into several components such as Complexity of Member, Complexity of Encapsulation, Complexity of Inheritance, Complexity of Polymorphism, Complexity of Interact and Complexity of Coupling. Then we present measurement rules to these components. The complexity of Member is reflected by NOIM and NOIA. Complexity of Encapsulation is reflected by VROM and VROA. Complexity of Inheritance can be reflected by NOHM, NOOM, NRN, LOIP, and NMAM. Then we give the measuring formula. Complexity of Polymorphism is divided into number of Overridden Methods and Complexity of Method Rewritten based on the analysis of software based on UML. Complexity of Coupling is divided into Static Coupling of Class and Dynamic Coupling of Object. Static Coupling of Class consider the Relationships such as Dependency, Association, Aggregation, Composition, Generalization,Realization between class and class and is measured in UML Diagram. Dynamic Coupling of Object is measured in Sequence Diagram. It considers the interaction between object and object and is reflected by the number of interacting messages and interacting objects. Then, we gain whole complexity of software using weighted synthesis method.We design and implement a measurement tool based on the method after present the measurement method. At the end of the paper, we choose Automobile Rents Management System and Library Management System as experimental models to verify our measurement method and tool. Analysis results show that this method can accurately reflect the complexity of the object-oriented software based on UML model. So we demonstrate the rationality and feasibility of the method from the perspective of practical application. We also can see the function significance to Software complexity metric and software project. Complexity metrics can help software developers to understand software better, so that it can improve the efficiency of software development and the quality of software.
Keywords/Search Tags:Software Complexity Metric, Object-Oriented technology, UML, Measurement tool
PDF Full Text Request
Related items