Está en la página 1de 14

FACULTAD DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

PROYECTO DE INVESTIGACIÓN
“JENKINS Y SONARQUBE”.

AUTORES:
Gutiérrez Pizarro, Gonzalo Daniel
Navarro García, Jhordan Mirkop
Sangama Fasabi, Cristian Luis
Guzmán Hidalgo, Franco André
Vásquez Isuiza, Alex
Córdova Mendoza, Víctor Franco
Zapata Pinto, Herald Mijail
Mata Ruiz, Juan Carlos
Fasabi Tuanama, Hans Robert
Zapata Guerrero Paul Anthony

DOCENTE:
Hellen Judith Lora Chauca

TARAPOTO - PERÚ
2020
I. INTRODUCCIÓN
Jenkins no es más que un servidor diseñado para la integración
continua, es gratuito y es de código abierto (Open Source), fácilmente
desplegable en un entorno local, que permite automatizar tareas a través
de la gran variedad de plugins; también se ha convertido en el software
más utilizado para esta tarea. Por otra parte, SonarQube es una
plataforma de código abierto para el análisis de la calidad de código, la
cual usa diversas herramientas de análisis estático de código fuente. Es
una herramienta esencial para la fase de testing y auditoria de código
dentro del ciclo de desarrollo de software.
Los programadores sin duda son el equipo fundamental para toda
empresa. Durante su labor están constantemente creando, modificando,
mejorando, entre otras, aplicaciones. Debido a esto el código esta sube
y baja de los repositorios a cada momento, además de hacer el análisis
correspondiente de este para que cumpla con los estándares de calidad
establecidos en las Normas ISO/IEC 25000.

II. OBJETIVO
El objetivo principal de esta actividad es que el alumno sepa cómo
aplicar la metodología Jenkins y SonarQube en algún problema o
situación que tenga que mejorar en un proyecto ya implementado o bien
la aplique al inicio del alguno.

III. MODELOS
a) Jenkins:
Modelos de auto - regresión.
La palabra ARIMA significa Modelos Autorregresivos Integrados.
Definimos un modelo como autorregresivo si la variable endógena
de un período t es explicada por las observaciones de ella misma
correspondientes a períodos anteriores junto con un término de
error.
En el caso de procesos estacionarios con distribución normal, la
teoría estadística de los procesos estocásticos dice que, bajo
determinadas condiciones previas, toda Yt puede expresarse
como una combinación lineal de sus valores pasados (parte
sistemática) más un término de error. Dentro de estos modelos se
definen dos modelos de auto-regresion AR y Media Movil, y luego
un modelo de media móvil con más parámetros llamado ARMA y
finalmente modelo de series no estacionarias ARIMA.
Modelo AR (p)
Un modelo auto-regresivo se abrevia con la sigla AR (p), donde p
indica el orden del modelo, es decir, la cantidad de observaciones
pasadas que se utilizaran para predecir la serie de tiempo. Por
ejemplo, un modelo con una observación de retraso se
denominaría por AR (1). Es importante destacar que los modelos
AR funcionan en base a un operador traslador al pasado vistos
anteriormente.

Modelo MA (q)
El método de medias móviles es aquel que explica el valor de una
determinada variable en un período t en función de un término
independiente y una sucesión de errores correspondientes a
períodos anteriores al que se está analizando, ponderado
convenientemente.

Modelo ARMA (p,q)


Dada una serie temporal de datos Xt, el modelo ARMA es una
herramienta para entender y para predecir futuros valores de la
serie. El modelo está formado por dos partes, una parte
autorregresiva (AR) y otra de media móvil (MA). El modelo se
conoce con el nombre de modelo ARMA (p,q), donde p es el
orden de la parte autorregresiva y q es el orden de la parte de
media móvil. Podemos decir entonces que el modelo arma es una
herramienta más poderosa que los visto anteriormente ya que
combina ambas formas de predecir una serie de tiempo y, por lo
tanto, en algunos casos ajusta de mejor manera la predicción de
la serie y es usado en una mayor cantidad de series por su
combinación de técnicas de predicción AR (p) y MA(q).
Según lo visto anteriormente, los procesos AR(p), MA(q) y ARMA
(p,q), presentan características especiales en su autocorrelación
entera, que al ser evaluadas arrojan los siguientes resultados:
 Un proceso AR(p) llevado al infinito presenta un
decaimiento exponencial por medio de series sinusoidales
amortiguadas.
 Un proceso MA(q) al infinito, no tiene sentido en la
representación de términos de q.
 Un proceso ARMA (p,q) al tener una extensión infinita, se
presenta también por decaimiento exponencial de series
sinusoidales amortiguadas pero explicadas en términos de
p-q.
b) SonarQube:
SQLE
Es un método para apoyar la evaluación de un código fuente de la
aplicación de software.
Es un método genérico, independientemente del lenguaje y las
herramientas de análisis de código fuente, licenciado bajo la
licencia “Creative Commons Attribution-NonCommercial-
NoDerivs 3.0 Unported”. Los editores de software pueden
utilizar e implementar libremente el método SQALE.
El método se basa en 4 conceptos principales:
 El modelo de calidad.
 El modelo de análisis.
 Los índices.
 Los indicadores.

IV. CARACTERÍSTICAS
Jenkins:
Ofrece las siguientes características principales, listas para usar, y
muchas más se pueden agregar a través de complementos:
 Instalación sencilla: simplemente ejecute java -jar jenkins.war,
desplácelo en un contenedor de servlets. Sin instalación adicional,
sin base de datos.

Configuración sencilla: Jenkins se puede configurar


completamente desde su interfaz gráfica de usuario amigable con
extensas verificaciones de errores sobre la marcha y ayuda en
línea.

 Ecosistema de complementos enriquecidos: Jenkins se


integra con prácticamente todos los SCM o herramientas de
construcción existentes. Ver complementos.

 Extensibilidad: la mayoría de las partes de Jenkins se pueden


ampliar y modificar, y es fácil crear nuevos complementos de
Jenkins. Esto le permite personalizar Jenkins a sus necesidades.

 Compilaciones distribuidas: Jenkins puede distribuir cargas de


compilación/prueba a varias computadoras con diferentes
sistemas operativos.
SonarQube:
Las características que hacen de SonarQube una herramienta flexible
son:
 Los plugin; desarrollados por la comunidad de usuarios y expertos
en SonarQube.
 Detección de códigos duplicados.
 Definir los estándares de codificación.
 Test/Pruebas.
 Cobertura de prueba.
 Complejidad ciclomática.
 Detección de bugs potenciales.
 Comentarios.
 Diseño y arquitectura.

V. VENTAJAS Y DESVENTAJAS

 Jenkins:
Ventajas Desventajas
o Es capaz de realizar tareas o Los servidores dedicados en
complejas a través de una los que se ejecutan tienen un
ejecución simple de código. coste.
o Dispone de una gran o No es fácil predecir su impacto
variedad de plugin que final.
ofrecen la posibilidad de o Si se quieren realizar
realizar múltiples acciones y automatizaciones más
una personalización completa complejas habrá que invertir
del sistema. tiempo y esfuerzo.
o Ofrece diversas alternativas o La capacidad de usar plugin
para ejecutar sus tareas, también es una gran
desde ejecuciones desventaja.
automatizadas cuando se o si se requiere la ejecución de
suban cambios a los algo en concreto que no se
repositorios GITHUB, hasta encuentre ni de forma nativa
una API REST para iniciar, ni en plugin habrá que buscar
actualizar descripciones o integraciones con otros
habilitar y/o deshabilitar sistemas externos, con los
tareas. gastos que ello conlleva.
o Es que se trata de un
producto gratuito.
 SonarQube:
Ventajas Desventajas
o Escala bien, puede ser o Muchas clases de
implementado en múltiples vulnerabilidades son difíciles
proyectos y es repetible. de encontrar
o Pueden detectar con alta automáticamente, como los
confianza vulnerabilidades problemas de autenticación,
bien documentadas como los accesos de control, la
los desbordamientos de lógica del negocio, etc.
pila, las inyecciones SQL o Solo permite encontrar un
etc. pequeño porcentaje de las
o La ejecución del análisis vulnerabilidades.
generalmente es rápida. o Los resultados contienen un
o Detecta la causa del alto número de falsos
problema pues se realiza positivos.
una búsqueda directa en el o Generalmente no pueden
código, mientras los test de encontrar problemas de
penetración solo configuración, pues estos
establecen el problema, archivos no están
mas no el motivo. representados en el código.
o Muchas de estas herramientas
tienen dificultades para
analizar código que no se
encuentra compilado.

VI. EJEMPLOS

También podría gustarte