rational rose og borland together kan.. altså reverse engineer.. men det er meget dyre produkter.. og de kan ikke automatisk lave perfekte diagrammer.
together kan vise sekvens diagrammet ud fra en metode- rational kan ikke lave sekvens diagram selv... ihvertfald ikke i den sidste version jeg prøvede som vist hed 2002, men der er vist en rational rose runtime version der kan generere sekvens ud fra kørende kode kald.
ibm's sider er et rod men jeg mener at de har opdelt rational i en masse forskellige produkter nu... hvor det du leder efter nok er xde developer.
http://www-306.ibm.com/software/awdtools/developer/plus/rational og together kan gøre det at de reverse engineer så du får klasserne lagt ind i programmet med atributter osv ...det er ikke alle relationer de er lige gode til at håndtere..benytter du plugins der integerer i din IDE så bliver det straks sjovere.. f.eks begynder du at sætte multiplicitet eller ændrer på en relation så bliver din kode opdateret til noget som du ikke nødvendigvis ville have... Disse slags plugins kan ikke anbefales medmindre du virklig har forstand på værktøjet.. jeg har læst flere bøger om rational og bryder mig stadig ikke rigtigt om det.
Når du trækker klasser hentet ind fra kode ind i et diagram så viser den alt tilgængelig information.. det kan du f.eks så hide så den ikke viser atributter for at få et mere overskuligt diagram.. skulle du så få lyst til at vise disse atributter i et andet diagram så bliver de igen vist i det gamle hvis du ændrer det... har du et diagram hvor du vil vise et objekt med en stereotype så bliver billedet for stereotypen vist i alle.. f.eks boundry.
noget sjovt er også at du f.eks har en actor.. en user.
nu har du også et user objekt.. i dit klasse diagram vil du nok ikke have at klasse diagrammet viser objektet som en lille mand.. men du kan ikke have både en actor og et objekt der hedder user... jeg kan muligvis have misforstået en masse med rational.. men hvis det er tilfældet så viser det bare at rational er alt for svært at benytte.
Sidder du og vil lave sekvens diagram i together så får du også alt for meget information.. du kan selvfølgelig exclude noget men i et bare middelstort system så får du KÆMPE uoverskulige diagrammer... som du aligevel skal bruge tid på at customize.
Den eneste fordel ved reverse enginering er at du ikke skal skrive klassenavn/metode/atributter ind.. men ofte vil du ignore meget af den information...
Jeg vil anbefale at du bider i det sure æble og laver dem manuelt... jeg har benyttet mange timer på rigtig mange af sådanne værktøjer og er efter hånden kommet til den konklusion at det simple værktøj virker rigtig godt.. og at værktøjer som rational og together sikkert er smarte hvis man har en længere uddannelse i dem og ikke har andet at lave.