¿Cuáles son algunos ejemplos de actividades de gestión de configuración de software?

La actividad número uno es el control del código fuente. Aquí es donde en lugar de simplemente guardar su código en su Escritorio donde podría perderlo, o al menos olvidar cómo se veía ayer antes de decidir re-factorizar todo y romper todo. Utiliza un sistema de control de código fuente (o ‘gestión de configuración’) para registrar y verificar sus cambios.

Los sistemas de control de código fuente generalmente contienen las siguientes funciones. Entrada / salida de código, Control de versiones, Historial de versiones, ‘Ramificación’, ‘Fusión’ y ‘Vistas’.

Ejemplos clásicos de estos fueron Perforce o ClearCase. ClearCase utilizó el concepto de una ‘especificación de vista’ para presentar diferentes vistas de los mismos archivos fuente a cada usuario (usando un sistema de directorio virtual debajo), y permitir que la ramificación y la fusión sean bastante específicas. Sin embargo, ClearCase solía requerir un equipo de soporte completo para mantenerlo en funcionamiento y estaba muy centralmente controlado.

Los sistemas más modernos, como Git y SubVersion, ahora son más utilizados y requieren menos infraestructura. Git es el favorito actual y permite a las personas llevar sus propias copias completas del historial de versiones completas, con el inconveniente de que el historial de versiones en cada máquina de los usuarios puede ser diferente (porque los cambios y las fusiones ocurrieron en un orden diferente en cada máquina) y ‘ recoger cerezas ‘pierde mucha historia.

El flujo de trabajo normal en un entorno SCM sería:

Crear proyecto en el sistema SCM.

Revisa

Trabaje localmente, pero regístrese regularmente para permitir el historial y un buen seguimiento de los cambios.

Cada desarrollador o proyecto normalmente trabaja en una rama separada y se fusionará en momentos críticos del proyecto (como al final de un sprint o en preparación para las pruebas de integración).

Ese es un resumen muy breve, estoy seguro de que alguien llegará pronto con una respuesta más completa.

More Interesting

¿Cuáles son las últimas tendencias en ingeniería de software?

¿Vale la pena aprender el lenguaje 'D' después de aprender C / C ++ / Python?

¿Cuáles son las desventajas del ciclo de vida del desarrollo de sistemas?

¿Cómo funciona el sondeo de llamadas perdidas? ¿Qué tipo de infraestructura de software / hardware se necesita?

¿Cuáles son algunos rasgos de personalidad o psicológicos que simultáneamente harían que alguien sea más mago, escéptico y trabajador en un campo STEM?

¿Cómo desarrollaron los equipos el software antes del surgimiento de Scrum y Kanban?

¿Por qué crear más lenguajes de programación? ¿Cuáles son los lenguajes de programación más interesantes creados recientemente y cuáles son las ideas fundamentales que requieren su creación, en lugar de expresar las ideas como una parte nueva de un lenguaje existente?

Soy un desarrollador de software autodidacta de África con 1 año de experiencia laboral en los Estados Unidos. ¿Qué posibilidades tengo de migrar a Canadá, Estados Unidos, Australia o Europa?

¿Por qué la mayoría de las compañías de software descuidan las buenas prácticas de desarrollo?

¿Por qué decidiste aprender y trabajar en las pruebas de software?

¿Es común no poder hacer que la versión de desarrollo de un repositorio funcione localmente cuando comienzas un nuevo trabajo?

¿Cuáles son las habilidades necesarias para administrar un equipo de desarrollo de software?

Cómo preparar estimaciones de costos y tiempo para sus próximos proyectos

¿Cuántos desarrolladores de software hay en el mundo?

Cómo hacer mi propio sistema de reconocimiento de voz como Apple Siri