OPE 2025 TFA INF. Tema 43. Herramientas de diseño y desarrollo de sistemas de información. Funcionalidad y conceptos. Entornos integrados. Gestión de la configuración del software: identificación de la configuración. Control de versiones y cambios: GIT.

Servicio Andaluz de Salud EXAMEN INFORMÁTICA JUNTA DE ANDALUCÍA Exámenes SAS 2025 TFA INF (P) TFA INFORMÁTICA
Tema 43 – Herramientas de Diseño y Desarrollo – TFA-STI SAS

Tema 43

Herramientas de Diseño y Desarrollo de Sistemas de Información. Funcionalidad y Conceptos. Entornos Integrados. Gestión de la Configuración del Software: Identificación de la Configuración. Control de Versiones y Cambios: GIT

Oposición Técnico/a de Función Administrativa – Opción Sistemas y Tecnología de la Información (TFA-STI) del Servicio Andaluz de Salud

Introducción

Las herramientas de diseño y desarrollo de sistemas de información son componentes esenciales en el ciclo de vida del software moderno. Estos instrumentos permiten a los desarrolladores crear, probar, desplegar y mantener sistemas de forma eficiente y controlada. Este tema aborda las herramientas CASE (Computer-Aided Software Engineering), los entornos de desarrollo integrado (IDE), la gestión de la configuración del software y, especialmente, los sistemas de control de versiones como GIT. Comprender estas herramientas es fundamental para cualquier profesional de TI que trabaja en la construcción y mantenimiento de sistemas de información en organizaciones modernas como el Servicio Andaluz de Salud.

1. Herramientas CASE: Conceptos y Clasificación

1.1 Definición de Herramientas CASE

CASE (Computer-Aided Software Engineering) son herramientas de software que automatizan y facilitan el desarrollo, mantenimiento y gestión de sistemas de información. Estas herramientas proporcionan un entorno integrado que combina múltiples funciones para optimizar el ciclo de vida del software, desde la planificación inicial hasta el mantenimiento final.

Objetivos Principales de las Herramientas CASE:
  • Mejorar la productividad: Automatizan tareas repetitivas y aceleren el desarrollo
  • Aumentar la calidad: Reducen errores mediante validación automática y estándares
  • Reducir costes: Minimizan tiempos de desarrollo y mantenimiento
  • Facilitar la documentación: Generan documentación automáticamente desde modelos
  • Mejorar comunicación: Proporcionan un lenguaje común (UML) para equipos
  • Garantizar trazabilidad: Rastrean cambios desde requisitos hasta código

1.2 Clasificación de Herramientas CASE según Fases del Ciclo de Vida

Clasificación Fases Cubiertas Objetivos Ejemplos
Upper CASE (U-CASE) Planificación, Análisis de requisitos, Análisis funcional Automatizar análisis y diseño de requisitos, crear especificaciones Entreprise Architect, Sparx Systems, ArchiMate
Middle CASE (M-CASE) Análisis, Diseño de aplicaciones Automatizar diseño de bases de datos, estructuras de datos, módulos Visual Studio, PowerDesigner, DBDesigner
Lower CASE (L-CASE) Codificación, Pruebas, Depuración Generar código, realizar pruebas, depuración, documentación IntelliJ IDEA, Eclipse, Visual Studio Code, Junit, Selenium
Integrated CASE (I-CASE) Todo el ciclo de vida completo Cobertura total desde análisis hasta implantación IBM Rational, Microsoft Visual Studio, SAP

2. Entornos Integrados de Desarrollo (IDE)

2.1 Concepto y Funcionalidades Principales

Un Entorno de Desarrollo Integrado (IDE) es una aplicación de software que proporciona un conjunto de herramientas integradas en una única interfaz gráfica para facilitar el desarrollo de software de manera eficiente. Los IDE combinan las funcionalidades más importantes necesarias para programar, permitiendo al desarrollador trabajar sin necesidad de cambiar entre múltiples aplicaciones.

2.2 Componentes Principales de un IDE

Editor de Código Fuente

  • Resaltado de sintaxis específico del lenguaje
  • Autocompletado inteligente y sugerencias
  • Detección de errores en tiempo real
  • Navegación rápida entre archivos
  • Refactorización automática de código

Compilador/Intérprete

  • Compilación automática
  • Detección de errores de sintaxis
  • Generación de ejecutables
  • Integración con herramientas de build
  • Mensajes de error descriptivos

Depurador (Debugger)

  • Ejecución paso a paso (step-by-step)
  • Puntos de ruptura (breakpoints)
  • Inspección de variables
  • Evaluación de expresiones
  • Rastreo de pila de llamadas

Herramientas Adicionales

  • Gestor de proyectos
  • Control de versiones (Git integrado)
  • Pruebas automatizadas
  • Análisis estático de código
  • Documentación generada automáticamente

2.3 Tipos de Entornos de Desarrollo

IDEs Locales

Se instalan y ejecutan directamente en el equipo del desarrollador:

  • Ventajas: Completo control, funcionamiento sin conexión, personalización total
  • Desventajas: Configuración compleja, consume recursos locales, diferencias de configuración entre equipos
  • Ejemplos: Visual Studio, IntelliJ IDEA, Eclipse, PyCharm

IDEs en la Nube

Se ejecutan en navegadores web, con recursos en servidores cloud:

  • Ventajas: Acceso desde cualquier dispositivo, entorno estandarizado, menor consumo local
  • Desventajas: Requiere conexión a internet, latencia potencial, dependencia del proveedor
  • Ejemplos: VS Code Online, GitHub Codespaces, AWS Cloud9, Codenvy

2.4 IDEs Populares y sus Usos

IDE Lenguajes Soportados Tipo Características Principales
Visual Studio C#, C++, VB.NET, Python, Java Local Integración Azure, excelente depuración, herramientas enterprise
Visual Studio Code Múltiples (JavaScript, Python, Java, C++, Go) Local/Cloud Ligero, extensiones, popularidad comunidad, integración Git
IntelliJ IDEA Java, Kotlin, Python, JavaScript Local Análisis inteligente, refactorización avanzada, herramientas web
Eclipse Java, C++, Python, PHP Local Open source, multiplataforma, extensible, amplio ecosistema
PyCharm Python, JavaScript, SQL Local Especializado en Python, integración web, herramientas científicas
NetBeans Java, PHP, C++, HTML5 Local Open source, desarrollo visual, herramientas web modernas
Xcode Swift, Objective-C Local Desarrollo iOS/macOS, integración Apple, Interface Builder

3. Gestión de la Configuración del Software

3.1 Concepto y Objetivos

La Gestión de la Configuración del Software (SCM) es el conjunto de actividades que establecen y mantienen la integridad de los productos de software a lo largo de su ciclo de vida. Incluye la identificación, control, contabilidad y auditoría de la configuración de software.

Objetivos de la Gestión de Configuración:
  • Identificar todos los componentes de un sistema (ítems de configuración)
  • Controlar cambios de forma organizada y trazable
  • Garantizar consistencia entre versiones
  • Facilitar colaboración entre equipos
  • Permitir reversión a versiones anteriores si es necesario
  • Auditar y rastrear todas las modificaciones
  • Asegurar que las versiones están correctamente identificadas

3.2 Identificación de la Configuración

Elementos de Configuración (CIs)

Son los componentes del software que requieren seguimiento y control durante el ciclo de vida:

  • Código fuente: Ficheros de programación (*.java, *.py, *.cpp, etc.)
  • Documentación: Especificaciones, manuales, requisitos
  • Componentes compilados: Librerías, ejecutables, módulos objeto
  • Datos de prueba: Ficheros y bases de datos para testing
  • Configuraciones: Archivos de configuración (.xml, .ini, .conf)
  • Scripts: Scripts de instalación, despliegue, migración
  • Dependencias: Librerías externas, versiones de herramientas

Líneas Base (Baselines)

Una línea base es un punto de referencia aprobado en el ciclo de vida del software que marca un estado estable documentado:

  • Baseline Funcional: Especificaciones completas del sistema establecidas al inicio
  • Baseline Asignada: Diseño del sistema documentado y aprobado
  • Baseline del Producto: Software completamente desarrollado y probado, listo para producción
  • Versiones Etiquetadas: Marcas específicas en el control de versiones que identifican releases

3.3 Componentes de un Plan de Gestión de Configuración

Componente Descripción Actividades Clave
Identificación Determinar qué elementos requieren control Crear lista de ítems, asignar identificadores únicos, documentar versiones
Control Gestionar cambios en elementos de configuración Solicitar cambios, revisar, autorizar, implementar cambios controlados
Contabilidad Registrar el estado de elementos de configuración Mantener registro de versiones, estados, cambios, historial completo
Auditoría Verificar conformidad con el plan Auditorías periódicas, verificación de completitud, validación de integridad

4. Control de Versiones: GIT

4.1 Conceptos Fundamentales

GIT es un sistema de control de versiones distribuido que permite a los desarrolladores rastrear cambios en el código fuente, colaborar eficientemente y mantener un historial completo de modificaciones. Es el sistema de control de versiones más popular en la actualidad, utilizado en más del 87% de los proyectos de software.

Características Principales de GIT:
  • Distribuido: Cada desarrollador tiene una copia local completa del repositorio
  • Rápido: Operaciones locales sin dependencia de servidor central
  • Flexible: Soporta diferentes flujos de trabajo y modelos de colaboración
  • Rastreable: Historial completo con autores, fechas y mensajes descriptivos
  • Ramificación Ligera: Crear y fusionar ramas es rápido y seguro
  • Open Source: Código abierto, gratuito, amplio soporte comunitario

4.2 Conceptos Clave de GIT

Repositorio (Repository)

Almacén central que contiene todos los archivos, historial completo de cambios y metadatos del proyecto:

  • Repositorio Local: Copia completa en la máquina del desarrollador (directorio .git)
  • Repositorio Remoto: Servidor central (GitHub, GitLab, Bitbucket) donde se almacena versión oficial

Rama (Branch)

Línea independiente de desarrollo que permite trabajar en paralelo sin afectar el código principal:

  • Rama Principal (main/master): Rama por defecto, generalmente contiene código estable y listo para producción
  • Ramas de Desarrollo: Ramas temporales para nuevas funcionalidades, correcciones de errores
  • Fusión (merge): Proceso de integrar cambios de una rama a otra

Confirmación (Commit)

Snapshots de los cambios realizados en el código en un momento específico:

  • Registro permanente de modificaciones
  • Incluye identificador hash SHA-1 único
  • Contiene mensaje descriptivo de cambios
  • Registra autor, fecha/hora y cambios exactos

4.3 Flujo de Trabajo Básico de GIT

1. MODIFICAR ARCHIVOS
   └─ Cambios realizados en el directorio de trabajo
      Estado: MODIFICADO

2. PREPARAR CAMBIOS (Staging)
   └─ Comando: git add .
      Archivos trasladados al área de preparación (index)
      Estado: PREPARADO

3. CONFIRMAR CAMBIOS (Commit)
   └─ Comando: git commit -m "Mensaje descriptivo"
      Cambios guardados permanentemente en repositorio local
      Estado: CONFIRMADO

4. ENVIAR AL REPOSITORIO REMOTO (Push)
   └─ Comando: git push origin main
      Cambios sincronizados con servidor remoto
      Disponibles para todo el equipo
            

4.4 Operaciones Principales de GIT

Operación Comando GIT Descripción
Inicializar git init nombreproyecto Crear nuevo repositorio local
Clonar git clone url Copiar repositorio remoto a máquina local
Agregar cambios git add . Mover archivos modificados a área de preparación
Confirmar git commit -m «mensaje» Guardar cambios con mensaje descriptivo
Enviar git push origin rama Sincronizar cambios locales con repositorio remoto
Descargar git pull origin rama Obtener cambios del repositorio remoto
Ver historial git log Mostrar historial de commits realizados
Ver estado git status Mostrar archivos modificados sin confirmar
Crear rama git branch nombrerama Crear nueva rama de desarrollo
Cambiar rama git checkout nombrerama Cambiar a rama especificada
Fusionar rama git merge nombrerama Integrar cambios de una rama a otra

5. Flujos de Trabajo con GIT

5.1 Git Flow

Git Flow es un modelo de flujo de trabajo complejo y estructurado, diseñado para proyectos con ciclos de publicación planificados y versiones múltiples en mantenimiento.

Ramas Principales (vida infinita):

  • main: Rama de producción, contiene código estable y lanzamientos oficiales
  • develop: Rama de integración, contiene desarrollo actual en progreso

Ramas de Soporte (vida finita):

  • feature/: Ramas para nuevas funcionalidades (ej: feature/login-system)
  • release/: Ramas para preparar lanzamiento a producción
  • hotfix/: Ramas para correcciones urgentes en producción
Ventajas de Git Flow:
  • Excelente control y organización en proyectos grandes
  • Permite mantenimiento de múltiples versiones simultáneamente
  • Facilita pruebas exhaustivas antes de producción
  • Estructura clara para equipos grandes
Desventajas de Git Flow:
  • Complejidad aumentada, curva de aprendizaje más pronunciada
  • Ramas de larga duración pueden generar conflictos
  • Menos adecuado para ciclos de desarrollo muy rápidos
  • Requiere disciplina y coordinación en el equipo

5.2 GitHub Flow

GitHub Flow es un modelo ligero y simple, ideal para equipos con entregas continuas e integración frecuente.

Características Principales:

  • Rama main siempre lista para producción: El código en main debe ser estable y deployable
  • Feature branches: Se crean ramas descriptivas desde main (ej: add-user-authentication)
  • Pull Requests: Antes de fusionar, se abre un PR para revisión de código
  • Revisión y discusión: El equipo revisa, comenta y aprueba cambios
  • Merge a main: Una vez aprobado, se fusiona a main e inmediatamente a producción
  • Despliegue frecuente: Múltiples despliegues por día posibles
Ventajas de GitHub Flow:
  • Simplicidad y facilidad de comprensión
  • Despliegues rápidos y frecuentes
  • Excelente para CI/CD y DevOps
  • Menos conflictos por ramas de corta duración
  • Escalable para equipos de cualquier tamaño

5.3 GitLab Flow

GitLab Flow combina simplicidad de GitHub Flow con estructura de ambientes de Git Flow.

  • Rama main: Código estable listo para producción
  • Feature branches: Desarrollo de nuevas funcionalidades
  • Environment branches: Ramas por cada ambiente (staging, production)
  • Merge requests: Revisión de código antes de fusión
  • Despliegue controlado: Promoción cuidadosa entre ambientes

6. Integración en MÉTRICA Versión 3

MÉTRICA versión 3 es la metodología estándar de la administración pública española para desarrollo de sistemas. Incorpora la gestión de configuración en el proceso de Construcción del Sistema (CSI):

6.1 Actividades de Gestión de Configuración en MÉTRICA 3

  • CSI 1: Preparación del entorno, incluyendo configuración de herramientas de control de versiones
  • CSI 2-5: Durante codificación y pruebas, todos los cambios deben ser registrados en GIT
  • CSI 6-7: Generación de baselines de código probado y documentación de versiones

7. Mejores Prácticas en Gestión de Configuración

Recomendaciones para Uso Efectivo de GIT:
  • Commits frecuentes: Realizar cambios pequeños y documentados regularmente
  • Mensajes descriptivos: Usar mensajes claros que expliquen el «por qué» del cambio
  • Ramas descriptivas: Usar nombres que indiquen claramente el propósito (feature/add-payment, bugfix/login-error)
  • Revisión de código: Implementar pull requests y code review antes de merges
  • Protección de main: Configurar permisos para que solo cambios probados lleguen a producción
  • Tagging de versiones: Usar tags para marcar releases (v1.0.0, v1.1.0)
  • Gestión de conflictos: Resolver conflictos de merge proactivamente
  • Documentación: Mantener README.md y documentación actualizada
  • Integración continua: Automatizar pruebas al hacer push
  • Backups regulares: Asegurar backups del repositorio

8. Cuestionario de Evaluación (20 Preguntas)

Pregunta 1: ¿Qué significa CASE en ingeniería de software?

A) Computer-Aided Software Engineering
B) Common Application Software Environment
C) Coordinated Application System Engineering
D) Certified Application Software Experts
Respuesta Correcta: A

CASE significa Computer-Aided Software Engineering, que se refiere a herramientas que automatizan y facilitan el desarrollo, mantenimiento y gestión de sistemas de información.

Pregunta 2: ¿Cuál es la principal diferencia entre Upper CASE y Lower CASE?

A) Upper CASE es para proyectos grandes, Lower CASE para pequeños
B) Upper CASE cubre planificación y análisis; Lower CASE cubre codificación y pruebas
C) Upper CASE es más costoso que Lower CASE
D) No hay diferencia significativa entre ellas
Respuesta Correcta: B

Upper CASE automatiza análisis y diseño de requisitos, mientras que Lower CASE automatiza codificación, pruebas y depuración. Cubren diferentes fases del ciclo de vida.

Pregunta 3: ¿Qué es un IDE (Entorno de Desarrollo Integrado)?

A) Un simple editor de texto para programar
B) Una suite integrada de herramientas para desarrollo de software en una interfaz única
C) Un servidor que almacena código fuente
D) Una base de datos especializada para programadores
Respuesta Correcta: B

Un IDE es un entorno integrado que combina editor de código, compilador, depurador y otras herramientas en una única interfaz para facilitar el desarrollo eficiente.

Pregunta 4: ¿Cuál de los siguientes es un componente esencial de un IDE?

A) Monitor de dos pantallas
B) Ratón inalámbrico
C) Depurador (Debugger)
D) Impresora láser
Respuesta Correcta: C

Un depurador es un componente esencial de un IDE que permite ejecutar código paso a paso, establecer puntos de ruptura e inspeccionar variables.

Pregunta 5: ¿Qué ventaja principal ofrece un IDE en la nube sobre uno local?

A) Mayor velocidad de compilación
B) Acceso desde cualquier dispositivo con navegador
C) Mejor seguridad del código
D) Menor costo de compra
Respuesta Correcta: B

Los IDEs en la nube ofrecen flexibilidad para acceder desde cualquier dispositivo con navegador, facilitando el trabajo remoto y colaborativo.

Pregunta 6: ¿Qué es la gestión de la configuración del software?

A) Solo la gestión de archivos de configuración .ini
B) Conjunto de actividades para establecer y mantener la integridad de productos de software
C) La instalación de software en servidores
D) La configuración de permisos de usuarios
Respuesta Correcta: B

La gestión de configuración del software incluye identificación, control, contabilidad y auditoría de toda la configuración del software a lo largo de su ciclo de vida.

Pregunta 7: ¿Qué es una línea base (baseline) en gestión de configuración?

A) El primer commit del proyecto
B) Un punto de referencia aprobado que marca un estado estable y documentado
C) Un archivo de configuración del servidor
D) La rama principal del repositorio
Respuesta Correcta: B

Una línea base es un snapshot aprobado de un proyecto en un momento específico, que marca un estado estable documentado como referencia para cambios futuros.

Pregunta 8: ¿Cuál es la característica principal que hace a GIT distribuido?

A) Requiere una conexión a servidor constantemente
B) Cada desarrollador tiene una copia local completa del repositorio
C) Solo permite un usuario escribiendo código a la vez
D) Los cambios se sincronizan automáticamente sin acciones del usuario
Respuesta Correcta: B

GIT es distribuido porque cada desarrollador tiene una copia completa del repositorio localmente, permitiendo trabajar sin conexión a servidor central.

Pregunta 9: ¿Cuál es el orden correcto de operaciones en el flujo de trabajo de GIT?

A) Commit → Add → Push → Modificar
B) Modificar → Add → Commit → Push
C) Push → Commit → Add → Modificar
D) Add → Modificar → Push → Commit
Respuesta Correcta: B

El flujo correcto es: 1) Modificar archivos, 2) Agregar cambios (git add), 3) Confirmar (git commit), 4) Enviar (git push).

Pregunta 10: ¿Qué comando de GIT se usa para descargar cambios del repositorio remoto?

A) git push
B) git fetch
C) git pull
D) git clone
Respuesta Correcta: C

git pull descarga e integra cambios del repositorio remoto a la rama local actual. git fetch solo descarga sin integrar, git push envía cambios.

Pregunta 11: ¿Cuál es el propósito principal de las ramas (branches) en GIT?

A) Separar código de diferentes lenguajes de programación
B) Permitir trabajo paralelo independiente sin afectar el código principal
C) Crear copias de seguridad automáticas
D) Organizar archivos por carpetas
Respuesta Correcta: B

Las ramas permiten a diferentes desarrolladores trabajar en paralelo en diferentes características sin interferencias, facilitando colaboración organizada.

Pregunta 12: ¿Qué es Git Flow?

A) Un comando especial de GIT
B) Un modelo complejo de flujo de trabajo con múltiples ramas y ciclos de publicación planificados
C) El sistema de control de versiones de Google
D) Una herramienta de visualización de commits
Respuesta Correcta: B

Git Flow es un modelo complejo con ramas main, develop, feature, release y hotfix, diseñado para proyectos con ciclos de publicación bien definidos.

Pregunta 13: ¿Cuál es la característica principal de GitHub Flow?

A) Complejidad máxima para control total
B) Simplicidad y ciclos cortos de deployment
C) Requiere aprobación de 5 revisores antes de cualquier cambio
D) Solo válido para proyectos web
Respuesta Correcta: B

GitHub Flow es un modelo ligero basado en despliegues frecuentes. Utiliza main como rama estable y features branches con pull requests para revisión.

Pregunta 14: ¿Qué es un Pull Request en GIT?

A) Una solicitud para descargar código completo
B) Solicitud de revisión y fusión de cambios de una rama a otra
C) Un comando para obtener permisos elevados
D) Un proceso automático de actualización
Respuesta Correcta: B

Un Pull Request es una solicitud para revisar, comentar y potencialmente fusionar cambios de una rama a otra, facilitando code review colaborativo.

Pregunta 15: ¿Cuál de los siguientes IDEs es especializado en desarrollo Python?

A) Visual Studio (solo C#)
B) Xcode (solo Swift)
C) PyCharm
D) Android Studio
Respuesta Correcta: C

PyCharm es el IDE específico de JetBrains para desarrollo Python, con herramientas avanzadas para análisis, depuración y desarrollo web con Python.

Pregunta 16: ¿Qué es un commit en GIT?

A) Enviar cambios al servidor remoto
B) Un snapshot de cambios guardado permanentemente en el repositorio local
C) Crear una nueva rama
D) Eliminar archivos del repositorio
Respuesta Correcta: B

Un commit es un snapshot de cambios que se guarda permanentemente en el repositorio local, con hash SHA-1 único, autor, fecha y mensaje descriptivo.

Pregunta 17: ¿Qué significa «merge» en GIT?

A) Dividir una rama en dos
B) Fusionar cambios de una rama a otra
C) Eliminar historial de commits
D) Cambiar el servidor remoto
Respuesta Correcta: B

Merge es el proceso de integrar cambios de una rama a otra, combinando el historial de commits de ambas ramas.

Pregunta 18: ¿En qué difiere un IDE local de un IDE en la nube?

A) En el precio solo
B) IDEs locales se instalan en máquina; cloud se ejecutan en navegador y usan recursos remotos
C) Cloud es siempre más rápido que local
D) No hay diferencia funcional real
Respuesta Correcta: B

Los IDEs locales se instalan en máquina local y usan sus recursos. Los IDEs cloud se ejecutan en navegador, usan recursos de servidor remoto y permiten acceso desde cualquier lugar.

Pregunta 19: ¿Cuál es un elemento de configuración (CI) típico en gestión de configuración?

A) El nombre del proyecto
B) Código fuente, documentación, datos de prueba, componentes compilados
C) Solo la base de datos final
D) Únicamente el ejecutable final
Respuesta Correcta: B

Los elementos de configuración incluyen código fuente, documentación, datos de prueba, componentes compilados, scripts, configuraciones y dependencias que requieren seguimiento.

Pregunta 20: ¿Qué operación realiza «git clone»?

A) Crea una nueva rama
B) Copia el repositorio remoto completo a máquina local
C) Fusiona dos ramas
D) Elimina cambios locales no confirmados
Respuesta Correcta: B

git clone descarga una copia completa del repositorio remoto a la máquina local, incluyendo todo el historial y todas las ramas.

9. Referencias Bibliográficas

Referencias sobre Herramientas CASE e IDEs

  1. Pressman, R. S. (2021). Software Engineering: A Practitioner’s Approach. 9ª edición. McGraw-Hill.
  2. Sommerville, I. (2020). Software Engineering. 10ª edición. Addison-Wesley.
  3. ISO/IEC 15504 (SPICE): Software Process Improvement and Capability Determination.
  4. IEEE 1219:2019. Standard for Application and Management of the Systems and Software Engineering Process.

Referencias sobre GIT y Control de Versiones

  1. Chacon, S., & Straub, B. (2014). Pro Git. 2ª edición. Apress.
  2. Atlassian. (2023). Git Tutorials. https://www.atlassian.com/git
  3. Driessen, V. (2010). A successful Git branching model. https://nvie.com/posts/a-successful-git-branching-model/
  4. GitHub. (2023). GitHub Flow. https://guides.github.com/introduction/flow/
  5. GitLab. (2023). GitLab Flow. https://about.gitlab.com/blog/2014/09/29/gitlab-flow/

Referencias sobre Gestión de Configuración del Software

  1. IEEE 828:2012. Standard for Configuration Management in Systems and Software Engineering.
  2. Ministerio de Administraciones Públicas. (2008). MÉTRICA Versión 3. Disponible en administracionelectronica.gob.es
  3. Estándares de la Administración Pública Española para Gestión de Configuración.

Referencias sobre IDEs Específicos

  1. JetBrains. (2023). IntelliJ IDEA Documentation. https://www.jetbrains.com/help/idea/
  2. Microsoft. (2023). Visual Studio Documentation. https://docs.microsoft.com/visualstudio
  3. Eclipse Foundation. (2023). Eclipse IDE Documentation. https://www.eclipse.org/ide/
  4. Visual Studio Code. (2023). Official Documentation. https://code.visualstudio.com/docs

Referencias del Sector Público (SAS)

  1. Junta de Andalucía. Servicio Andaluz de Salud. Políticas de Tecnología de la Información.
  2. Agencia para la Defensa de la Seguridad Informática (CCN-CERT). Recomendaciones para desarrollo seguro.
  3. Normas ISO/IEC 27001 para seguridad en sistemas de información sanitarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *