Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

ITBA 04 Gestión de Configuración

Gestión de Proyectos de Software ITBA - Ing. Matías Querel
by

Matias Querel

on 4 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of ITBA 04 Gestión de Configuración

Gestión de Configuración ¿Qué es? Es la disciplina que nos permite controlar y
seguir los cambios realizados en el software
dentro de su ciclo de vida. ¿Qué nos permite? 1) Controlar e identificar el estado de un sistema
en distintos puntos del tiempo.
2) Mantener la integridad y trazabilidad del
software a través de todo su ciclo de vida.
3) Mantener la historia de los cambios a un ítem
de configuración de software a medida que
éste evoluciona en el tiempo.
4) Acceder no solo a la última versión, sino
también a una versión en particular.
5) Controlar archivos y directorios, y los cambios
que se le hacen a lo largo del tiempo. Elementos de Configuración Definimos como un elemento de Configuración a una unidad física y/o lógica parte de un conjunto mayor de elementos, producida o adquirida, que por sus características es distinguible de las demás y cuya evolución interesa administrar. Ejemplos:
01. El plan de proyecto.
02. El plan de Gestión de Configuración.
03. El documento de definición de requerimientos.
04. Estándares de análisis, diseño, codificación, pruebas, y auditoria.
05. Documentos de análisis del sistema. La versión de un ítem de configuración de software
es una instancia particular e identificada que puede
ser vista como un estado de este ítem. Es un conjunto de ítems de configuración de
software formalmente nombrados y en un momento
especifico del ciclo de vida del software. Es una “imagen congelada” de los items de
configuración de software que define la
configuración del producto. Línea base Versión Sistemas como cvs o subversion controlan las versiones de
los archivos. Sin embargo la idea de un Sistema de Ges´ión de
Configuración va más allá, ya que trata de abarcar todo lo relacionado con el ciclo de vida del desarrollo de software (Proceso de contrucción, problemas, mejoras). Diferencia entre Subversion y
Sistema de Gestión de Configuración Subversion Es un sistema centralizado para compartir
información Lo importante y distintivo de Subversion es que
recurda cada cambio realizado, no solo en los
archivos, sino también en los directorios. La principal funcionalidad
de un sistema de
versionado es permitir la
edición y compartir
información. Funcionalidad Principal Estrategias para compartir
archivos. Lock – Modify – Unlock. Copy – Modify – Merge. En este caso cuando una persona toma un elemento,
el mismo queda bloqueado y ningun otro usuario puede modificarlo.
Al finalizar los cambios, el usuario desprotege el archivo para
que pueda tomarlo otro. Los usuarios que requieren modificar un archivo
crean una copia del mismo cada uno y lo modifican.
Cuando finalizan la modificación, suben el archivo al servidor
y se unifican los cambios. Desventajas de la estrategia A) Puede causar problemas administrativos. Por ejemplo, olvidarse de quitar un lock. Lock – Modify – Unlock. B) Puede causar serialización innecesaria. Por ejemplo si ambos quieren modificar distintas partes del archivo, no es necesario esperarse. Copy – Modify – Merge. Este modelo de versionado parece ser más caótico,
pero en la práctica se realiza sin ningún problema.
• Se puede trabajar en pararelo sin pérdida de tiempo.
• El tiempo que lleva resolver conflictos (si los hubiere)
generalmente es menor que el tiempo perdido en los
sistemas que bloquean archivos. Copias de trabajo Una copia de trabajo es una estrucutra de directorios y archivos en
el sistema de archivos propio del usuario. En esta copia de trabajo se pueden modificar, borrar e incluso agregar nuevos archivos. Las copias de trabajo contienen archivos adicionales
que son creados y administrados por Subversion. Un repositorio puede contener más de un
proyecto de software (ej. calc y paint). Para obtener una copia de trabajo, el
usuario debe realizar el check out de algún
subarbol del repositorio. Una operación de commit publica
cambios en el repositorio. Commit Cada vez que el repositorio acepta un
commit, crea un nuevo estado del árbol
de directorio. Cada uno de estos estados se los conoce como
Revisión. Buenas prácticas Mantener la consistencia del repositorio. No poner bajo control de versiones ítems generados o
generables (.class, .jar, etc.). Sincronizar frecuentemente la copia de trabajo con el
repositorio. No publicar en el repositorio versiones nuevas de
archivos sin haber ejecutado los tests
satisfactoriamente. Agregar comentarios de valor para cada cambio subido al repositorio. Agregar la propiedad svn:needs-lock a los archivos que no
pueden ser combinables. Esto hace que no se pierda tiempo
realizando cambios que se desperdician. La Gestión de Configuración del Software es una disciplina encargada del control de la evolución de los productos de software.
Como todo proceso, la Gestión de Configuración también puede ser sistematizada y automatizada, lo que se denomina un Sistema de Gestión de Configuración (SGC). Actualmente existen en el mercado diversas herramientas que permiten apoyar una o más actividades de la Gestión de Configuración. Introducción 1 2 A) Identificar y definir los elementos en el sistema. Proceso de Gestión de Configuración B) Controlar los cambios de estos elementos a lo largo de su ciclo de vida C) Registrar y reportar el estado de los elementos y las solicitudes de cambio D) Verificar que los elementos estén completos y que sean los correctos. 4. Auditoria y revisión: Se debe validar que el producto este completo y se asi mantener la consistencia entre los componentes, asegurando que estén en un estado apropiado a través de todo el ciclo de vida del producto y que el mismo sea una colección bien definida de componentes. Aspectos
Funcionales 1. Identificación: Se necesita definir un esquema de identificación para reflejar la estructura del producto, esto involucra identificar la estructura y clases de componentes, dando a cada uno un nombre, una identificación de versión y una identificación de Configuración. 2. Control: Se deben controlar los cambios que se le hacen a través del ciclo de vida, asegurando que el software sea consistente a través de la creación de una línea base del producto. 3. Estado: Se debe registrar y reportar el estado de los componentes y solicitudes de cambio. Una línea base es una especificación o producto revisado y aprobado formalmente, que sirve como base para el desarrollo posterior, y puede ser modificado solo a través de procedimientos formales de control de cambios. Procesos Asociados El estándar ISO 12207 para Procesos del Ciclo de Vida del Software, establece el Proceso de Gestión de Configuración como uno de los Procesos de Soporte del Ciclo de Vida. Un Proceso de Soporte ”apoya” a otro proceso como una parte integral, con un propósito distinto, y contribuye al éxito y a la calidad del proyecto de software. Actividades del proceso: Implementación del Proceso Se desarrolla un Plan de Gestión de Configuración que describe las actividades de Gestión de Configuración, los procedimientos y el cronograma para su realización, y los responsables de dichas actividades. Dicho plan debe ser documentado e implementado 1 Identificación de la Configuración Contabilidad de Estado de la Configuración Control de la Configuración Evaluación de la Configuración Gestión de actualización y distribución 2 4 3 5 6 Se establece un esquema de identificación de los elementos de software y sus versiones a ser controlados por el proyecto. Se identifican y registran las solicitudes de cambio, se analiza y evalúa los cambios, se aprueba o rechaza la solicitud, se implementa, verifica y distribuye el elemento de software modificado. Se determina y asegura que los elementos de software sean funcionalmente (versus sus requerimientos) y físicamente completos (es decir, si su diseño y Código reflejan una descripción técnica actualizada). Se controla formalmente la actualización y distribución de los productos de software. Se preparan registros de Gestión y reportes de estado que muestren el estado e historia de los elementos de software controlados, incluyendo líneas base. A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción del mismo, y posteriormente desde el inicio del mantenimiento hasta su retiro, se van realizando una serie de cambios, tanto en el código como en la documentación asociada.
Full transcript