Última revisión realizada: 20/05/2022

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

Presentación

La Ingeniería del Software es la disciplina que estudia los métodos, modelos, procedimientos y herramientas necesarios para el desarrollo de software de calidad. En esta asignatura se presentan diversos contenidos que te permitirán tener una visión práctica de la ingeniería de software y sus procesos de construcción.

Además, te permitirá conocer y aplicar diferentes técnicas para la obtención de requisitos que tienen las organizaciones e individuos (en diferentes ámbitos de aplicación) y que son susceptibles de ser resueltos con el desarrollo de software. También, podrás comprender y poner en práctica diferentes técnicas de modelado que te permitan diseñar software que demanda la industria en la actualidad. Además, podrás conocer  y aplicar los diferentes conceptos de arquitectura de sistemas de software, diseño arquitectónico y patrones de diseño para el desarrollo de software de calidad.

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

  • CR01: Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
  • CR04: Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes.
  • CR05: Conocimiento, administración y mantenimiento sistemas, servicios y aplicaciones informáticas.
  • CR08: Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

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. Introducción a la ingeniería del software y al modelado

  • Cómo estudiar este tema
  • La naturaleza del software
  • La naturaleza única de las webapps
  • Ingeniería del software
  • El proceso del software
  • La práctica de la ingeniería del software
  • Mitos del software
  • Cómo comienza todo
  • Conceptos orientados a objetos
  • Introducción a UML

Tema 2. El proceso del software

  • Cómo estudiar este tema
  • Un modelo general de proceso
  • Modelos de proceso prescriptivos
  • Modelos de proceso especializado
  • El proceso unificado
  • Modelos del proceso personal y del equipo
  • ¿Qué es la agilidad?
  • ¿Qué es un proceso ágil?
  • Scrum
  • Conjunto de herramientas para el proceso ágil

Tema 3. Principios que guían la práctica de la ingeniería del software

  • Cómo estudiar este tema
  • Principios que guían el proceso
  • Principios que guían la práctica
  • Principios de comunicación
  • Principios de planificación
  • Principios de modelado
  • Principios de construcción
  • Principios de despliegue

Tema 4. Comprensión de los requisitos

  • Cómo estudiar este tema
  • Ingeniería de requisitos
  • Establecer las bases
  • Indagación de los requisitos
  • Desarrollo de casos de uso
  • Elaboración del modelo de los requisitos
  • Negociación de los requisitos
  • Validación de los requisitos

Tema 5. Modelado de los requisitos: escenarios, información y clases de análisis

  • Cómo estudiar este tema
  • Análisis de los requisitos
  • Modelado basado en escenarios
  • Modelos UML que proporcionan el caso de uso
  • Conceptos de modelado de datos
  • Modelado basado en clases
  • Diagramas de clases

Tema 6. Modelado de los requisitos: flujo, comportamiento y patrones

  • Cómo estudiar este tema
  • Requisitos que modelan las estrategias
  • Modelado orientado al flujo
  • Diagramas de estado
  • Creación de un modelo de comportamiento
  • Diagramas de secuencia
  • Diagramas de comunicación
  • Patrones para el modelado de requisitos

Tema 7. Conceptos de diseño

  • Cómo estudiar este tema
  • Diseño en el contexto de la ingeniería del software
  • El proceso de diseño
  • Conceptos de diseño
  • Conceptos de diseño orientado a objetos
  • El modelo del diseño

Tema 8. Diseño de la arquitectura

  • Cómo estudiar este tema
  • Arquitectura del software
  • Géneros arquitectónicos
  • Estilos arquitectónicos
  • Diseño arquitectónico
  • Evolución de los diseños alternativos para la arquitectura
  • Mapeo de la arquitectura con el uso del flujo de datos

Tema 9. Diseño en el nivel de componentes

  • Cómo estudiar este tema
  • ¿Qué es un componente?
  • Diseño de componentes basados en clase
  • Realización del diseño en el nivel de componentes
  • Diseño de componentes tradicionales
  • Desarrollo basado en componentes

Tema 10. Diseño basado en patrones

  • Cómo estudiar este tema
  • Patrones de diseño
  • Diseño de software basado en patrones
  • Patrones arquitectónicos
  • Patrones de diseño en el nivel de componentes
  • Patrones de diseño de la interfaz de usuario

Tema 11. Calidad del software

  • Cómo estudiar este tema
  • Calidad
  • Calidad del software
  • El dilema de la calidad del software
  • Lograr la calidad del software
  • Aseguramiento de la calidad del software

Tema 12. Administración de proyectos

  • Cómo estudiar este tema
  • El espectro administrativo
  • El personal
  • El producto
  • El proceso
  • El proyecto
  • Principios y prácticas

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 u online

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 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:

Pressman, R. S. (2010). Ingeniería del software. Un enfoque práctico (7ª ed.) (pp. 1-21, 743-749, 26-53, 55-77, 81-100, 101-125, 126-156, 725-729, 158-174, 732-735, 737-740, 183-203, 206-232, 234-262, 295-313, 338-352, 370-373, 554-568). México: McGraw Hill. ISBN: 978-670-15-0314-5.

Bibliografía complementaria

  • Jacobson, I., Booch, G., Rumbaugh, J. (2013). El proceso unificado de desarrollo de software. Madrid: Addison Wesley.
  • Ghezzi, C., Jazayeri, M. & Mandrioli, D. (2002). Fundamentals of Software Engineering. Ed. Prentice Hall.
  • Young, R. R. (2004). The Requirements Engineering Handbook. Massachusetts: Ed. Artech House.
  • Van Lamsweerde, A. (2009). Requirements Engineering: From System Goals to UML Models to Software Specifications. Nueva Jersey: Ed. Wiley.

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 U ONLINE 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 60% - 60%
Resolución de trabajos, proyectos y casos 0% - 40%
Participación en foros y otros medios participativos 0% - 40%
Test de autoevaluación 0% - 20%
Evaluación de prácticas de laboratorios virtuales 0% - 40%

Juan Antonio Sicilia Montalvo

Formación: Doctor en Ingeniería por la Universidad de Zaragoza. Ingeniero informático por la Universidad de Zaragoza.

Experiencia: Profesor en la Escuela de Ingeniería y en la Facultad de Empresa y Comunicación de la Universidad Internacional de La Rioja desde 2014. Autor de múltiples artículos científicos, ha participado en diversos proyectos de investigación y en congresos nacionales e internacionales.

Líneas de investigación: Optimización combinatoria, investigación operativa, sistemas decisionales, algoritmos matemáticos y modelos de planificación de transporte y logística.

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!