Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.argouml.language.java | 1 | 1 | 0 | 7 | 1 | 0.0% | 12.0% | 88.0% | 1 |
org.argouml.language.java.codesync | 1 | 1 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
org.argouml.language.java.codesync.ui | 2 | 2 | 0 | 1 | 11 | 0.0% | 92.0% | 8.0% | 1 |
org.argouml.language.java.cognitive.critics | 4 | 4 | 0 | 0 | 10 | 0.0% | 100.0% | 0.0% | 1 |
org.argouml.language.java.generator | 2 | 2 | 0 | 0 | 18 | 0.0% | 100.0% | 0.0% | 1 |
org.argouml.language.java.profile | 3 | 3 | 0 | 0 | 8 | 0.0% | 100.0% | 0.0% | 1 |
org.argouml.language.java.reveng | 34 | 33 | 1 | 2 | 21 | 3.0% | 91.0% | 6.0% | 1 |
org.argouml.language.java.reveng.classfile | 34 | 30 | 4 | 1 | 21 | 12.0% | 95.0% | 7.0% | 1 |
org.argouml.language.java.ui | 6 | 6 | 0 | 0 | 20 | 0.0% | 100.0% | 0.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 1 | 0.0% | 12.0% | 88.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.JavaModuleGlobals |
org.argouml.language.java.codesync org.argouml.language.java.cognitive.critics org.argouml.language.java.generator org.argouml.language.java.profile org.argouml.language.java.reveng org.argouml.language.java.reveng.classfile org.argouml.language.java.ui |
java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.codesync.CodeSyncJava |
None | java.lang javax.swing org.argouml.language.java org.argouml.language.java.codesync.ui org.argouml.moduleloader org.argouml.ui |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.codesync.ui.CodeSyncJPanel org.argouml.language.java.codesync.ui.CodeSyncTableModel |
org.argouml.language.java.codesync |
java.awt java.lang java.util java.util.logging javax.swing javax.swing.table org.argouml.application.api org.argouml.kernel org.argouml.model org.argouml.ui org.argouml.uml.generator |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.cognitive.critics.CrMultipleInheritance org.argouml.language.java.cognitive.critics.CrMultipleRealization org.argouml.language.java.cognitive.critics.CrReservedNameJava org.argouml.language.java.cognitive.critics.InitJavaCritics |
None | java.lang java.util org.argouml.application.api org.argouml.cognitive org.argouml.cognitive.critics org.argouml.language.java org.argouml.model org.argouml.moduleloader org.argouml.uml.cognitive org.argouml.uml.cognitive.critics |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 18 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.generator.GeneratorJava org.argouml.language.java.generator.GeneratorJava$1TagExtractor |
None | java.io java.lang java.util java.util.logging org.argouml.application.api org.argouml.application.helpers org.argouml.configuration org.argouml.language.java org.argouml.model org.argouml.moduleloader org.argouml.ocl org.argouml.uml org.argouml.uml.generator org.argouml.uml.reveng tudresden.ocl tudresden.ocl.check.types tudresden.ocl.parser.analysis tudresden.ocl.parser.node |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.profile.ModelUtils org.argouml.language.java.profile.ProfileJava org.argouml.language.java.profile.ProfileJava$1 |
None | java.lang java.net java.util java.util.logging org.argouml.language.java org.argouml.model org.argouml.moduleloader org.argouml.profile |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 21 | 3.0% | 91.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.argouml.language.java.reveng.Context |
org.argouml.language.java.reveng.ClassifierContext org.argouml.language.java.reveng.ClassifierNotFoundException org.argouml.language.java.reveng.JavaImport org.argouml.language.java.reveng.JavaImportSettings org.argouml.language.java.reveng.JavaLexer org.argouml.language.java.reveng.JavaLexer$DFA18 org.argouml.language.java.reveng.JavaLexer$DFA30 org.argouml.language.java.reveng.JavaParseException org.argouml.language.java.reveng.JavaParser org.argouml.language.java.reveng.JavaParser$DFA107 org.argouml.language.java.reveng.JavaParser$DFA115 org.argouml.language.java.reveng.JavaParser$DFA118 org.argouml.language.java.reveng.JavaParser$DFA124 org.argouml.language.java.reveng.JavaParser$DFA127 org.argouml.language.java.reveng.JavaParser$DFA137 org.argouml.language.java.reveng.JavaParser$DFA139 org.argouml.language.java.reveng.JavaParser$DFA82 org.argouml.language.java.reveng.JavaParser$annotationName_return org.argouml.language.java.reveng.JavaParser$block_return org.argouml.language.java.reveng.JavaParser$constructorBody_return org.argouml.language.java.reveng.JavaParser$createdName_return org.argouml.language.java.reveng.JavaParser$equalsVariableInitializer_return org.argouml.language.java.reveng.JavaParser$primitiveType_return org.argouml.language.java.reveng.JavaParser$qualifiedName_return org.argouml.language.java.reveng.JavaParser$typeArguments_return org.argouml.language.java.reveng.JavaParser$variableDeclaratorId_return org.argouml.language.java.reveng.Modeller org.argouml.language.java.reveng.OuterClassifierContext org.argouml.language.java.reveng.PackageContext org.argouml.language.java.reveng.ParameterDeclaration org.argouml.language.java.reveng.ParseState org.argouml.language.java.reveng.ParseStateException org.argouml.language.java.reveng.UnsupportedJavaFeatureException |
org.argouml.language.java.reveng.classfile org.argouml.language.java.ui |
java.io java.lang java.net java.util java.util.logging java.util.regex org.antlr.runtime org.argouml.application.api org.argouml.configuration org.argouml.i18n org.argouml.kernel org.argouml.language.java org.argouml.language.java.reveng.classfile org.argouml.model org.argouml.moduleloader org.argouml.ocl org.argouml.profile org.argouml.taskmgmt org.argouml.uml.reveng org.argouml.uml.util org.argouml.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 21 | 12.0% | 95.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.argouml.language.java.reveng.classfile.ClassfileTokenTypes org.argouml.language.java.reveng.classfile.ClassfileTreeParserTokenTypes org.argouml.language.java.reveng.classfile.Context org.argouml.language.java.reveng.classfile.ParserUtils$AbstractLexer |
org.argouml.language.java.reveng.classfile.ByteToken org.argouml.language.java.reveng.classfile.ByteTokenStream org.argouml.language.java.reveng.classfile.ClassfileImport org.argouml.language.java.reveng.classfile.ClassfileParser org.argouml.language.java.reveng.classfile.ClassfileTreeParser org.argouml.language.java.reveng.classfile.ClassifierContext org.argouml.language.java.reveng.classfile.ClassifierNotFoundException org.argouml.language.java.reveng.classfile.JavaParseException org.argouml.language.java.reveng.classfile.ObjectAST org.argouml.language.java.reveng.classfile.OuterClassifierContext org.argouml.language.java.reveng.classfile.PackageContext org.argouml.language.java.reveng.classfile.ParseState org.argouml.language.java.reveng.classfile.ParseStateException org.argouml.language.java.reveng.classfile.ParserUtils org.argouml.language.java.reveng.classfile.ParserUtils$ArrayTypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$ClassSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$ClassTypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$FieldDescriptorLexer org.argouml.language.java.reveng.classfile.ParserUtils$FieldTypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$FormalTypeParameterLexer org.argouml.language.java.reveng.classfile.ParserUtils$MethodDescriptorLexer org.argouml.language.java.reveng.classfile.ParserUtils$MethodTypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$SimpleClassTypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$ThrowsSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$Token org.argouml.language.java.reveng.classfile.ParserUtils$TypeSignatureLexer org.argouml.language.java.reveng.classfile.ParserUtils$TypeVariableSignatureLexer org.argouml.language.java.reveng.classfile.ShortAST org.argouml.language.java.reveng.classfile.SimpleByteLexer org.argouml.language.java.reveng.classfile.UnsupportedJavaFeatureException |
org.argouml.language.java.reveng |
antlr antlr.collections antlr.collections.impl java.io java.lang java.net java.util java.util.jar java.util.logging java.util.regex java.util.zip org.antlr.runtime org.argouml.kernel org.argouml.language.java org.argouml.language.java.reveng org.argouml.model org.argouml.moduleloader org.argouml.profile org.argouml.taskmgmt org.argouml.uml.reveng org.argouml.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 20 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.argouml.language.java.ui.ActionRESequenceDiagram org.argouml.language.java.ui.ActionRESequenceDiagramForOperation org.argouml.language.java.ui.JavaSequencesMenu org.argouml.language.java.ui.JavaTools org.argouml.language.java.ui.RESequenceDiagramDialog org.argouml.language.java.ui.SettingsTabJava |
None | java.awt java.awt.event java.lang java.util java.util.logging javax.swing org.antlr.runtime org.argouml.application.api org.argouml.i18n org.argouml.kernel org.argouml.language.java org.argouml.language.java.reveng org.argouml.model org.argouml.moduleloader org.argouml.profile org.argouml.ui org.argouml.ui.targetmanager org.argouml.uml.diagram org.argouml.uml.ui org.argouml.util |
Package | Package Dependencies |
---|---|
org.argouml.language.java.reveng | org.argouml.language.java.reveng.classfile org.argouml.language.java.reveng |
org.argouml.language.java.reveng.classfile | org.argouml.language.java.reveng org.argouml.language.java.reveng.classfile |
org.argouml.language.java.ui | org.argouml.language.java.reveng org.argouml.language.java.reveng.classfile org.argouml.language.java.reveng |
Term | Description |
---|---|
Number of Classes | The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. |
Afferent Couplings | The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. |
Efferent Couplings | The number of other packages that the classes in the package depend upon is an indicator of the package's independence. |
Abstractness | The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. |
Instability | The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. |
Distance | The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. |
Cycles | Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques. |