Generazione di diagrammi UML con Maven

I diagrammi UML di un modulo software, sono sempre una documentazione utile per il nostro progetto. In questo articolo vediamo come crearli automaticamente utilizzando un plugin di Maven

Installazione di GraphViz

Prima di tutto dobbiamo installare, nel computer che effettua il build del progetto, GraphViz. Questo è un software opensource per la realizzazione di grafi di qualsiasi tipo, che possono essere generati a partire da una descrizione testuale. Ad esempio per realizzare un semplice grafo come il seguente

graph

 

Dobbiamo fornire la seguente descrizione testuale

digraph G {
 main -> parse -> execute;
 main -> init;
 main -> cleanup;
 execute -> make_string;
 execute -> printf
 init -> make_string;
 main -> printf;
 execute -> compare;
}

e poi richiamare l’utility dot, presente nel pacchetto di GraphViz, per realizzare l’immagine

dot -Tps graph1.gv -o graph1.ps

Per quello che riguarda la generazione di diagrammi UML, dobbiamo semplicemente installare il programma sul nostro computer e riavviarlo (o fare logout) perchè le variabili d’ambiente vengono impostate durante l’installazione.

 

Configurazione di UMLGraph

UMLGraph è il tool che utilizza GraphViz per realizzare dei diagrammi UML a partire dal nostro codice sorgente. Esiste un plugin Maven che ci permette di configurare la generazione di questi diagrammi durante la creazione della documentazione relativa al nostro progetto. Qui di seguito trovate la configurazione per un semplice progetto di test

<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.javastaff</groupId>
  <artifactId>UMLMaven</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>UMLMaven</name>

  <properties>
    <project.build.sourceEncoding>
        UTF-8
    </project.build.sourceEncoding>
  </properties>

  <reporting>                                                                              
    <plugins>                                                                            
        <plugin>                                                                         
            <groupId>org.apache.maven.plugins</groupId>                                  
            <artifactId>maven-javadoc-plugin</artifactId>                                
            <version>2.9</version>                                                       
            <configuration>                                                              
                <doclet>
                    org.umlgraph.doclet.UmlGraphDoc
                </doclet>                         
                <docletArtifact>                                                         
                    <groupId>org.umlgraph</groupId>                                      
                    <artifactId>umlgraph</artifactId>                                    
                    <version>5.6</version>                                               
                </docletArtifact>                                                        
                <additionalparam>
                    -views -all
                </additionalparam>                           
                <useStandardDocletOptions>
                    true
                </useStandardDocletOptions>                
            </configuration>                                                             
        </plugin>                                                                        
    </plugins>                                                                           
</reporting> 

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>

 

Generazione dei diagrammi

Una volta configurato il nostro progetto Maven basta lanciare il comando per la generazione della documentazione legata al progetto

mvn site

e quando è completata andare a vedere nella cartella $HOME_PROGETTO/target/site/apidocs. Qui dovreste trovare il file index.html che è praticamente la radice della vostra documentazione Javadoc. Visualizzandolo in un browser, troverete nei vostri package i diagrammi UML relativi.

diagrammaClassi

Semplice diagramma delle classi

 

 

Federico Paparoni

Looking for a right "about me"...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.