Re: [argouml-dev] Some observations on java reverse engineering

Thomas Neustupny <[email protected]> Thu, 18 Dec 2014 21:37:44 +0100
Newsgroups gmane.comp.db.axion.devel
Message-ID <trinity-643322b2-7689-423c-a81d-94d448340d45-1418935063959@3capp-gmx-bs20>
Hi Bob, hi Tom,

thanks for sharing the knowledge about these tools, there're for sure worth=
 a look when cyclic dependencies need to be analyzed.

To answer your question, Bob: The parser will only create a dependency if t=
here is still none for the given client/supplier combination, or, if a ster=
eotype name is provided, if there is no such dependency with that stereotyp=
e name. See the implementation of the private buildDependency(...) method i=
n the Modeller class.

Regards,
Thomas=C2=A0
=C2=A0

Gesendet:=C2=A0Donnerstag, 18. Dezember 2014 um 20:25 Uhr
Von:=C2=A0"Bob Tarling" <[email protected]>
An:[email protected]
Betreff:=C2=A0Re: [argouml-dev] Some observations on java reverse engineeri=
ng

Cool, thanks Tom.
=C2=A0IntelliJ may be the direction for us at work some time soon anyway, I=
'll start of looking at classcycle for now though..
=C2=A0I'd still like to tackle this for Argo as well, I'll go take a look a=
t Thomas's work as soon as I can.
=C2=A0
Cheers
=C2=A0
Bob
=C2=A0
=C2=A0
On 18 December 2014 at 18:38, Tom Morris <[email protected]> wrote:

On Thu, Dec 18, 2014 at 5:29 AM, Bob Tarling <[email protected][bob.tar=
[email protected]]> wrote:

=C2=A0My end goal is actually to determine package dependencies. I have a l=
arge application that I'm sure has cyclic dependencies between packages and=
 I'd like to demonstrate that problem to the team I work with before we tac=
kle how to resolve it and split the app to smaller jars.
=C2=A0
The tool I used to do this analysis for ArgoUML itself (although we never t=
ackled removing the package cycles) was Classycle:=C2=A0http://classycle.so=
urceforge.net/[http://classycle.sourceforge.net/] It is available as an Ecl=
ipse plugin as well as standalone tool.=C2=A0 One nice addition since the l=
ast time I used it is support for Dependency Definition Files.=C2=A0 This a=
llows you to describe allowable dependencies (e.g. your architectural layer=
s) and it will check for violations.=C2=A0http://classycle.sourceforge.net/=
ddf.html[http://classycle.sourceforge.net/ddf.html] =C2=A0Looking at http:/=
/argouml.tigris.org/source/browse/argouml/trunk/tools/classycle/[http://arg=
ouml.tigris.org/source/browse/argouml/trunk/tools/classycle/] it looks like=
 it's been 7-8 years since I used it for ArgoUML.
=C2=A0
IntelliJ's dependency analysis looks pretty powerful too (although I haven'=
t used it): https://www.jetbrains.com/idea/features/dependency_analysis.htm=
l[https://www.jetbrains.com/idea/features/dependency_analysis.html]
=C2=A0
While adding dependencies to the Java reverse engineering may be useful for=
 other stuff, it's not how I'd recommend finding package cycles.=C2=A0 A to=
ol designed for that purpose will do a better job.
=C2=A0
Tom
=C2=A0
=C2=A0

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=3D450&dsMessageId=3D3=
093000

To unsubscribe from this discussion, e-mail: [[email protected]=
s.org].
To be allowed to post to the list contact the mailing list moderator, email=
: [[email protected]]