Skip to content

codigus-formacion/ais

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ampliación de Ingeniería del Software (AIS)

SWH

Este repositorio contiene los ejemplos y ejercicios utilizados en la asignatura Ampliación de Ingeniería del Software, perteneciente al Grado en Ingeniería Informática de la ETSII URJC.

El objetivo es ofrecer material práctico que permita familiarizarse con las diferentes técnicas y tecnologías para asegurar la calidad del software, desde pruebas unitarias hasta integración continua, pasando por análisis estático, refactorización y mantenimiento.

📑 Tabla de Contenidos

🛠️ Tecnologías Utilizadas

Este repositorio incluye ejemplos y proyectos que utilizan las siguientes tecnologías:

Testing y Pruebas:

  • JUnit 5
  • Mockito
  • AssertJ
  • Cucumber (ATDD/BDD)
  • Selenium WebDriver
  • REST Assured
  • Artillery (testing de carga)
  • JaCoCo (cobertura de código)

Análisis Estático y Calidad:

  • SonarQube / SonarLint
  • Análisis de code smells
  • Detección de vulnerabilidades

CI/CD y DevOps:

  • GitHub Actions
  • Docker
  • Azure (despliegue continuo)

Arquitectura:

  • Arquitectura Hexagonal
  • Patrones de diseño

📂 Estructura del Repositorio

ais/
├── Parte_1_Pruebas/              # Técnicas y herramientas de testing
│   ├── cobertura/                # Cobertura de código con JaCoCo
│   ├── testing_selenium/         # Testing de UI con Selenium
│   └── testing_unitario/         # Testing unitario con JUnit y Mockito
│
├── Parte_2_Calidad/              # Calidad de código y arquitectura
│   ├── analisis-estatico/        # Análisis estático con SonarQube
│   └── arquitectura/             # Arquitecturas de software
│
├── Parte_3_Mantenimiento/        # Mantenimiento y refactorización
│   ├── RefactoringKata-Tennis/   # Kata de refactorización
│   │   ├── Base/                 # Código base
│   │   └── Refactored/           # Código refactorizado
│   └── TDD-Kata-RomanNumbers/    # Kata de TDD
│       ├── base/                 # Código base
│       └── solution/             # Solución
│
├── Parte_4_CICD/                 # Integración y despliegue continuo
│   ├── continuous-integration/   # Integración continua con GitHub Actions
│   ├── continuous-integration-selenium/  # CI con tests de Selenium
│   ├── continuous-delivery/      # Entrega continua
│   └── continuous-deployment-azure/      # Despliegue continuo en Azure
│
└── README.md

📚 Temario de la Asignatura

El temario de la asignatura se divide en las siguientes partes:

Parte 1. Pruebas

Esta parte cubre las diferentes técnicas y herramientas de testing:

  • Testing Unitario: JUnit 5, AssertJ, Mockito

  • Testing de UI: Selenium WebDriver

  • Cobertura de Código: JaCoCo

Parte 2. Calidad

Esta parte aborda la calidad del código y la arquitectura:

  • Análisis Estático: SonarQube, SonarLint

  • Arquitectura de Software:

    • Arquitectura Hexagonal (Puertos y Adaptadores)
    • Separación de responsabilidades
    • Diseño orientado al dominio
    • 📁 Ejemplos en Parte_2_Calidad/arquitectura/

Parte 3. Mantenimiento

Esta parte se enfoca en técnicas de mantenimiento y evolución del software:

Parte 4. CI/CD

Esta parte cubre la integración y despliegue continuo:

⚙️ Requisitos Previos

Para trabajar con los proyectos de este repositorio necesitas tener instalado:

Herramientas básicas:

  • Java 21 o superior
  • Maven 3.6+
  • Git

Para pruebas y desarrollo:

  • Navegador web moderno (Chrome, Firefox, Edge)

Para CI/CD:

  • Docker
  • Cuenta de GitHub (para GitHub Actions)
  • Cuenta de Azure (opcional, para despliegue continuo)

Análisis de calidad:

  • SonarQube / SonarLint (plugin para IDE)

IDEs recomendados:

  • IntelliJ IDEA / Visual Studio Code

📖 Recursos

💡 Nota: Este material está pensado como apoyo para el aprendizaje práctico de técnicas y herramientas para el desarrollo de software de calidad, desde testing hasta integración continua.

Enlaces del repositorio:

Recursos adicionales:

📄 Licencia

©2026 Micael Gallego Carrillo, Francisco Gortázar Bellas, Michel Maes Bermejo, Óscar Soto Sánchez e Iván Chicano Capelo Algunos derechos reservados
Este documento se distribuye bajo la licencia
“Atribución-CompartirIgual 4.0 Internacional” de Creative Commons, disponible en
https://creativecommons.org/licenses/by-sa/4.0/deed.es

About

Repositorio de la asignatura Ampliación de Ingeniería del Software

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors