Denominación de la asignatura: Procesos de Ingeniería del software
Grado al que pertenece: Grado en Ingeniería Informática
Créditos ECTS: 6
Cuatrimestre en el que se imparte: Segundo
Carácter de la asignatura: Optativa
Materia a la que pertenece: Ingeniería del Software II

Presentación

La asignatura Procesos en ingeniería del software ofrece una línea de continuidad de la asignatura Ingeniería de software en cuanto a la aplicación de métodos, técnicas y prácticas sistemáticas para la construcción y evaluación de sistemas software. Así en esta asignatura  aprenderás a utilizar un conjunto de técnicas y métodos en el contexto de una metodología actual como Proceso Unificado. Además, se aprenderán los fundamentos del diseño software a nivel de arquitectura a partir del conocimiento de diversos estilos de diseño clásicos y mediante el uso de componentes software.

La Ingeniería software constituye una disciplina relativamente joven que está en continua evolución  y  mejora. De ahí, que esta asignatura presente  nuevos  paradigmas que se están consolidando progresivamente como son la Ingeniería dirigida por  modelos y el desarrollo dirigido por modelos.

En cualquier enfoque de ingeniería es fundamental poder realizar una evaluación del artefacto construido, por eso en esta asignatura aprenderás que tipo de atributos pueden ser evaluados y como llevar a cabo está evaluación sobre sistemas software

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

  • CG05: 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.

Competencias específicas

  • CIS04: Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
  • CIS05: Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse.
  • CR02: Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.
  • 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 online.
  • 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.

Tema 1. Marco de Ingeniería software

  • Introducción a la Ingeniería software
  • Características del software
  • Los procesos principales en Ingeniería del software
  • Modelos de proceso de desarrollo software
  • Marco de referencia estándar para el proceso de desarrollo de software: la norma ISO/IEC 12207
  • Ejemplo de adaptación de la norma ISO/IEC12207

Tema 2. Proceso Unificado de desarrollo software

  • Proceso Unificado
  • Dimensiones del Proceso Unificado
  • Proceso de desarrollo dirigido por casos de uso
  • Flujos de trabajo fundamentales de Procesos Unificados

Tema 3. Planificación en el contexto de desarrollo software ágil

  • Introducción al desarrollo ágil y la planificación ágil
  • Características del desarrollo software ágil
  • Diferentes horizontes temporales de planificación en el desarrollo ágil
  • Marco de desarrollo ágil Scrum y horizontes temporales de planificación
  •  Historias de usuario como unidad de planificación y estimación
  • Técnicas comunes para derivar una estimación 3.8. Escalas para interpretar las estimaciones
  • Planning poker
  • Tipos de planificaciones comunes: planificación de entregas y planificación de iteración

Tema 4. Estilos de diseño de software distribuido

  • Introducción a los sistemas software distribuidos
  • Modelos de comunicación en sistemas software distribuidos
  • Capa intermedia o middleware
  • Patrones de arquitectura para sistemas distribuidos

Tema 5. Arquitecturas software orientadas a servicios

  • Introducción al diseño de arquitecturas orientadas a servicios
  • Proceso general de diseño de servicios software
  • Aspectos de diseño de servicios software
  • Composición de servicios
  • Arquitectura de servicios web
  • Componentes de Infraestructura y SOA

Tema 6. Introducción al desarrollo software dirigido por modelos

  • Introducción al desarrollo software dirigido por modelos
  • El concepto de modelo
  • Desarrollo software dirigido por modelos
  • Marco de referencia de desarrollo dirigido por modelos MDA
  • Elementos de un modelo de transformación
  • Referencias

Tema 7. Diseño de interfaces gráficas de usuario

  • Introducción a las interfaces de usuario
  • Principios de diseño de interfaces de usuario
  • Patrones de diseño arquitectónico para sistemas interactivos: Modelo Vista Controlador (MVC)
  • Experiencia de usuario (UX User Experience)
  • Diseño centrado en el usuario
  • Proceso de análisis y diseño de la interfaz gráfica de usuario
  • Usabilidad de interfaces de usuario
  • Accesibilidad en interfaces de usuario
  • Referencias

Tema 8. Diseño de aplicaciones web

  • Introducción a las aplicaciones web
  • Características de las aplicaciones web
  • Interfaz de usuario de una aplicación web
  • Diseño de navegación
  • Protocolo de interacción base para aplicaciones web
  • Estilos de arquitectura para aplicaciones web
  • Referencias

Tema 9. Estrategias y técnicas de pruebas software

  • Fundamentos de las pruebas software
  • Estrategias de prueba
  • Diseños de casos de prueba
  • Referencias

Tema 10. Factores de calidad del software

  • Introducción a la calidad en Ingeniería software
  • Relación coste calidad
  • Modelos de calidad
  • Familia de normas ISO/IEC 25000 (SQuaRE)
  • Modelo de calidad de producto (ISO 2501n)
  • Modelos de calidad de datos (ISO 2501n)
  • Gestión de la calidad del software
  • Referencias

Tema 11. Introducción a las métricas en Ingeniería software

  • Introducción a las métricas en Ingeniería software
  • Conceptos básicos: medidas, métricas e indicadores
  • Tipos de métricas en Ingeniería software
  • El proceso de medición
  • ISO 25024. Métricas externas y de calidad en uso
  • Métrica orientada a objetos
  • Referencias

Tema 12. Mantenimiento y reingeniería software

  • Introducción al mantenimiento software
  • Proceso de mantenimiento
  • Marco estándar de proceso de mantenimiento. ISO/EIEC 14764
  • Modelo de proceso de reingeniería de software
  • Ingeniería inversa
  • Referencias

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:

  • Trabajo. Se trata de actividades de diferentes tipos: reflexión, análisis de casos, prácticas, etc.
  • Comentario de lecturas. Es un tipo de actividad muy concreto que consiste en el análisis de textos de artículos de autores expertos en diferentes temas de la asignatura.
  • Casos prácticos. Situarán al alumno ante situaciones reales que tendrán que analizar y tras ello tomar decisiones, evaluar consecuencias y alternativas.
  • Participación en eventos. Son eventos programados todas las semanas del cuatrimestre: sesiones presenciales virtuales, foros de debate.
Descargar 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 POR ASIGNATURA % PRESENCIAL
Sesiones presenciales virtuales 15 horas 100%
Lecciones magistrales 6 horas 0
Estudio del material básico 50 horas 0
Lectura del material complementario 25 horas 0
Trabajos, casos prácticos, test 17 horas 0
Prácticas de laboratorios virtuales 12 horas 16,7%
Tutorías 16 horas 30%
Trabajo colaborativo 7 horas 0
Examen final presencial 2 horas 100%
Total 150 horas -

Bibliografía básica

Recuerda que 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...

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

Además, en estos temas deberás estudiar la siguiente bibliografía:

Bibliografía complementaria

  • Sommerville, I. (2005) Ingeniería del software. Madrid. Adisson Wesley.
  • Pressman, R.S. (2002). Ingeniería software, un enfoque práctico. Mc Graw Hill.
  • Jacobson, I., Booch, G. & Rumbaugh, J. (2000) El proceso unificado de desarrollo software. Madrid. Addison Wesley.
  • Jacobson, I., Booch, G. & Rumbaugh, J. (2007) El lenguaje unificado. Manual de referencia. Madrid. Addison Wesley.

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 permite que realices las que prefieras hasta conseguir el máximo puntuable mencionado. 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 - max
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%

Fernando López Hernández

Formación académica:Doctor en Ing. Informática y Telecomunicación. Actualmente trabaja como profesor asociado a tiempo completo en UNIR.

Experiencia:Director y Coordinador Académico del Máster en Aplicaciones para Móviles de UNIR. Coordinador Académico del Experto en Robótica. Profesor en el Grado de Ingeniería Informática (Informática Gráfica y Visualización, Algebra, Algoritmia y Complejidad), Grado de Diseño digital (Imagen e Imagen en Movimiento) y Máster de Aplicaciones Móviles (Objective-C y Tecnologías iOS). Previamente trabajó como investigador sénior postdoctoral en UNIR. Antes de unirse a UNIR trabajó como investigador predoctoral y postdoctoral en el Video Processing and Understanding Lab (VPU Lab) de la Universidad Autónoma de Madrid.

Líneas de investigación:Multimedia, gráficos, procesamiento de imagen y vídeo, lenguajes de programación, desarrollo de aplicaciones móviles.

Obviamente, al tratarse de formación online 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 Curso de introducción al campus virtual. 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 con tu tutor personal.
  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. Consulta, además, las secciones del tema que contienen material complementario.
  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 tutor personal te informarán de las novedades de la asignatura.

En el aula virtual del Curso de introducción al campus virtual 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.

Recuerda que en el aula virtual del Curso de introducción al campus virtual puedes consultar el funcionamiento de las distintas herramientas del aula virtual: Correo, Foro, Sesiones presenciales virtuales, Envío de actividades, etc.

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 tutor personal.
  • Recuerda que no estás solo: consulta todas tus dudas con tu tutor personal utilizando el correo electrónico. 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. 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!