Píldora TAI CXXXVIII; Herramientas CASE y Control de Versiones para el Desarrollo de Software

🖥️ Guía Completa: Herramientas CASE, Control de Versiones y Contenedores de Software

Esta entrada reúne conceptos clave sobre modelado visual, gestión de repositorios, herramientas CASE y contenedores de software, con un enfoque visual, práctico y actualizado.


🔹 1. Programación Automática y Modelado Visual

El modelado visual + generación de código = programación automática.

Tres enfoques principales:

  1. Estructural (Rational Rose): No genera código para el comportamiento de los objetos.
  2. Comportamiento (Rhapsody): Reduce la programación, pero no totalmente.
  3. Traducción (BridgePoint): Utiliza un conjunto de patrones.

📦 2. Repositorios y Gestores

Repositorios para programas particulares

  • Perl: CPAN
  • C++: Boost
  • Haskell: HackageDB
  • Java: Maven, SpringSource
  • JavaScript: Scripteka, JSAN
  • Lua: LuaForge, LuaRocks
  • PHP: Pear, Pecl
  • Python: PyPi
  • R: CRAN
  • Ruby: RubyGems
  • TeX/LaTeX: CTAN

Repositorios públicos

GitHub, BitBucket, GitLab, SourceForge, Launchpad, Assembla, Savannah.

Repositorios de infraestructura propia

GitLab, Trac, Gforce, Savane, Codendi, LibreSource.

Gestores de repositorios

Apache Archiva, MyGet, JFrog, Sonatype, Yarn, npm, Docker Hub, PULP, NuGet, Quay, Fedora, Dspace.


🛠️ 3. Control de Versiones

Los sistemas de control de versiones gestionan cambios en el código fuente.

Modelos:

  • Cliente/Servidor (centralizados)
    • Código abierto: CVS, Subversion, Vesta, CVSNT, OpenCVS, Bazaar
    • Propietario: AccuRev, ClearCase, codeBeamer, Visual SourceSafe, Perforce, IBM Rational ClearCASE.
  • Distribuido
    • Código abierto: Git, Bazaar, Mercurial, Fossil, GNUArch.
    • Propietario: BitKeeper, Plastic SCM.

Comandos útiles:

SVN:

  • svn import → Sube datos al repositorio.
  • svn checkout → Descarga copia local.
  • svn commit -m "mensaje" → Publica cambios.
  • svn update → Actualiza tu copia local.
  • svn move, svn copy, svn diff.

Git:

  • git init → Crea repositorio.
  • git clone → Copia remota.
  • git add → Añade cambios.
  • git commit -m "mensaje" → Guarda cambios localmente.
  • git push → Sube cambios al remoto.
  • git pull → Descarga y fusiona cambios.

🧩 4. Herramientas CASE (Computer Aided Software Engineering)

Las herramientas CASE automatizan o apoyan el desarrollo software, aumentando la productividad.

Tipos:

  • Upper CASE: Planificación, análisis y estrategias (ej: UML, Pert, Gantt).
  • Middle CASE: Análisis y diseño.
  • Lower CASE: Generación de código, depuración, pruebas y mantenimiento.

Ejemplos:

  • Análisis y diseño: Smart Development Environment.
  • Programación: Visual Studio, Eclipse.
  • Integración y pruebas: Hudson, AntFactory.

Funciones clave:

  • Data integrity: Valida consistencia.
  • Information sharing: Comparte datos entre equipos.
  • Methodology enforcement: Estándar de procesos.
  • Document standardization: Unifica formatos.

📦 5. Contenedores de Software

Paquetes que permiten ejecutar una aplicación en cualquier sistema operativo.

Ventajas:

  • Portabilidad.
  • Aislamiento.
  • Despliegue rápido y consistente.

Tipos de virtualización:

  1. Completa (VirtualBox)
  2. Paravirtualización (Virtuozzo)
  3. A nivel SO (contenedores)

Ejemplos:

  • Docker (abierto)
  • Kubernetes, OpenShift, Mesos, Swarm, Portainer
  • Infraestructura: AWS, Azure, Google Cloud, DigitalOcean, OpenStack.

💡 En resumen:
Estos conceptos forman parte del núcleo de la gestión moderna de desarrollo software, desde la planificación y control de cambios, hasta la entrega y despliegue de aplicaciones en entornos virtualizados.

Respuesta

  1. […] Píldora TAI CXXXVIII; Herramientas CASE y Control de Versiones para el Desarrollo de Software – A… […]

    Me gusta

Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta