SlideShare una empresa de Scribd logo
LICENCIATURA EN
INGENIERIA EN SOFTWARE
Y REDES
TRAZABILIDAD Y CONFIGURACION
DE SOFTWARE
TEMARIO SEMANA 4.
7. Control de versiones
7.1. Importancia y funcionalidad
7.2. Divisiones y deltas
7.3. Políticas de control de versiones
7.4. Técnicas y herramientas
8. Planificación y gestión
8.1. Contabilidad y medición
8.2. Auditoría de la configuración del software
8.3. Gestión de entregas
CONTROL DE VERSIONES
• Es un sistema que registra los cambios realizados sobre un
archivo o conjunto de archivos a lo largo del tiempo de tal
manera que sea posible recuperar versiones especificas más
adelante.
7.1 IMPORTANCIA Y FUNCIONALIDAD
• Acceso al registro de modificaciones sobre un fichero. Esto
nos permite además ver los comentarios asociados a cada
modificación y la persona que ha realizado dicha
modificación
• Posibilidad de regresar al estado anterior de un fichero o
conjunto de ficheros
• Creación de ramas para gestionar cambios que finalmente se
mezclarán con la rama principal
7.1 IMPORTANCIA Y FUNCIONALIDAD
• Facilidad para etiquetar modificaciones concretas. Esto
además, acaba desembocando en un DML de ITIL, con lo que
conseguimos un repositorio con todas las releases del
producto
7.1 IMPORTANCIA Y FUNCIONALIDAD
– Proporcionar mecanismos para evitar el caos ante cambios no
controlados.
– Proceso de Control de Cambios.
 Proceso por el cual se implementa el mecanismo de control de cambios.
7.2 DIVISIONES Y DELTAS
7.2 DIVISIONES Y DELTAS
Versión delta: sólo se testean e instalan los elementos
modificados. Esta opción tiene como ventaja su mayor
simplicidad pero conlleva el peligro de que puedan aparecer
problemas e incompatibilidades en el entorno de producción.
7.2 DIVISIONES Y DELTAS
Versión completa: Se distribuyen
todos los elementos afectados ya
hayan sido modificados o no.
Aunque esta opción es obviamente
más trabajosa es más improbable
que se generen incidentes tras la
instalación si se han realizado las
pruebas pertinentes
7.2 DIVISIONES Y DELTAS
Paquete de Versiones: La Gestión de Cambios puede optar por
distribuir de forma sincronizada diferentes paquetes de
versiones, de esta forma se ofrece una mayor estabilidad al
entorno TI.
7.2 DIVISIONES Y DELTAS
Mantener la rama principal incorrupta. ¡La rama principal es tu
proyecto!
7.3 POLITICAS DE CONTROL DE VERSIONES
Aislar cambios en ramas.
Guarda cada cambio o característica nueva en su propia rama.
Ayudará a mantener la rama principal limpia, y te dará toda la
potencia del desarrollo paralelo real. También es muy bueno
para cambiar de tarea y hacer un seguimiento de los cambios
intermedios.
7.3 POLITICAS DE CONTROL DE VERSIONES
Nota: Asocia tu rama
con una con una tarea
en tu herramienta de
control de tareas para
poder tener el ciclo
completo.
Guarda los cambios con cierta frecuencia, con más de la que lo
haces ahora. Si desarrollas en la línea principal no harás commit
cada 5 minutos, los cambios suelen tardar más en realizarse. Si
tienes tu propia rama para la tarea puedes hacer commit tantas
veces como quieras (¡aunque no compile!)... y luego tendrás un
historial privado de los cambios.
7.3 POLITICAS DE CONTROL DE VERSIONES
Revisar los cambios antes de incluirlos en la línea principal. En el
desarrollo en la rama principal (y en integración continua) se
realizan las pruebas de tests después de que se hayan integrado
los cambios.
7.3 POLITICAS DE CONTROL DE VERSIONES
El repositorio
Es básicamente un árbol del sistema de archivos (directorio),
centralizado y controlado por una herramienta que gestiona los
permisos y conexiones para leer o escribir dichos archivos, y
guardar un registro histórico de las modificaciones que se les
realizan.
El procedimiento de modificación de un componente consiste,
de manera general, en adquirir una copia local del componente
para trabajar en ella. Luego el componente modificado se
establece como una nueva revisión en el repositorio.
7.4 TECNICAS Y HERRAMIENTAS
Mecanismos de control
Para permitir un acceso colaborativo al repositorio (para
modificación y lectura), las herramientas utilizan diferentes
estrategias, orientadas a evitar conflictos al compartir archivos.
Estos conflictos se generan cuando dos (o más) personas
trabajan en el mismo archivo, al terminar de modificarlo y
querer impactar sus cambios en el repositorio, corren el riesgo
de sobreescribir las modificaciones del otro.
7.4 TECNICAS Y HERRAMIENTAS
Modelo bloquear-modificar-desbloquear
En esta estrategia, el repositorio permite
que solamente un usuario modifique un
archivo, para ello primero debe
bloquearlo. Cuando otro usuario intente
bloquearlo, el sistema no lo permitirá y
deberá esperar a que el primero termine
y lo desbloquee. Este modelo ocasiona
ciertos problemas:
• Tiempos muertos: debido a que alguien
bloquea un archivo y olvida
desbloquearlo, mientras que otro usuario
necesita utilizarlo.
7.4 TECNICAS Y HERRAMIENTAS
Modelo bloquear-modificar-desbloquear
• Esperas injustificadas: en el caso de que un usuario deba modificar una
sección diferente de la que está modificando el usuario bloqueante.
• Falso sentido de seguridad: en el caso de dependencias entre los archivos,
se puede llegar a tener inconsistencias o deadlocks.
Estos problemas pueden ser manejados en grupos de desarrollo pequeños y
poco distribuidos, donde la comunicación por vías convencionales es factible.
7.4 TECNICAS Y HERRAMIENTAS
Modelo copiar-modificar-combinar
Este modelo permite que múltiples usuarios trabajen
simultáneamente en sendas copias locales del repositorio
(working copy). Al momento de actualizar el repositorio con los
cambios realizados, el sistema se encarga de comparar las
versiones y combinarlas (generalmente el usuario participa en la
toma de decisiones al respecto).
7.4 TECNICAS Y HERRAMIENTAS
Modelo copiar-modificar-combinar
La mayoría de los problemas del modelo anterior se resuelven
utilizando éste. Los conflictos en este modelo se dan cuando dos
(o más) usuarios modifican la misma porción de un archivo. La
resolución de este conflicto involucra comunicación entre los
desarrolladores
7.4 TECNICAS Y HERRAMIENTAS
Modelo copiar-modificar-combinar
El modelo copiar-modificar-combinar funciona correctamente
cuando se trata de archivos de líneas de texto (por ejemplo,
códigos fuente). Pero en el caso de archivos binarios (por
ejemplo, imágenes, sonidos, etc.) donde no se tiene una
representación legible del contenido, la mejor solución es utilizar
el modelo bloquear-modificar-desbloquear
7.4 TECNICAS Y HERRAMIENTAS
• Es crucial establecer un marco general para el lanzamiento
de nuevas versiones que fije una metodología de trabajo.
• La Gestión de Versiones es la encargada del diseño y
construcción de las nuevas versiones siguiendo las pautas
marcadas en las RFCs (Request For Change o Solicitud de
Cambio) correspondientes.
8. PLANIFICACION Y GESTION
• La planificación de costes en varios niveles se basa
directamente en el plan estructural y de gastos, de manera
que puede realizar cálculos previos con una base sólida.
Asimismo, la estructura general crea una base para
la comparación entre datos nominales y reales a medida
que avanza el proyecto.
8.1 CONTABILIDAD Y MEDICION
• Los costos se estiman para todos los recursos asignados al
proyecto, es decir, recursos de trabajo, recursos materiales,
coste de servicios e instalaciones y posibles costes por
contingencias.
8.1 CONTABILIDAD Y MEDICION
• La estimación de los costes de las actividades puede
necesitar de los resultados de los procesos de planificación
de otras áreas como por ejemplo el cronograma del
proyecto, el registro de riesgos y las asignaciones de
personal. Debido a ello las estimaciones no pueden darse por
definitivas hasta contar con tales informaciones.
8.1 CONTABILIDAD Y MEDICION
• Una auditoría es una
verificación independiente de
un trabajo o del resultado de
un trabajo o grupo de trabajos
para evaluar su conformidad
respecto de especificaciones,
estándares, acuerdos
contractuales u otros criterios.
8.2 AUDITORIA DE LA CONFIGURACION
DE SOFTWARE
• La auditoría de la Configuración es la forma de comprobar
que efectivamente el producto que se está construyendo es
lo que pretende ser.
8.2 AUDITORIA DE LA CONFIGURACION
DE SOFTWARE
• Es la actividad de GCS más costosa.
Requiere de personal experimentado, y
con un gran conocimiento del proceso de
desarrollo. Sin embargo, debe ser
realizada por personal ajeno al equipo de
desarrollo técnico para mantener la
objetividad de la auditoría.
8.2 AUDITORIA DE LA CONFIGURACION
DE SOFTWARE
Se pueden diferenciar tres tipos de actividades:
• Revisiones de fase: Se realizan al finalizar cada fase del
desarrollo y su objetivo es examinar los productos de dicha
fase. Las revisiones propias de la Gestión de configuración
son aquellas en las que se establecerán las líneas base. El
objetivo de esta revisión es descubrir problemas, no
comprobar que todo está bien. Hay que ser capaz de
desenmascarar los problemas ocultos y sutiles, no sólo los
que son obvios.
8.2 AUDITORIA DE LA CONFIGURACION
DE SOFTWARE
Se pueden diferenciar tres tipos de actividades:
• Revisiones de cambios: Se realizan para comprobar que los
cambios aprobados sobre una línea base se han realizado
correctamente.
• Auditorías: Se realizan al final del proceso de desarrollo de
software y su objetivo es examinar el producto en su
conjunto.
8.2 AUDITORIA DE LA CONFIGURACION
DE SOFTWARE

Más contenido relacionado

La actualidad más candente

Tecnicas esquemas indexados
Tecnicas esquemas indexadosTecnicas esquemas indexados
Tecnicas esquemas indexados
Giovani Ramirez
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
Luis Fernando Aguas Bucheli
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
DavidVeraOlivera
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de Sistemas
Uniminuto - San Francisco
 
Tecnicas referencias cruzadas
Tecnicas referencias cruzadasTecnicas referencias cruzadas
Tecnicas referencias cruzadas
Giovani Ramirez
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
Guillermo Lemus
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
Heriberto Garcia Alfaro
 
3. conceptos de calidad del software
3. conceptos de calidad del software3. conceptos de calidad del software
3. conceptos de calidad del softwareJuan Pablo Carvallo
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de softwareilianacon
 
Metricas Tecnicas Del Software
Metricas Tecnicas Del SoftwareMetricas Tecnicas Del Software
Metricas Tecnicas Del Softwarejuic
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Doc 4 plan de aseguramiento de la calidad (ppqa)
Doc 4   plan de aseguramiento de la calidad (ppqa)Doc 4   plan de aseguramiento de la calidad (ppqa)
Doc 4 plan de aseguramiento de la calidad (ppqa)Fanny Lorena Rivera Vera
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc call
clauddiaa
 
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
Mónica María Espejo Pérez
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
Andrés Felipe Montoya Ríos
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de SoftwareGustavo Bazan Maal
 
PLAN SQA
PLAN SQAPLAN SQA

La actualidad más candente (20)

Tecnicas esquemas indexados
Tecnicas esquemas indexadosTecnicas esquemas indexados
Tecnicas esquemas indexados
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de Sistemas
 
Tecnicas referencias cruzadas
Tecnicas referencias cruzadasTecnicas referencias cruzadas
Tecnicas referencias cruzadas
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
3. conceptos de calidad del software
3. conceptos de calidad del software3. conceptos de calidad del software
3. conceptos de calidad del software
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de software
 
Metricas Tecnicas Del Software
Metricas Tecnicas Del SoftwareMetricas Tecnicas Del Software
Metricas Tecnicas Del Software
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Doc 4 plan de aseguramiento de la calidad (ppqa)
Doc 4   plan de aseguramiento de la calidad (ppqa)Doc 4   plan de aseguramiento de la calidad (ppqa)
Doc 4 plan de aseguramiento de la calidad (ppqa)
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc call
 
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de Software
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
 
PLAN SQA
PLAN SQAPLAN SQA
PLAN SQA
 

Similar a Semana 4 control de versiones planificacion y gestion

Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
Juan Camilo Calderon
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
Jorge Rodriguez
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)
David Rosero
 
prueva
pruevaprueva
prueva
1081913395
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
David Vasquez
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
J Martin Luzon
 
Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versiones
Angel Armenta
 
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
Kkrono
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio jose_macias
 
Versionamiento
VersionamientoVersionamiento
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
GabrielRosendo2
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
Wilfredo Mogollón
 
Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configuManuel Villalta
 
Ensayo de software
Ensayo de softwareEnsayo de software
Ensayo de software
Nixon Gomez
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
Eudris Cabrera
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWARE
Pablo Daniel Bazan Carmona
 
Administración de sistemas
Administración de sistemasAdministración de sistemas
Administración de sistemaskarolpaolaargel
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 

Similar a Semana 4 control de versiones planificacion y gestion (20)

Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
 
Apuntes
ApuntesApuntes
Apuntes
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)
 
prueva
pruevaprueva
prueva
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versiones
 
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
240125_RECOMENDACIONES O MEJORAS DEL BACKEND.pdf
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Presentacion fdd
Presentacion fddPresentacion fdd
Presentacion fdd
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configu
 
Ensayo de software
Ensayo de softwareEnsayo de software
Ensayo de software
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWARE
 
Administración de sistemas
Administración de sistemasAdministración de sistemas
Administración de sistemas
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 

Más de Giovani Ramirez

Funciones
FuncionesFunciones
Funciones
Giovani Ramirez
 
Lenguajes de trazabilidad proveedores de ambiente
Lenguajes de trazabilidad proveedores de ambienteLenguajes de trazabilidad proveedores de ambiente
Lenguajes de trazabilidad proveedores de ambiente
Giovani Ramirez
 
Modelo de trazabilidad guiado por base de datos
Modelo de trazabilidad guiado por base de datosModelo de trazabilidad guiado por base de datos
Modelo de trazabilidad guiado por base de datos
Giovani Ramirez
 
Modelo de trazabilidad estructura contributiva
Modelo de trazabilidad estructura contributivaModelo de trazabilidad estructura contributiva
Modelo de trazabilidad estructura contributiva
Giovani Ramirez
 
5 5 preparacion de la propuesta de sistemas
5 5 preparacion de la propuesta de sistemas5 5 preparacion de la propuesta de sistemas
5 5 preparacion de la propuesta de sistemas
Giovani Ramirez
 
5 4 analisis y disenio de sistemas orientados a objetos
5 4 analisis y disenio de sistemas orientados a objetos5 4 analisis y disenio de sistemas orientados a objetos
5 4 analisis y disenio de sistemas orientados a objetos
Giovani Ramirez
 
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
Giovani Ramirez
 
5 2 analisis mediante diccionario de datos
5 2 analisis mediante diccionario de datos5 2 analisis mediante diccionario de datos
5 2 analisis mediante diccionario de datos
Giovani Ramirez
 
5 1 diagramas de flujo
5 1 diagramas de flujo5 1 diagramas de flujo
5 1 diagramas de flujo
Giovani Ramirez
 
7 aseguramiento e implementacion de la calidad
7 aseguramiento e implementacion de la calidad7 aseguramiento e implementacion de la calidad
7 aseguramiento e implementacion de la calidad
Giovani Ramirez
 
6 fundamentos del disenio
6 fundamentos del disenio6 fundamentos del disenio
6 fundamentos del disenio
Giovani Ramirez
 
4 3 modelado agil y prototipos
4 3 modelado agil y prototipos4 3 modelado agil y prototipos
4 3 modelado agil y prototipos
Giovani Ramirez
 
4 2 recopilacion con metodos discretos
4 2 recopilacion con metodos discretos4 2 recopilacion con metodos discretos
4 2 recopilacion con metodos discretos
Giovani Ramirez
 
4 1 recopilacion con metodos interactivos
4 1 recopilacion con metodos interactivos4 1 recopilacion con metodos interactivos
4 1 recopilacion con metodos interactivos
Giovani Ramirez
 
3 6 3-7 desarrollo_de_sistemas_de_informacion
3 6 3-7 desarrollo_de_sistemas_de_informacion3 6 3-7 desarrollo_de_sistemas_de_informacion
3 6 3-7 desarrollo_de_sistemas_de_informacion
Giovani Ramirez
 
3 5 comprension y modelado de los sistemas organizacionales
3 5 comprension y modelado de los sistemas organizacionales3 5 comprension y modelado de los sistemas organizacionales
3 5 comprension y modelado de los sistemas organizacionales
Giovani Ramirez
 
3 2 3-4 desarrollo de sistemas de informacion
3 2 3-4 desarrollo de sistemas de informacion3 2 3-4 desarrollo de sistemas de informacion
3 2 3-4 desarrollo de sistemas de informacion
Giovani Ramirez
 
3 1 ciclo de vida de desarrollo de sistemas
3 1 ciclo de vida de desarrollo de sistemas3 1 ciclo de vida de desarrollo de sistemas
3 1 ciclo de vida de desarrollo de sistemas
Giovani Ramirez
 
2 diagnostico problema_desarrollo_sistemas_parte_dos
2 diagnostico problema_desarrollo_sistemas_parte_dos2 diagnostico problema_desarrollo_sistemas_parte_dos
2 diagnostico problema_desarrollo_sistemas_parte_dos
Giovani Ramirez
 
2 diagnostico del problema de desarrollodesistemas
2 diagnostico del problema de desarrollodesistemas2 diagnostico del problema de desarrollodesistemas
2 diagnostico del problema de desarrollodesistemas
Giovani Ramirez
 

Más de Giovani Ramirez (20)

Funciones
FuncionesFunciones
Funciones
 
Lenguajes de trazabilidad proveedores de ambiente
Lenguajes de trazabilidad proveedores de ambienteLenguajes de trazabilidad proveedores de ambiente
Lenguajes de trazabilidad proveedores de ambiente
 
Modelo de trazabilidad guiado por base de datos
Modelo de trazabilidad guiado por base de datosModelo de trazabilidad guiado por base de datos
Modelo de trazabilidad guiado por base de datos
 
Modelo de trazabilidad estructura contributiva
Modelo de trazabilidad estructura contributivaModelo de trazabilidad estructura contributiva
Modelo de trazabilidad estructura contributiva
 
5 5 preparacion de la propuesta de sistemas
5 5 preparacion de la propuesta de sistemas5 5 preparacion de la propuesta de sistemas
5 5 preparacion de la propuesta de sistemas
 
5 4 analisis y disenio de sistemas orientados a objetos
5 4 analisis y disenio de sistemas orientados a objetos5 4 analisis y disenio de sistemas orientados a objetos
5 4 analisis y disenio de sistemas orientados a objetos
 
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
5 3 descripcion de las especificaciones de procesos y decisiones estructuradas
 
5 2 analisis mediante diccionario de datos
5 2 analisis mediante diccionario de datos5 2 analisis mediante diccionario de datos
5 2 analisis mediante diccionario de datos
 
5 1 diagramas de flujo
5 1 diagramas de flujo5 1 diagramas de flujo
5 1 diagramas de flujo
 
7 aseguramiento e implementacion de la calidad
7 aseguramiento e implementacion de la calidad7 aseguramiento e implementacion de la calidad
7 aseguramiento e implementacion de la calidad
 
6 fundamentos del disenio
6 fundamentos del disenio6 fundamentos del disenio
6 fundamentos del disenio
 
4 3 modelado agil y prototipos
4 3 modelado agil y prototipos4 3 modelado agil y prototipos
4 3 modelado agil y prototipos
 
4 2 recopilacion con metodos discretos
4 2 recopilacion con metodos discretos4 2 recopilacion con metodos discretos
4 2 recopilacion con metodos discretos
 
4 1 recopilacion con metodos interactivos
4 1 recopilacion con metodos interactivos4 1 recopilacion con metodos interactivos
4 1 recopilacion con metodos interactivos
 
3 6 3-7 desarrollo_de_sistemas_de_informacion
3 6 3-7 desarrollo_de_sistemas_de_informacion3 6 3-7 desarrollo_de_sistemas_de_informacion
3 6 3-7 desarrollo_de_sistemas_de_informacion
 
3 5 comprension y modelado de los sistemas organizacionales
3 5 comprension y modelado de los sistemas organizacionales3 5 comprension y modelado de los sistemas organizacionales
3 5 comprension y modelado de los sistemas organizacionales
 
3 2 3-4 desarrollo de sistemas de informacion
3 2 3-4 desarrollo de sistemas de informacion3 2 3-4 desarrollo de sistemas de informacion
3 2 3-4 desarrollo de sistemas de informacion
 
3 1 ciclo de vida de desarrollo de sistemas
3 1 ciclo de vida de desarrollo de sistemas3 1 ciclo de vida de desarrollo de sistemas
3 1 ciclo de vida de desarrollo de sistemas
 
2 diagnostico problema_desarrollo_sistemas_parte_dos
2 diagnostico problema_desarrollo_sistemas_parte_dos2 diagnostico problema_desarrollo_sistemas_parte_dos
2 diagnostico problema_desarrollo_sistemas_parte_dos
 
2 diagnostico del problema de desarrollodesistemas
2 diagnostico del problema de desarrollodesistemas2 diagnostico del problema de desarrollodesistemas
2 diagnostico del problema de desarrollodesistemas
 

Último

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 

Último (10)

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 

Semana 4 control de versiones planificacion y gestion

  • 1. LICENCIATURA EN INGENIERIA EN SOFTWARE Y REDES TRAZABILIDAD Y CONFIGURACION DE SOFTWARE
  • 2. TEMARIO SEMANA 4. 7. Control de versiones 7.1. Importancia y funcionalidad 7.2. Divisiones y deltas 7.3. Políticas de control de versiones 7.4. Técnicas y herramientas 8. Planificación y gestión 8.1. Contabilidad y medición 8.2. Auditoría de la configuración del software 8.3. Gestión de entregas
  • 3. CONTROL DE VERSIONES • Es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo de tal manera que sea posible recuperar versiones especificas más adelante.
  • 4. 7.1 IMPORTANCIA Y FUNCIONALIDAD • Acceso al registro de modificaciones sobre un fichero. Esto nos permite además ver los comentarios asociados a cada modificación y la persona que ha realizado dicha modificación
  • 5. • Posibilidad de regresar al estado anterior de un fichero o conjunto de ficheros • Creación de ramas para gestionar cambios que finalmente se mezclarán con la rama principal 7.1 IMPORTANCIA Y FUNCIONALIDAD
  • 6. • Facilidad para etiquetar modificaciones concretas. Esto además, acaba desembocando en un DML de ITIL, con lo que conseguimos un repositorio con todas las releases del producto 7.1 IMPORTANCIA Y FUNCIONALIDAD
  • 7. – Proporcionar mecanismos para evitar el caos ante cambios no controlados. – Proceso de Control de Cambios.  Proceso por el cual se implementa el mecanismo de control de cambios. 7.2 DIVISIONES Y DELTAS
  • 9. Versión delta: sólo se testean e instalan los elementos modificados. Esta opción tiene como ventaja su mayor simplicidad pero conlleva el peligro de que puedan aparecer problemas e incompatibilidades en el entorno de producción. 7.2 DIVISIONES Y DELTAS
  • 10. Versión completa: Se distribuyen todos los elementos afectados ya hayan sido modificados o no. Aunque esta opción es obviamente más trabajosa es más improbable que se generen incidentes tras la instalación si se han realizado las pruebas pertinentes 7.2 DIVISIONES Y DELTAS
  • 11. Paquete de Versiones: La Gestión de Cambios puede optar por distribuir de forma sincronizada diferentes paquetes de versiones, de esta forma se ofrece una mayor estabilidad al entorno TI. 7.2 DIVISIONES Y DELTAS
  • 12. Mantener la rama principal incorrupta. ¡La rama principal es tu proyecto! 7.3 POLITICAS DE CONTROL DE VERSIONES
  • 13. Aislar cambios en ramas. Guarda cada cambio o característica nueva en su propia rama. Ayudará a mantener la rama principal limpia, y te dará toda la potencia del desarrollo paralelo real. También es muy bueno para cambiar de tarea y hacer un seguimiento de los cambios intermedios. 7.3 POLITICAS DE CONTROL DE VERSIONES Nota: Asocia tu rama con una con una tarea en tu herramienta de control de tareas para poder tener el ciclo completo.
  • 14. Guarda los cambios con cierta frecuencia, con más de la que lo haces ahora. Si desarrollas en la línea principal no harás commit cada 5 minutos, los cambios suelen tardar más en realizarse. Si tienes tu propia rama para la tarea puedes hacer commit tantas veces como quieras (¡aunque no compile!)... y luego tendrás un historial privado de los cambios. 7.3 POLITICAS DE CONTROL DE VERSIONES
  • 15. Revisar los cambios antes de incluirlos en la línea principal. En el desarrollo en la rama principal (y en integración continua) se realizan las pruebas de tests después de que se hayan integrado los cambios. 7.3 POLITICAS DE CONTROL DE VERSIONES
  • 16. El repositorio Es básicamente un árbol del sistema de archivos (directorio), centralizado y controlado por una herramienta que gestiona los permisos y conexiones para leer o escribir dichos archivos, y guardar un registro histórico de las modificaciones que se les realizan. El procedimiento de modificación de un componente consiste, de manera general, en adquirir una copia local del componente para trabajar en ella. Luego el componente modificado se establece como una nueva revisión en el repositorio. 7.4 TECNICAS Y HERRAMIENTAS
  • 17. Mecanismos de control Para permitir un acceso colaborativo al repositorio (para modificación y lectura), las herramientas utilizan diferentes estrategias, orientadas a evitar conflictos al compartir archivos. Estos conflictos se generan cuando dos (o más) personas trabajan en el mismo archivo, al terminar de modificarlo y querer impactar sus cambios en el repositorio, corren el riesgo de sobreescribir las modificaciones del otro. 7.4 TECNICAS Y HERRAMIENTAS
  • 18. Modelo bloquear-modificar-desbloquear En esta estrategia, el repositorio permite que solamente un usuario modifique un archivo, para ello primero debe bloquearlo. Cuando otro usuario intente bloquearlo, el sistema no lo permitirá y deberá esperar a que el primero termine y lo desbloquee. Este modelo ocasiona ciertos problemas: • Tiempos muertos: debido a que alguien bloquea un archivo y olvida desbloquearlo, mientras que otro usuario necesita utilizarlo. 7.4 TECNICAS Y HERRAMIENTAS
  • 19. Modelo bloquear-modificar-desbloquear • Esperas injustificadas: en el caso de que un usuario deba modificar una sección diferente de la que está modificando el usuario bloqueante. • Falso sentido de seguridad: en el caso de dependencias entre los archivos, se puede llegar a tener inconsistencias o deadlocks. Estos problemas pueden ser manejados en grupos de desarrollo pequeños y poco distribuidos, donde la comunicación por vías convencionales es factible. 7.4 TECNICAS Y HERRAMIENTAS
  • 20. Modelo copiar-modificar-combinar Este modelo permite que múltiples usuarios trabajen simultáneamente en sendas copias locales del repositorio (working copy). Al momento de actualizar el repositorio con los cambios realizados, el sistema se encarga de comparar las versiones y combinarlas (generalmente el usuario participa en la toma de decisiones al respecto). 7.4 TECNICAS Y HERRAMIENTAS
  • 21. Modelo copiar-modificar-combinar La mayoría de los problemas del modelo anterior se resuelven utilizando éste. Los conflictos en este modelo se dan cuando dos (o más) usuarios modifican la misma porción de un archivo. La resolución de este conflicto involucra comunicación entre los desarrolladores 7.4 TECNICAS Y HERRAMIENTAS
  • 22. Modelo copiar-modificar-combinar El modelo copiar-modificar-combinar funciona correctamente cuando se trata de archivos de líneas de texto (por ejemplo, códigos fuente). Pero en el caso de archivos binarios (por ejemplo, imágenes, sonidos, etc.) donde no se tiene una representación legible del contenido, la mejor solución es utilizar el modelo bloquear-modificar-desbloquear 7.4 TECNICAS Y HERRAMIENTAS
  • 23. • Es crucial establecer un marco general para el lanzamiento de nuevas versiones que fije una metodología de trabajo. • La Gestión de Versiones es la encargada del diseño y construcción de las nuevas versiones siguiendo las pautas marcadas en las RFCs (Request For Change o Solicitud de Cambio) correspondientes. 8. PLANIFICACION Y GESTION
  • 24. • La planificación de costes en varios niveles se basa directamente en el plan estructural y de gastos, de manera que puede realizar cálculos previos con una base sólida. Asimismo, la estructura general crea una base para la comparación entre datos nominales y reales a medida que avanza el proyecto. 8.1 CONTABILIDAD Y MEDICION
  • 25. • Los costos se estiman para todos los recursos asignados al proyecto, es decir, recursos de trabajo, recursos materiales, coste de servicios e instalaciones y posibles costes por contingencias. 8.1 CONTABILIDAD Y MEDICION
  • 26. • La estimación de los costes de las actividades puede necesitar de los resultados de los procesos de planificación de otras áreas como por ejemplo el cronograma del proyecto, el registro de riesgos y las asignaciones de personal. Debido a ello las estimaciones no pueden darse por definitivas hasta contar con tales informaciones. 8.1 CONTABILIDAD Y MEDICION
  • 27. • Una auditoría es una verificación independiente de un trabajo o del resultado de un trabajo o grupo de trabajos para evaluar su conformidad respecto de especificaciones, estándares, acuerdos contractuales u otros criterios. 8.2 AUDITORIA DE LA CONFIGURACION DE SOFTWARE
  • 28. • La auditoría de la Configuración es la forma de comprobar que efectivamente el producto que se está construyendo es lo que pretende ser. 8.2 AUDITORIA DE LA CONFIGURACION DE SOFTWARE
  • 29. • Es la actividad de GCS más costosa. Requiere de personal experimentado, y con un gran conocimiento del proceso de desarrollo. Sin embargo, debe ser realizada por personal ajeno al equipo de desarrollo técnico para mantener la objetividad de la auditoría. 8.2 AUDITORIA DE LA CONFIGURACION DE SOFTWARE
  • 30. Se pueden diferenciar tres tipos de actividades: • Revisiones de fase: Se realizan al finalizar cada fase del desarrollo y su objetivo es examinar los productos de dicha fase. Las revisiones propias de la Gestión de configuración son aquellas en las que se establecerán las líneas base. El objetivo de esta revisión es descubrir problemas, no comprobar que todo está bien. Hay que ser capaz de desenmascarar los problemas ocultos y sutiles, no sólo los que son obvios. 8.2 AUDITORIA DE LA CONFIGURACION DE SOFTWARE
  • 31. Se pueden diferenciar tres tipos de actividades: • Revisiones de cambios: Se realizan para comprobar que los cambios aprobados sobre una línea base se han realizado correctamente. • Auditorías: Se realizan al final del proceso de desarrollo de software y su objetivo es examinar el producto en su conjunto. 8.2 AUDITORIA DE LA CONFIGURACION DE SOFTWARE