Font Size: a A A

Improving The Quality Of Software Design Based On The Complexity Metrics

Posted on:2008-09-16Degree:MasterType:Thesis
Country:ChinaCandidate:Y ChenFull Text:PDF
GTID:2208360212978909Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Since the concept of software engineering sprint out, how to separate the complexity of each component from the whole system is one of the most important issues of software engineering.Many software system complexity measure frameworks enable us to analysize the software system quantitatively, but they do not show how to implement an improvement; Design patterns and refactoring introduce a set of systematic methods for making right design and improving the structure of existing code. But how to detect the "bad smells" relies on the intuition and experience of the developers. Furthermore, to implement the measure manually means heavy workload, high rate of mistake, dear expense, and most importantly, the measure result can hardly be kept with the rapid iteration of software development. This is where the paper comes in: if we can combine the software complexity measure with design patterns and refactoring, they can take great effect complementally.1. This paper quantitative analyzes the complexity in the software systems rather than some vague intuition. A measure framework is given to improve C&K measure.2. The type of software coupling is analysized, and a set of decoupling strategy is given to build low complexity systems.3. The auto-measuring tool designed in this paper transforms the source code to abstract syntax tree (AST), and maintains a data structure of symbol used in the source code. It collects the measure information by traversing the AST. And it uses visitor pattern to separate the measure logic from the construction and traversal of AST. So that, the users can choose different measure frameworks to ensure the measure is met their needs. The measure result will be calculated to detect the "bad smells" in the software systems and warns the developer where need to refactor first.4. The refactoring recommendation tool will recognize the coupling type and rewrite the AST suggested by the decoupling strategy. At last, the AST will be transformed to source code.Detecting the "bad smells" by implementing measure and improving the design and code quality by refactoring, the paper suggests a practical way to make software system more readable, maintainable and extensible.
Keywords/Search Tags:complexity measure, decoupling, auto-measuring tool, refactoring, design patterns
PDF Full Text Request
Related items