Denominación de la asignatura

Metodologías, Desarrollo y Calidad en la Ingeniería de Software
Postgrado al que pertenece
Máster Universitario en Ingeniería de Software y Sistemas Informáticos
Créditos ECTS
6
Cuatrimestre en el que se imparte
Primer cuatrimestre
Carácter de la asignatura Obligatoria

Presentación

La asignatura pretende dotar al alumno de la capacidad suficiente para analizar y diseñar la funcionalidad de un sistema software de calidad, flexible y fácil de mantener partiendo de un conjunto de requisitos. Para ello, se aprenderán los principios básicos del proceso de desarrollo de software, la orientación a objetos y aspectos avanzados del modelado de aplicaciones haciendo uso del lenguaje de modelado UML. Desde la perspectiva de modelado, se estudiará cómo las ontologías también pueden jugar un papel muy importante en el desarrollo y modelado del software.

Por otro lado, se hará una introducción a las metodologías ágiles, con especial énfasis en Scrum, el marco ágil para el desarrollo de software más adoptado en la actualidad. Dentro de este contexto de agilidad, se estudiará cómo los principios del pensamiento lean o lean thinking también pueden ser aplicados de manera beneficiosa en el desarrollo de software.

Por último, se estudiarán formas de mejorar la calidad del software en base a la medición y estimación, y se analizará el modelo de madurez CMMI como guía en la mejora continua del software.

A lo largo de la asignatura, los alumnos participarán en actividades durante las cuales tendrán la oportunidad de realizar ejercicios en grupo, así como resolver y debatir problemas específicos relacionados con el proceso de desarrollo de software, contrastando sus soluciones y aportaciones con el resto de estudiantes.

Competencias

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • CG1. Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en el ámbito de la Ingeniería de Software.
  • CG2. Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
  • CG3. Capacidad para la elaboración, planificación estratégica, dirección, coordinación y gestión técnica y económica de proyectos en todos los ámbitos de la Ingeniería de Software siguiendo criterios de calidad.
  • CG4. Capacidad para la dirección general, dirección técnica y dirección de proyectos de I+D+I, en empresas y centros tecnológicos, en el ámbito de la Ingeniería de Software.
  • CG5. Capacidad para la puesta en marcha, dirección y gestión de procesos de diseño y desarrollo de sistemas informáticos, con garantía de la seguridad para las personas y bienes, la calidad final de los productos y su homologación.
  • CG6. Capacidad para aplicar los principios de la economía y de la gestión de recursos humanos y proyectos, así como la legislación, regulación y normalización de la informática.
  • CE1. Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, sistemas, servicios y contenidos informáticos.
  • CE2. Capacidad para utilizar y desarrollar metodologías, métodos, técnicas, programas de uso específico, normas y estándares de Ingeniería de Software.
  • CE3. Capacidad para analizar las necesidades de información que se plantean en un entorno y llevar a cabo en todas sus etapas el proceso de construcción de un sistema de información.
  • CE4. Capacidad para crear y diseñar sistemas software que resuelvan problemas del mundo real.
  • CE5. Capacidad para evaluar y utilizar entornos de Ingeniería de Software avanzados, métodos de diseño, plataformas de desarrollo y lenguajes de programación.
  • CE7. Capacidad para la dirección de proyectos de investigación, desarrollo e innovación, en empresas y centros tecnológicos, con garantía de la seguridad para las personas y bienes, la calidad final de los productos y su homologación.
  • CT1. Analizar de forma reflexiva y crítica las cuestiones más relevantes de la sociedad actual para una toma de decisiones coherente.
  • CT2. Identificar las nuevas tecnologías como herramientas didácticas para el intercambio comunicacional en el desarrollo de procesos de indagación y de aprendizaje grupal.
  • CT3. Aplicar los conocimientos y capacidades aportados por los estudios a casos reales y en un entorno de grupos de trabajo en empresas u organizaciones.
  • CT4. Adquirir la capacidad de trabajo independiente, impulsando la organización y favoreciendo el aprendizaje autónomo.

 

Contenidos

Tema 1. Introducción a la ingeniería de software
Introducción
La crisis del software
Diferencias entre la ingeniería de software y la ciencia de la computación
Ética y responsabilidad profesional en la ingeniería del software
Fábricas de software

Tema 2. El proceso de desarrollo de software
Definición
Modelo de proceso software
El proceso unificado de desarrollo de software

Tema 3. Desarrollo de software orientado a objetos
Introducción
Principios de la orientación a objetos
Definición de objeto
Definición de clase
Análisis orientado a objetos vs diseño orientado a objetos

Tema 4. Desarrollo de software basado en modelos
La necesidad de modelar
Modelado de sistemas software
Modelado de objetos
UML
Herramientas CASE

Tema 5. Modelado de aplicaciones con UML
Modelado avanzado de requisitos
Modelado estático avanzado
Modelado dinámico avanzado
Modelado de componentes

Tema 6. Patrones de diseño con UML
Introducción
Adapter
Factory
Singleton
Strategy
Composite
Facade
Observer

Tema 7. Ingeniería dirigida por modelos
Introducción
Metamodelado de sistemas
MDA
DSL
Refinamientos de modelos con OCL
Transformaciones de modelos

Tema 8. Ontologías en la ingeniería de software
Introducción
Ingeniería de la ontología
Aplicación de las ontologías en la ingeniería de software

Tema 9. Metodologías ágiles para el desarrollo de software
¿Qué es la agilidad en el software?
El manifiesto ágil
La hoja de ruta de un proyecto ágil
El Product Owner
Las historias de usuario
Planificación y estimación ágil
Mediciones en desarrollos ágiles

Tema 10. Scrum
Introducción
Los roles
El Product Backlog
El Sprint
Las reuniones

Tema 11. Lean Software Development
Introducción
Kanban

Tema 12. Calidad y mejora del proceso software
Introducción
Medición del software
Pruebas del software
Modelo de calidad de procesos software: CMMI

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. 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
60
0%
Lectura del material complementario
45
0%
Trabajos, casos prácticos
17
0%
Prácticas de laboratorio
8
50%
Tutorías
16
5%
Trabajo colaborativo
7
0%
Test de autoevaluación
4
0%
Examen final presencial
2
         100%    
Total
180
         

 

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

Gran parte de los materiales 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. El resto de los materiales son :

Bibliografía básica

Sommerville, I. (2005). Ingeniería del Software. Séptima edición. España: Pearson Addison-Wesley. 3-12, 59-78.
Disponible bajo licencia CEDRO.

Larman, C. (2003). UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Segunda edición. Pearson Prentice-Hall, 299-304.
Disponible bajo licencia CEDRO.

Piattini, M.G., García, F.O., Garzás, J. y Genero, M.G. (2008). Medición y estimación del software. Técnicas y métodos para mejorar la calidad y la productividad. España: Ra-Ma, 47-52, 57-59, 69-71.
Disponible bajo licencia CEDRO.

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… 

Bibliografía complementaria

Meyer, B. (2001). Software Engineering in the Academy. Journal Computer, 34(5), 28-35. Recuperado de http://www.inf.ed.ac.uk/teaching/courses/seoc/2006_2007/resources/meyer_teaching.pdf

Boehm, B.W. (1988). A Spiral Model of Software Development and Enhancement. Journal Computer, 21(5), 61-72. Recuperado de http://csse.usc.edu/csse/TECHRPTS/1988/usccse88-500/usccse88-500.pdf

Rumbaugh, J., Jacobson, I. y Booch, G. (2007). El Lenguaje Unificado de Modelado. Manual de Referencia. UML 2.0 2ª Edición. España: Pearson Addison-Wesley.
Disponible bajo licencia CEDRO.

Booch, G., Rumbaugh, J. y Jacobson, I. (2006). El Lenguaje Unificado de Modelado. UML 2.0 2ª Edición. España: Pearson Addison-Wesley.
Disponible bajo licencia CEDRO.

Molina, J., Rubio, F.O., Pelechano, V., Vallecillo, A., Vara, J.M. y Vicente-Chicote, C. (2013). Desarrollo de Software Dirigido por Modelos: Conceptos, Métodos y Herramientas. Ra-Ma.
Disponible bajo licencia CEDRO.

Holweg, M. (2007). The genealogy of lean production. Journal Operations Management, 25(2), 420 - 437.
Disponible bajo licencia CEDRO.

 

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 (6 puntos sobre 10) y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO (es decir, obtener 3 puntos de los 6 totales del examen).

La evaluación continua supone el 40% de la calificación final (es decir, 4 puntos de los 10 máximos). 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
MAX

Participación del estudiante (sesiones, foros, tutorías)

0%

10%

Trabajos, proyectos, laboratorios y casos

20%

30%

Test de autoevaluación

0%

10%

Examen final presencial

60%

60%

 

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

Juan Antonio Sicilia

Doctor en Ingeniería con una sólida carrera investigadora en optimización combinatoria, investigación operativa, sistemas decisionales, algoritmos matemáticos y modelos de planificación de transporte y logística. Autor de numerosos artículos científicos.

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.

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 de Lo que necesitas saber antes de empezar. 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 de Lo que necesitas saber antes de empezar 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.

Recuerda que en el aula virtual de Lo que necesitas saber antes de empezar 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 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!