Autor: Diego Patricio Vásconez Chávez DIRECTOR: ING. MARIO RON

Slides:



Advertisements
Presentaciones similares
© Chevron 2009 Rev. 1 Prácticas de Seguridad Eléctrica Seguridad Eléctrica.
Advertisements

Proyecto Aula Virtual. Conceptos El Aula Virtual es una plataforma versátil que proporciona herramientas que facilitan la docencia presencial/semipresencial/virtual.
Verificación y Validación de Software
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
MANUALES DE PROCEDIMIENTOS ¿¿Que son los manuales ?? Manuales de procedimientos.
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN Tema: “APLICACIÓN MÓVIL DE FACTURACIÓN ELECTRÓNICA PARA LA EMPRESA.
wShifts – Gestión de Turnos de Trabajo
TESIS DE GRADO DESARROLLO DEL SISTEMA WEB PARA LA ADMINISTRACIÓN DE LAS ACTIVIDADES ACADÉMICAS DE ALUMNOS, PROFESORES Y RESPONSABLES DE LOS DEPARTAMENTOS.
Portales colaborativos
A quién va dirigido este curso:
METODOLOGIA DE TRABAJO
INGENIERÍA EN SISTEMAS E INFORMÁTICA
MAVEN: Introducción.
INTEGRANTES: MAURICIO GARCÍA CÁRDENAS CARLOS PALACIOS CONTRERAS
Planeación de proyecto
Mejores Prácticas en Proyectos de Desarrollo de Software
Tema 4: Ingeniería del Software
La planeación y la organización de los procesos técnicos.
Aprender y enseñar en colaboración
Ingeniería de Software: Metodologías
EL ÉXITO ES UNO PORCIENTO DE INSPIRACIÓN Y NOVENTA Y NUEVE PORCIENTO DE PERSEVERANCIA Thomas A. Edison (1847 – 1931)
BusinessMind Plan Estratégico
Los sistemas de información
Proceso de Desarrollo de SW
PROGRAMACION ESTRUCTURADA.
ANALISIS DEL RIESGO DEL PROYECTO
introducción Ingeniería de software
ANÁLISIS DE RIESGOS DE SISTEMAS DE INFORMACIÓN
INNOVACIONES TECNICAS A LO LARGO DE LA HISTORIA
Universidad manuela beltran - virtual
Curso de iniciación de GeoGebra para el alumnado de matemáticas
Fundamentos del computador
La planeación y la organización de problemas técnicos y el trabajo por proyectos en los procesos productivos.
Ingeniería de Software
Valoración Empresarial y Análisis de la Estructura del Capital Óptimo para la empresa Microinformática Cía. Ltda.
Las herramientas Case Julian madrigal.
La planeación y la organización de los procesos técnicos
Motores de busqueda.
Unidad 2.- Marcos de referencia en la gestión de servicios de TI
METODOLOGIAS PARA EL DESARROLLO DE SISTEMAS DE INFORMACION
6.6 Administración de defectos
  TEMA:DESCRIPCION DEL PROBLEMA  MATERIA:FUNDAMENTOS DE LA PROGRAMACION.
Proceso Unificado de Desarrollo de Software
Análisis comparativo entre CMMI e ISO
CARACTERISTICAS GENERALES DE LA NORMA ISO
Proceso de Desarrollo de SW
ESCUELA DE MERCADOTECNIA
PROCESO UNIFICADO DE DESARROLLO R.U.P.
Calidad en la Prueba de Software
Equipo 2 Arellano Catalán Marco A. Damián Contreras Ma. Guadalupe
Modelo de la cascada (cont.)
APLICACIÓN DEL PORTAFOLIO EN LA ENSEÑANZA DE LA MATEMATICA
Aplicación de PSP (Personal Software Process)
Elaboración de los documentos
Tema 2 Sistemas de información y la organización
PROYECTO INFORMÁTICO ¿QUÉ ES UN PROYECTO INFORMÁTICO?
UNIDAD DE GESTIÓN DE POSGRADOS
Kick Off del Proyecto Fecha:
IBM Software Cincom Systems Reducción prevista del 20% en el tiempo de salida al mercado con el perfil Liberty de IBM WebSphere La necesidad: El equipo.
Líderes de Calidad Sede Bogotá 2018
METODOLOGÍAS ÁGILES Por metodologías ágiles entendemos a aquellas metodologías de gestión que permiten adaptar la forma de trabajo al contexto y naturaleza.
Implementación del Portal Web de
AUTOR: SALGADO ESCOBAR STALIN SEBASTIAN DIRECTOR: ING. JOSE SANCHO
Comité Estatal de Información Estadística y Geográfica
CARRERA DE INGENIERÍA EN ELECTRÓNICA, AUTOMATIZACIÓN Y CONTROL
MAESTRÍA EN GESTIÓN DE LA CALIDAD Y LA PRODUCTIVIDAD
MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
ORGANIZACIÓN DE LA DISTRIBUCION DE MATERIALES EN UN ALMACEN MEDIANTE EL USO DE UN ALGORITMO SECUENCIAL DE LA COLONIA DE HORMIGAS. Autores: John León Freddy.
UNIDAD DE GESTIÓN DE POSGRADOS
Gestión de Proyectos Informáticos (GPI) ISW
Transcripción de la presentación:

Autor: Diego Patricio Vásconez Chávez DIRECTOR: ING. MARIO RON Análisis DE HERRAMIENTAS DE DESARROLLO Y SU ADAPTACIÓN AL MODELO DE INTEGRACIÓN CONTINUA Autor: Diego Patricio Vásconez Chávez DIRECTOR: ING. MARIO RON

AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

Introducción AGENDA Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

INTRODUCCIÓN El BCE ofrece servicios que deben tener altos niveles de calidad Desarrollar software es una actividad compleja Los mecanismos y procedimientos de prueba existentes no contribuyen a elevar la calidad de los productos de software Evolución de metodologías de desarrollo (Análisis, Diseño, Codificación, Pruebas, Documentación)

Objetivos AGENDA Introducción Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

OBJETIVO GENERAL Analizar herramientas de desarrollo de software y su adecuación al modelo informático de Integración Continua

OBJETIVOS ESPECÍFICOS Identificar metodologías, mecanismos y prácticas que permitan mejorar la calidad del software en el BCE. Identificar herramientas que permitan implementar el modelo de Integración Continua Determinar las mejores herramientas para una eventual incorporación a la infraestructura del desarrollo del BCE

Alcance AGENDA Introducción Objetivos Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

ALCANCE Identificar buenas prácticas derivadas del modelo informático de Integración Continua Identificar una herramienta de Integración Continua que se adapte al entorno operativo del proceso de desarrollo que se lleva a cabo en el BCE

Justificación e Importancia AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

JUSTIFICACIÓN E IMPORTANCIA Los sistemas que produce el BCE soportan servicios que requieren altos estándares de calidad Mecanismos y procedimientos actuales son insuficientes El costo de corregir un error en producción es mayor que cuando se lo hace en etapas tempranas del desarrollo Automatización de tareas repetitivas e incorporación pruebas automatizadas Los sistemas producidos por el BCE soportan servicios que requieren altos estándares de calidad Fase de pruebas y QA demasiado cortas o inexistentes Pruebas de Caja Negra que reproducen lo que el usuario ya verifica Control de código inexistente o difícil de ejecutar Automatización de tareas repetitivas e incorporación de tareas de control

Herramientas AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

Servidor de Control de Versiones Gestor de Repositorios HERRAMIENTAS Servidor de Control de Versiones Gestor de Repositorios Gestor de Calidad de Código Motor de Integración Continua Los sistemas producidos por el BCE soportan servicios que requieren altos estándares de calidad Fase de pruebas y QA demasiado cortas o inexistentes Pruebas de Caja Negra que reproducen lo que el usuario ya verifica Control de código inexistente o difícil de ejecutar Automatización de tareas repetitivas e incorporación de tareas de control

Metodología AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

METODOLOGÍA Marco Teórico Análisis de la Situación Actual Análisis de las Herramientas Estudio de la Arquitectura Selección de la Herramienta Resultados

Desarrollo Ágil de Software MARCO TEÓRICO Desarrollo Ágil de Software Basado en los procedimientos iterativos propone un desarrollo incremental Los requisitos y la solución evolucionan mediante la colaboración de los diferentes equipos involucrados en el proceso de desarrollo Una de sus más importantes prácticas es la Integración Continua

MARCO TEÓRICO Integración Continua Práctica de desarrollo de software en la que los diferentes miembros de un equipo de desarrollo de software integran frecuentemente su trabajo para obtener un sistema completo o parcialmente completo. Cada integración es verificada con una construcción automática del software acompañada generalmente, de pruebas para detectar errores tan rápido como sea posible. Además, se generan informes para mostrar el resultado de cada integración.

Patrones Recomendados MARCO TEÓRICO Patrones Recomendados Guardar todas las fuentes en un repositorio de Código Automatizar la construcción Utilizar pruebas automatizadas Automatizar el repositorio todos los días Construir siempre el software Lograr construcciones rápidas Probar en un clon del equipo de producción Obtener la última versión ha de ser fácil Saber el estado de la última versión del software Automatizar el despliegue

Ventajas de la Integración Continua MARCO TEÓRICO Ventajas de la Integración Continua Reducción del riesgo Eliminación de defectos Mejores relaciones con los clientes Aumento de la moral del equipo de desarrollo Estimaciones más acertadas Disponibilidad de la última versión del código Mejora de las capacidades colaborativas del equipo Reducción de costos

ANÁLISIS DE LA SITUACIÓN ACTAL Evolución de las tecnologías utilizadas en el Banco Central del Ecuador Servicios dirigidos al país Nuevas características para las aplicaciones Cambios en los paradigmas de construcción de software Pruebas limitadas o nulas

ANÁLISIS DE LAS HERRAMIENTAS Servidor de Control de Versiones Sistema que registra los cambios en el código que son realizados por los integrantes de un equipo de desarrollo Lleva un historial que permite regresar a cualquier punto del desarrollo Permite resolver conflictos cuando se cambian las misma líneas código

ANÁLISIS DE LAS HERRAMIENTAS Gestor de repositorios Servidor diseñado para manejar repositorios de componentes binarios (librerías) Actúa como servidor proxy dedicado para acceder a repositorios públicos Provee de repositorios para desplegar productos desarrollados internamente

ANÁLISIS DE LAS HERRAMIENTAS Gestor de calidad de código Evaluar la calidad del código en base a múltiples métricas Permite reducir los defectos de programación Emite informes de verificación y errores encontrados

ANÁLISIS DE LAS HERRAMIENTAS Motor de Integración Continua Es el mecanismo automático de construcción de aplicaciones, ejecución de pruebas y otras tareas

ESTUDIO DE LA ARQUITECTURA Ciclo de Vida Integración Continua

ESTUDIO DE LA ARQUITECTURA Ciclo de Vida Integración Continua en detalle

ESTUDIO DE LA ARQUITECTURA Ciclo de Vida Integración Continua en detalle

SELECCIÓN DE LAS HERRAMIENTAS Comerciales Urban Code Bamboo ElectricFlow TeamCity Uso Gratuito Apache Continuum Apache Gump Cruise Control Jenkins / Hudson

PARÁMETROS SELECCIONADOS PARA EVALUAR LAS HERRAMIENTAS DE INTEGRACIÓN CONTINUA

ATRIBUTOS QUE SUSTENTAN LOS PARÁMETROS DE EVALUACIÓN

EVALUACIÓN PRODUCTOS COMERCIALES

EVALUACIÓN PRODUCTOS GRATUITOS

RESULTADOS Uso Gratuito Jenkins Comercial UrbanCode (IBM)

Conclusiones AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

CONCLUSIONES Existen metodologías como el Desarrollo Dirigido por Pruebas y prácticas recomendadas por las Métodos Iterativos como las Metodologías Ágiles y el Proceso Unificado dentro de los cuales destacan las prácticas de la Integración Continua

CONCLUSIONES Existen herramientas de uso gratuito que permiten implementar la Integración Continua pero, las que sobresalen son las de tipo comercial puesto que contemplan prácticas que van mas allá de la Integración Continua

CONCLUSIONES Las herramientas que destacan son, dentro del grupo de las herramientas de uso gratuito, Jenkins y dentro del grupo de las herramientas comerciales UrbanCode (IBM) aunque en este mismo grupo se han identificado otras que también cubren las expectativas establecidas.

Recomendaciones AGENDA Introducción Objetivos Alcance Justificación e Importancia Herramientas Metodología Conclusiones Recomendaciones

RECOMENDACIONES Adoptar las prácticas de la Integración Continua a fin de mejorar el proceso de prueba de un producto de software nuevo o en mantenimiento

RECOMENDACIONES Incorporar herramientas de Integración Continua en el proceso de desarrollo de software del BCE. Dependerá del nivel de madurez que se determine dentro de la organización para establecer si conviene adquirir un producto de tipo comercial o iniciar con software gratuito a fin de profundizar en las metodologías y prácticas antes de realizar una inversión que en muchos casos puede resultar bastante alta.

RECOMENDACIONES Añadir Jenkins como motor de Integración Continua para permitir aprovechar las herramientas que ya se está utilizando dentro de la infraestructura de desarrollo de software del BCE (Subversion, Nexus, Maven)

Muchas Gracias !!