Architecture notes:
Architectural dependencies are calculated at the leaf package level in the web app.
See here for more on architecure diagrams.
|
Snapshot report
Settings
| Classpath: |
See Appendix 1 |
| Granularity: |
"Detail" - includes inner classes, methods and fields
|
| Externals: |
"Hide" - referenced items are not included
|
| Excludes: |
"On" - User-defined items have been excluded from the model
|
| Transformations: | None |
Size
| Jars (and/or classpath directories): | 20 |
| Packages (that contain classes): | 269 |
| Classes (outer): | 2,369 |
| Classes (all): | 2,957 |
| Classes (external): | 0 |
| |
| NI (Number of bytecode Instructions): | 357K |
| LOC (Non Comment Non Blank Lines Of Code): | ~153K |
|
Flat Tangles
| Level | #Items | #Tangles | #Tangled items | Biggest | Degree |
| Leaf package | 269 | 1 | 5 | 5 | 2% |
| Jar | 20 | 0 | 0 | 0 | 0% |
| Outer class | 2,369 | 21 | 95 | 17 | 1% |
Excessive Structural Complexity (XS)
| Cumulative XS: | 85,111 |
| Average XS: | 24% |
XS breakout by metric (and scope)
| Metric (and scope) | Threshold | #Offenders | Offenses (%) | XS contribution |
| Tangled (design)
| 0 | 3
of
78 | 4% | 3% |
| Fat (design)
| 120 | 1
of
78 | 1% | 79% |
| Fat (leaf package)
| 120 | 0
of
269 | 0% | 0% |
| Fat (class)
| 120 | 11
of
2,957 | 0% | 7% |
| Fat (method)
| 15 | 69
of
20,696 | 0% | 10% |
| Total | | 100% |
Tangled (design):
3
| Item | Value |
org.springframework.expression.spel.standard | 30% |
org.springframework.expression.spel | 6% |
org.springframework.web | 1% |
Fat (design):
1
| Item | Value |
org.springframework | 148 |
Fat (leaf package)
No items exceed the threshold for Fat at the leaf package level.
Fat (class):
Top 5 (of 11)
| Item | Value |
org.springframework.beans.factory.support.AbstractBeanDefinition | 252 |
org.springframework.beans.factory.support.AbstractBeanFactory | 194 |
org.springframework.expression.spel.standard.internal.InternalSpelExpressionParser | 192 |
org.springframework.orm.hibernate3.HibernateTemplate | 191 |
org.springframework.asm.MethodWriter | 180 |
Fat (method):
Top 5 (of 69)
| Item | Value |
org.springframework.asm.ClassReader.accept(ClassVisitor, Attribute[], boolean):void | 121 |
org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory():SessionFactory | 55 |
org.springframework.beans.BeanWrapperImpl.setPropertyValue(PropertyTokenHolder, PropertyValue):void | 45 |
org.springframework.asm.MethodWriter.a(int[], int[], int):int[] | 41 |
org.springframework.asm.MethodWriter.a(ByteVector):void | 40 |
Items with highest XS - Top 10
(of 84)
| Item | Tangled | Fat | Size | XS |
org.springframework | 0% | 148 | 356,843 | 67,510 |
org.springframework.asm.ClassReader.accept(ClassVisitor, Attribute[], boolean):void | | 121 | 2,180 | 1,909 |
org.springframework.expression.spel.standard | 30% | 2 | 4,105 | 1,231 |
org.springframework.asm.MethodWriter | | 180 | 3,623 | 1,207 |
org.springframework.orm.hibernate3.HibernateTemplate | | 191 | 2,677 | 995 |
org.springframework.beans.factory.support.AbstractBeanFactory | | 194 | 2,468 | 941 |
org.springframework.expression.spel | 6% | 9 | 14,816 | 834 |
org.springframework.expression.spel.standard.internal.InternalSpelExpressionParser | | 192 | 2,012 | 754 |
org.springframework.beans.factory.support.AbstractBeanDefinition | | 252 | 1,374 | 719 |
org.springframework.beans.BeanWrapperImpl.setPropertyValue(PropertyTokenHolder, PropertyValue):void | | 45 | 916 | 610 |
Appendix 1 - Project Classpath
I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.aop-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.asm-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.aspects-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.beans-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.context-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.context.support-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.core-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.expression-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.instrument-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.instrument.tomcat-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.integration-tests-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.jdbc-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.jms-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.orm-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.oxm-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.test-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.transaction-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.web-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.web.portlet-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\dist\org.springframework.web.servlet-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\projects\org.springframework.orm\src\test\resources\order-supplemental.jar I:\structure101.com\spring\3.0.0.RC1\projects\org.springframework.orm\src\test\resources\order.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\commons-codec.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\commons-httpclient.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\commons-logging.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\ivy.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\jets3t.jar I:\structure101.com\spring\3.0.0.RC1\projects\spring-build\lib\ivy\org.springframework.build.aws.ivy.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.aop-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.asm-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.aspects-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.beans-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.context-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.context.support-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.core-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.expression-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.instrument-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.instrument.tomcat-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.integration-tests-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.jdbc-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.jms-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.orm-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.oxm-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.test-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.transaction-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.web-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.web.portlet-sources-3.0.0.RC1.jar I:\structure101.com\spring\3.0.0.RC1\src\org.springframework.web.servlet-sources-3.0.0.RC1.jar
|