Designite is a software design quality assessment tool that identifies design smells and metrics to help improve design quality. It detects abstraction, encapsulation, modularization, and hierarchy smells. It provides metrics on lines of code, classes, methods, violations, duplication, and dependencies. Designite integrates with SonarQube and offers academic licenses. It aims to help researchers study design quality and practitioners improve their code through smell detection and metrics analysis.
3. Software design – important but inherently
complex
Real-life projects frequently suffer from poor
design quality and huge technical debt.
4. Seesaw game of software development
Technical Debt
Maintainability
5. Design smells
“Design smells are certain
structures in the design that
indicate violation of
fundamental design
principles and negatively
impact design quality”.
Identifying design smells and refactoring them could
lead us to a better design quality.
12. Metrics analysis
Metric
LOC (Lines Of Code)
NON (No Of Namespaces)
NOC (No Of Classes)
NOM (No Of Methods)
MV (Metric Violations)
SD (Smell Density)
DUP (Code Duplication)
DDS (Detected Design
Smells)
NOF (No Of Fields)
NOPF (No Of Public Fields)
NOPM (No Of Public
Methods)
Solution
✓
✓
✓
✓
✓
✓
✓
Project
✓
✓
✓
✓
✓
✓
✓
✓
Class
✓
✓
✓
✓
✓
✓
Method
✓
13. Metrics analysis
Metric
NOP (No Of Properties)
WMC (Weighted Methods
per Class)
NC (No Of Children)
DIT (Depth of Inheritance
Tree)
LCOM (Lack of Cohesion
among Methods)
Fan-in
Fan-out
CC (Cyclomatic Complexity)
PC (Parameter Count)
Solution Project Class
✓
✓
✓
✓
✓
✓
✓
Method
✓
✓
19. Contributions
• Research
• A tool to help researchers in carrying out
empirical studies
• Practice
• A design quality analysis tool to help
practitioners improve design agility