Gestión de la Configuración (SCM)

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ingeniería de Software II
Segmento GRC. Segmento GRC IT Governance Segmento E-Governance Otros Segmentos Segmento CRM Segmento E-Governance.
Que es ITIL? ITIL® (IT Infrastructure Library) es el marco de procesos de Gestión de Servicios de TI más aceptado. ITIL® proporciona un conjunto de mejores.
SISTEMAS DE GESTIÓN DE LA SEGURIDAD DE LA INFORMACIÓN
Control Interno Informático. Concepto
EL PROBLEMA Las manifestaciones de los problemas relacionados al tracking de vehículos son: Vehículos que salen con destinos incorrectos (hacen doble recorrido).
PRODUCTO NO CONFORME.
DIAGNÓSTICO DE CALIDAD AMS
Especificación y Descripción de Liberación. Líneas Base.
. Cap.9 GESTION DE LA CONFIGURACION DEL SOFTWARE ( GCS/SCM.
Administración de Procesos de Pruebas
Medición, Análisis y Mejora
Enrique Cardenas Parga
Control de versiones, configuración y cambios
12.4 Seguridad de los archivos del sistema
Evaluación de Productos
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Trabajo de investigación
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
UNIVERSIDAD TECNOLOGICA DEL PERU
Arquitectura de una aplicación
Ciclo de Vida del Software Paradigmas de Desarrollo
Planeación con Planning Tool y DotProject Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes Rubby Casallas, Andrés Yie.
Gestión del cambio.
Proyecto de Ingeniería de Software Grupo 9 Septiembre 2009
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Proyecto de Ingeniería de Software - Grupo 2 - Año 2006 Presentación del Proceso Sistema de Administración de Proteínas Objetivo y eXperimentos del Pasteur.
Aplicaciones de Ingeniería de Software
Gestión de la Configuración
Ximena Romano – Doris Correa
LSQA + Equipo Proyecto  Definir Proceso: A nivel de la Organización A nivel de Proyecto Actividades SQA: – Asegurar que el Producto cumple con los Requisitos.
Importancia en la efectividad del:
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
GESTION DE LA CONFIGURACION DEL SOFTWARE (GCS/SCM)
Pruebas y La Vida del Ciclo de Desarrollo del Software
35 años de investigación, innovando con energía 1 Mayo, 2012 P LAN DE ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DE SOFTWARE E STÁNDAR IEEE 730 Y G UÍA.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Unidad 3: Adquisición de Paquetes de Software Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012.
Proyecto de Ingeniería de Software Grupo Nº 9 - GXPost (Desarrollo con GeneXus 8.0) Evaluación de la Fase Construcción (Jueves 4 de Noviembre de.
El rol de SQA en PIS.
Dominios de control para la información y tecnologías (cobit) Pamela Pacheco Aviles.
Grupo 10 – 2008 Proyecto de Ingeniería de Software
Proceso de Gestión de Configuración
Roles de Open UP.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
1 Motor de Generación de Formularios para Infocorp Presentación del Proceso.
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Introducción al proceso de verificación y validación.
Introducción El Testing es una actividad compleja por múltiples motivos. Las aplicaciones de software en sí son cada vez más flexibles, con diversos propósitos,
Actividades en el Proceso de desarrollo de Software
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Proyecto de Ingeniería de Software 2008 Proyecto TITA Soft. Grupo 02.
Proceso de desarrollo de Software
ANALISIS SEGURO DE TRABAJO (AST)
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
EI, Profesor Ramón Castro Liceaga IV. AREAS DE EVALUACIÓN DE LA AUDITORIA EN INFORMÁTICA. UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD LATINA (UNILA) III.- PLAN DE IMPLEMENTACIÓN
Identificación de entradas, salidas y herramientas de procesos de gestión del PMI Jairo A. Orozco L.
UNIVERSIDAD LATINA (UNILA)
Software de Comunicaciones
Aseguramiento de la Calidad. (Software Quality Assurance, SQA) Por. Ing. Ernesto Soto Roca.
Gestión de la Configuración. Configuración del Software Conjunto de toda la información y productos utilizados o producidos en un proyecto como resultado.
Gestión de versiones. Cronograma Conceptos introductorios Arquitecturas posibles Riesgos en la no utilización Herramientas.
Entregables del Proyecto
Transcripción de la presentación:

Gestión de la Configuración (SCM) Introducción a la Ingeniería de Software

Temario Configuración del software Gestión de la Configuración Versiones Control de Cambios Línea base Auditoria de la configuración Herramientas Estrategias de Branch Antipatrones Tips 25 min

Problemas ¿Cambios hechos por distintos programadores se pierden? ¿Que versión hay que instalar en el cliente? Un error corregido, ¿reaparece? ¿Se implementó un cambio que no estaba confirmado? ¿Cuales son los fuentes que se corresponden con un ejecutable? ¿Cual es la ultima versión del Manual de Usuario?

Configuración Configuración del software: Los elementos que componen toda la información producida como parte del proceso de ingeniería de software Fuentes Ejecutables Documentos Datos, etc A medida que los elementos cambian se obtienen nuevas versiones, las cuales se deben identificar de forma única Suele ser necesario recuperar versiones antiguas

Gestión de la Configuración (SCM) Identifica, organiza y controla las modificaciones del software a través del ciclo de vida. Actividades de SCM: Identificación de elementos Control de versiones Control de cambios Auditar la configuración Generación de informes Interesa identificar los elementos de configuración y localizarlos, seleccionando la versión apropiada, saber su historia y la razón de sus cambios Seguir la evolución del producto, administrar los requerimientos de cambio e implementarlos en forma consistente

Identificación de elementos Cada elemento se identifica de forma única Cada elemento consta de : Nombre: Texto sin ambigüedad Versión Tipo: documento, programa, datos, etc Proyecto Información del cambio o la versión

Control de versiones Combina los procedimientos y herramientas para gestionar las versiones de los elementos Se puede versionar asociando un numero a cada versión 1.0 1.1 1.2 1.3 1.4 2.0 2.1 1.1.1 1.1.2

Controlar el Cambio Línea Base Elemento de configuración que se ha revisado formalmente y que se ha llegado a un acuerdo Sirve como base para desarrollos posteriores y puede cambiarse solo a través de los procedimientos de control de cambios Un elemento de configuración se convierte en línea base si fue revisado y aprobado Un cambio es el paso de una línea base a la siguiente

Controlar el Cambio Los elementos de la configuración se cambian rápida e informalmente hasta que en un momento se convierte en línea base, a partir de ahí el cambio se controla mediante procedimientos formales Los desarrollos posteriores se hacen a partir de elementos en línea base

Línea base (baseline) Controlar el cambio: Una vez que el cambio es aprobado: A1 B1 C1 D1 E1 A2 B2 Cambio 1 Cambio 2 Línea base L1 Línea base L2 Cambio 2 A2 B2 Línea base L1 Cambio 1 A1 B1 C1 D1 E1

Las Líneas base permiten Ir atrás en el tiempo y reproducir el entorno de desarrrollo en un momento dado del proyecto Trazabilidad: Permiten establecer relaciones de predecesor-sucesor entre artefactos. (seguir la pista y correspondencia) Definición de Requerimientos Especificación Módulos de Diseño Código que implementa los módulos las pruebas para verificar la funcionalidad los documentos que describen el sistema Comparar el contenido de una línea base contra otra

Registros Formulario Planilla Seguimiento de cambios Historial de todos los cambios realizados

Controlar el Cambio solicitar el cambio mediante el formulario de solicitud de cambio analizar la solicitud de cambio si el cambio es válido entonces se evalúa como será implementado el cambio se evalúa el costo del cambio se envía la solicitud al comité de control de cambios si el cambio es aceptado entonces repetir realizar cambios en el software enviar software con cambios para aprobación de calidad hasta que la calidad del software sea la adecuada crear una nueva versión del software de otro modo rechazar solicitud de cambio

Auditoria de Configuración Auditoria de la configuración: Verificar que en un momento dado, el Sistema en desarrollo es una colección de productos consistente y bien definida. Determinar que todos los elementos de configuración están presentes en la línea base del Software, estableciendo la correctitud de la versión de cada elemento de configuración Prevenir problemas Generación de Informes Los informes intentan responder las siguientes preguntas: ¿qué pasó? ¿Quién lo hizo? ¿cuándo? ¿Qué mas se vió afectado?

Herramientas Uso de repositorio – delta storage Modelo checkin/checkout Modelo usado por algunas herramientas Los archivos son almacenados y versionados en el repositorio El usuario debe hacer un check out del archivo para ver o escribir Los archivos modificados se devuelven al repositorio mediante checkin, creando una nueva versión Tres formas de evolución: Versionado Merge Branch CVS, ClearCase, Visual Soucesafe 1.0 1.1 1.2 1.3 1.4 2.0 2.1 1.1.1 1.1.2 Branch Merge

Estrategias de Branch Branch por release Se ejecuta con cada nueva liberación. Cada rama contiene toda la configuración. Es posible realizar Merge entre versiones.

Estrategias de Branch Code-Promotion Branch Una versión de Desarrollo es ramificada hacia una de Testing, donde se ejecuta la integración y pruebas del Sistema. En caso de detectar un bug, se ejecuta un Merge con la versión de Desarrollo. Cuando termina el Testing, se genera un nuevo Branch, generando la configuración a ser entregada al cliente.

Estrategias de Branch Branch por Tarea Para evitar la superposición de tareas y una pérdida de la productividad, se puede aislar una tarea en una rama separada. Debe ejecutarse un Merge una vez completada la tarea, no hacerlo puede repercutir en la productividad ganada al ejecutar el Branch.

Estrategias de Branch Branch por Componente Se alinean las ramificaciones con la arquitectura. Cada rama corresponde a un componente (o subsistema) A continuación, cada equipo fusiona sus códigos en la línea de desarrollo que sirve como la rama de integración. Las interfaces deben estar bien definidas.

Estrategias de Branch Branch por Tecnología Se alinean las ramas a las plataformas tecnológicas. El código común es administrado en una rama separada. Es probable que nunca se ejecutan fusiones.

Antipatrones Merge-Paranoia Merge-Mania Big Bang Merge Evitar la fusión a toda costa, por lo general a causa de un temor a las consecuencias. Merge-Mania Gastar demasiado tiempo la fusión de configuración, en lugar de su desarrollo. Big Bang Merge Aplazar la fusión hasta el final de las actividades de desarrollo y de intentar fusionar todas las ramas simultáneamente.

Antipatrones Never-Ending Merge Wrong-Way Merge Branch Mania Fusiones continuas, porque siempre queda algo por integrar. Wrong-Way Merge Fusionar una versión de componentes con una versión obsoleta. Branch Mania Generar ramificaciones sin una versión aparente. Cascading Branches Generar ramificaciones, pero nunca actualizar la línea base.

Antipatrones Development Freeze Berlin Wall Detener todas las actividades de desarrollo, mientras que ejecutan ramificaciones, fusiones, o la construcción de nueva línea base. Berlin Wall Las ramificaciones dividen al equipo de desarrollo, en lugar de dividir su trabajo.

Tips SCM es la gestión de los cambios a productos de software Los documentos deben seguir una nomenclatura común. Se deben registrar la información de cambios y sus solicitudes. Un plan coherente de identificación de versiones debe ser elaborado. Las liberaciones del Sistema deben incluir código, datos, archivos de configuración y documentación. Existen herramientas para dar soporte a las actividades de SCM