UML Class Diagram Quality Analysis for Early Design Issue Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software development projects face delays and increased costs due to software system design issues identified late in the development cycle, as existing design tools cannot measure design quality quantitatively, preventing early rectification of design issues.
Innovation Solution
The technology provides tools for analyzing software design diagrams, such as UML class diagrams, to generate quality metrics without generating source code, allowing for early design quality assessment and modification of object classes based on these metrics, thereby integrating design quality analysis into existing design and modeling tools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If design quality analysis is performed using traditional code-based analysis, then source code quality can be measured, but design issues cannot be identified early in the development cycle
Solution Approach 1:
The patent applies preliminary action by performing design quality analysis on UML class diagrams before source code generation. The system calculates quality metrics (such as coupling, cohesion, and complexity measures) directly from design diagrams during the design phase, enabling early identification of design issues before they propagate to implementation, thus preventing downstream rework while maintaining measurement precision through quantitative metric calculation.
2Productivity
If design quality metrics are calculated without generating source code, then early design phase analysis is enabled, but existing code-based analysis tools cannot be used
Solution Approach 1:
The patent uses the UML class diagram as an intermediary representation between design concepts and source code. The system calculates quality metrics directly from the structured information in UML diagrams (classes, attributes, methods, relationships) without requiring code generation, thus enabling early analysis while maintaining compatibility with existing design tools and avoiding the complexity of implementing a full code-based analysis pipeline.
Solution Approach 2:
The patent changes the parameter domain from source code metrics to design diagram metrics. Instead of analyzing compiled code characteristics, the system calculates quality measures based on diagram elements such as number of relationships, inheritance depth, interface implementation counts, and association strengths, thereby adapting the analysis approach to the design phase while maintaining quantitative measurement capability.
3Reliability
If design issues are identified late in the development cycle, then comprehensive testing can be performed, but extensive delays and increased costs occur
Solution Approach 1:
The patent implements feedback by providing immediate quality metric calculations and analysis results during the design phase. The system evaluates design diagrams and returns quantitative quality measures (such as coupling coefficients, cohesion indices, and complexity scores) that feedback to designers, enabling them to identify and rectify reliability issues before implementation, thus maintaining system reliability while avoiding timeline delays associated with late-stage issue detection.
Data Source
AI summary
Methods, apparatus, and computer-readable media for analyzing the prospective quality of source code produced according to a class representation (e.g., a UML class diagram) are disclosed. According to one embodiment, a class-level representation of a software application is received, one or more object classes of the class-level representation are selected, and a number of quality metrics are calculated for the selected object classes. The quality metrics can be output as a report or used to modify object classes of the class representation to improve the prospective quality of source code produced according to the class representation.


