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

Bob Tarling <[email protected]> Thu, 18 Dec 2014 19:25:29 +0000
Newsgroups gmane.comp.db.axion.devel
Message-ID <CAKWB3RTn8cZ2r--Z9YxLKPD-rmbxB-0X8xLUccQTB=+5FUHskg__25449.0371597514$1418930744$gmane$org@mail.gmail.com>
------=_Part_2503_1493639116.1418930733270
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Cool, thanks Tom.

IntelliJ may be the direction for us at work some time soon anyway, I'll
start of looking at classcycle for now though..

I'd still like to tackle this for Argo as well, I'll go take a look at
Thomas's work as soon as I can.

Cheers

Bob


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]>
> wrote:
>>
>>
>> My end goal is actually to determine package dependencies. I have a large
>> 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 tackle
>> how to resolve it and split the app to smaller jars.
>>
>
> The tool I used to do this analysis for ArgoUML itself (although we never
> tackled removing the package cycles) was Classycle:
> http://classycle.sourceforge.net/ It is available as an Eclipse plugin as
> well as standalone tool.  One nice addition since the last time I used it
> is support for Dependency Definition Files.  This allows you to describe
> allowable dependencies (e.g. your architectural layers) and it will check
> for violations. http://classycle.sourceforge.net/ddf.html  Looking at
> http://argouml.tigris.org/source/browse/argouml/trunk/tools/classycle/ it
> looks like it's been 7-8 years since I used it for ArgoUML.
>
> IntelliJ's dependency analysis looks pretty powerful too (although I
> haven't used it):
> https://www.jetbrains.com/idea/features/dependency_analysis.html
>
> While adding dependencies to the Java reverse engineering may be useful
> for other stuff, it's not how I'd recommend finding package cycles.  A tool
> designed for that purpose will do a better job.
>
> Tom
>
>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=3092995

To unsubscribe from this discussion, e-mail: [[email protected]].
To be allowed to post to the list contact the mailing list moderator, email: [[email protected]]
------=_Part_2503_1493639116.1418930733270
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Cool, thanks Tom.<br><br></div>IntelliJ may=
 be the direction for us at work some time soon anyway, I&#39;ll start of l=
ooking at classcycle for now though..<br><br></div>I&#39;d still like to ta=
ckle this for Argo as well, I&#39;ll go take a look at Thomas&#39;s work as=
 soon as I can.<br><br></div><div>Cheers<br><br></div><div>Bob<br><br></div=
></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On 18 Dece=
mber 2014 at 18:38, Tom Morris <span dir=3D"ltr">&lt;<a href=3D"mailto:tfmo=
[email protected]" target=3D"_blank">[email protected]</a>&gt;</span> wrote:<=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><=
div class=3D"gmail_quote"><span class=3D"">On Thu, Dec 18, 2014 at 5:29 AM,=
 Bob Tarling <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]"=
 target=3D"_blank">[email protected]</a>&gt;</span> wrote:<blockquote c=
lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1p=
x;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1=
ex"><div dir=3D"ltr"><div><div><div><div><div><div><div><br></div>My end go=
al is actually to determine package dependencies. I have a large applicatio=
n that I&#39;m sure has cyclic dependencies between packages and I&#39;d li=
ke to demonstrate that problem to the team I work with before we tackle how=
 to resolve it and split the app to smaller jars.<br></div></div></div></di=
v></div></div></div></blockquote><div><br></div></span><div>The tool I used=
 to do this analysis for ArgoUML itself (although we never tackled removing=
 the package cycles) was Classycle:=C2=A0<a href=3D"http://classycle.source=
forge.net/" target=3D"_blank">http://classycle.sourceforge.net/</a> It is a=
vailable as an Eclipse plugin as well as standalone tool.=C2=A0 One nice ad=
dition since the last time I used it is support for Dependency Definition F=
iles.=C2=A0 This allows you to describe allowable dependencies (e.g. your a=
rchitectural layers) and it will check for violations.=C2=A0<a href=3D"http=
://classycle.sourceforge.net/ddf.html" target=3D"_blank">http://classycle.s=
ourceforge.net/ddf.html</a> =C2=A0Looking at <a href=3D"http://argouml.tigr=
is.org/source/browse/argouml/trunk/tools/classycle/" target=3D"_blank">http=
://argouml.tigris.org/source/browse/argouml/trunk/tools/classycle/</a> it l=
ooks like it&#39;s been 7-8 years since I used it for ArgoUML.</div><div><b=
r></div><div>IntelliJ&#39;s dependency analysis looks pretty powerful too (=
although I haven&#39;t used it): <a href=3D"https://www.jetbrains.com/idea/=
features/dependency_analysis.html" target=3D"_blank">https://www.jetbrains.=
com/idea/features/dependency_analysis.html</a></div><div><br></div><div>Whi=
le adding dependencies to the Java reverse engineering may be useful for ot=
her stuff, it&#39;s not how I&#39;d recommend finding package cycles.=C2=A0=
 A tool designed for that purpose will do a better job.</div><span class=3D=
"HOEnZb"><font color=3D"#888888"><div><br></div><div>Tom</div><div><br></di=
v><div>=C2=A0</div></font></span></div></div></div>
</blockquote></div></div>

------=_Part_2503_1493639116.1418930733270--