Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 1 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.accesservice.ATGBusinessToBusiness | None | None | atg.presentation.businessdelegate |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 7 | 100.0% | 64.0% | 64.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.dao.ATGDao atg.metier.dao.ATGDaoFactory | None | atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdo atg.metier.dao.ldap | atg.metier.dao.exception atg.metier.entite atg.service.log atg.util.service atg.util.service.identifiant atg.util.service.list java.util.logging |
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 | atg.metier.dao.exception.ATGDaoAccessSupportException atg.metier.dao.exception.ATGDaoDataLoadedException atg.metier.dao.exception.ATGDaoDataNotFoundException | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdbc.exception atg.metier.dao.jdo atg.metier.entite atg.util.service.donneereferentielle | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 18 | 0.0% | 95.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.metier.dao.hibernate.ATGDaoHibernate atg.metier.dao.hibernate.ATGDaoHibernatePoolDataSource | atg.metier.entite | atg.metier.dao atg.metier.dao.exception atg.metier.dao.jdbc.exception atg.metier.entite atg.service.log atg.util.service atg.util.service.identifiant atg.util.service.list java.lang java.lang.reflect java.util java.util.logging javax.jdo org.hibernate org.hibernate.cfg org.hibernate.criterion org.hibernate.metadata org.hibernate.type |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.dao.jdbc.ATGDaoJdbc | atg.metier.dao.jdbc.ATGDaoPoolDataSource | None | atg.metier.dao atg.metier.dao.exception atg.metier.dao.jdbc.exception atg.service.constante atg.service.log atg.util.service atg.util.service.identifiant java.lang java.sql java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 2 | 0.0% | 40.0% | 60.000004% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.metier.dao.jdbc.exception.ATGDaoBaseIndisponibleException atg.metier.dao.jdbc.exception.ATGDaoRequeteException | atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdo | atg.metier.dao.exception java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.metier.dao.jdo.ATGDaoJdo atg.metier.dao.jdo.ATGDaoJdoPoolDataSource | None | atg.metier.dao atg.metier.dao.exception atg.metier.dao.jdbc.exception atg.metier.entite atg.service.constante atg.service.log atg.util.service atg.util.service.identifiant atg.util.service.list com.versant.core.jdo java.io java.lang java.util java.util.logging javax.jdo javax.jdo.spi |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 3 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.dao.ldap.ATGDaoLdap | None | None | atg.metier.dao atg.service.log java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 16 | 88.0% | 76.0% | 64.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.entite.ATGCycleDeVie atg.metier.entite.ATGEntiteBasic atg.metier.entite.ATGEntiteEJBBean atg.metier.entite.ATGICycleDeVie atg.metier.entite.ATGIEntite atg.metier.entite.ATGIEntiteEJBHome atg.metier.entite.ATGIEntiteEJBRemote | atg.metier.entite.ATGCycleDeVieHibernateHelper | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdo atg.util.ejb atg.util.service.donneereferentielle | atg.metier.dao.exception atg.metier.dao.hibernate atg.metier.entite.exception atg.service.log atg.util.ejb atg.util.service atg.util.service.dataerror atg.util.service.identifiant atg.util.service.list atg.util.singleton java.io java.lang java.lang.reflect java.util java.util.logging javax.ejb |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.metier.entite.exception.ATGEntiteDataException | atg.metier.entite | atg.util.service.dataerror java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 9 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.logiquemetier.controle.ATGControleEJBRemote atg.metier.logiquemetier.controle.ATGIControle | atg.metier.logiquemetier.controle.ATGControleBasic atg.metier.logiquemetier.controle.ATGControleEJBBean | None | atg.service.log atg.service.servicelocator atg.service.servicelocator.exception atg.util.ejb atg.util.service atg.util.singleton java.lang java.util.logging javax.ejb |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 67.0% | 90.0% | 57.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.logiquemetier.sessionfacade.ATGISessionFacade atg.metier.logiquemetier.sessionfacade.ATGSessionFacadeEJB atg.metier.logiquemetier.sessionfacade.ATGSessionFacadeEJBHome atg.metier.logiquemetier.sessionfacade.ATGSessionFacadeEJBRemote | atg.metier.logiquemetier.sessionfacade.ATGSessionFacadeBasic atg.metier.logiquemetier.sessionfacade.ATGSessionFacadeEJBBean | atg.presentation.businessdelegate | atg.service.log atg.service.servicelocator atg.service.servicelocator.exception atg.util.ejb atg.util.service atg.util.singleton java.lang java.util.logging javax.ejb |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 9 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.metier.servicemetier.ATGEjbRemoteServiceMetier atg.metier.servicemetier.ATGIServiceMetier | atg.metier.servicemetier.ATGEjbServiceMetier atg.metier.servicemetier.ATGServiceMetierBasic | None | atg.service.log atg.service.servicelocator atg.service.servicelocator.exception atg.util.ejb atg.util.service atg.util.singleton java.lang java.util.logging javax.ejb |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 100.0% | 90.0% | 90.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.presentation.businessdelegate.ATGBusinessDelegate | None | atg.metier.accesservice | atg.metier.logiquemetier.sessionfacade atg.presentation.businessdelegate.exception atg.service.log atg.service.servicelocator atg.service.servicelocator.exception atg.util.service atg.util.singleton java.lang java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 1 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.presentation.businessdelegate.exception.ATGBusinessDelegateException | atg.presentation.businessdelegate | java.lang |
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 | atg.presentation.jsf.ATGFacesServlet atg.presentation.jsf.ATGJsfBean atg.presentation.jsf.ATGJsfControleur | None | atg.service.constante atg.service.log atg.util.service java.io java.lang java.util java.util.logging javax.faces.context javax.faces.webapp javax.servlet |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.presentation.servlet.ATGContextServletListener | None | atg.service.constante atg.service.log java.lang java.util.logging javax.servlet |
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 | atg.presentation.struts.ATGAction atg.presentation.struts.ATGActionForm atg.presentation.struts.ATGActionServlet | None | atg.service.constante atg.service.log atg.util.service.dataerror java.io java.lang java.util java.util.logging javax.servlet javax.servlet.http org.apache.struts.action |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 5 | 0.0% | 33.0% | 67.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.service.constante.AtgConstantes atg.service.constante.AtgConstantesWF | atg.metier.dao.jdbc atg.metier.dao.jdo atg.presentation.jsf atg.presentation.servlet atg.presentation.struts atg.service.log atg.service.servicelocator atg.util.ejb atg.util.service.donneereferentielle atg.util.service.list | atg.service.log java.lang java.lang.reflect java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
21 | 8 | 33.0% | 28.0% | 39.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.service.log.ATGILogable | atg.service.log.AtgLogFormatter atg.service.log.AtgLogManager | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdo atg.metier.dao.ldap atg.metier.entite atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier atg.presentation.businessdelegate atg.presentation.jsf atg.presentation.servlet atg.presentation.struts atg.service.constante atg.service.servicelocator atg.util.ejb atg.util.service atg.util.service.donneereferentielle atg.util.service.identifiant atg.util.service.list atg.util.singleton | atg.service.constante java.io java.lang java.security java.text java.util java.util.logging sun.security.action |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 11 | 0.0% | 69.0% | 31.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.service.servicelocator.ATGServiceLocator | atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier atg.presentation.businessdelegate atg.util.service.donneereferentielle | atg.service.constante atg.service.log atg.service.servicelocator.exception atg.util.service java.io java.lang java.util java.util.logging javax.ejb javax.naming javax.rmi |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 1 | 0.0% | 17.0% | 83.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.service.servicelocator.exception.ATGServiceLocatorException | atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier atg.presentation.businessdelegate atg.service.servicelocator | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 7 | 100.0% | 64.0% | 64.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.util.ejb.ATGEJBEntite atg.util.ejb.ATGEJBSession | None | atg.metier.entite atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier | atg.metier.entite atg.service.constante atg.service.log atg.util.service java.lang java.rmi javax.ejb |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
16 | 3 | 100.0% | 16.0% | 16.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.util.service.ATGBasicClass | None | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdo atg.metier.entite atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier atg.presentation.businessdelegate atg.presentation.jsf atg.service.servicelocator atg.util.ejb atg.util.service.donneereferentielle atg.util.service.identifiant atg.util.service.list atg.util.singleton | atg.service.log java.lang java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 3 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.util.service.dataerror.ATGDataError atg.util.service.dataerror.ATGDataErrors | atg.metier.entite atg.metier.entite.exception atg.presentation.struts | java.io java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.util.service.donneereferentielle.ATGDonneeReferentielle atg.util.service.donneereferentielle.ATGListDonneeReferentielle | None | atg.metier.dao.exception atg.metier.entite atg.service.constante atg.service.log atg.service.servicelocator atg.util.service atg.util.service.donneereferentielle.exception atg.util.service.list java.lang java.lang.reflect java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 1 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.util.service.donneereferentielle.exception.ATGListReferentielException | atg.util.service.donneereferentielle | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 6 | 0.0% | 55.0% | 45.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.util.service.identifiant.ATGCritereValue atg.util.service.identifiant.ATGIdentifiant atg.util.service.identifiant.ATGListCritereValue | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdbc atg.metier.dao.jdo atg.metier.entite | atg.service.log atg.util.service java.io java.lang java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 7 | 33.0% | 58.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
atg.util.service.list.ATGIListEntity | atg.util.service.list.ATGListEntity atg.util.service.list.ATGListException | atg.metier.dao atg.metier.dao.hibernate atg.metier.dao.jdo atg.metier.entite atg.util.service.donneereferentielle | atg.service.constante atg.service.log atg.util.service java.io java.lang java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 5 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.util.singleton.ATGServiceSingleton | atg.metier.entite atg.metier.logiquemetier.controle atg.metier.logiquemetier.sessionfacade atg.metier.servicemetier atg.presentation.businessdelegate | atg.service.log atg.util.service java.lang java.util java.util.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | atg.version.ATGVersion | None | java.io java.lang |
Package | Package Dependencies |
---|---|
atg.metier.accesservice | atg.presentation.businessdelegate atg.service.log atg.service.constante atg.service.log |
atg.metier.dao | atg.util.service.list atg.service.log atg.service.constante atg.service.log |
atg.metier.dao.hibernate | atg.util.service.identifiant atg.service.log atg.service.constante atg.service.log |
atg.metier.dao.jdbc | atg.service.log atg.service.constante atg.service.log |
atg.metier.dao.jdo | atg.service.log atg.service.constante atg.service.log |
atg.metier.dao.ldap | atg.service.log atg.service.constante atg.service.log |
atg.metier.entite | atg.service.log atg.service.constante atg.service.log |
atg.metier.logiquemetier.controle | atg.util.ejb atg.service.log atg.service.constante atg.service.log |
atg.metier.logiquemetier.sessionfacade | atg.util.ejb atg.service.log atg.service.constante atg.service.log |
atg.metier.servicemetier | atg.util.ejb atg.service.log atg.service.constante atg.service.log |
atg.presentation.businessdelegate | atg.service.log atg.service.constante atg.service.log |
atg.presentation.jsf | atg.service.log atg.service.constante atg.service.log |
atg.presentation.servlet | atg.service.log atg.service.constante atg.service.log |
atg.presentation.struts | atg.service.log atg.service.constante atg.service.log |
atg.service.constante | atg.service.log atg.service.constante |
atg.service.log | atg.service.constante atg.service.log |
atg.service.servicelocator | atg.service.log atg.service.constante atg.service.log |
atg.util.ejb | atg.service.log atg.service.constante atg.service.log |
atg.util.service | atg.service.log atg.service.constante atg.service.log |
atg.util.service.donneereferentielle | atg.util.service.list atg.service.log atg.service.constante atg.service.log |
atg.util.service.identifiant | atg.service.log atg.service.constante atg.service.log |
atg.util.service.list | atg.service.log atg.service.constante atg.service.log |
atg.util.singleton | atg.service.log atg.service.constante atg.service.log |
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. |