Denominación de la asignatura |
Ingeniería del Software Avanzada |
Grado al que pertenece |
Grado en Ingeniería Informática |
Créditos ECTS |
6 |
Curso y cuatrimestre en el que se imparte |
Tercer curso, segundo cuatrimestre |
Carácter de la asignatura | Obligatoria |
En Ingeniería del Software Avanzada se presentan todos los conceptos necesarios para que el alumno tenga la capacidad y competencias necesarias para realizar el proyecto de un desarrollo de software. Se realiza una breve presentación de los conceptos básicos, se exponen cada una de las fases de desarrollo del software (toma de requisitos, diseño, implementación, validación e implantación) destacando las características y puntos clave de cada una de ellas, incluyendo la calidad y la gestión de riesgos que se pueden presentar durante el desarrollo. Además, se presentan las nociones básicas para poder realizar la gestión, planificación y seguimiento del proyecto. Para que el alumno pueda poner en práctica todos los conocimientos desarrollados para complementar los conocimientos teóricos se proponen una serie de prácticas en las que se realiza las tareas, diagramas y documentación necesarios para poder hacer un desarrollo de software cumpliendo con los requisitos de calidad necesarios y teniendo en cuenta todas las restricciones impuestas por los requisitos definidos por el usuario.
Por lo que tras la superación de esta asignatura el alumno podrá afrontar todos los retos que supone la implementación de un proyecto de software, desde la elegir la metodología hasta utilizarla para realizar el desarrollo, la toma de requisitos, la elección de la arquitectura y el diseño hasta la implantación del sistema final, incluyendo la interacción y comunicación con el usuario o el cliente.
A continuación se enumeran las competencias que adquirirás al cursar esta asignatura:
Competencias básicas
Competencias generales
Competencias específicas
Competencias transversales
Tema 1. Metodologías de desarrollo de software
Conceptos básicos
Metodologías tradicionales o pesadas
Metodologías ágiles o ligeras
Aplicaciones de apoyo a las distintas metodologías
Tema 2. SCRUM
Características
Roles
Reuniones
Documentación
Beneficios
Tema 3. Programación extrema
Introducción
Valores
Prácticas
Beneficios
Críticas
Tema 4. Cloud Computing
Características
Historia
Futuros del Cloud
Beneficios
Plataformas de computación
Servicios en la nube
Tema 5. Modelo CMMI
Introducción
Modelo de Madurez de Capacidad Integrado (CMMI)
Representación del modelo
Áreas de proceso
Pruebas de los procesos
Actores
Tema 6. Proceso de los requisitos
Concepto
Tipos de requisitos
Obtención y análisis de requisitos
Validación de los requisitos
Gestión de requisitos
Modelos del sistema
Tema 7. Diseño del software
Diseño de la arquitectura
Arquitectura de sistemas distribuidos
Arquitectura de aplicaciones
Diseño de la interfaz de usuario
Tema 8. Implementación del software
Desarrollo de software rápido
Reutilización del software
Ingeniería del software basada en componentes
Colaboración en el desarrollo de software
DevOps
Tema 9. Implementación de sistemas críticos
Desarrollo de sistemas críticos
Validación de fiabilidad
Garantía de la seguridad
Valoración de la protección
Criterios de confiabilidad y de seguridad
Tema 10. Evolución y mantenimiento del software
Introducción
Mantenimiento del software
Predicción del mantenimiento
Procesos de evolución
Tema 11. Validación del software
Introducción
Verificación y métodos formales
Pruebas del software
Tema 12. Gestión de riesgos
Introducción
Tipos de riesgos
Fases de la gestión de riesgos
Plan de gestión de riesgos
Ejemplos
Software de gestión de riesgos
Tema 13. Administración del desarrollo de proyectos
Introducción
Actividades del jefe de proyectos
Planificación del proyecto
Calendarización
Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.
Las actividades formativas de esta asignatura son las siguientes:
En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.
Estas actividades formativas prácticas se completan, por supuesto, con estas otras:
Las horas de dedicación a cada actividad se detallan en la siguiente tabla:
ACTIVIDADES FORMATIVAS |
HORAS |
% PRESENCIAL |
Sesiones presenciales virtuales | 15 |
100% |
Lecciones magistrales | 6 |
0 |
Estudio del material básico | 50 |
0 |
Lectura del material complementario | 25 |
0 |
Trabajos, casos prácticos, test | 17 |
0 |
Prácticas de laboratorios virtuales | 12 |
16,7% |
Tutorías | 16 |
30% |
Trabajo colaborativo | 7 |
0 |
Realización de examen final presencial | 2 |
100% |
Total | 150 |
Para la correcta participación de los alumnos en las diferentes actividades propuestas en la asignatura se recomienda disponer de un ordenador con las siguientes especificaciones mínimas recomendadas:
Bibliografía básica
Temas 1-13
Bibliografía complementaria
Alonso, F., Martínez, L., & Segovia, F. (2005). Introducción a la ingeniería del software: modelos de desarrollo de programas. Alicante: Delta Publicaciones.
Baumeister, H., Lichter, H. y Riebish, M. (2017). Agile processes in software engineering and extreme programming. New York, NY: Springer Open.
Campderrich, B. (2003). Ingeniería del software. Barcelona: Universistat Oberta de Catalunya.
Dimes, T. (2015). Conceptos básicos de SCRUM: desarrollo de software agile y manejo de proyectos agile. EE.UU: Babelcube Inc.
Durán, F., Troya, J. y Valdecillo, A. (2012). Desarrollo de software dirigido por modelos. Barcelona: Universitat Oberta de Catalunya.
Fernández, J. (2012). Introducción a las metodologías ágiles: otras formas de analizar y desarrollar. Barcelona: Universitat Oberta de Catalunya.
Galitz, W. (2007). The Essential Guide to User Interface Design: An Introduction to GUI Design. New York: Wiley John and Sons.
Gamma, E., Helm, R., Johnson, R. y Vlissides, J. (2003). Patrones de diseño: elementos de software orientado a objetos reutilizables. Madrid: Pearson Educación.
Kniberg, H. (2007). Scrum y XP desde las trincheras. Cómo hacemos Scrum. EE.UU: C4Media Inc.
Larman, C. (2003). UML y patrones: una introducción al análisis y diseño orientado a objetos y al proceso unificado (2.ª ed.). Pearson Educación.
Mayhew, D. (2008). Principles and Guidelines in Software User Interface Design. Nueva Jersey: Prentice Hall Computer.
Piolo, S. (2000). Métodos ágiles. Buenos Aires: Creative Andina Corp.
Polo, M. (2012). Desarrollo de software basado en reutilización. Barcelona: Universitat Oberta de Catalunya.
Pressman, R. (2010). Ingeniería del software, un enfoque práctico. México: McGraw Hill.
Sanz, L., Bravo, J., Calvo-Manzano, J., Piattini Velthuis, M. (2007). Análisis y diseño detallado de aplicaciones informáticas de gestión. Madrid: RA-MA, S.A.
Schwaber, K. (2004). Agile Project Management with Scrum. Redmond: Microsoft Press.
SEI. (2010). CMMI para Desarrollo, Versión 1.3 (No. CMU/SEI-2010-TR-033). Software Engineering Institute. Recuperado de https://resources.sei.cmu.edu/asset_files/WhitePaper/2010_019_001_28782.pdf
Somerville, I. (2010). Ingeniería del Software. New York: Pearson Educación, S.A.
Sommerville, I., Campos, V. y Fuenlabrada, S. (2011). Ingeniería de software (9.ª ed.). México: Pearson Educación de México.
Tanenbaum, A. & Van Stee, M. (2006). Distributed Systems: Principles and paradigmas. New York: Pearson.
El sistema de calificación se basa en la siguiente escala numérica:
0 - 4, 9 |
Suspenso |
(SS) |
5,0 - 6,9 |
Aprobado |
(AP) |
7,0 - 8,9 |
Notable |
(NT) |
9,0 - 10 |
Sobresaliente |
(SB) |
La calificación se compone de dos partes principales:
El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL y OBLIGATORIO. Supone el 60% de la calificación final y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO.
La evaluación continua supone el 40% de la calificación final. Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.
Ten en cuenta que la suma de las puntuaciones de las actividades de la evaluación continua es de 15 puntos. Así, puedes hacer las que prefieras hasta conseguir un máximo de 10 puntos (que es la calificación máxima que se puede obtener en la evaluación continua). En la programación semanal de la asignatura, se detalla la calificación máxima de cada actividad o evento concreto puntuables.
SISTEMA DE EVALUACIÓN |
PONDERACIÓN MIN. |
PONDERACIÓN MÁX. |
Prueba de evaluación final presencial | 60% |
60% |
Evaluación de prácticas de laboratorios virtuales | 0% |
40% |
Resolución de trabajos, proyectos y casos | 0% |
40% |
Participación en foros y otros medios participativos | 0% |
40% |
Luis Pedraza Gomara
Formación: Doctor en Automática y Robótica. Master en Economía Digital e Industrias Creativas. Ingeniero Industrial (Automática y Electrónica, UPM).
Experiencia: Ingeniero Senior en biicode. Estancia post-doctoral y Contrato Juan de la Cierva. Docencia en Visión por computador, Ingeniería de control, Automática industrial, y Automatización de la producción. Estancia en el ARC Centre of Excellente for Autonomous Systems (CAS), Australia. University of Technology, Sydney.
Obviamente, al tratarse de formación on-line puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:
Ten en cuenta estos consejos…
|