SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Configuración de
Software
Ingeniería de Software
@jorgedison
Agenda
1. Objetivos
2. Control de versiones
3. Definiciones
4. Flujo de actividades
5. Herramientas
6. Bibliografía
Objetivos
❏ Trabajo concurrente y en equipo del equipo de
desarrollo.
❏ Verificar y realizar pruebas de software.
❏ Conseguir incrementos de funcionalidades por
entregables de desarrollo.
❏ Corrección de errores con el mínimo impacto.
Control de versiones
Sistema que registra los cambios realizados sobre
un archivo o conjunto de archivos a lo largo del
tiempo.
Fuente: http://git-scm.com/
Control de versiones
Un sistema de control de versiones debe
proporcionar:
❏ Mecanismo de almacenamiento de los elementos que deba gestionar.
❏ Posibilidad de realizar cambios sobre los elementos almacenados.
❏ Registro histórico de las acciones realizadas con cada elemento o conjunto de
elementos.
Definiciones
❏ Repositorio. Lugar en el que se almacenan los datos actualizados e
históricos de cambios.
❏ Revisión. Es una versión determinada de la información que se gestiona.
❏ Línea base. Revisión aprobada de un documento o fichero fuente, a partir
del cual se pueden realizar cambios subsiguientes.
❏ Branch: Un módulo puede ser branched o bifurcado en un instante de
tiempo de forma que, desde ese momento en adelante se tienen dos
copias (ramas)
Definiciones
❏ Branch: Un despliegue crea una copia de trabajo local desde el
repositorio.
❏ Commit: Un commit sucede cuando una copia de los cambios hechos a
una copia local es escrita o integrada sobre repositorio.
❏ Merge: Una integración o fusión une dos conjuntos de cambios sobre un
fichero o un conjunto de ficheros en una revisión unificada de dicho fichero
o ficheros.
Flujos de actividades
Trabajo concurrente y en equipo del equipo de
desarrollo.
Flujos de actividades
Trabajo concurrente y en equipo del equipo de
desarrollo.
1. Ramas por características o por historias de usuarios según la metodología que se
utilice.
2. Creación de ramas de desarrollo partiendo de la rama de desarrollo principal, con
el fin de desarrollar sobre ella una determinada característica.
3. La rama de desarrollo incluirá todo el código de la rama principal.
4. Una vez completada esta característica por rama, esta convergirá de nuevo con la
línea principal de desarrollo.
Flujos de actividades
Verificar y realizar pruebas de software.
Flujos de actividades
Verificar y realizar pruebas de software.
1. Usar una rama distinta a la principal y de desarrollo que contenga código con
cierto grado de garantía.
2. Sobre esta rama no se realizara desarrollo ya que solo servirá para pruebas de
validación de código.
3. Esta rama contendrá el código, correspondiente a características completas para
su validación.
Flujos de actividades
Conseguir incrementos de funcionalidades por
entregables de desarrollo.
Flujos de actividades
Conseguir incrementos de funcionalidades por
entregables de desarrollo.
1. Las ramas por característica también ayudarán a evitar que la línea principal de
desarrollo pueda contener en algún momento del tiempo características
incompletas.
2. Establecer una política de integrar en la rama de desarrollo principal
características completas, provenientes de las rama de características
3. Lograr que la línea principal de desarrollo nunca contenga características a medio
desarrollar.
Flujos de actividades
Corrección de errores con el mínimo impacto.
Flujos de actividades
Corrección de errores con el mínimo impacto.
1. Rama por cada versión soportada en la que podamos hacer correcciones de
emergencia para una determinada release.
2. Existirá tantas ramas release como versiones a las que tengamos que dar
mantenimiento.
3. Para corregir errores se debe buscar la línea de código más antigua en la que el
error se reproduce.
4. Salvo parches de urgencia o cuando la complejidad del proceso lo desaconseje,
debemos corregir el bug sobre la línea principal de desarrollo o sobre la línea de
característica.
Herramientas
❏ AccuRev
❏ Perforce
❏ ClearCase
❏ Plastic SCM
❏ SpectrumSCM
❏ Surround SCM
❏ Subversion
❏ Git
❏ Microsoft Team Foundation Server
Bibliografia
❏ Fairley R. Ingeniería de Software.
❏ Pressman, R.S. Ingeniería del Software. Un
enfoque práctico.

Más contenido relacionado

La actualidad más candente

Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones WebDeisy Sapaico
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoJesus Castagnetto
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con JenkinsCésar Hernández
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Naim Jhon Cruzado Paredes
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerErnesto Cardenas Cangahuala
 
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de PruebasGlobant
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsBEEVA_es
 

La actualidad más candente (20)

Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de Código
 
Maven
MavenMaven
Maven
 
Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)
 
Turbogears
TurbogearsTurbogears
Turbogears
 
Pipelines as code with Drone
Pipelines as code with DronePipelines as code with Drone
Pipelines as code with Drone
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
 
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 

Destacado

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)Jefferson Palacios
 
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
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del softwareJohan Prevot R
 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration ManagementRajesh Kumar
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 

Destacado (7)

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)
 
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
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 

Similar a Configuración de Software

Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionGiovani Ramirez
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Liferay - Actualizaciones: presente y futuro
Liferay - Actualizaciones: presente y futuroLiferay - Actualizaciones: presente y futuro
Liferay - Actualizaciones: presente y futuroJosé A. Jiménez
 
Administración de sistemas
Administración de sistemasAdministración de sistemas
Administración de sistemaskarolpaolaargel
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticasIker Canarias
 
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan shareDemian Raschkovan
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13Maestros en Linea MX
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13Maestros Online
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio jose_macias
 
UDA-Componentes RUP dialogo.v2.4.0
UDA-Componentes RUP dialogo.v2.4.0UDA-Componentes RUP dialogo.v2.4.0
UDA-Componentes RUP dialogo.v2.4.0Ander Martinez
 
UDA-Componentes RUP. Diálogo (v2.1.0 deprecado)
UDA-Componentes RUP. Diálogo  (v2.1.0 deprecado)UDA-Componentes RUP. Diálogo  (v2.1.0 deprecado)
UDA-Componentes RUP. Diálogo (v2.1.0 deprecado)Ander Martinez
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Mantenimiento De Hardware
Mantenimiento De HardwareMantenimiento De Hardware
Mantenimiento De HardwareFernando42799
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversionEudris Cabrera
 

Similar a Configuración de Software (20)

Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestion
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Liferay - Actualizaciones: presente y futuro
Liferay - Actualizaciones: presente y futuroLiferay - Actualizaciones: presente y futuro
Liferay - Actualizaciones: presente y futuro
 
Administración de sistemas
Administración de sistemasAdministración de sistemas
Administración de sistemas
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticas
 
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan share
 
94714313 ds-migracion
94714313 ds-migracion94714313 ds-migracion
94714313 ds-migracion
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio
 
UDA-Componentes RUP dialogo.v2.4.0
UDA-Componentes RUP dialogo.v2.4.0UDA-Componentes RUP dialogo.v2.4.0
UDA-Componentes RUP dialogo.v2.4.0
 
UDA-Componentes RUP. Diálogo (v2.1.0 deprecado)
UDA-Componentes RUP. Diálogo  (v2.1.0 deprecado)UDA-Componentes RUP. Diálogo  (v2.1.0 deprecado)
UDA-Componentes RUP. Diálogo (v2.1.0 deprecado)
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Metodología de desarrollo
Metodología de desarrolloMetodología de desarrollo
Metodología de desarrollo
 
Mantenimiento De Hardware
Mantenimiento De HardwareMantenimiento De Hardware
Mantenimiento De Hardware
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 

Más de Jorge Rodriguez

Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIsJorge Rodriguez
 
Introducción a business intelligence
Introducción a business intelligenceIntroducción a business intelligence
Introducción a business intelligenceJorge Rodriguez
 
Análisis de arquitecturas de software
Análisis de arquitecturas de softwareAnálisis de arquitecturas de software
Análisis de arquitecturas de softwareJorge Rodriguez
 
Nivel de madurez software como servicio
Nivel de madurez   software como servicioNivel de madurez   software como servicio
Nivel de madurez software como servicioJorge Rodriguez
 
Convergencia PaaS e Ingenieria de Software
Convergencia PaaS e Ingenieria de SoftwareConvergencia PaaS e Ingenieria de Software
Convergencia PaaS e Ingenieria de SoftwareJorge Rodriguez
 
Sistema experto de diagnóstico médico basado en síntomas
Sistema experto de diagnóstico médico basado en síntomasSistema experto de diagnóstico médico basado en síntomas
Sistema experto de diagnóstico médico basado en síntomasJorge Rodriguez
 

Más de Jorge Rodriguez (7)

Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIs
 
Introducción a business intelligence
Introducción a business intelligenceIntroducción a business intelligence
Introducción a business intelligence
 
Análisis de arquitecturas de software
Análisis de arquitecturas de softwareAnálisis de arquitecturas de software
Análisis de arquitecturas de software
 
Nivel de madurez software como servicio
Nivel de madurez   software como servicioNivel de madurez   software como servicio
Nivel de madurez software como servicio
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Convergencia PaaS e Ingenieria de Software
Convergencia PaaS e Ingenieria de SoftwareConvergencia PaaS e Ingenieria de Software
Convergencia PaaS e Ingenieria de Software
 
Sistema experto de diagnóstico médico basado en síntomas
Sistema experto de diagnóstico médico basado en síntomasSistema experto de diagnóstico médico basado en síntomas
Sistema experto de diagnóstico médico basado en síntomas
 

Configuración de Software

  • 2. Agenda 1. Objetivos 2. Control de versiones 3. Definiciones 4. Flujo de actividades 5. Herramientas 6. Bibliografía
  • 3. Objetivos ❏ Trabajo concurrente y en equipo del equipo de desarrollo. ❏ Verificar y realizar pruebas de software. ❏ Conseguir incrementos de funcionalidades por entregables de desarrollo. ❏ Corrección de errores con el mínimo impacto.
  • 4. Control de versiones Sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo. Fuente: http://git-scm.com/
  • 5. Control de versiones Un sistema de control de versiones debe proporcionar: ❏ Mecanismo de almacenamiento de los elementos que deba gestionar. ❏ Posibilidad de realizar cambios sobre los elementos almacenados. ❏ Registro histórico de las acciones realizadas con cada elemento o conjunto de elementos.
  • 6. Definiciones ❏ Repositorio. Lugar en el que se almacenan los datos actualizados e históricos de cambios. ❏ Revisión. Es una versión determinada de la información que se gestiona. ❏ Línea base. Revisión aprobada de un documento o fichero fuente, a partir del cual se pueden realizar cambios subsiguientes. ❏ Branch: Un módulo puede ser branched o bifurcado en un instante de tiempo de forma que, desde ese momento en adelante se tienen dos copias (ramas)
  • 7. Definiciones ❏ Branch: Un despliegue crea una copia de trabajo local desde el repositorio. ❏ Commit: Un commit sucede cuando una copia de los cambios hechos a una copia local es escrita o integrada sobre repositorio. ❏ Merge: Una integración o fusión une dos conjuntos de cambios sobre un fichero o un conjunto de ficheros en una revisión unificada de dicho fichero o ficheros.
  • 8. Flujos de actividades Trabajo concurrente y en equipo del equipo de desarrollo.
  • 9. Flujos de actividades Trabajo concurrente y en equipo del equipo de desarrollo. 1. Ramas por características o por historias de usuarios según la metodología que se utilice. 2. Creación de ramas de desarrollo partiendo de la rama de desarrollo principal, con el fin de desarrollar sobre ella una determinada característica. 3. La rama de desarrollo incluirá todo el código de la rama principal. 4. Una vez completada esta característica por rama, esta convergirá de nuevo con la línea principal de desarrollo.
  • 10. Flujos de actividades Verificar y realizar pruebas de software.
  • 11. Flujos de actividades Verificar y realizar pruebas de software. 1. Usar una rama distinta a la principal y de desarrollo que contenga código con cierto grado de garantía. 2. Sobre esta rama no se realizara desarrollo ya que solo servirá para pruebas de validación de código. 3. Esta rama contendrá el código, correspondiente a características completas para su validación.
  • 12. Flujos de actividades Conseguir incrementos de funcionalidades por entregables de desarrollo.
  • 13. Flujos de actividades Conseguir incrementos de funcionalidades por entregables de desarrollo. 1. Las ramas por característica también ayudarán a evitar que la línea principal de desarrollo pueda contener en algún momento del tiempo características incompletas. 2. Establecer una política de integrar en la rama de desarrollo principal características completas, provenientes de las rama de características 3. Lograr que la línea principal de desarrollo nunca contenga características a medio desarrollar.
  • 14. Flujos de actividades Corrección de errores con el mínimo impacto.
  • 15. Flujos de actividades Corrección de errores con el mínimo impacto. 1. Rama por cada versión soportada en la que podamos hacer correcciones de emergencia para una determinada release. 2. Existirá tantas ramas release como versiones a las que tengamos que dar mantenimiento. 3. Para corregir errores se debe buscar la línea de código más antigua en la que el error se reproduce. 4. Salvo parches de urgencia o cuando la complejidad del proceso lo desaconseje, debemos corregir el bug sobre la línea principal de desarrollo o sobre la línea de característica.
  • 16. Herramientas ❏ AccuRev ❏ Perforce ❏ ClearCase ❏ Plastic SCM ❏ SpectrumSCM ❏ Surround SCM ❏ Subversion ❏ Git ❏ Microsoft Team Foundation Server
  • 17. Bibliografia ❏ Fairley R. Ingeniería de Software. ❏ Pressman, R.S. Ingeniería del Software. Un enfoque práctico.