Ingeniería del So:ware II



Documentos relacionados
Ingeniería del So9ware II

Cómo Elaborar y Redactar un Informe como un Verdadero Ingeniero Software

Subversion como herramienta para el control del versiones

Elementos requeridos para crearlos (ejemplo: el compilador)

INGENIERÍA DE SOFTWARE ADMINISTRACION DE CONFIGURACIONES Rubby Casallas, Juan Pablo Quiroga, Andrés Yie

Universidad Católica del Uruguay. Facultad de Ingeniería y Tecnología. Ingeniería de Software III Plan de Gestión de la Configuración

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari

Configuración de Software

RUP: Disciplina de Manejo de Cambios y Configuraciones

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

Tema III: Gestión de la Configuración. Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

Trabajo Opcional La Torre de Babel - Programar en Grupo

REPOSITORIOS. Ing. Ismael Castañeda Fuentes, MSc Grupo de Investigación UNBD Universidad Nacional de Colombia Marzo de 2011

Tema 10 Ecosistemas de desarrollo

ORGANIZACIÓN DOCENTE del curso

Modelo de Proceso de Desarrollo de Software

Evolución de Software

Microsoft SQL Server Conceptos.

Sistema de gestión de procesos institucionales y documental.

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

arquitectura que maneja. Encontraremos también los diferentes servidores que

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

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

SIGPRE Sistema de Gestión Presupuestaria

Sistema de Gestión de Proyectos Estratégicos.

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

CMMI (Capability Maturity Model Integrated)

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental?

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

Gestión de la Configuración

Resumen General del Manual de Organización y Funciones

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Software Computacional y su clasificación

14. Ingeniería de software. Ing. Alejandro Adorjan

Ingeniería Web. Pablo Sevilla Jarquín

Ingeniería del So8ware II

Conceptos básicos de Ingeniería de Software

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Agenda Web. Solicitudes de Requerimientos de Software. Versión 1.0

<TITULO DEL PROYECTO DE DESARROLLO DE SW >

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version Copyright Rational Software Corporation

Guía metodologíca para la gestión de proyectos de software basada en metodologías agiles, que integre las herramientas de seguimiento de actividades,

Arquitectura de Aplicaciones

[Clave Proyecto] - Plan de Administración de la Configuración del Proyecto

UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES

Laboratorio Prácticas Integración de Sistemas. Ant. Juan Raposo Santiago

Capitulo 5. Implementación del sistema MDM

IBM Rational Configuration Management V8.0.1 proporciona soluciones empresariales para la gestión de cambios y de configuración

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

SOFTWARE PROJECT MANAGEMENT PLAN

Fundamentos de Ingeniería del Software. Capítulo 12. Herramientas CASE

Iniciación y Planificación del Proyecto

FOREST BPMS. Arquitectura Forest BPMS. Metodologia de implementación. Fase I Instalación

PROPUESTA METODOLOGICA PARA LA EDUCCIÓN DE REQUISITOS EN PROYECTOS DE EXPLOTACIÓN DE INFORMACIÓN

Solución Streaming SIVE

Arquitectura de Software

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Ingeniería de Software I

ISO 9000 Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

"Módulo OOWS para StarUML" INTRODUCCIÓN

Herramienta de Gestión Integral de E-Business

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Qué es Clé Manager? Clé-Manager, permite que todas las personas que intervienen en proceso de requerimientos, tengan conocimiento de, cual es:

Componentes de Integración entre Plataformas Información Detallada

Ges3ón de Proyectos So9ware

Sistema de diseño y seguimiento de Procesos WT - WorkFlow.

UNIDAD 1. Operatoria de teclados. Criterios de evaluación. UNIDAD 2. Informática básica. Criterios de evaluación 1. CRITERIOS DE EVALUACIÓN

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Tema 12 Control de versiones

Gestión de Requisitos ULPGC

- MANUAL TÉCNICO - Implantación de software de Marketing Online

Ingeniería de Software

APO BPM Software de Automatización de Procesos. Defina, integre y controle sus circuitos de negocio en un solo lugar

Solución ERP para Pymes Industriales

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

Eficiencia en la Automatización y Gestión de Servicios

Ingeniería del So:ware II

Guía Metodológica para el diseño de procesos de negocio

Calidad de Software - CMM

PERFIL DE CARGOS. I. Identificación del Cargo. Objetivo del Cargo.

Asignaturas, profesores, alumnos. Profesores, grupos, asignaturas, aulas

INFORME TECNICO PREVIO DE EVALUACION DE SOFTWARE N OSIPTEL

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz

DEPARTAMENTO: Computación y Diseño NOMBRE DEL CURSO: Diseño de Sistemas Interactivos CLAVE: 1058M ACADEMIA A LA QUE PERTENECE: Análisis y Diseño

Tema 6: Gestión de la Configuración

<Generador de exámenes> Visión preliminar

SIQUNET LIMS. Sistema Integrado de Gestión de Laboratorios

Generación de código para Hibernate desde modelos UML

Microsoft Dynamics Sure Step Fundamentos

ESTÁNDAR DE COMPETENCIA

Estándar CMMI. Disciplinas del CMMI. Modelo continuo y modelo por niveles.

Audire V.3 FECHA DEL BOLETÍN BOLETIN 15

Diagrama de casos de uso

PLAN DE ADMINISTRACION DEL PROYECTOS

CAPÍTULO 3 VISUAL BASIC

Transcripción:

Ingeniería del So:ware II Tema 09. Ges+ón de la Configuración de Sistemas So:ware Pablo Sánchez Barreiro DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN p.sanchez@unican.es Este tema se publica bajo Licencia: Crea+ve Commons BY NC SA 3.0

Introducción Gestión de la configuración Gestión de la Configuración de Sistemas Software Análisis y Especificación de Requisitos Despliegue Diseño Arquitectónico Mantenimiento Pruebas Diseño Detallado Implementación Gestión de la Configuración Pablo Sánchez (MATESCO) Gestión de la Configuración 2 / 33

Introducción Gestión de la configuración Por qué gestión de la configuración 1 Qué he cambiado? Cómo hago si no hubiese pasado nada? 2 Problema de la copia correcta. 3 Desarrollo distribuido de software. 4 Problema de que Google Desktop encuentra los archivos mejor que yo. Pablo Sánchez (MATESCO) Gestión de la Configuración 3 / 33

Introducción Gestión de la configuración Este no es el objetivo del tema Pablo Sánchez (MATESCO) Gestión de la Configuración 4 / 33

Introducción Gestión de la configuración Objetivos del Tema Objetivos Aprender a implantar y usar un proceso de gestión de la configuración software y ser capaz de usar una herramienta (ej. subversion) para la gestión de la configuración de sistemas software. Bibliografía Básica I. Sommerville. Configuration Management. Capítulo 7. Software Engineering [4]. P. Bourque y R. Dupuis. Software configuration Management. Capítulo 7. Guide to the software Engineering Body of Knowledge. IEEE. 2004. [1]. Pablo Sánchez (MATESCO) Gestión de la Configuración 5 / 33

Gestión de la Configuración Definiciones Definiciones Versión Instancia de un artefacto software (puede ser un sistema entero) que difiere de alguna manera de otras instancias del mismo artefacto (ej. guia docente 2009/2010, guia docente 2010/2011). Revisión Versión de un artefacto (puede ser un sistema software) cuyo objetivo es reemplazar a una o más versiones anteriores (ej. Windows 7 es una revisión de Windows Vista). Variante Versión de un artefacto (puede ser un sistema software) que se añade a las versiones existentes sin reemplazarlas (ej. Windows Phone es una variante de Windows). Pablo Sánchez (MATESCO) Gestión de la Configuración 6 / 33

Gestión de la Configuración Definiciones Definiciones Item de configuración Artefacto o conjunto de artefactos susceptible de poseer varias versiones. (ej. diagrama de clases, código de una clase, archivo.jar) Entrega Versión de un item de configuración (puede ser un sistema entero) que se distribuye a los clientes. (ej. Windows Vista no debió nunca ser una entrega). Configuración de un sistema software Dado un sistema software donde sus artefactos poseen diferentes versiones (tanto revisiones como variantes), una configuración es una selección de una versión por cada artefacto perteneciente al sistema. Pablo Sánchez (MATESCO) Gestión de la Configuración 7 / 33

Gestión de la Configuración Definiciones Definiciones Línea base (baseline) Conjunto de versiones concretas de los diferentes items de configuración, que constituyen un estado significativo y claramente identificado en la evolución de un producto (ej. primer prototipo para pruebas reales, primer documento estable de requisitos). Gestión de la Configuración Proceso encargado de identificar los artefactos y características de tales artefactos que constituyen la configuración de un sistema y analizar dicha configuración en distintos puntos del tiempo con el objetivo de controlar sistemáticamente los cambios en la configuración y mantener así la integridad y trazabilidad del sistema. Pablo Sánchez (MATESCO) Gestión de la Configuración 8 / 33

Gestión de la Configuración Trazabilidad Trazabilidad Software Traza Relación existente entre dos items de configuración (e.j. un requisito y las clases que lo implementan, una clase y sus casos de prueba). Trazabilidad Software Creación y gestión de trazas entre artefactos software sujetos a evolución (ej. ligar requisitos con artefactos de diseño y código más casos de prueba). Utilidades de la trazabilidad: 1 Análisis de impacto. 2 Cobertura de requisitos. 3 Análisis de huérfanos. 4 Detección de interacciones indeseadas. 5 Regeneración de Código e Ingeniería Inversa. Pablo Sánchez (MATESCO) Gestión de la Configuración 9 / 33

Gestión de la Configuración Trazabilidad Matriz de Trazabilidad Classes Requirements Req 01 Req 02 Req 03 Req 04 Req 05 Req 06 Customer Book Catalogue SystemMng CatalogueViewer Author PackedBook Pablo Sánchez (MATESCO) Gestión de la Configuración 10 / 33

Gestión de la Configuración Establecimiento de la de gestión de configuraciones Introduciendo Gestion de la Configuración Organigrama Control de Calidad Procedimientos Herramientas Planificación temporal Pablo Sánchez (MATESCO) Gestión de la Configuración 11 / 33

Gestión de la Configuración Establecimiento de la de gestión de configuraciones Plan para la Gestión de Configuraciones Plan para Gestión de la Configuración (IEEE 828-1998) [3] 1 Introducción (dos párrafos). 2 Gestión de la configuración: 1 Aspectos organizacionales y legales. 2 Organigrama y responsabilidades. 3 Flujo de trabajo y procedimientos. 4 Control de calidad. 3 Descripción de Actividades: 1 Identificación de items. 2 Gestión de cambios. 3 Gestión de entregas. 4 Auditorías: base de datos de la configuración. 4 Planificación temporal. 5 Recursos: humanos, físicos y herramientas. 6 Mantenimiento y actualización del plan (medidas). Pablo Sánchez (MATESCO) Gestión de la Configuración 12 / 33

Gestión de la Configuración Establecimiento de la de gestión de configuraciones Base de Datos de las Configuraciones Tengo que registrar diversa información útil como: 1 Qué versión tiene cada cliente? 2 Qué requisitos hardware y software requiere cada versión? 3 Qué parches están asociados a cada versión? 4 Cuántas versiones usan un determinado artefacto? 5 Qué diferencias funcionales hay entre dos versiones específicas? Pablo Sánchez (MATESCO) Gestión de la Configuración 13 / 33

Técnicas para la gestión de la configuración Identificación de items Organizar los archivos relacionados con un proyecto Proyecto (es.unican.cuarto.isii.proyectox) Requisitos Informes QA Código Informal Casos de Uso Modelos Clases Tests Doc. API Arquitectura Test Diseño Prototipo UI Pablo Sánchez (MATESCO) Gestión de la Configuración 14 / 33

Técnicas para la gestión de la configuración Identificación de items Identificación de versiones: numeración V1.1b V1.1.1 V1.0 V1.1 V1.2 V2.0 V2.1 V2.2 V1.1a Fácil pero críptico Pablo Sánchez (MATESCO) Gestión de la Configuración 15 / 33

Técnicas para la gestión de la configuración Identificación de items Identificación de versiones: atributos El Sistema de Gestión de la Configuración añade atributos a cada item (ej. lenguaje, plataforma, edicion producto). Un item se recupera mediante su nombre más la especificación de dichos atributos (ej. VentanaPedidos + Python, Solaris, Free). Más costosa. No soportada por herramientas frecuentemente. Pablo Sánchez (MATESCO) Gestión de la Configuración 16 / 33

Técnicas para la gestión de la configuración Mobile UI Mandatory Optional Identificación de items Árboles de características [2] Descripción de posibles configuraciones HTML Windows Server Platform Moodle Linux Exclusive alternatives Non-exclusive alternatives Database WebCT Integration MySQL Oracle SQL Server Especificación de restricciones externas Ejemplo: SQLServer WindowsServer Restricciones más usuales: 1 Dependencias: A B 2 Exclusión mutua: (A B) (B A)) Se expresan normalmente mediante formulas de lógica proposicional. Pablo Sánchez (MATESCO) Gestión de la Configuración 17 / 33

Técnicas para la gestión de la configuración Identificación de items Árboles de características [2] Ejemplo de configuración Moodle UI Platform Database HTML Linux MySQL Para ser correcta, debe satisfacer las restricciones Pablo Sánchez (MATESCO) Gestión de la Configuración 18 / 33

Técnicas para la gestión de la configuración Gestión de cambios Gestión de cambios Aplicar procedimientos y herramientas del tema anterior. Mantener un historial de cambios. Archivo: is2-tema2.tex Version No. Cambio Fecha Versión Autor Descripción 1.0 15/03/2008 1.0 P. Sánchez Versión inicial 1.1 CR01 22/03/2008 1.0.a P. Sánchez Mejorada imagen feature model 1.2 CR02 23/03/2008 1.0.b P. Sánchez Mejorada imagen Harry & Sally Pablo Sánchez (MATESCO) Gestión de la Configuración 19 / 33

Técnicas para la gestión de la configuración Gestión de cambios Herramientas: proceso de check-in/check-out Origen del problema Hay un archivo compartido por Paco y Lola Ambos modifican sus copias independientemente A A lee lee A A A A Paco Lola Paco sube el archivo al repositorio Paco Lola Lola sube su archivo, borrando el de Paco escribe A A escribe A A A A Paco Lola Paco Lola Pablo Sánchez (MATESCO) Gestión de la Configuración 20 / 33

Técnicas para la gestión de la configuración Gestión de cambios Herramientas: proceso de check-in/check-out Solución conservadora Paco bloquea el archivo para que Lola no se lo descargue Estando bloqueado el archivo, Lola no puede editarlo A A bloquea bloquea lee A Paco Lola Paco sube el archivo al repositorio y lo desbloquea A A Paco Lola Lola puede ahora editar el archivo, sobre los cambios de Paco, previo bloqueo escribe A desbloquea A lee bloquea A A A A Paco Lola Paco Lola Pablo Sánchez (MATESCO) Gestión de la Configuración 21 / 33

Técnicas para la gestión de la configuración Gestión de cambios Herramientas: proceso de check-in/check-out Solución copia-modifica-mezcla (0) Paco y Lola se descargan el archivo Paco y Lola modifican el archivo A A lee lee A A A A Paco Lola sube el archivo primero Lola Paco Lola Paco intenta escribir, pero obtiene un error de recurso desincronizado A escribe escribe A fuera de sincronía A A A A Paco Lola Paco Lola Pablo Sánchez (MATESCO) Gestión de la Configuración 22 / 33

Técnicas para la gestión de la configuración Gestión de cambios Herramientas: proceso de check-in/check-out Solución copia-modifica-mezcla (1) Paco se descarga el archivo actualizado y conserva el editado La herramienta de control de versiones (o Paco) mezclan ambos archivos A A lee A A A A A Paco Lola Paco sube la versión combinada (los conflictos se marcan como resueltos) Paco Lola La versión actualizada queda disponible para Lola escribe A A lee A A A A Paco Lola Paco Lola Pablo Sánchez (MATESCO) Gestión de la Configuración 23 / 33

Técnicas para la gestión de la configuración Gestión de cambios Herramientas: soporte para auditorías Auditoría software Actividad ejecutada para evaluar de manera independiente la adecuación de un producto o proceso software a regulaciones, estándares, recomendaciones, planes y/o procedimientos. Para facilitar la auditoría la herramienta para GC debe proporcionar: 1 Identificación de ĺıneas base. 2 Histórico de cambios y estado de los cambios. 3 Variantes y ramas. 4 Versiones vivas. Pablo Sánchez (MATESCO) Gestión de la Configuración 24 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Actividades de Gestión de Entregas 1 Compilar ( construir ) el sistema a partir de las versiones adecuadas. 2 Crear programa de instalación (instalador, Eclipse Update Site). 3 Elegir licencia y actuar en consecuencia. 4 Crear manuales de usuario (electrónicos y/o papel, videos, FAQ). 5 Desplegar el producto (grabar CDs/DVDs y/o preparar sitio web). 6 Actividades de marketing (publicidad, distribuición lista correo, etc). 7 Generar archivos de datos por defecto (ej. emisoras Screamer, plantillas estándar Word). Pablo Sánchez (MATESCO) Gestión de la Configuración 25 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Cuándo hago entregas? 1 Mantenimiento correctivo parches usables. 1 Fallo grave: creo parche y lo notifico/envío a los clientes afectados. 2 Fallo no grave: técnica de la avestruz, actualizaciones periódicas. 2 Cambios en el entorno (Windows Vista a Windows 7, iphone a ipad). 3 Marketing o competencia. 4 Número siginificativo de propuestas de mantenimiento perfectivo de los clientes. Pablo Sánchez (MATESCO) Gestión de la Configuración 26 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Registro de las Entregas 1 Versiones de los artefactos usadas (+ código fuente y artefactos asociados). 2 Bibliotecas y artefactos de terceros reutilizados. 3 Programa de instalación y archivos de datos. 4 Plataforma usada para la construcción y la entrega. 5 Compiladores y otras herramientas de cosntrucción usadas. Pablo Sánchez (MATESCO) Gestión de la Configuración 27 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Problema de la Construcción de Entregas Software Construcción de Entregas Software Problema de compilar y vincular todos los componentes de un sistema software para una configuración particular. Agenda Teléfono Móvil Vista.java (3kb) Vista.java (6kb) Controlador.java Modelo.java Manualv1.pdf vista.class Manualv2.pdf controlador.class modelo.class agenda.jar Pablo Sánchez (MATESCO) Gestión de la Configuración 28 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Herramientas de construcción de entregas: ANT <project name="myproject" default="dist" basedir="."> <description>simple example build file</description> <property file="build.properties"/> <property name="src" /> <property name="build" /> <property name="dist" /> <target name="init"> <tstamp /> <mkdir dir="${build}" /> </target> <target name="compile" depends="init" description="compile the source"> <javac srcdir="${src}" destdir="${build}"/ > </target> <target name="dist" depends="compile" description="generate the distribution"> <mkdir dir="${dist}/lib"/ > <jar jarfile="${dist}/lib/myproject-${dstamp}.jar" basedir="${build}"/> </target \> </project \> Pablo Sánchez (MATESCO) Gestión de la Configuración 29 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Herramientas de construcción de entregas: ANT build.src = $Eclipse_Workspace$/es.unican.sanchezbp.MobileAgenda/src build.build = $Eclipse_Workspace$/es.unican.sanchezbp.MobileAgenda/bin build.dist = $Eclipse_Workspace$/es.unican.sanchezbp.MobileAgenda/lib Pablo Sánchez (MATESCO) Gestión de la Configuración 30 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Qué herramienta de gestión de la configuración comprar Entornos abiertos: Bugzilla + Subversion + Ant. Entornos Integrados: Visual Source Safe, ClearCase + Clear Quest. Características deseables: 1 Identificación de versiones. 2 Gestión del repositorio de versiones. 3 Historial de versiones y cambios. 4 Soporte para el desarrollo de variantes. 5 Creación automática de parches. 6 Generación de informes y soporte a la auditoría. Pablo Sánchez (MATESCO) Gestión de la Configuración 31 / 33

Técnicas para la gestión de la configuración Gestión de Entregas Conclusiones 1 Problemas que motivan la gestión de la configuración. 2 Definiciones terminológicas. 3 Qué es la trazabilidad y para que sirve. 4 Implantación de planes para la gestión de la configuración. 5 Identificación de versiones: árboles de características. 6 Proceso de gestión de cambios: check-in, check-out. 7 Concepto de auditoría. 8 Concepto entregas y aspectos esenciales de la gestión de entregas. 9 Problema de la construcción de entregas. Pablo Sánchez (MATESCO) Gestión de la Configuración 32 / 33

Bibliografía Referencias I Pierre Bourque and Robert Dupuis, editors. Guide to the Software Engineering Body of Knowledge. IEEE (The Institute of Electrical and Electronics Engineers), 2004. Krysztof Czarnecki and Ulrich Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, June 2000. IEEE (The Institute of Electrical and Electronics Engineers). Standard for Software Configuration Management Plans. Technical Report IEEE Std 828-2005, August 2005. Ian Sommerville. Software Engineering. Addison Wesley, 7 edition, May 2004. Pablo Sánchez (MATESCO) Gestión de la Configuración 33 / 33