Reverse Engineering tools voor Java-project in Eclipse

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Hi guys,

Ik zit opgescheept met een project waar de documentatie van ontbreekt. Er is wel een klassendiagram maar dat is vrij outdated, en aangezien er later ook nog flink aan gesleuteld is ben ik bang dat er vrij weinig van over is gebleven.

Ik ben dus op zoek naar een tool waarmee ik reversed engineering kan toepassen op mijn project. Uiteraard ben ik zelf al op zoek geweest en kwam o.a. uit bij MyEclipse, alleen was dat niet compatible met de huidige geïnstalleerde plugins. Hebben jullie ervaring met bepaalde tools? Liefst gratis, betaald hoor ik ook graag, misschien gaat het opperhoofd akkoord met de aanschaf.

Thanks!

Acties:
  • 0 Henk 'm!

  • bomberboy
  • Registratie: Mei 2007
  • Laatst online: 18:26

bomberboy

BOEM!

De Omondo UML plugin voor eclipse schijnt wel behoorlijk goed te zijn: http://www.eclipsedownload.com/
Zelf heb ik enkel de trial ooit eens een paar jaar geleden gebruikt en sindsdien eigenlijk niet meer nodig gehad.

En als het niet noodzakelijk Eclipse hoeft te zijn: Netbeans heeft wel gratis een UML plugin die ook (beperkt) kan reverse engineeren. Maar momenteel niet zo geavanceerd als bovenstaande Omondo UML.

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Wat wil je eigenlijk reverse engineeren? (Aangezien je de code al hebt)

Documentatie genereren doe je met javadoc. Klassediagrammen maken doe je met een UML plugin, dat moet te vinden zijn.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Inderdaad een klassendiagram en als het even kan de sequentiediagrammen, maar dat zal lastig worden. We zijn dus inderdaad op zoek naar een UML plugin waar we er al een stuk of 8 van gebruikt hebben, en met een 8 KB verbinding kost dat heel wat tijd. Na een dag eraan te hebben besteed te hebben hoop ik dat ik hier een tool aangeraden krijg die ook echt werkt.

Acties:
  • 0 Henk 'm!

  • bomberboy
  • Registratie: Mei 2007
  • Laatst online: 18:26

bomberboy

BOEM!

Misschien kan je dan ook een overzichtje geven van de plugins die je al gebruikt hebt en waarom deze niet voldoen, dat geeft ons een beter idee van waar je juist naar op zoek bent. Gewoon een klassediagram moet zeker lukken met de twee die ik aangaf.

Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online

Phyxion

_/-\o_

the_scientist schreef op donderdag 23 april 2009 @ 11:40:
Hi guys,

Ik zit opgescheept met een project waar de documentatie van ontbreekt. Er is wel een klassendiagram maar dat is vrij outdated, en aangezien er later ook nog flink aan gesleuteld is ben ik bang dat er vrij weinig van over is gebleven.

Ik ben dus op zoek naar een tool waarmee ik reversed engineering kan toepassen op mijn project. Uiteraard ben ik zelf al op zoek geweest en kwam o.a. uit bij MyEclipse, alleen was dat niet compatible met de huidige geïnstalleerde plugins. Hebben jullie ervaring met bepaalde tools? Liefst gratis, betaald hoor ik ook graag, misschien gaat het opperhoofd akkoord met de aanschaf.

Thanks!
Enterprise Architect is zeer goed met de imports, class diagram kan het wel, sequence weet ik niet. Er is een trial van 30 dagen van te downloaden. Enige minpunt is dat als je export op BMP je overal TRIAL VERSION in komt te staan maar met Paint ofzo kan je dat zo weghalen.

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Een watermerk is geen probleem, thanks!

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Weinig informatie over de omstandigheden, maar als dit voor een bedrijf is:
Als je (non-free) software in een bedrijfsmatige situatie gebruikt, betaal er dan ook voor. Evalueren met een trial versie is natuurlijk prima, maar als jij daadwerkelijk 'in productie' gaat werken met een trial-versie ben je IMHO gewoon fout bezig.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Ben ik de enige die bij reverse engineering vooral denkt aan het decompilen van excutables / class files? Dit is meer reverse-documenteren IMHO.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Sihaya
  • Registratie: Juni 2001
  • Niet online

Sihaya

Pasfoto:

Hydra schreef op vrijdag 24 april 2009 @ 13:14:
Ben ik de enige die bij reverse engineering vooral denkt aan het decompilen van excutables / class files? Dit is meer reverse-documenteren IMHO.
Volgens mij is architecture recovery de term hiervoor. Het doel hiervan is de architecture/design van een stuk software boven water te halen vanuit de source code. Als je dit heel serieus wilt aanpakken, dan raad ik aan om eens naar een aantal software architecture recovery methodes te kijken. Zie daarnaast ook het boek Software Architecture in Practice en dan vooral het hoofdstuk reconstructing software architecture.

Zelf heb ik ooit Altova UML tool gebruikt. Het is geen Eclipse plugin maar misschien is het mogelijk de diagrammen te importeren. Een voordeel van de tool vond ik dat het classes groepeert die veel coupling met elkaar hebben, zo kun je bijvoorbeeld modules ontdekken die niet in Java packages zijn gedefinieerd.

signature has expired


Acties:
  • 0 Henk 'm!

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Wat is je doel? Aangezien je sequence diagrams nodig hebt, verwacht ik dat je zo snel mogelijk de applicatie wilt doorgronden?

In zulke situaties doe ik liever dit: Draai de applicatie in profiling mode (met JProfiler ofzo). Klik daarna in je applicatie op een knop (of open een scherm) waarvan je wilt weten welke code die raakt. Geef de applicatie even de tijd en stop dan met profilen. Open de CPU view in je profiler. Hoogstwaarschijnlijk wordt meer dan 90% van de tijd in een bepaalde thread en method chain besteedt en je weet precies welke code aangeroepen wordt. (van JSP tot aan database)

Het is een vrij intensieve manier van de applicatie doorgronden, maar je hebt het in de meeste gevallen maar een paar keer nodig, omdat als je dit een paar keer gedaan hebt, je breakpoints kunt gaan zetten en verder debuggen.

Reverse engineering naar UML is leuk, maar niets anders dan visuele code, aangezien het abstractieniveau niet hoger is. Ik zie er persoonlijk weinig nut in.

Profilers bieden meer nuttige views om inzicht te kijken in een applicatie. Bijvoorbeeld thread views waarin je kunt zien welke threads allemaal bezig zijn (misschien lopen er wel een stel schedulers ofzo). Al die dingen kom je niet te weten met standaard debugging technieken, maar omdat een profiler alle draaiende code in de gaten houdt, heb je volledig overzicht en dat is zeker in het begin erg handig.

Fat Pizza's pizza, they are big and they are cheezy

Pagina: 1