SDMetrics User Manual
Version 2.5
Table of Contents
1 Introduction
2 Installation
2.1 System Requirements
2.2 Quick Installation and Start
2.3 Installing SDMetrics
2.4 Updating SDMetrics from an Older Version
2.5 Invoking SDMetrics
2.6 Uninstalling SDMetrics
3 Getting Started
4 The SDMetrics User Interface
4.1 Getting Help
4.2 Specifying Project Settings
4.3 Calculating and Viewing Metric Data
4.4 The View 'Metric Data Tables'
4.5 The View 'Histograms'
4.6 The View 'Kiviat Diagrams'
4.7 The View 'Rule Checker'
4.8 The View 'Descriptive Statistics'
4.9 The View 'Design Comparison'
4.10 The View 'Relation Matrices'
4.11 The View 'Graph Structures'
4.12 The View 'Model'
4.13 The View 'Catalog'
4.14 The View 'Log'
4.15 Exporting Data
4.16 Setting Preferences
5 Running SDMetrics from the Command Line
6 Design Measurement
6.1 Design Metrics and System Quality
6.2 Structural Design Properties
6.3 Data Analysis Techniques
7 SDMetrics Metamodel and XMI Transformation Files
7.1 SDMetrics Metamodel
7.2 XMI Transformation Files
8 Defining Custom Design Metrics and Rules
8.1 Definition of Metrics
8.2 Definition of Sets
8.3 Definition of Design Rules
8.4 Definition of Relation Matrices
8.5 Expression Terms
8.6 Writing Descriptions
8.7 Defining Metrics for Profiles
9 Extending the Metrics and Rule Engine
9.1 Metric Procedures
9.2 Set Procedures
9.3 Rule Procedures
9.4 Boolean Functions
9.5 Scalar Functions
9.6 Set Functions
9.7 Metrics Engine Extension Guidelines
A: Metamodels
A.1 Metamodel for UML 1.3/1.4
A.2 Metamodel for UML 2.x
B: List of Design Metrics
B.1 Class Metrics
B.2 Interface Metrics
B.3 Package Metrics
B.4 Interaction Metrics
B.5 Usecase Metrics
B.6 Statemachine Metrics
B.7 Activity Metrics
B.8 Component Metrics
B.9 Node Metrics
B.10 Diagram Metrics
C: List of Design Rules
C.1 Class Rules
C.2 Interface Rules
C.3 Datatype Rules
C.4 Property Rules
C.5 Operation Rules
C.6 Parameter Rules
C.7 Package Rules
C.8 Association Rules
C.9 Associationclass Rules
C.10 Generalization Rules
C.11 Interfacerealization Rules
C.12 Dependency Rules
C.13 Interaction Rules
C.14 Actor Rules
C.15 Usecase Rules
C.16 Statemachine Rules
C.17 Region Rules
C.18 State Rules
C.19 Activitygroup Rules
C.20 Action Rules
C.21 Controlnode Rules
C.22 Objectnode Rules
C.23 Pin Rules
C.24 Controlflow Rules
C.25 Objectflow Rules
D: List of Matrices
E: Project File Format Definitions
F: Glossary
G: References
Oracle, Java and OpenJDK are registered trademarks of
Oracle America Inc. and/or its affiliates.
Linux is a trademark of Linus Torvalds. UNIX is a registered trademark
of X/Open Company Limited. Windows, Excel are registered trademarks of
Microsoft, Inc. MOF, UML and XMI are either registered trademarks or
trademarks of the Object Management Group, Inc. MagicDraw is a
trademark or registered trademark of No Magic, Inc. XML is a trademark
of the World-Wide Web Consortium. SDMetrics is a registered trademark
of Jürgen Wüst. All other product names and company names
mentioned herein are the property of their respective owners.
All rights reserved. No part of this manual may be
reproduced, in any form or by any means, without permission in writing
from the author.