Download presentation
Presentation is loading. Please wait.
1
Metrics-Based Analysis of UML Designs Department of Computer Science & Engineering Ryan Stephenson Advisor: Prof. Betty H.C. Cheng Software Engineering and Network Systems (SENS) Laboratory Automated analysis of object-oriented design models can provide insight into the quality of a given software design. By using software metrics to identify coupling and complexity in UML models, developers can more readily identify flaws in those models. May, 2004 Acknowledgements: This work has been supported in part by the following grants: Siemens Corporate Research, NSF EIA-0000433, CDA-9700732, CCR-9901017, EIA-0130724, Department of the Navy, and Office of Naval Research under Grant No. N00014-01-1-0744, and in cooperation with Siemens Automotive and Detroit Diesel Corporation. Case Study 2 large industrial-scale models were provided by Siemens Transportation Model A was a UML design model, Model B was a UML model reverse engineered from source code DesignAdvisor was run on each model, and the following errors were found: Analysis of Models Upon grouping errors, many errors were shown to be obviously spurious Other errors (Circular Associations, Name Collisions) seemed likely to cause problems Errors were grouped into 3 severity levels (severe, moderate, and low) based on this analysis Problems with Current Industry Practice Design documents are very large, infrequently submitted for formal review Designers need a quick way to check their designs for errors and potential signs of failure Motivation Developing large systems is complicated Errors in design propagate to later phases of software production, increasing cost Automated Model Analysis Automates checks of UML Design models/diagrams Examines artifacts in a model, checks for violations of rules (example: a class with the same name as a previously examined class violates the ‘name collision’ rule) Solution Overview An automated means of checking designs for common errors would aid in reducing errors in industrial software Since UML is the de facto standard in industrial design modeling, UML diagrams are examined DesignAdvisor Analysis tool developed by Siemens Corporate Research Algorithmically checks UML class diagrams for design errors and reports violations Metrics Analysis Analyzing the quantity of various artifacts and relationships in a model to find potential problems Coupling Metrics Classes associated or dependent on too many other classes are too highly coupled to other classes High coupling between objects in a UML model could indicate a class is sending a high number of messages, and is thus more likely to be flawed Complexity Metrics A class with too many public operations or attributes may be too complex Such a class may be a candidate for division into multiple classes Design Errors Violations of good UML design practice, such as circular association constructs and parent classes having knowledge of child methods must be reported Example DesignAdvisor OutputDesignAdvisor RulesDesignAdvisor Usage CTrain in this diagram shows concrete inheritance, one of the errors found by DesignAdvisor
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.