1 / 75

Tema 12

EPS, Informática. Tema 12. Gestión de las Configuraciones del Software. EPS, Informática. Indice. Definiciones. Necesidad. Objetivos. Elementos. Líneas Base. Actividades de GCS. Documentación. Herramientas de GCS. EPS, Informática. Definiciones (i). Configuración:

quasim
Télécharger la présentation

Tema 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EPS, Informática Tema 12 Gestión de las Configuraciones del Software

  2. EPS, Informática Indice • Definiciones. • Necesidad. • Objetivos. • Elementos. • Líneas Base. • Actividades de GCS. • Documentación. • Herramientas de GCS.

  3. EPS, Informática Definiciones (i) • Configuración: La posición relativa de las partes componentes de un sistema, p.ej. Las posiciones relativas de las estrellas y planetas del sistema solar. • Configuración Software: El estado actual del sistema software y las interrelaciones entre sus componentes constitutivos. Típicamente el código fuente, datos y documentación.

  4. Definiciones (ii) EPS, Informática • Gestión de configuraciones: • Disciplina cuya misión es identificar, controlar y organizar la evolución de un sistema software. • Conjunto de actividades desarrolladas para gestionar los cambios de un sistema software a lo largo de su ciclo de vida (se aplica a todas las fases). • Es una disciplina de gestión que permite controlar formalmente la evolución del software, garantizando la visibilidad en el desarrollo y en el producto, y la trazabilidad en el producto.

  5. EPS, Informática Definiciones (iii) • Disciplina que identifica la configuración de un sistema en puntos discretos del tiempo, con el objeto de controlar sistemáticamente los cambios de esa configuración y mantener su calidad y trazabilidad a lo largo del ciclo de vida. • Colección de técnicas diseñadas para elevar la calidad de los productos SW proporcionando mayor visibilidad, evidencia del progreso durante el desarrollo y la producción, y elevando el control técnico y de gestión. • Es el conjunto de técnicas para iniciar, evaluar e implementar cambios en un producto software manteniendo su integridad.

  6. EPS, Informática Definiciones (iv) • Control de cambios: Proceso que incluye proponer un cambio, evaluarlo, aprobarlo o rechazarlo, planearlo y hacerle un seguimiento.

  7. EPS, Informática Indice • Definición. • Necesidad. • Objetivos. • Elementos. • Líneas Base. • Actividades de GCS. • Documentación. • Herramientas de GCS.

  8. Necesidad (i) EPS, Informática Usuarios Desarrollador Usuario-1 Ver.1.0 para DOS Ver. 1.0 para DOS Ver.1.0 para Unix Usuario-2 Ver. 1.0 para Unix Ver.1.1 para DOS Releases con arreglos rápidos de errores encontrados graves Ver.1.2 para DOS Usuario-3 Ver. 3.0 para Windows Ver.1.3 para DOS Versión no entregada Usuario-4 Ver.2.0 para DOS Proceso mejorado Ver. 1.2 para DOS (arreglo temporal) ver. 3.0 para Windows Ver.2.1 para DOS Actualización de la versión 2.0 Ver.3.0 para Windows

  9. EPS, Informática Necesidad (ii) • Los sistemas software tienen una ‘vida larga’. • Todos los sistemas software cambian a lo largo de su vida (diferente versión, plataforma, etc.) • Hay que asegurar que los cambios producidos ocasionen el mínimo coste.

  10. EPS, Informática Necesidad (iii) • La Gestión de Configuraciones Software asegura: • Coherencia entre versiones. • Seguridad ante pérdidas de software o de personal. • Reutilización del software. • En el tiempo: Versiones futuras. • En el espacio: Otros proyectos. • Poder recuperar cualquier versión realizada por cualquier desarrollador en cualquier momento. • Calidad: se aceptan únicamente los elementos formalmente revisados y aprobados.

  11. EPS, Informática Necesidad (iv) • ¿Cuántas versiones existen? • ¿Cómo recupero la versión X? • Si cambio un componente de mi sistema, ¿qué versiones se ven afectadas? • ¿Cuál es el hardware y el sistema operativo requeridos para correr la versión X? • ¿Cuándo y a quién se distribuyó la release Y? • ¿Cómo impacta en el producto software un cambio en el hardware?

  12. EPS, Informática Indice • Definición. • Necesidad. • Objetivos. • Elementos. • Líneas Base. • Actividades de GCS. • Documentación. • Herramientas de GCS.

  13. EPS, Informática Objetivos (i) Establecer y mantener la integridad de los productos generados durante un proyecto de desarrollo de software y a lo largo de todo el ciclo de vida.

  14. EPS, Informática Objetivos (ii) • Identificar la configuración del software en las distintas fases (incluye identificar cambios). • Gestionar y controlar sistemáticamente los cambios que se efectúan en el software y que afectan a su configuración (trazar los elementos y sus dependencias). • Garantizar que los cambios se implantan adecuadamente (actualizando la documentación). • Informar de los cambios a todos aquellos a los que les afecte. • Seguir la evolución del software a lo largo de su ciclo de vida manteniendo su integridad.

  15. EPS, Informática Indice • Definición. • Necesidad. • Objetivos. • Elementos. • Líneas base • Actividades de GCS. • Documentación. • Herramientas de GCS.

  16. EPS, Informática Elementos (i) • La Gestión de Configuraciones Software actúa sobre: • Programas. • Documentos. • Datos.

  17. EPS, Informática Elementos (ii) • ¿Qué es un elemento de configuración del software (ECS)? Cada uno de los componentes básicos de un producto software sobre los que se realizará un control. Tiene un nombre y puede evolucionar.

  18. EPS, Informática Elementos (iii) • ¿Cómo se define la GCS en función de los ECS? • Los distintos elementos que componen toda la información resultante de los distintos procesos de Ingeniería del Software, se denominan colectivamente Configuración del Software. • El término Configuración del Software se aplica al conjunto de todos los elementos de configuración de software de un proyecto.

  19. EPS, Informática Elementos (iv) • Especificación del sistema. • Plan de proyecto. • Especificación de requisitos software. • Prototipos. • Especificación de diseño. • Diseño de la arquitectura. • Diseño de los datos. • Diseño detallado. • Diseño de la interfaz. • Descripción de la Base de Datos.

  20. EPS, Informática Elementos (v) • Listados de código fuente. • Programas ejecutables. • Manual de usuario. • Plan de pruebas. • Casos de pruebas y resultados registrados. • Documentos de mantenimiento. • Formularios de petición de mantenimiento. • Informes de cambios del software. • Herramientas. • Estándares.

  21. EPS, Informática Elementos (vi) • Los elementos de la configuración del software se organizan como objetos de configuración (con nombre, descripción, atributos y relaciones). • Objetos básicos. • Objetos compuestos.

  22. EPS, Informática Elementos (vii). Ejemplo: Diversas representaciones de un Sistema. main b a c = módulo = relación “import”

  23. EPS, Informática Elementos (viii). Ejemplo: Diversas representaciones de un Sistema. foo Sys ______ _____ ____ _______ Main.c Main.o Main.exe a.c a.h a.o b.c b.h b.o c.c c.h c.o = directorio = fichero = relación “compuesto”

  24. EPS, Informática Elementos (ix). Ejemplo: Diversas representaciones de un Sistema. foo main a b c a = sistema = relación “compuesto” = módulo = cuerpo = ejecutable a = dependencia = código compilado = cabecera

  25. EPS, Informática Elementos (x). Ejemplo: Diversas representaciones de un Sistema. main a a b c

  26. Indice EPS, Informática • Definición. • Necesidad. • Objetivos. • Elementos. • Líneas Base. • Definición y Objetivos. • Tipos. • Actividades de GCS. • Documentación. • Herramientas de GCS.

  27. EPS, Informática Líneas Base(i): Definición y Objetivos • Definición: Es una configuración de referencia en el proceso de desarrollo del software a partir de la cual las revisiones se han de realizar de manera formal. • Objetivo: Controlar los cambios en el software, sin impedir llevar a cabo aquellos que sean justificados. • Se definen al comienzo del proyecto, coincidiendo con los hitos marcados. • Generalmente se corresponden con los resultados de las fases.

  28. EPS, Informática Líneas Base(ii): Definición y Objetivos • Objetivos secundarios: • Identificar los resultados de las tareas realizadas en cada fase. • Asegurar que se ha completado la fase. • Servir como punto de partida para los desarrollos posteriores. • Servir como punto de partida para las peticiones de cambio. • Cuando un ECS se convierte en una línea base se introduce en una Base de Datos del Proyecto.

  29. EPS, Informática Líneas Base(iii): Definición y Objetivos BD del proyecto (Repositorio) Modificada ECS Aprobada Tareas de Ingeniería del Software Revisiones Técnicas Formales Almacenada ECS ECS ECS Controles GCS ECS Extraida

  30. EPS, Informática Líneas Base(iv): Definición y Objetivos • Una vez que se ha desarrollado y revisado un objeto de configuración, se convierte en una línea base. • Los cambios sobre un objeto de Línea Base producen la creación de una nueva versión del objeto. • Las líneas base son productos tangibles del proceso de desarrollo. Proveen infraestructura para: • Conseguir visibilidad necesaria para el control de cambios. • Auditar adecuadamente el sistema. • Proveer información de estado en todo momento.

  31. EPS, Informática Líneas Base(v): Tipos • Línea base Funcional. • Línea base de Diseño • Línea base de Producto. • Línea base Operativa.

  32. Indice EPS, Informática • Definición. • Necesidad. • Objetivos. • Elementos. • Líneas Base. • Actividades de GCS. • Identificación de elementos. • Control de versiones. • Control de cambios. • Auditoría de la configuración. • Generación de informes de estado. • Documentación. • Herramientas de GCS.

  33. EPS, Informática Actividades de GCS Identificación • ¿ De qué partes se compone el producto ? • ¿Cuáles son las relaciones entre las partes? o1 o2 o3 o4 Control de Versiones • ¿ Cuáles son las versiones de cada • elemento de la configuración? • ¿ Qué elementos componen la versión X? Objeto 1 ver. 1.0 Objeto 1 ver. 2.0 Objeto 1 ver. 3.0 Control de Cambios • ¿ Cuál es el impacto de este cambio? • ¿ Se debe realizar este cambio? n+1 n n+1 Auditoría • ¿Se siguen lógicamente los productos • del desarrollo? • ¿ Es el producto conforme con sus • requisitos? ? ? ? Req. Diseño D.Det. Código ? Contabilidad de estado • ¿Qué ha ocurrido? • ¿Cuándo ha ocurrido? Código Docs. Informes y Formularios + +

  34. EPS, Informática Actividades de GCS:Identificación de Elementos. • Definición: Consiste en identificar la estructura del producto software y sus elementos, haciéndolos únicos y accesibles. • Objetivos: • Identificar y organizar todos y cada uno de los elementos que componen un producto software. • Asignarles nombres significativos y únicos. • Definir en qué puntos se van a establecer líneas base. • Definir los ECS que contendrá cada línea base. • Establecer un Esquema de Identificación para cada elemento. • Facilidades: • Bases de datos. • Herramientas para la Gestión Automática de Configuración del SW.

  35. EPS, Informática Actividades de GCS: Control de Versiones (i) • Definición: Consiste en gestionar las versiones de los objetos de configuración creados durante los procesos de Ingeniería del Software. • Objetivos: • Asignar atributos a cada objeto que permitan asociar versiones. • Definir qué elementos componen una versión completa (cada versión es una colección de ECS). • Definir qué variantes componen cada versión. • Facilidades: • Herramientas para la Gestión Automática de Configuración del SW.

  36. EPS, Informática Actividades de GCS: Control de Versiones (ii) • Versión: Instancia de un sistema software que difiere en algo de otras instancias (nuevas funcionalidades, opera en hardware diferente, etc.) • Revisión: Modificación secundaria. • Variante: Versiones que coexisten (p.ej.: software para múltiples sistemas operativos). • Release: Versión que se distribuye a los clientes.

  37. Actividades de GCS: Control de Versiones (iii) EPS, Informática • invariante = propiedades comunes a todas las versiones de un elemento. • delta = Diferencia entre dos versiones de un elemento. • Simétrica. • Dirigida o “Cambio”. v1 v2 V1  v2 V1 \ v2 V2 \ v1 (v1, v2) = (v1 \ v2)  ( v2 \ v1) v1 - (v1, v2) = op1 .. opn v2

  38. Actividades de GCS: Control de Versiones(iv) EPS, Informática • Control de versiones por extensión • V = {v1,..., vn} • El usuario puede recuperar la versión vi... (check - out) • ... Hacerle cambios... • ... Añadir una nueva versión vi+1 (check-in). • Control de versiones por compresión • V = { v | c(v) } • c define las restricciones que deben ser satisfechas por los miembros de V. • Una versión: • Se describe mediante sus propiedades • Se construye mediante una consulta. • Ambos pueden y deben ser combinados en el mismo sistema de control de versiones.

  39. Actividades de GCS: Control de Versiones (v) EPS, Informática Objeto 1 ver. 1 Objeto 2 ver. 1 Objeto 3 ver. 1 Objeto 4 ver. 1 Objeto 1 ver. 2 Objeto 2 ver. 2 Objeto 3 ver. 2 Objeto 4 ver. 2 Versión Actual Objeto 2 ver. 3 Objeto 3 ver. 3 Grafo de versión: Secuencia Objeto 3 ver. 4

  40. Actividades de GCS: Control de Versiones (vi) EPS, Informática Objeto 1 ver. 1.0 Objeto 1 ver. 1.0 Objeto 1 ver. 2.0 Objeto 1 ver. 2.1 Objeto 1 ver. 2.2 Objeto 1 ver. 2.0 Objeto 1 ver.1.1 Objeto 1 ver. 3.0 Objeto 1 ver. 3.1 Objeto 1 ver. 3.0 Objeto 1 ver. 4.0 Grafo de versión: Arbol Grafo de versión: Grafo

  41. Actividades de GCS: Control de Versiones(vii) EPS, Informática • Variaciones multidimensionales: • Por ejemplo, un sistema que varía respecto a: • Sistema operativo (DOS, Unix, VMS) • Sistema de Gestión de Bases de Datos (Oracle, Informix, Dbase). • Sistema de ventanas (X11, SunViews, Windows).

  42. Actividades de GCS:Control de Versiones(viii) EPS, Informática SO WS DB VMS Unix DOS X11 Win SunViews Oracle Informix DBase (Unix, X11, Oracle) ... (DOS, Win, DBase) = agrupamiento de versiones = Versión

  43. Actividades de GCS:Control de Versiones(ix) EPS, Informática Oracle (Unix, X11, Oracle) Informix DBase DOS Unix VMS X11 SunViews Windows

  44. Actividades de GCS:Control de Versiones(ix) EPS, Informática • Espacio de Versiones X Espacio del producto (ECS). • Grafos AND / OR • Objetos en nodos AND. • Versiones del objeto en nodos OR. • Producto primero. • Versión primero. • Intercalados.

  45. Actividades de GCS:Control de Versiones(x) EPS, Informática foo sys main a b c 1 2 1 2 1 2 1 2 3 1 2 3 = Nodo OR = Enlace OR = Nodos Seleccionados = Enlace AND = Nodo AND

  46. EPS, Informática Actividades de GCS: Control de Cambios (i) • Definición: Consiste en controlar los cambios que se producen a lo largo del ciclo de vida de un producto software. • Pasos: • Petición de cambio. • Evaluación del esfuerzo, efectos secundarios, alcance, etc. del cambio. • Generación de un informe de cambios. • Emisión de una orden de cambio. • Baja en la Base de Datos del objeto a cambiar. • Realización del cambio. • Pruebas. • Alta del objeto en la Base de Datos. • Uso de mecanismos apropiados de cambio de versiones (distribución)

  47. EPS, Informática Actividades de GCS: Control de Cambios (ii) Correctivo Estructural Gestión de cambios Análisis de Impacto Planificar Release Codificación Pruebas Release Perfectivo Adaptativo Petición de cambio Gestión de cambios Análisis de Impacto Sistema de gestión de cambios Informes de calidad Informes de gestión Gen.Informes del proyecto Informes de auditoría

  48. Actividades de GCS: Control de Cambios (iii) EPS, Informática • Gestión • Monitorización del proyecto • Calendario • Informes • Análisis de costes • Chequeo de estado • Informes • Preguntas on-line • Informes programados • Mantenedores • Comunicación • Del usuario al mantenedor (contrato) • Del mantenedor al gestor (estado) • Del mantenedor al mantenedor (trabajo hecho) • Informes • Informes de estado. Sistema de Gestión de Cambios Peticiones de cambio abiertas Peticiones de cambio completadas • Usuarios • Documentación • Introducir un cambio • Peticiones • Informes • Chequeo de estado • Revisiones del calendario. • Preguntas on-line. • Peticiones on-line. • Aseg. de calidad • Informes • Preguntas on-line. • Informes de riesgos. • Informes de tipo de defectos. • Análisis de coste/beneficio. • Recomendaciones de aseguramiento de calidad. • Auditores • Informes • Monitorización de auditoría • Informes de auditoría • Preguntas on-line.

  49. Actividades de GCS: Control de Cambios (iv) Información relacionada con una petición de cambio • Número de identificación. • Origen. • Fecha en que se originó. • Fecha requerida. • Tipo de mantenimiento. • Severidad del cambio. • Sistema. • Programa. • Descripción del cambio. • Beneficios anticipados. • Origen del problema. • Resolución. • Impacto. • Fase de mantenimiento. • Fecha de comienzo del mantenimiento. • Aprobación. • Personal asignado. • Recursos estimados. • Recursos actuales.

  50. Actividades de GCS: Control de Cambios (v). Ejemplo Petición de Cambio

More Related