ss

Sonar

La aplicación Sonar es una herramienta que permite la verificación de la calidad del código java entregado en los proyectos.

Sonar aporta métricas de calidad, clasificadas en distintos aspectos como el mantenimiento, eficiencia, portabilidad, usabilidad… basadas en un conjunto de reglas configurables en formado PMD o Checkstyle. Además ofrece datos de complejidad ciclomática, comentarios, grado de cobertura de las pruebas y su resultado...

Es un sistema no intrusivo, que permite a las Consejerías y Organismos de la Junta de Andalucía tener una vista completa de sus sistemas de información, en lo relativo a su calidad, complejidad y otros aspectos personalizables.

SonarPpal.jpg

Cabe destacar también la posibilidad de navegar y descender en los proyectos, obteniendo las mismas métricas agrupadas por paquetes y clases, siendo posible visualizar el código fuente con la detección de los avisos y los comentarios asociados.

En lo referente a la arquitectura de Sonar indicar que es una aplicación web centralizada con base de datos relacional.

Advertencia: Inicialmente en un proceso de pruebas y validación se puede hacer una instalación con la base de datos embebida, ejecutando la verificación desde la misma máquina se puede ver el resultado, para, posteriormente, desplegarla en un entorno más estable con una base de datos dedicada. El uso de Sonar en MADEJA, parte de que se ha realizado una instalación centralizada y con base de datos.

Uso en MADEJA

Sonar constituye çun elemento fundamental para MADEJA en el subsistema de Verificación ya que permite hacer revisión de las entregas, midiendo la calidad del código entregado y la evolución histórica del mismo.

Sin modificar el código fuente entregado por el proveedor se puede ejecutar un comando maven que genera los datos de reporting:

mvn org.codehaus.sonar:sonar-maven-plugin:1.4.3:sonar -Dsonar.host.url=http://servidor:puerto/sonar/ -Dsonar.skipInstall=true

La ejecución puede llegar a durar varios minutos, dependiendo del proyecto y de las pruebas unitarias que se hayan desarrollado. Es recomendable no esperar a su ejecución.

En el caso de aplicaciones no maven, podemos hacer también la revisión del código creando un fichero pom.xml con el siguiente contenido:

<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>[YOUR.ORGANIZATION]</groupId>
  <artifactId>[YOUR.PROJECT]</artifactId>
  <name>[YOUR PROJECT NAME]</name>
  <version>[YOUR PROJECT VERSION]</version>
  <build>
        <sourceDirectory>[YOUR SOURCE DIRECTORY]</sourceDirectory>
        <plugins>
           <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.5</source>
                  <target>1.5</target>
              </configuration>
           </plugin>
        </plugins>
  </build>
  <properties>
  	<sonar.light>true</sonar.light>
  </properties>
</project>

Posteriormente a la generación de este fichero se ejecuta el comando anterior.

En algunos casos se puede modificar directamente el fichero setting.xml de maven añadiendo el siguiente texto:

<!-- Profile para sonar -->
<profile>
   <id>sonar</id>
   <activation>
      <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
      <!-- EXAMPLE FOR MYSQL -->
      <sonar.jdbc.url>            
         jdbc:mysql://servidor:puerto/sonar?useUnicode=true&characterEncoding=utf8
      </sonar.jdbc.url>        
      <sonar.jdbc.driver>
         com.mysql.jdbc.Driver
      </sonar.jdbc.driver>
      <sonar.jdbc.username>
         sonar
      </sonar.jdbc.username>
      <sonar.jdbc.password>
         sonar
      </sonar.jdbc.password>

      <!-- SERVER ON A REMOTE HOST -->               
      <sonar.host.url>
         http://servidor:puerto/sonar
      </sonar.host.url>
  </properties>
</profile>

Enlaces

Para más detalles del uso de Sonar, su instalación y otras cuestiones se debe consultar: http://sonar.codehaus.org/

Referencias

http://sonar.codehaus.org/

Versión 4.1 última modificación por Francisco José Quintero Moron en 25/03/2009 a las 18:28

Comentarios 0

Sin comentarios

Enlaces 1

Image
SonarPpal.jpg 1.4
PostedBy: fjosequinteroext el 22/01/2009 (95kb )