Você está na página 1de 35

Gestin de la Configuracin

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

GESTIN DE LA CONFIGURACIN DEL SOFTWARE

Problema: El cambio constante

Solucin: Administracin de Configuraciones

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

El problema

El cambio se encuentra presente en todo el ciclo de vida de una aplicacin.

El desarrollo de software siempre es incremental El desarrollo iterativo consiste de en una evolucin Controlada
En el mantenimiento la correccin, adaptacin, extensin, etc.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

El problema

Programador 1

Programador 2

Programador n

Desarrollo Simultneo

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

El problema
Archivos perdidos: se que lo escrib, pero no se dnde lo puse ... Referencias perdidas: sola funcionar, pero usa libreras que ya no estn ... Sobrescribir el cdigo de otro: desarrolladores que hacen distintos cambios en el mismo cdigo sobrescribiendo su trabajo mutuamente

No hay botn deshacer: los nuevos cambios son peores, pero no se puede volver atrs ...
Qu versin tiene el cliente? A cul corresponde el error?
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

El problema
La versin actual del cdigo se sobrescribe por una anterior Una actualizacin crtica se descarta de la versin final Se hacen cambios a una versin incorrecta del cdigo Reaparecen errores ya corregidos No se logra determinar qu versiones de archivos van en una entrega

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

La Solucin:
GESTIN DE LA CONFIGURACIN DEL SOFTWARE
Actividad constante aplicada durante todo el proceso de ingeniera de software para identificar, organizar y controlar las modificaciones que sufre el software. Comienza cuando se inicia el proyecto de desarrollo de software y termina slo cuando el software queda fuera de circulacin. OBJETIVOS: - Maximizar la productividad y minimizar los errores. - Mejorar la facilidad para implantar cambios y reducir el esfuerzo para implementarlos - Garantizar la calidad del software.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

SCM Software Configuration Management


SCM Software Configuration Management Es el conjunto total de actividades utilizadas para administrar el contenido de un producto de software desde el principio hasta el final del proceso de desarrollo. Humphrey Es la disciplina de administrar y controlar los cambios en la evolucin de los sistemas de software Bruegge, Dutoit
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

Propsito Software Configuration Management


Asegurar que el contenido del producto es conocido y se encuentra disponible siempre Apoyar el control de cambios. Ayudar a la coordinacin entre el equipo de desarrollo Tener un repositorio (depsito) nico para los entregables. Tener una base histrica con los cambios del producto durante el tiempo.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

GESTIN DE LA CONFIGURACIN DEL SOFTWARE (Cont.)

Evita el CAOS porque: 1. 2. 3. 4. Se identifica el cambio Se controla el cambio Se garantiza que el cambio se implementa adecuadamente Se informa del cambio a todos los interesados

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

TAREAS DEL PROCESO GCS

Preguntas en el GCS:

-Cmo identificar las muchas versiones de un programa y su documentacin eficientemente?


-Cmo controlar la organizacin de cambios antes y despus de la distribucin? -Quin es el responsable de aprobar y asignar prioridades a los cambios?

-Cmo garantizar que los cambios se han hecho eficentemente?


-Qu mecanismos se usan para avisar a otros de los cambios realizados?
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

CONFIGURACIN DEL SOFTWARE

Una configuracin de software es el conjunto de elementos que componen toda la informacin producida en el proceso de desarrollo de software.
Cada uno de estos elementos se denomina: Elemento de Configuracin de Software (ECS) Los ECS pertenecen a alguna de las siguientes categoras: - Programas (cdigo fuente y ejecutables) - Documentos tcnicos o de usuario que describen los programas - Datos internos o externos al programa
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

Tareas

1. Idenficacin de los ECS individuales 2. Control de versiones 3. Control de cambios 4. Auditoria de la configuracin del software 5. Generacin de informes sobre cambios de configuracin

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

LINEA BASE (Baseline)

Una lnea base es una especificacin o producto que se ha revisado formalmente y sobre el cual se ha llegado a un acuerdo y, que de ah en adelante, sirve como base para un desarrollo o modificacin posterior.

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

Lnea Base
Antes de que un elemento de configuracin de software se convierta en una lnea base, un cambio se puede llevar a cabo rpida e informalmente, pero una vez se establece como lnea base, se le pueden hacer cambios pero aplicando un procedimiento formal para evaluar y verificar cada cambio. En ingeniera de Software se define una lnea base como un punto de referencia en el desarrollo del software que queda marcado por el envo de uno o ms ECS y la aprobacin de los mismos mediante una revisin tcnica formal.

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

LINEAS BASE

Anlisis de Requisitos Diseo del Software


Especificacin de diseo

Especificacin del sistema Especificacin de requisitos del software

Codificacin
Cdigo fuente Planes / procedimientos/ datos de prueba Sistema en funcionamiento

Prueba

Entrega

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ECS DE LINEAS BASE Y BASE DE DATOS DEL PROYECTO


Modificada ECS

Tareas de Ingeniera del software

ECS

Revisiones tcnicas formales

Aprobadas ECS

Base de datos del proyecto

Almacenadas
ECS
Extradas ECS

Controles GCS

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ECS BAJO GCS

Los siguientes ECS son el objetivo de las tcnicas de GCS y forman un conjunto de Lnea Base: 1. Especificacin del sistema 2. Plan del proyecto de software 3. Especificacin de requisitos del software 4. Especificacin de diseo a. Descripciones del diseo de los mdulos b. Descripciones de diseo de las interfaces c. Descripciones de los objetos (si aplica)

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ECS BAJO GCS

5. Listados de cdigo fuente 6. Especificacin de las pruebas a. Plan y procedimiento de prueba b. Casos de prueba y resultados registrados 7. Manuales de operacin y de instalacin 8. Programas ejecutables

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ECS BAJO GCS (Cont.)

9. Descripcin de las bases de datos


10. Manual de usuario final 11. Documentos de mantenimiento a. Informes de problemas del software b. Peticiones de mantenimiento c. Oredenes de cambio de ingeniera 12. Estandares y procedimientos de ingeniera de software

NOTA: Las herramientas de software tambin pueden ser colocadas bajo control de configuracin
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

IDENTIFICACIN DE LOS ECS

-Identificar cada uno de forma nica - Organizar mediante un enfoque orientado a objetos Objetos Bsicos (unidad de texto): Documento de requerimientos, cdigo de un mdulo, casos de prueba Objetos Compuestos (coleccin de objetos bsicos): Especificacin de diseo, documentos de mantenimiento. Atributos de los objetos - Nombre, - Descripcin Tipo de ECS, Identificador del proyecto Versin
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

IDENTIFICACIN DE LOS ECS (Cont.)

- Recursos: Entidades que son referencias o requerimientos (tipos de datos, funciones especficas, nombres de variables) - Relaciones existentes <parte-de> (Jerarqua)

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

OBJETOS DE CONFIGURACIN

Especificacin del diseo


Diseo de datos

Modelo de datos

Diseo arquitectonico
Diseo de mdulos Diseo de interfaces

Mdulo N

Descripcin de la interfaz Descripcin del algoritmo PDL


Cdigo fuente

Especificacin de la prueba

Plan de la prueba Procedimiento de la prueba

Casos de prueba
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

CONTROL DE VERSIONES

Es la combinacin de herramientas y procedimientos para gestionar las versiones de los objetos de configuracin creadas durante el proceso de Ing. de Software.
La GCS permite a un usuario especificar configuraciones alternativas del sistema de software mediante la seleccin de las versiones adecuadas de los ECS. Para ello se asocian atributos a cada versin del software Atributo: -Nmero especifico de versin -Cadena de variables lgicas (indicadores)

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

VERSIONES Y VARIANTES

Objeto 1.3 Objeto 1.0 Objeto 1.1 Objeto 1.2 Objeto 2.0 Objeto 1.1.1 Objeto 1.1.2

Objeto 1.4

Objeto 2.1

1 2 3 4 5

Grafo de evolucin que muesta las revisiones del software

Variantes

Componentes

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

CONTROL DE CAMBIOS

Combinacin de procesos, procedimientos humanos y herramientas automticas para propocionar un mecanismo para identificar, controlar el acceso y manejar cambios tanto al producto como a los baselines (configuracin de partida) del proyecto. Objetivos: -Establecer versiones bsicas del proyecto y del producto -Proveer formas para controlar los requerimientos de cambio externo e interno que afectan estas versiones bsicas -Asegurar que los cambios requeridos son actualmente hechos a las versiones bsicas de los productos una vez se han aprobado.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

PROCESO DE CONTROL DE CAMBIOS

1. 2. 3. 4. 5. 6. 7. 8.

Peticin de cambio Evaluacin del cambio: Esfuerzo tcnico, efectos secundarios, impacto sobre otros componentes, costos. Informe de Cambios (resultados evaluacin) a la ACC (Autoridad de Control de Cambios). Se genera una OCI (Orden de Cambio de Ingeniera) para cada cambio: qu se cambiar; restricciones, criterios de revisin y auditora. Objeto dado de baja Realizacin del cambio Revisin del cambio. Objeto dado de alta aplicando mecanismos de control de versin.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ESPACIOS DE TRABAJO

Se puede presentar que al tiempo varias personas puedan necesitar el mismo mdulo. Si uno de ellos modifica un mdulo sto puede afectar a los otros. Debe definirse una poltica de manejo del espacio de trabajo. Ejemplo, cada uno tendr un espacio de trabajo propio donde hace modificaciones y al final habr un espacio de integracin donde se cree una nueva versin que contenga, de manera integrada, las modificaciones de cada uno.

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ESPACIOS DE TRABAJO (Cont.)

Por ejemplo: se puede definir una configuracin de partida o Baseline ( el conjunto de los mdulos iniciales) . Cada miembro del grupo tendr su propio espacio de trabajo privado donde har las modificaciones sobre su baseline. Luego se crea un espacio de integracin donde se integran los cambios de todos en una nueva versin.

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

ESPACIOS DE TRABAJO (Cont.)

Baseline o Configuracin 0 C0

Configuracin 1 C1

Espacio de integracin Espacio de trabajo privado La configuracin C1 servir de baseline para prximas modificaciones. Aqu ya no se trabaja con rboles de derivacin sino con configuraciones sucesivas.
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

AUDITORIA DE LA CONFIGURACIN

Verificar que los cambios se han realizado correctamente mediante: RevisionesTcnicas Formales (RTF): Se centra en la correccin tcnica del ECS que ha sido modificado. Las revisiones verifican que el software bajo revisin cumple los requerimientos. Descubre errores en la funcin, la lgica o la implementacin. Garantiza que el software ha sido representado de acuerdo a los estndares predefinidos y los efectos secundarios de su modificacin.

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

AUDITORIA DE LA CONFIGURACIN

Auditora de Configuracin de Software: -Complementa la RTF. Se pregunta: - Se realiz el cambio especificado en la OCI? - Hay otras modificaciones? - Se siguieron los estandares de I.S? - Se hizo un RTF para evaluar la correccin tcnica? - Se registraron los cambios, fecha y el autor del cambio? - Se ha divulgado siguiendo procedimientos de GCS? - Se actualizaron correctamente los ECS?
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

CONFIGURACIN

Grupo de desarrollo

Es una 1 versin

Encuentra un error y al corregirlo genera

Requer. 1

Programa

Correccin Error

P+r
(debe corregirlo tambin en P+P)

+
Requer. 2

P+P`

Correccin Error

P+P`+r

Es una 2 versin

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

EL PROCESO DE CONTROL DE CAMBIOS

Se reconoce la necesidad del cambio El usuario suscribe la peticin de cambio El desarrollador la evalu Se genera un informe de cambios La autoridad de control de cambios decide La peticin queda pendiente de actualizacin, se genera la OCI Asignacin personalizada los objetos de configuracin Dar de baja objetos (elementos) de configuracin Realizacin del cambio
Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

Peticin de cambio denegada Informacin al usuario

EL PROCESO DE CONTROL DE CAMBIOS (Cont.)

Revisin de cambio (auditora) Los elementos de configuracin que han cambiado son dados de altaEstablecimiento de una linea base para la prueba Realizacin de actividades de garanta de calidad y de prueba - Promocin de los cambios para ser incluidos en la siguiente versin (revisin) Reconstruccin de la versin adecuada del software Revisin (auditora) de los cambios en todos los elementos de la configuracin Cambios incluidos en la nueva versin Distribucin de la nueva versin

Escuela de Ingeniera de Sistemas y Computacin Desarrollo de Software II

Você também pode gostar