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

Presentación

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.

Competencias

A continuación se enumeran las competencias que adquirirás al cursar esta asignatura:

Competencias básicas

  • CB1: Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  • CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • CB3: Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • CB4: Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  • CB5: Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.

Competencias generales

  • CG1: Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
  • CG2: Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática.
  • CG3: Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • CG4: Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
  • CG5: Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
  • CG7: Capacidad para conocer, comprender y aplicar la legislación necesaria durante el desarrollo de la profesión de Ingeniero Técnico en Informática y manejar especificaciones, reglamentos y normas de obligado cumplimiento.
  • CG8: Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • CG9: Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
  • CG10: Conocimientos para la realización de mediciones, cálculos, valoraciones, tasaciones, peritaciones, estudios, informes, planificación de tareas y otros trabajos análogos de informática.
  • CG12: Conocimiento y aplicación de elementos básicos de economía y de gestión de recursos humanos, organización y planificación de proyectos, así como la legislación, regulación y normalización en el ámbito de los proyectos informáticos.

Competencias específicas

  • CR13: Conocimiento y aplicación de las herramientas necesarias para el almacenamiento, procesamiento y acceso a los Sistemas de información, incluidos los basados en web.
  • CR16: Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software.

Competencias transversales

  • CT1: Capacidad de innovación y flexibilidad en entornos nuevos de aprendizaje como es la enseñanza on-line.
  • CT2: Conocer, y utilizar con habilidad, los mecanismos básicos de uso de comunicación bidireccional entre profesores y alumnos, foros, chats, etc.
  • CT3: Utilizar las herramientas para presentar, producir y comprender la información que les permita transformarla en conocimiento.

Contenidos

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


Metodología

Metodología

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:

  • Trabajos y Lecturas. Se trata de actividades de diferentes tipos: reflexión, análisis de casos, prácticas, etc. Además de análisis de textos relacionados con diferentes temas de la asignatura.
  • Participación en eventos. Son eventos programados todas las semanas del cuatrimestre: sesiones presenciales virtuales, foros de debate, test.
  • Laboratorios. Actividad práctica que se realiza en tiempo real e interactuando con otros alumnos. En el laboratorio los estudiantes tendrán que desarrollar los ejercicios propuestos en un entorno de simulación online. Los estudiantes contarán en todo momento con el apoyo de un tutor de laboratorio, que ayudará al alumno a desarrollar su actividad. El tutor de laboratorio podrá asignar grupos de alumnos para que, de forma colaborativa, alcancen los resultados solicitados. Este tipo de actividad posee un peso considerable en la evaluación continua del alumno, por lo que, a pesar de no ser obligatoria su realización, se recomienda firmemente la participación en los mismos.

En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.

Descarga el pdf de la programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas «sesiones de consultas». Como complemento de estas sesiones se dispone también del foro «Pregúntale al profesor de la asignatura» a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final presencial

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

 

Puedes personalizar tu plan de trabajo seleccionando aquel tipo de actividad formativa que se ajuste mejor a tu perfil. El profesor-tutor te ayudará y aconsejará en el proceso de elaboración de tu plan de trabajo. Y siempre estará disponible para orientarte durante el curso.

Recomendaciones técnicas

Metodología

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:

  • 4 GB de RAM
  • Conexión a Internet superior a 6 Mbit/s
  • Cámara web
  • Micrófono
  • Altavoces o auriculares
  • Sistema operativo Windows o Mac OS (algunas actividades pueden presentar dificultades sobre Linux. En esta circunstancia se recomienda consultar con el profesor de la asignatura)
  • Acceso de administrador al sistema (es necesario la instalación de programas, emuladores, compiladores…)
  • Navegador web Netscape, Chrome, Safari o Firefox actualizado (versiones no actualizadas pueden presentar problemas funcionales y/o de seguridad)

Bibliografía

Bibliografía básica

La bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca… 

Temas 1-13

  • Los textos necesarios para el estudio de este tema han sido elaborados por UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

 

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.

evaluación

Evaluación y calificación

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:

calificación

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%

 

Ten en cuenta…
Si quieres presentarte solo al examen final, tendrás que obtener una calificación de 5 puntos sobre 6 para aprobar la asignatura.

Profesorado

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.

Orientaciones para el estudio

Orientación para el estudio

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:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual del Grado. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura en la UNIR y también podrás organizar tu plan de trabajo personal con tu profesor-tutor.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de las Ideas clave del tema. Este resumen te ayudará a hacerte una idea del contenido más importante del tema y de cuáles son los aspectos fundamentales en los que te tendrás que fijar al estudiar el material básico. Lee siempre el primer apartado, ¿Cómo estudiar este tema?, porque allí te especificamos qué material tienes que estudiar. Consulta, además, las secciones del tema que contienen material complementario (Lo + recomendado y + Información).
  5. Dedica tiempo al trabajo práctico (sección Actividades y Test). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana y qué calificación máxima puedes obtener con cada una de ellas.
  6. Te recomendamos que participes en los eventos del curso (sesiones presenciales virtuales, foros de debate…). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu profesor-tutor te informarán de las novedades de la asignatura.
En el aula virtual del Grado encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones: Ideas clave, Lo + recomendado, + Información, Actividades y Test.

Ten en cuenta estos consejos…

  • Sea cual sea tu plan de estudio, accede periódicamente al aula virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu profesor-tutor utilizando el correo electrónico. Si asistes a las sesiones presenciales virtuales también podrás preguntar al profesor sobre el contenido del tema. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate y asiste a las sesiones presenciales virtuales. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología on line: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!