Curso de Ingeniería del Software
Presentación
Este curso de Ingeniería del Software profundiza en los aspectos esenciales del desarrollo software y los ilustra con ejemplos en Java.
Profesor: Luis Fernández Muñoz
Este curso se grabó en la edición 22/23 del Máster en Cloud Apps de la URJC. Aunque ya hace 3 años de su grabación, al tratarse de un curso sobre aspectos esenciales, su contenido sigue estando muy vigente, no ha quedado obsoleto.
Temario
NOTA: Este temario es un subconjunto del temario completo del curso de Codigus Magnificus
Parte 1. Diseño y calidad software
- Lenguaje Unificado de Modelado
- UML (tech-uml)
- PlantUML (tech-plantuml)
- Fundamentos del Software
- Introducción (1-fundamentos/0-itinerario)
- Patrones (1-fundamentos/1-patrones)
- Conocimiento (1-fundamentos/2-conocimiento)
- Complejidad (1-fundamentos/3-complejidad)
- Software (1-fundamentos/4-software)
- Disciplinas del software (1-fundamentos/5-disciplinasSoftware)
- Disciplina de Diseño
- Introducción (3-disenyo/0-itinerario)
- Diseño (3-disenyo/1-disenyo)
- Diseño modular (3-disenyo/2-disenyoModular)
- Diseño orientado a objetos (3-disenyo/3-disenyoOrientadoObjetos)
Parte 2. Patrones de diseño y arquitectura software
- Patrones de diseño (3-disenyo/4-patronesDisenyo)
- Arquitectura del software (3-disenyo/5-arquitecturaSoftware)
- Arquitectura MVC (3-disenyo/6-arquitecturaMVC)
Parte 3. Pruebas software
- Disciplina de pruebas
- Introducción (4-pruebas/0-itinerario)
- Pruebas del software (4-pruebas/1-pruebasSoftware)
- Pruebas unitarias (4-pruebas/2-pruebasUnitarias)
- Diseño de casos de pruebas (4-pruebas/3-casosPruebasUnitarias)
- Dobles en pruebas unitarias (4-pruebas/4-doblesPruebasUnitarias)
- Framework JUnit (tech-junit)
Parte 4. Procesos de desarrollo software
- Proceso de desarrollo software (1-fundamentos/6-procesoSoftware)
- Proceso unificado de desarrollo
- Introducción (5-rup/0-itinerario)
- Requisitos (5-rup/1-requisitos)
- Análisis (5-rup/2-analisis)
- Diseño (5-rup/3-disenyo)
- Implementación (5-rup/4-implementacion)
- Pruebas (5-rup/5-pruebas)
- Gestión (5-rup/6-gestion)
- Proceso de desarrollo ágil
- Introducción (6-agiles/0-itinerario)
- Refactoring (6-agiles/1-refactoring)
- Historias de usuario (6-agiles/2-historiasUsuario)
- Programación extrema (6-agiles/3-eXteProgramming)
- Scrum (6-agiles/4-scrum)
Dominios
Vídeos
Aspectos a tener en cuenta al visualizar los vídeos:
- Hay que tener presente que los vídeos se grabaron en las clases del Máster en Cloud Apps de la URJC (MCA), aunque este curso sólo recoge el primer módulo impartido por Luis Fernández. Todas referencias al resto de módulo y resto de profesores quedan fuera del contexto de este curso.
- En el MCA el curso se dividió en 4 asignaturas (a las que hemos llamado aquí "Partes")
- Todo el material al que hace referencia en los vídeos se puede encontrar en esta página. Si hay alguna documentación que no está disponible avísanos por favor.
- Para acceder a la documentación que sale en el vídeo, sustituye la primera parte de la URL:
C:/Users/setillo/Downloads/3-publicaciones-master/USantaTecla/
por https://www.codigus.dev/cursos/curso-ingenieria-sw/materialgithub.com/USantaTecla-0-domains/
por https://github.com/codigus-dev/codigus-magnificus/tree/main/dominiosgithub.com/USantaTecla-tech-java/
por https://github.com/codigus-dev/codigus-magnificus/tree/main/tecnologias/tech-java
- La "Parte 4. Proceso de Desarrollo Software" se corresponde con la asignatura "Programación extrema" del MCA.
- Los apuntes de la "Parte 4" podrían estar ligeramente desincronizados con los que aparecen en el vídeo.
Nota: Los vídeos se están editando para ocultar información personal de los estudiantes. Se irán publicando a medida que estén disponibles.
Parte 1. Diseño y calidad software
- Clase 1: Disponible
- Clase 2: En preparación
- Clase 3: En preparación
- Clase 4: En preparación
- Clase 5: En preparación
- Clase 6: En preparación
Parte 2. Patrones de diseño y arquitectura software
- Clase 1: En preparación
- Clase 2: En preparación
- Clase 3: En preparación
- Clase 4: En preparación
- Clase 5: En preparación
- Clase 6: En preparación
Parte 3. Pruebas software
- Clase 1: En preparación
- Clase 2: En preparación
- Clase 3: En preparación
- Clase 4: En preparación
- Clase 5: En preparación
- Clase 6: En preparación
Parte 4. Procesos de desarrollo software
- Clase 1: En preparación
- Clase 2: En preparación
- Clase 3: En preparación
- Clase 4: En preparación
- Clase 5: En preparación
- Clase 6: En preparación