Вы находитесь на странице: 1из 56

Manual de usuario de

Integracin Continua
OFICINA ARQUITECTURA J 2EE 1
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007




















Manual de Usuario de Integracin Continua





Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 2
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Histrico de Revisiones

Rev. Fecha Autor Descripcin
1 2013/02/26 Gabriel Balderas Avils Documento Original
2 2013/03/12 Gabriel Balderas Avils Se adecua seccin de ejes de calidad
3 2013/03/15 Gabriel Balderas Avils Se modifica nombre de documento y adecua
contenido
4 2013/04/02 Gabriel Balderas Avils Se agrega contenido en la seccin de Integracin
Continua
5 2013/05/23 Uriel Mendoza Gonzalez Se refino el documento
6 2013/06/13 Uriel Mendoza Gonzalez Se agreg la seccin de false-positive
7 2013/06/17 Uriel Mendoza Gonzalez Se agreg la seccin Formato de inscripcin a IC
8 2013/06/27 J ose Luis Ortiz Chimal Se agreg la seccin Promocin a produccin de
un Tag desde J enkins
9 2013/07/16 Ricardo Cruz Aguilar Se refina el ndice del documento.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 3
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

ndice
OBJETIVODELDOCUMENTO...................................................................................................................................................5
INTEGRACINCONTINUA.......................................................................................................................................................5
IntroduccinaJenkins.................................................................................................................................................5
CiclodeIntegracinContinua......................................................................................................................................6
InscripcindeproyectosalCicloIntegracinContinua...............................................................................................7
FormatodeInscripcindeProyectosaIntegracinContinua.....................................................................................8
RolesdeIntegracinContinua...................................................................................................................................10
VERSIONADOYETIQUETADODEAPLICACIONES........................................................................................................................11
Versionado.................................................................................................................................................................11
Etiquetado(Tag)........................................................................................................................................................12
PERFILADODELCONTEXTODEEJECUCINDEAPLICACIONES........................................................................................................13
PerfiladodelcontextodeejecucinenfocadoaaplicacionesconjTelcelenvironmentapi.......................................13
PerfiladodelcontextodeejecucinenfocadoaaplicacionesconSpring..................................................................14
PerfiladodelcontextodeejecucinenfocadoaaplicacionesconperfilesMaven....................................................14
PerfiladodelcontextodeejecucinenfocadoaaplicacionesconBasedeDatos.....................................................15
USODEJENKINS.................................................................................................................................................................16
Pantallaprincipaldelproceso....................................................................................................................................17
Histricodetareas.....................................................................................................................................................18
Pantalladeejecucin.................................................................................................................................................19
ConstruccindelproyectousandoJenkins................................................................................................................21
GenerarTagdesdeJenkins........................................................................................................................................22
PromocinaproduccindelTagdesdeJenkins.........................................................................................................23
USODESONAR..................................................................................................................................................................28
Funcionamiento.........................................................................................................................................................29
Motoresdeerrores....................................................................................................................................................29
CoberturayClover.....................................................................................................................................................30
PerfilesdeSonar........................................................................................................................................................30
Iniciodesesin...........................................................................................................................................................30
Espaciodetrabajo.....................................................................................................................................................32
Lapginadeinicio.....................................................................................................................................................34
Cuadrodemandodeunproyecto.............................................................................................................................35
Navegacinsegnlamtrica....................................................................................................................................38
Violacionesdelasreglasencontradasenelcdigo...................................................................................................39
Visordecdigofuente...............................................................................................................................................40
Falsepositive.............................................................................................................................................................41
Cobertura...................................................................................................................................................................43
Dependencias............................................................................................................................................................43
Duplicados.................................................................................................................................................................45
Cohesin....................................................................................................................................................................46
Fuente........................................................................................................................................................................47
Visorderesultadosdelaspruebasunitarias.............................................................................................................48
Fuentesdelaspruebas(Sources)...............................................................................................................................49
Lapestaadelaspruebas(Tests)..............................................................................................................................49
Lamquinadeltiempo..............................................................................................................................................50
Nubes.........................................................................................................................................................................52
Hotspots.....................................................................................................................................................................53

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 4
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Bibliotecasdeunproyecto.........................................................................................................................................54
TERMINOLOGA..................................................................................................................................................................55



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 5
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Objetivo del Documento

Este documento tiene como propsito dar a conocer la funcionalidad del proceso de Integracin Continua a
los colaboradores del equipo de desarrollo.

Integracin Continua

Concepto que implica la verificacin constante de cambios de un proyecto en el repositorio de cdigo, su
compilacin, construccin y pruebas automticas a partir de dichos cambios y la generacin de los reportes
correspondientes de compilacin, construccin, pruebas y calidad de cdigo; la implementacin de ste
modelo garantiza: la disponibilidad de versiones estables; un nivel de calidad y funcionalidad conocido;
visibilidad de un % de riesgo; minimiza los tiempos de promocin ante fechas compromiso.

La IC es piedra angular del paradigma de ALM (Application Lifecycle Management).

Ventajas de la Integracin Continua

Se controlan y homogenizan los procesos de construccin de las aplicaciones.
Se minimizan riesgos con el apoyo de etapas automticas de construccin y reportes
correspondientes de estatus.
Los desarrolladores pueden detectar y solucionar problemas de integracin de forma continua,
evitando el caos de ltima hora cuando se acercan las fechas de entrega.
Se asegura la integridad y calidad de cdigo en las aplicaciones para cualquier contexto de
ejecucin.
Disponibilidad constante de builds para pruebas, demos o lanzamientos anticipados.
Monitorizacin continua de la evolucin y mtricas de la calidad de cdigo de los proyectos.


Introduccin a Jenkins

Originalmente conocido como Hudson, J enkins es una herramienta de Integracin Continua construida en
J ava. J enkins puede ser utilizado en proyectos de .NET, Ruby, Groovy, Grails, PHP, etc. Sin embargo, en la
Oficina de Arquitectura, se utilizar especficamente para todos los proyectos en J ava.

Comnmente hay confusin entre J enkins y Hudson. Hudson es la herramienta original desarrollada por
Koshuke Kawaguchi en Sun Microsystems. Cuando esta empresa fue comprada por Oracle, el equipo
original de desarrollo se independiz de Hudson y el proyecto cambi de nombre a J enkins. Oracle ha
dejado de dar mantenimiento a Hudson y solamente J enkins continua actualizndose. En pocas palabras:
J enkins es el nuevo Hudson.

J enkins se utiliza en conjunto con el repositorio de cdigos Subversion Edge, indirectamente el repositorio
de bibliotecas Nexus, la herramienta de construccin Maven y la herramienta de calidad de cdigo Sonar. La
administracin quedar exclusivamente a cargo de la Oficina de Arquitectura.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 6
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Ciclo de Integracin Continua

En la Oficina de Arquitectura, el ciclo de integracin continua consta de los siguientes pasos:

1. Los desarrolladores construyen su proyecto usando las herramientas de Gestin de Dependencias.
2. El equipo de desarrollo sube sus cambios al Sistema de Control de Versiones.
3. La herramienta de Integracin Continua J enkins, a peticin del lder de desarrollo, atrae dichos
cambios, realiza con Maven una construccin propia con los cambios hechos y si sta fue exitosa
manda la informacin a la herramienta de Calidad de Cdigo.
4. La herramienta de Calidad de Cdigo genera el anlisis correspondiente a la construccin recibida y
lo publica para que pueda ser consultado.
5. Se reinicia el ciclo desde el paso 1.

En la siguiente figura se pueden visualizar los pasos anteriormente descritos.


Figura 1. Ciclo de Integracin Continua.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 7
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Inscripcin de proyectos al Ciclo Integracin Continua

Para inscribir un proyecto al Ciclo de Integracin Continua se debe verificar el pleno cumplimiento de las
iniciativas del Sistema de Control de Versiones (S.C.V.) y de Gestin de Dependencias (G.D.). Esto se hace
mediante los siguientes pasos:

1. Se verifica que el proyecto est inscrito al Sistema de Control de Versiones (S.C.V.).
2. Se valida que est implementado el uso de las herramientas de Gestin de Dependencias (G.D.)
Nexus y Maven, para la construccin de los proyectos en los entornos de desarrollo.
3. Se asegura que la estructura del proyecto concuerde con la del S.C.V.
4. Se verifica que todo el proyecto est manejado desde un POM padre.
5. Se llena el Formato de Inscripcin de Proyectos a Integracin Continua y se enva a la Oficina de
Arquitectura, donde sta validar la informacin del formato (ver seccin Formato Inscripcin de
Proyectos a Integracin Continua).
6. Si la estructura del proyecto en el Sistema de Control de Versiones y en su Gestin de
Dependencias concuerdan con lo ingresado en el formato, la Oficina de Arquitectura autorizar al
proyecto entrar a al Ciclo de Integracin Continua y la evolucin de la calidad de ste podr ser
visualizada con la herramienta Sonar.
7. Despus de n ciclos de construccin, se obtiene una versin estable (sin fallas tcnicas y
funcionales) candidata a ser promovida a produccin.


Figura 2. Pasos para inscribir proyecto al Ciclo de Integracin Continua.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 8
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Formato de Inscripcin de Proyectos a Integracin Continua

El formato de inscripcin de proyectos a integracin continua (FIPIC) es un documento elaborado por la
oficina de arquitectura donde se denota la informacin necesaria del proyecto para configurarlo en J enkins,
adems permite tener un control sobre los tipos de proyectos existentes y quienes son los responsables de
estas.

Instrucciones para un correcto llenado del FIPIC.

1. Descargar el FIPIC del sitio de la oficina de arquitectura (http://telcel/DI/SDS/oficinaarquitectura).

2. Abrir el documento

3. Leer las instrucciones de la pestaa Instrucciones y Procedimiento

4. Dar clic en la pestaa Responsable

5. Llenar cada uno de los campos de la pestaa Responsable

En la siguiente Figura se mapean los campos a llenar de la pestaa Responsable



Figura 3 Datos del responsable

A continuacin se muestra la descripcin de cada campo. Cada uno deber ser llenado con la
informacin del proyecto a registrar.

N Descripcin
1 Nombre de la gerencia.
2 Nombre del departamento.
3 Nombre del jefe de departamento.
1
2
5
3
4
7 6
8 9

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 9
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

4 Fecha en la que se llena el documento siguiendo el formato dd/mm/yyyy
5 Nmero de empleado del jefe de departamento
6 Direccin de correo electrnico del jefe de departamento
7 Telfono y/o extensin del jefe de departamento.
8 Campo reservado para la oficina de arquitectura donde se escribir el tema sobre el que se
indicara una observacin o comentario
9 Campo reservado para la oficina de arquitectura donde se colocaran las
observaciones/comentarios.

6. Dar clic en la pestaa Informacin del proyecto

7. Llenar cada uno de los campos de la pestaa Informacin del proyecto

En la siguiente Figura se mapean los campos a llenar de la pestaa Informacin del proyecto


Figura 4 Informacin del proyecto

A continuacin se muestra la descripcin de los campos superiores y de cada columna. Cada uno
deber ser llenado con la informacin del proyecto a registrar.

N Descripcin
1 URL de la ruta en el SVN donde se encuentra el archivo pom.xml padre del proyecto, en el caso de
que solo exista un mdulo y no cuente con pom.xml padre, se deber escribir la URL del pom.xml del
modulo
2 Perfilado del contexto de ejecucin del proyecto
3 Nombre del proyecto al que pertenece cada uno de los mdulos a registrar
4 Nombres de los mdulos
5 Descripcin del propsito del mdulo
6 Prioridad del mdulo en el negocio
7 Tipo de naturaleza del proyecto (Web, EJ B, standalone, etc)
8 URL de la ruta en el SVN donde se encuentra el modulo
9 URL de la ruta en el SVN donde se encuentra el archivo pom.xml del modulo
10 Indica si el proyecto una vez finalizado ser una librera disponible en Nexus
11 Comentarios que desee agregar el solicitante respecto al modulo
12 Comentarios que desee agregar la oficina de arquitectura respecto al modulo

1
5 3 4 7 6 8 9
2
10 11 12

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 10
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Roles de Integracin Continua

Dentro del Ciclo de Integracin los roles y funciones que deber seguir cada miembro del equipo se definen
a continuacin:

Desarrollador. Sus funciones son en el ciclo son:
o Subir sus cambios al Sistema de Control de Versiones cuando el lder de desarrollo lo
indique.
o Identificar bibliotecas necesarias para el proyecto.
o Respetar la poltica de Gestin de Dependencias.
o Buscar la calidad del cdigo apoyndose en la herramienta Sonar.

Lder de proyecto. Sus funciones son:
o Solicitar la inscripcin de su proyecto al Sistema de Control de Versiones.
o Solicitar el registro de bibliotecas en el repositorio Nexus correspondiente.
o Llevar a cabo la integracin a Gestin de Dependencias en su proyecto.
o Solicitar la inscripcin de su proyecto al Ciclo de Integracin Continua.
o Indicar a los desarrolladores cuando deben subir sus cambios al Sistema de Control de
Versiones.
o Realizar la compilacin y construccin de su proyecto en J enkins.
o Revisar la calidad de su proyecto en la herramienta de Calidad de Cdigo Sonar.
o Generar el Tag correspondiente cuando se termine un requerimiento o fase de desarrollo y
se cumplan con todos los puntos anteriores.
o Promocionar a produccin el Tag desde J enkins.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 11
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Versionado y Etiquetado de Aplicaciones.

Versionado

El versionado de aplicaciones es la suma de las fases de desarrollo y madurez de la misma, desde su
desarrollo inicial hasta su eventual puesta en produccin, y que incluye versiones actualizadas de la versin
comercial para ayudar a mejorar el software o corregir los errores an presentes.
Para esto la oficina de arquitectura indica seguir el siguiente estndar:

En la etiqueta <version></version> del archivo pom.xml el contenido deber de mantener la siguiente
estructura:

<versin mayor>.<versin menor>.<micro>-<fase>

Donde:
versin mayor: la aplicacin sufre grandes cambios (cambio(s), mejora(s) u
optimizacin(es) a ms de un modulo).
versin menor: la aplicacin sufre una correccin mayor (cambio(s), mejora(s) u
optimizacin(es) a un mdulo) y/o una correccin menor (cambio(s), mejora(s) u
optimizacin(es) a ms de una clase sin modificar el mdulo completo).
micro: la aplicacin sufre pequeos cambios (cambio(s), mejora(s) u optimizacin(es) de
una clase).
fase: se indica si la aplicacin se encuentra en una fase de desarrollo que no sea la final o
estable, es decir, se encuentra en una fase de pruebas. Se indica con un guion, seguido de
la fase correspondiente.

Catalogo de Fases admitidas para el versionado.
Versin Alpha / Alfa: versin an inestable, en proceso de depuracin de errores y
cumplimiento de funcionalidad.
Versin Beta: versin til pero an con posibles errores y funcionalidad casi completa; ya
puede ser enviada a usuarios y verificadores para probar y validar funcionalidad, usabilidad
y rendimiento.
Versin candidata (RC: Release Candidate): versin totalmente til, libre de aparentes
errores, estable y funcionalmente completa; con el potencial de promoverse como un
producto final y ser liberada siempre y cuando, en su ltima fase de pruebas, no presente
errores significativos.
Versin de fabricacin (RTM: Release to Marketing): versin que ha pasado todas las
verificaciones tcnicas y de calidad, lista para aprobacin final del cliente/usuario, precede a
la disponibilidad general (GA).
Versin de disponibilidad general (GA: General Availability): versin final; todos los
procesos administrativos y tcnicos asociados han sido superados con xito; es la versin
que se distribuye y usa el cliente/usuario final.

Ejemplo:
mayor.menor-fase: 1.2-alpha
mayor.menor.micro-fase: 1.2.1-beta
mayor.menor-fase: 1.2-RC
mayor.menor.micro.fase: 1.2.1-RTM
mayor.menor.micro.fase: 1.3.0-GA

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 12
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Etiquetado (Tag)

La etiquetacin de la aplicaciones es una buena practica ya que genera una instantnea del proyecto en el
tiempo de manera ordenada.

De tal forma la oficina de arquitectura indica seguir el siguiente estndar pare el nombrado de las etiquetas:

< Versionado de la aplicacin>-<nmero de build de Jenkins>

Donde:
Versionado de la aplicacin: corresponde a la versin definida para la aplicacin la cual se
encuentra en el archivo pom.xml, vase poltica del Versionado de Aplicaciones y Manual de
usuario de IC.

Nmero de build de J enkins: corresponde al nmero de build (construccin) asignado por J enkins,
vase Manual de usuario de IC.

Ejemplos:
mayor.menor.micro-fase: 1.2-RC-5
mayor.menor.micro.fase: 1.2.1-RTM-9
mayor.menor.micro.fase: 1.3.0-GA-4

El etiquetado es obligatorio para que la aplicacin pueda ser promovida a produccin y deber tener un
identificador nico, el cul se logra con el nmero de build de Jenkins.



alpha betha RC RTM GA

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 13
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Perfilado del contexto de ejecucin de aplicaciones

El perfilado de aplicaciones habilita tcnicas de configuracin para moldear las aplicaciones segn las
especificaciones o parmetros dados por el usuario.

El contexto de ejecucin corresponde al ambiente en el cul se esta ejecutando una aplicacin, ejemplo:
desarrollo, pruebas, calidad o produccin.

Para esto la oficina de arquitectura propone el uso de 4 tipos de perfilado del contexto de ejecucin de
aplicaciones:
1. Variables de Ambiente.
a) jTelcel-environmentapi
b) Spring framework
2. Perfiles Maven.
3. Base de Datos.
4. La combinacin de las alternativas anteriores.

Perfilado del contexto de ejecucin enfocado a aplicaciones con jTelcel-
environmentapi

jTelcel-enviromentapi es un componente desarrollado por la oficina de arquitectura, tiene como principal
caracterstica la adaptabilidad a cualquier tipo de aplicacin.

Dentro de sus funciones estn el reconocimiento de los contextos de ejecucin y la recuperacin del
perfilado de una aplicacin.

Figura 5 Esquema de perfiles jTelcel-environmentapi

En el documento Manual de implementacin del perfilado del contexto de ejecucin enfocado a
aplicaciones con jTelcel-environmentapi se encuentra explicado a detalle el procedimiento para utilizar
este componente.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 14
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Perfilado del contexto de ejecucin enfocado a aplicaciones con Spring

Las Aplicaciones web que tienen implementado Spring Framework, tienen la caracterstica de especificar los
ficheros properties, que sern tomados en cuenta al arranque de la aplicacin y sern cargados en el
classpath, de forma que podamos referenciarlas en cualquier archivo interno de la aplicacin.

Spring Framework ofrece un bean preparado para que podamos especificar en nuestro fichero de
configuracin de Spring un bean del tipo
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.

Este bean tiene una propiedad de tipo list llamada "locations" en la que le especificaremos las rutas de los
archivos que debe tener en cuenta conforme al tipo de ambiente en el que sea desplegada la aplicacin.


Figura 6 Esquema de perfiles Spring


En el documento Manual de implementacin del perfilado del contexto de ejecucin enfocado a
aplicaciones con spring se encuentra explicado a detalle el procedimiento para utilizar en un proyecto las
variables de entorno con Spring

Perfilado del contexto de ejecucin enfocado a aplicaciones con perfiles Maven

Las aplicaciones web, por medio de Maven y el archivo pom.xml, podrn implementar la definicin perfiles,
es decir, con base en una configuracin extra dentro de las aplicaciones se podr especificar el perfilado que
requieren las mismas de acuerdo al contexto de ejecucin donde se desplegarn (desarrollo, pruebas,
calidad o produccin).

Estos perfiles se implementan al momento de construir la aplicacin con Maven.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 15
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 7 Esquema de perfiles Maven

En el documento Manual de implementacin del perfilado del contexto de ejecucin enfocado a
aplicaciones con perfiles Maven se encuentra informacin detallada de cmo implementarlo en un
proyecto.


Perfilado del contexto de ejecucin enfocado a aplicaciones con Base de Datos

El perfilado de la aplicacin se puede implementar desde una base de datos, de esta forma la aplicacin
puede realizar consultas a una entidad y recuperar las propiedades necesarias. Para su implementacin se
recomienda:
Contar con una base que almacene el perfilado de la aplicacin.
Tener la implementacin de algn perfilado de aplicaciones (Spring, perfiles Maven o jTelcel-
evironmentapi) que determine la base a la cual se conectara la aplicacin o contar con la
implementacin de un J NDI.


Figura 8 Esquema de perfilado con base de datos

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 16
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Uso de Jenkins
Los lderes de los proyectos tendrn acceso a la herramienta J enkins con la finalidad de programar
construcciones para sus proyectos y generar los Tag necesarios.

Al acceder a J enkins se muestra una pantalla principal que contiene un listado de procesos.


Figura 9 Pantalla principal J enkins

A continuacin se muestra una tabla que muestra la informacin de cada una de las columnas de la pgina
principal de J enkins:


Figura 10 Descripcin de columnas en J enkins



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 17
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Pantalla principal del proceso
Haciendo click sobre un proceso en el Listado de procesos en la pantalla principal de J enkins, se accede a
la pantalla principal de informacin del Proceso:


Figura 11 Pantalla principal de un proceso en J enkins

La zona izquierda de la pantalla se divide en dos zonas verticales:
1. Men de opciones, desde donde tener acceso a la Configuracin de proceso, informacin de
cambios y estados, etc.
2. Histrico de tareas, donde se muestra todo el histrico de ejecuciones del proceso.

La zona central de la pantalla muestra informacin relativa al proceso, acceso a reports de resultados de
pruebas e informacin de las ltimas ejecuciones.

La zona derecha de la pantalla muestra grficas de resultados de pruebas (funcionales y rendimiento) de
herramientas de terceros.


1
2

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 18
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Histrico de tareas
El histrico de tareas muestra el historial de ejecuciones del proceso.


Figura 12 Histrico de tareas

El histrico de tareas informa de la estabilidad del proyecto, nmero de ejecucin y resultado de las
diferentes ejecuciones del proceso.

Al hacer click en una de las ejecuciones, se accede a la Pantalla de ejecucin.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 19
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Pantalla de ejecucin
La pantalla de ejecucin muestra la informacin de la ejecucin seleccionada:


Figura 13 Pantalla de ejecucin

Desde la pantalla de ejecucin y mediante la opcin de men de Salida de consola, se puede acceder al
reporte de salida de J enkins, donde se muestra el log de las acciones ejecutadas durante el proceso, cabe
mencionar que este log es muy til para conocer las excepciones presentadas en la ejecucin del proceso
en caso de que no se haya podido concluir correctamente.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 20
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 14 Salida de consola



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 21
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Construccin del proyecto usando Jenkins
Para construir el proyecto desde J enkins el lder de proyecto debe seguir los siguientes pasos:
1. Acceder a J enkins con el usuario y contrasea proporcionado por la oficina de arquitectura.

2. De la pantalla principal, identificar de la lista, el proceso a ejecutar.


Figura 15 Lista de procesos en J enkins

3. Dar clic en el icono de ejecucin del proceso.


Figura 16 Ejecucin de proceso


4. En el men vertical izquierdo aparece el apartado Trabajos en cola, donde ser visualizada la
ejecucin.

Figura 17 Trabajos en cola

5. 5. Al finalizar la ejecucin, en el regln correspondiente del proceso, aparecern los indicadores del
estatus de la construccin.


Figura 18 Indicadores del estatus de la ltima construccin


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 22
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Generar Tag desde Jenkins

Para generar el Tag desde J enkins el lder de proyecto debe seguir los siguientes pasos:

1. Acceder a J enkins con el usuario y contrasea proporcionado por la oficina de arquitectura.

2. En la pantalla principal, identificar de la lista, el proceso a etiquetar (Tag).

3. Dar clic en la liga del proceso.


Figura 19 Lista de procesos

4. Del men lateral izquierdo Historia de tareas, se debe dar clic sobre la versin a etiquetar.


Figura 20 Historia de tareas

5. En la siguiente pantalla dar clic en la liga Etiquetar esta ejecucin
6. Dar clic en el checkbox, que desplegar las opciones de credenciales para etiquetacin de fuentes.
7. Dar clic en el radiobutton de Autenticacin basada en usuario/contrasea y colocar el usuario y
contrasea asignados por la oficina de arquitectura.
8. Dar clic en el botn de etiqueta

NOTA: En el campo URL de la etiqueta validar que el nombre de la etiqueta se encuentre en el formato:
<Versionado de la aplicacin>-<nmero de build de Jenkins>, ya que el Tag debe tener un identificador
nico.

Figura 21 Informacin del Tag

9. Al finalizar el etiquetado, se mostrar un mensaje que indicara que el Tag se ha generado en el
SCV.

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 23
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Promocin a produccin del Tag desde Jenkins

1. Acceder a J enkins con el usuario y contrasea proporcionado por la oficina de arquitectura.

2. En la pantalla principal, identificar de la lista, la tarea a configurar para la promocin a produccin.

3. Dar clic en el icono de ejecucin del proceso.



Figura 22 Lista de tareas

4. Al finalizar la ejecucin, generar Tag (ver seccin Generar Tag desde J enkins en este manual)

5. Del men lateral izquierdo Historia de tareas, se debe dar clic sobre la versin etiquetada.

Figura 23 Historia de tareas



6. Dar clic en Promotion Status

Figura 24 Administracin de tarea


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 24
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007



7. Seleccionar la versin etiquetada a promocionar y dar clic en el botn Approve

Figura 25 Promociones

8. Al ser exitosa la promocin nos mostrar el cono de una estrella, si queremos revisar la consola de
la promocin, en el apartado Promotion History dar clic en la promocin mas reciente


Figura 26 Historia de promociones (Promocin exitosa)

9. En consola nos se muestra que la promocin se agenda de forma exitosa


Figura 27 Salida de consola (Promocin exitosa)

10. El usuario que realiz la promocin debe de esperar un correo donde se le indicara el estatus de la
promocin y los archivos que han sido considerados para dicha promocin, en el caso de que el
estatus sea fallido, se deber re promocionar nuevamente, si persiste el estatus fallido se debern
de poner en contacto con la Oficina de Arquitectura.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 25
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 28 Correo con estatus exitoso


Figura 29 Correo con estatus fallido


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 26
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 30 Correo con estatus fallido debido a un error en la Base de datos



11. En caso de que la promocin NO sea exitosa nos mostrar un cono rojo, para ver la consola del
proceso de promocin dar clic en la misma

Figura 31 Historia de promociones (Promocin NO exitosa)

12. La consola nos indica el error por el cul no se pudo realizar la promocin


Figura 32 Salida de consola (Promocin NO exitosa)


13. Para ejecutar la promocin nuevamente, se debe regresar a Promotion Status


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 27
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 33 Men

14. Dar clic en el botn Re-execute promotion


Figura 34 Re-ejecucin de promocin




Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 28
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Uso de Sonar

Sonar es una plataforma administrativa de calidad de software enfocada principalmente al lenguaje J ava.
Permite a colaboradores acceder a datos que analizan cambios en cdigo, los cuales se basan en siete ejes
fundamentales:

Arquitectura y diseo
La arquitectura de software de un sistema es la estructura o estructuras del sistema, lo cual abarca
componentes de software, las propiedades de esos componentes, y las relaciones entre ellas. De
esta manera, la arquitectura de software permite representar de forma concreta la estructura y
funcionamiento interno de un sistema. El diseo de software ocurre inmediatamente despus de la
especificacin de los requerimientos de software y se aplican distintas tcnicas con el fin de definir
un sistema con suficientes detalles como para permitir su interpretacin y realizacin.

Documentacin
Los comentarios son una parte muy importante de la programacin ya que permiten entender el
cdigo con slo leerlo debido a que describen que es lo que hace el cdigo.

Estndares de cdigo
Las reglas de codificacin permiten dar un formato a los programas, lo cual facilita la lectura y
entendimiento de su estructura permitiendo saber por simple observacin qu partes del programa
se relacionan entre s y cules proposiciones estn contenidas dentro de cada ciclo. La finalidad de
este eje es buscar el respeto y seguimiento de las mejores prcticas de programacin. Para mayor
referencia, consultar el Manual de Estndares J ava de la Oficina de Arquitectura.

Cdigo duplicado
La duplicidad en el cdigo se puede interpretar como fragmentos separados del cdigo que son muy
similares y realizan la misma funcin. La duplicidad hace que la aplicacin sea difcil de cambiar
porque es necesario buscar y actualizar ms de un fragmento. Este eje busca evitar la existencia de
cdigo duplicado en los proyectos.

Bugs potenciales
Detecta violaciones de cdigo que pudieran generar vulnerabilidades.

Pruebas unitarias y de rendimiento
Las pruebas unitarias permiten evaluar el correcto funcionamiento de los mdulos del sistema. Las
pruebas de rendimiento permiten evaluar la eficiencia con que se utilizan los recursos al ejecutar los
mdulos. Busca el buen diseo y funcionamiento de las pruebas unitarias.

Complejidad Excesiva
Indica la cantidad de elementos de un sistema (complejidad cuantitativa) y el nmero de estados
posibles que se producen a travs de stos esto implica el nmero de elementos de un sistema y el
ndice mximo de relaciones posibles.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 29
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Funcionamiento

Sonar recolecta y analiza cdigo fuente midiendo su calidad y entregando reportes de cada proyecto que
est bajo escrutinio. Combina herramientas de anlisis esttico y dinmico y permite que la calidad de
cdigo sea evaluada de manera continua. Cuenta con ms de 600 reglas de evaluacin que verifican el
cdigo desde diversas perspectivas.

Las reglas de evaluacin son separadas en diversos grupos lgicos en el que cada una contribuye en
distintos niveles de impacto hacia la calidad de cdigo del proyecto en cuestin. Como se ver ms
adelante, Sonar cuenta con distintos tableros para ver el anlisis de los distintos resultados, cada uno de los
cuales sirven a distintas necesidades y alcances.

En el ambiente de integracin continua de la Oficina de Arquitectura, es J enkins quien enva la informacin
de cada proyecto a Sonar una vez que ha terminado su compilacin y/o construccin, y hecho esto, ste
comienza el anlisis del cdigo fuente y de pruebas unitarias si es el caso.

Motores de errores

Sonar cuenta con seis analizadores de cdigo conocidos como motores de errores. Estas herramientas o
motores de errores barren el cdigo realizando chequeos en busca de los errores que pudieran encontrarse
dentro de los siete ejes mencionados anteriormente. Los motores son:
Squid
Es el analizador principal de Sonar. Trabaja en J ava y mide mtricas como respuesta de clase, falta de
cohesin en mtodos, profundidad de herencia en rboles y nmero de hijos.
Checkstyle
Este motor, se asegura de que todo el cdigo siga los estndares de buenas prcticas como aquellos
mencionados en el documento de estndares de J ava de la Oficina de Arquitectura. Revisa el cdigo desde
una perspectiva esttica, identifica problemas en el diseo de las clases como son funcionalidad duplicada y
patrones comunes de bugs.
PMD
PMD no significa algo en concreto aunque tiene varios significados populares:

Project Mess Detector Detector de desastre de proyectos.
Programs of Mass Destruction - Programas de destruccin masiva.
Project Meets Deadline El proyecto llega a la fecha de entrega.

Este motor busca errores en J ava tales como los siguientes: bloques t r y, cat ch, f i nal l y y swi t ch
vacos, variables, parmetros y mtodos sin utilizar, expresiones condicionales complejas, cdigo duplicado
y Strings y StringBuffers desperdiciados.
FindBugs
FindBugs busca vulnerabilidades, cdigo malicioso, desempeo de la aplicacin y verifica estndares de
codificacin.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 30
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Cobertura y Clover
Se utilizan para calcular el porcentaje de cdigo que es sometido a pruebas y que parte no. Calcula
complejidad ciclomtica para cada clase y complejidad ciclomtica promedio para cada paquete.

Perfiles de Sonar

Sonar valida el cdigo basndose en tres perfiles que vienen configurados por default, esto es, selecciona
las reglas desde los motores de errores y en funcin de las prioridades que estn definidas en ellos, se
calcula la calidad del proyecto. A la prioridad de cada error se le conoce como Nivel de Severidad.

Los Niveles de Severidad del error se definen mediante el ndice de Cumplimiento de Reglas (RCI por sus
siglas en ingls), el cual da la medida numrica de la calidad del proyecto.

Los valores que de severidad por tipo de error son:

Nivel de Severidad Valor de Severidad (Peso)
Bloqueante 5
Crtico 4
Mayor 3
Menor 2
Informativo 1

Veamos el siguiente ejemplo:

Supngase que se cuenta con un cdigo que tiene 15 mil lneas con las siguientes alertas:

Nmero de Violaciones Nivel de Severidad Valor
0 5 0
9 4 36
543 3 1629
241 2 482
18 1 18
Costo Total 2165

El costo de las violaciones respecto del proyecto es:

Costo =(2,165/15,000)*100 =14.43%

De aqu definimos el RCI o nivel de calidad del proyecto como:

RCI =100% - 14.43% =85.56%


NOTA: Los perfiles de calidad que se aplicaran en la validacin de los proyectos pueden ser consultados en
la siguiente URL (http://telcel.di.sds.oficinarquitectura.prod:8080/sonar/profiles).


Inicio de sesin


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 31
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Para acceder a la aplicacin Sonar, el usuario deber registrarse con su usuario y contrasea de LDAP
dando clic en el texto Log In que se encuentra en la parte superior derecha como se observa en la figura 1.


Figura 35. Pgina inicial de Sonar.

Iniciar sesin

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 32
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Una vez que se accedi a la aplicacin, se mostrarn el o los proyectos a los que el usuario est afiliado y
los resultados obtenidos en las mtricas, como se ve en la figura 2.



Figura 36. Pantalla de inicio.

La pantalla de inicio muestra 3 secciones:

El rea de "Home" que corresponde a la pagina de inicio de sonar donde se muestra un resumen de
los proyectos que puede monitorear el usuario.

El rea de proyecto, esto incluye los cuadros de mando y el resto de opciones relacionadas con los
proyectos.

El rea de configuracin donde se puede revisar la configuracin que tiene cada uno de los
proyectos monitoreados y se puede revisar la informacin de nuestro perfil.

Espacio de trabajo

El espacio de trabajo cuenta con una barra superior, un men lateral y un rea de contenido, la barra
superior permite volver a la pgina de inicio, buscar proyectos en el campo de bsqueda, ver la miga de pan
en la navegacin dentro de la aplicacin, salir o entrar de la aplicacin e imprimir un pantallazo de la pgina
actual (ver figura 30).


Figura 37. Barra superior.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 33
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

La barra lateral (ver figura 31), contiene diferentes opciones, de las cuales son de inters principalmente
Projects que muestra los proyectos a los que el usuario se encuentre afiliado y Treemap que muestra un
panorama del cumplimiento de reglas por proyecto, paquete y clase.


Figura 38. Barra lateral

Finalmente, el rea de contenido est definida para cada usuario en funcin de las mtricas prioritarias de
cada proyecto como se aprecia en la figura 5.


Figura 39. rea de contenido.



Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 34
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

La pgina de inicio

La pgina de inicio es la pgina principal de la herramienta y se muestra despus de ingresar con el usuario
y contrasea como se explic al inici de esta seccin. Es el punto de partida de la navegacin por todos los
datos y presenta una visin general con el listado de proyectos analizados y ordenados segn las mtricas
disponibles. Cada usuario solo podr visualizar aquellos proyectos sobre los que tenga permisos suficientes.
El principal objetivo de la pgina de inicio es mostrar la mayor cantidad de informacin primordial con
respecto a el cumplimiento de mtricas de los proyectos si necesidad de acceder a pginas ms detalladas.
Algunos elementos que muestra la pgina de inicio son:

Listado de los proyectos sobre los que se tiene permiso.
Listado de los proyectos favoritos.
Listado de los peores proyectos desde un criterio especfico: deuda tcnica, cobertura de cdigo,
duplicados, etc.
Widgets con informacin especfica de un proyecto.

Cada uno de los elementos se configura con el administrador de Widgets y el administrador de Dashboards
que se detallaran ms adelante. A continuacin, en la figura 9, se muestra un ejemplo de la pgina de inicio
con dos widgets configurados.


Figura 40 Pgina de inicio despus de autenticarse

Widgets
Listado de
proyectos

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 35
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


En el listado de proyectos se pueden ver ciertos indicadores que permiten validar si los proyectos cumplen
con los umbrales establecidos:

Indica que el proyecto cumple con todos los umbrales establecidos y no hay ninguna alerta a
destacar.

Indica que el proyecto ha superado uno de los umbrales de advertencia en alguna de sus mtricas.

Indica que el proyecto ha superado alguno de los umbrales crticos en alguna de sus mtricas.


Si en el listado de proyectos se muestra la columna con alguna de las mtricas superando los umbrales,
entonces, sta estarn sombreada segn el nivel de gravedad: en naranja si se trata de una advertencia y
en rojo si se trata de algo crtico.

Adems, se pueden observar de forma visual las tendencias de evolucin de los diferentes. Una flecha de
color verde indica mejora en la tendencia y una flecha en rojo lo opuesto.

Cuadro de mando de un proyecto

El cuadro de mando de un proyecto ("Dashboard") provee las mtricas generales del proyecto. Para acceder
al cuadro de mando de un proyecto se debe dar clic en el nombre del proyecto desde la pgina inicial. ste
se compone de diferentes widgets tal como se muestra en la siguiente imagen:


Figura 41. Cuadros de mando de un proyecto

Un widget no es ms que una representacin agrupada de un conjunto de mtricas que tienen una
naturaleza similar para propsitos de Sonar.

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 36
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Por ejemplo, existe un widget para ver las mtricas asociadas al tamao del proyecto (lneas de cdigo), un
widget para ver las mtricas asociadas a la documentacin del cdigo (comentarios) y el cdigo duplicado,
otro para ver mtricas de pruebas unitarias, otro para cumplimiento de reglas, etc.

La pgina de cuadros de mando cuenta con una funcin que permite ver los cambios en las mtricas de un
proyecto en un periodo dado de tiempo. Para utilizarlo basta con abrir la lista desplegable "Time changes"
y seleccionar el periodo deseado como se ve en la figura 11.


Figura 42. Periodos de tiempo

Cuando se selecciona un periodo de tiempo, las mtricas diferenciales aparecern al lado de las mtricas
del proyecto, en la figura 12 se muestra un ejemplo.


Figura 43 Mtricas diferenciales

Administracin de los cuadros de mando

El usuario puede seleccionar la informacin ms relevante de los widgets configurndolos. Esto es posible
mediante la creacin de un nuevo cuadro de mando haciendo clic en el botn Manage Dashboards ubicado
en la parte superior derecha de la pantalla mostrada en la figura 10.
En el formulario para crear un nuevo cuadro de mando (Figura 13) se deben seguir los siguientes pasos:

1. Escribir el nombre del nuevo Dashboard
2. Escribir una descripcin del Dashboard
3. Presionar el botn crear.

Periodo de
tiempo
Mtricas
diferenciales

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 37
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 44. Formulario para un nuevo cuadro de mando

El nuevo cuadro de mando aparecer inmediatamente en el men lateral cuando se acceda a un proyecto.
La siguiente figura indica la ubicacin del nuevo cuadro de mando.


Figura 45. Nuevo cuadro de mando

Personalizacin de un cuadro de mando

Cualquier cuadro de mando creado por el usuario se puede personalizar para incluir diferentes widgets e
incluso para distribuirlos de la forma ms conveniente.
Para cambiar la distribucin de un cuadro de mando se deben de seguir los siguientes pasos:

1. Dar clic en el botn Manage Dashboards
2. Seleccionar la opcin Configure widgets del cuadro de mando que se desea personalizar.
3. Presionar el botn Add widget para agregar el widget deseado.
4. Seleccionar el layout a utilizar.
5. Una vez que se han agregado todos los widget que se desean, se presiona el botn Back to
Dashboard.

Nuevo cuadro
de mando

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 38
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Figura 46. Personalizacin de cuadros de mando
Navegacin segn la mtrica

En cualquier proyecto, siempre es posible acceder a una navegacin detallada en funcin de los valores
obtenidos dando clic en el nombre de la mtrica (ver figura 40).


Figura 47. Mtricas

La herramienta mostrar la estructura por componentes y la jerarqua se representa de izquierda a derecha.
En la primera posicin de la lista aparecer el componente que tenga el mayor valor de la mtrica que fue
seleccionada.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 39
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Violaciones de las reglas encontradas en el cdigo

Estas violaciones son el resultado de incumplir algunas de las reglas que tenemos definidas en nuestro perfil
de calidad. En el widget de violaciones, podemos observar.

Figura 48. Reglas cumplidas y cantidad de violaciones

a) El nmero total de violaciones.
b) El tanto por ciento de reglas que cumplimos.
c) Y luego organizadas por categoras: blocker, crtical, major, minor, info el nmero de violaciones que
tenemos de cada tipo.


Figura 49 Descripcin de violaciones por categora



a
b
c

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 40
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Visor de cdigo fuente

El visor de cdigo fuente permite ver a detalle en que lnea del cdigo hubo una violacin a alguna de las
mtricas. Para acceder al visor de cdigo se debe dar clic en alguna de las mtricas del cuadro de mando; al
dar clic se desplegaran las clases que se pueden ver a detalla tal como lo muestra la figura 17.


Figura 50. Lista de clases disponibles en el visor de cdigo

Al dar clic en alguna de las clases, se mostrara la informacin detallada a travs del visor de recursos. En el
caso de contar con los permisos adecuados se podr visualizar el cdigo fuente; en la figura 30 se muestra
un ejemplo.


Figura 51. Visor de cdigo fuente


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 41
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


False-positive

Es necesario que antes de utilizar esta funcionalidad se deber revisar el documento de polticas de la
Oficina de Arquitectura.

Dentro del visor de cdigo fuente en la pestaa de Violations, existe una opcin llamada False-positive (ver
figura 43) que permite al usuario indicar y justificar cuando alguna de las violaciones detectadas por Sonar
es inadecuada, dadas las necesidades de la implementacin en el proyecto.


Figura 52. False-positive

Para hacer uso de esta funcionalidad es necesario seguir los siguientes pasos:

1. Dar clic en el link False-positive

2. En el recuadro que se muestra, introducir la justificacin del porque es un False-positive

3. Dar clic en el botn False-positive para guardar la justificacin en Sonar

Con los 3 pasos anteriores quedar registrada la justificacin, la fecha y el usuario que registr la violacin
como un False-positive, adems esta violacin no tendr impacto en la calificacin generada para la
siguiente ejecucin del proyecto.
Una vez que se ha registrado un False-positive, la oficina de arquitectura tiene la facultad de aceptar la
justificacin y mantenerlo como False-positive o rechazarla y marcarla como not false-positive, para hacer
esto, deber seguir los siguientes pasos:

1. Ingresar al sitio de Sonar

2. Dar clic en el proyecto que se desea revisar

3. Dar clic en el menu lateral en la opcin Reviews
False-positive

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 42
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


4. Dar clic en el False-positive a revisar (ver figura 44)



Figura 53 Reviews

5. Si la oficina de arquitectura no acepta la justificacin del False-positive debera de dar clic en el
botn not false-positive

6. Posterior a dar clic en not false-positive, la oficina de arquitectura podr optar por dar clic en el
botn Assign a fin de asignar a un usuario de Sonar (el lder del proyecto revisado) para que
valide la violacin y la resuelva o dar clic en el botn Change severity para modificar el nivel de
criticidad de la violacin (ver figura 45).


Figura 54. Resolucin de un False-positive

Modifica la criticidad
de la violacin
Asigna la
violacin a
un usuario
Link para ver los
Reviews
False-positive

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 43
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Cobertura

La pestaa de cobertura Coverage muestra el cdigo fuente incluyendo informacin extra y colores para
visualizar la cobertura del cdigo de las pruebas. En la figura inferior se muestra como primera columna el
nmero de veces que la ejecucin de las pruebas ha pasado por ah, en la segunda columna se muestra el
nmero de condiciones cubiertas del total de condiciones a cubrir.


Figura 55. Condiciones cubiertas

Dependencias

Esta pestaa, como su nombre lo indica, muestra todas las dependencias de entrada y de salida en el
recurso seleccionado, a continuacin se muestra una figura de ejemplo.


Figura 56. Dependencias

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 44
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


"Afferent couplings" indica el nmero de clases que dependen de esta clase. Esto nos da informacin sobre
la responsabilidad de la clase.
"Efferent couplings" indica el nmero de clases de las que depende esta clase. Esto nos dice que tan
independiente es la clase.


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 45
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Duplicados

La pestaa Duplications muestra cada bloque de cdigo duplicado en dos o ms clases. En la figura 36 se
muestra para dos clases.


Figura 57. Duplicados


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 46
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Cohesin

La pestaa de cohesin LCOM4 muestra los diferentes componentes de un recurso y como estn
relacionados entre s. En los casos donde se tiene ms de un bloque, se infiere que el recurso est
asumiendo ms responsabilidad de la que debera, por lo que podra separarse en varios ms
independientes (ver figura 49).


Figura 58. Cohesin


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 47
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Fuente

La pestaa Source muestra el cdigo fuente con la sintaxis coloreada para facilitar su lectura.


Figura 59. Fuentes


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 48
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Visor de resultados de las pruebas unitarias

En caso de que se estn ejecutando pruebas unitarias, al lado de la pestaa Source, se mostrar un visor
que muestra los detalles de las mtricas de las pruebas unitarias, para una clase que est implementando
estas pruebas (ver figura 51).


Figura 60. Visor de resultados para pruebas unitarias

Existen dos pestaas diferentes para las clases de pruebas unitarias:

La pestaa de fuentes de las pruebas (Sources)
La pestaa de las pruebas (Tests)


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 49
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Fuentes de las pruebas (Sources)

Esta pestaa muestra el cdigo fuente de la clase que implementa la prueba tal cual.


Figura 61. Cdigo fuente de la clase que implementa la prueba.

La pestaa de las pruebas (Tests)

Esta pestaa muestra los resultados de las pruebas unitarias que se implementan en esta clase. En el caso
de que la prueba falle o de error se puede mostrar cual ha sido la causa del error.

Figura 62. Resultados de las pruebas unitarias


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 50
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

La mquina del tiempo

Desde cualquier punto de la navegacin en proyectos, es posible acceder a la funcionalidad de la mquina
del tiempo (Time machine) para estudiar la evolucin temporal de la calidad de un proyecto.

La pgina contiene una grfica personalizada que representa la evolucin desde el primer hasta el ltimo
anlisis realizado. En la figura 42, se observa el caso de un proyecto que ha sido analizado una vez y es por
esto que aparece una lnea recta.


Figura 63. Grafica de evolucin


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 51
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Los dems widgets de la mquina del tiempo muestran el comportamiento del proyecto con respecto a las
mtricas como las violaciones de cdigo, complejidad, pruebas unitarias, lneas duplicadas, comentarios,
etc. y su evolucin en el tiempo como se aprecia en la figura 43.


Figura 64. Mtricas a travs del tiempo


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 52
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Nubes

En cualquier proyecto se puede obtener una vista en forma de nubes de etiquetas para detectar puntos
clave. Para ello basta con pulsar en la opcin del men lateral "Clouds" (Nubes). Esto se observa en la figura
44. Una vez dentro de la pgina con la nube de recursos es posible elegir entre dos pestaas:

Top risk: representa la complejidad media por mtodo en la clase..

Quick wins: representa el tamao en lneas de cdigo de la clase. El color representa igualmente la
cobertura o el nivel de cumplimiento.

En ambos casos, letras de color rojo indican errores y letras de color azul buena calidad.

Se debe dar clic en una clase para abrir una nueva ventana con el visor de recursos para analizar los
detalles de la clase.


Figura 65. Nubes


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 53
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Hotspots

El men "Hotspots" (Puntos crticos) permite ver el listado de las principales mtricas con el ranking de los
cinco primeros recursos afectados. Es una manera muy rpida de obtener informacin de por donde
empezar a revisar un proyecto. Dicho men se observa en la figura 45.


Figura 66. Hotspots


Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 54
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Bibliotecas de un proyecto

Una vez seleccionando un proyecto, es posible acceder a las bibliotecas que utiliza dando clic en el men
lateral, en la opcin "Libraries".

Esta opcin permite ver rpidamente el rbol de dependencias del proyecto e incluye un filtro para buscar
bibliotecas de manera gil como se aprecia en la figura siguiente.


Figura 67. rbol de dependencias.




Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 55
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007

Terminologa

Sistema de Control de Versiones (SCV): Un sistema de control de versiones es una herramienta
que permite almacenar el cdigo de un proyecto para llevar un control sobre su evolucin y
mantener registro de los cambios que se lleven en l. La Oficina de Arquitectura utiliza la
herramienta Subversion Edge como S.C.V.

Tag: Versin/Revisin del cdigo del proyecto que es etiquetada para probable liberacin a
produccin; se supone una vez identificada ya no se realicen cambios adicionales (congelado).

Release Candidate: Versin de proyecto que despus de haber pasado pruebas de calidad es
candidata a ser liberada como Tag. El paso se decide en funcin del negocio.

POM: Archivo XML que Maven necesita para automatizar el trabajo de construccin de un proyecto
(pom.xml), se localiza en el directorio raz de cada mdulo; un proyecto puede contener varios
POMs.

Nexus: Repositorio Proxy Maven entre Telcel y repositorios Maven pblicos que administra libreras
o artefactos generados internamente.

Maven: Herramienta de construccin automtica usada principalmente para proyectos J ava, aplica
patrones para lograr una implementacin con caractersticas de visibilidad, reusabilidad,
mantenimiento y comprensin.

Integracin continua(IC): Concepto que implica la verificacin constante de cambios de un
proyecto en el repositorio de cdigo, su compilacin, construccin y pruebas automticas a partir de
dichos cambios y la generacin de los reportes correspondientes de compilacin, construccin,
pruebas y calidad de cdigo; la implementacin de ste modelo garantiza: la disponibilidad de
versiones estables; un nivel de calidad y funcionalidad conocido; visibilidad de un % de riesgo;
minimiza los tiempos de promocin ante fechas compromiso.

Sonar: Herramienta para evaluar la calidad del cdigo fuente. Est configurada con diversas reglas,
polticas u herramientas de anlisis esttico como: Checkstyle, PMD o FindBugs para obtener
mtricas de SW que pueden ayudar a evidenciar faltas y promover la mejora continua de la calidad
en los programas de un proyecto.

Jenkins: Herramienta de Integracin continua open source escrito en J ava que soporta la
integracin con amplia variedad de herramientas de control de versiones y permite ejecutar la
construccin automtica de proyectos basados en Apache Maven, as como Shell-scripts y
programas batch; extienden su funcionalidad a travs de plugins (un ejemplo es el plugin de
Sonar).

Deuda tcnica: Se genera por la falta de calidad en el cdigo fuente de un proyecto; repercute
como impacto/coste negativo al proceso de mantenimiento y funcionalidad debido a las correcciones
posteriores que se tiene que implementar.

Cuadros de mando (Dashboards): Herramienta de gestin visual; ofrece indicadores, monitores y
controles que, a travs de cdigos, estatus, semforos y alertas provee una visin completa del
estado y evolucin de un proyecto.

Manual de usuario de
Integracin Continua
OFICINA ARQUITECTURA J 2EE 56
(56)

Preparado por: Nmero de Documento

OFICINA DE ARQUITECTURA SDS/GE/12-4388

Aprobado por:
Fecha Rev

LUIS RUBEN ROMO XELHUANTZI 2013/03/06 3


SUBDIRECCION DE DESARROLLO DE SOFTWARE
Radiomovil DIPSA S.A. de C.V. Ejrcito Nacional 488, Col. Chapultepec Morales, C.P. 11570, Mxico D.F.
Tel. 2581-3700, Fax 2581-4795

20130819 Manual de usuario de Integracin Continua.docx Uso Interno Confidencial F-00.04.01.00.00-007


Widgets: Un widget es una representacin agrupada de un conjunto de mtricas de SW que tienen
una naturaleza similar.

Calidad de cdigo: La calidad de cdigo se puede definir como el cumplimiento de las siguientes
caractersticas:

o Debe ser claro y entendible por si mismo.
o Debe estar estructurado de tal manera que facilite la implantacin de pruebas unitarias
o Debe ser fcilmente adaptable y mutable de tal manera que no contenga cdigo duro
o Debe cumplir todos los requerimientos funcionales
o Debe utilizar la menor cantidad de recursos posible.
o Debe apegarse y cumplir un mnimo de reglas, polticas y estndares relacionadas con su
naturaleza.

Mtrica de SW: Es cualquier medida o conjunto de medidas destinadas a conocer o estimar el
tamao u otra caracterstica de un software o un sistema de informacin

Вам также может понравиться