Competencias y objetivos

 

Contexto de la asignatura para el curso 2024-25

La asignatura tiene como objetivo formar a los alumnos en las metodologías más actuales y avanzadas en el desarrollo del software. Para ello, se formará a través de contenidos teóricos, pero sobretodo se aplicarán los conocimientos en el proyecto de fin de master a realizar.

La asignatura se enfoca a impartir los fundamentos de las metodologías tradicionales, ágiles y dirigidas por modelos. Para ello, se hace un recorrido sobre cada una de ellas. Dichas metodologías permitirán introducir cuales son los artefactos que se utilizarán en las disciplinas de análisis, diseño, pruebas e implementación.

Se verán casos de éxito reales del uso de estas metodologías en la industria del Software.

 

 

Competencias de la asignatura (verificadas por ANECA en grados y másteres oficiales) para el curso 2024-25

Competencias Generales del Título (CG)

  • B1 : Capacidad para conocer y aplicar procesos y metodologías de desarrollo software basadas en el desarrollo dirigido por modelos para obtener de aplicaciones Web distribuidas.
  • B13 : Capacidad de diseñar sistemas donde se consideren los aspectos de usabilidad y accesibilidad mediante técnicas diseño centrado en el usuario.
  • B2 : Capacidad de capturar, definir y especificar los requisitos de usuario mediante técnicas basadas de diseño centrado en el usuario y en desarrollo dirigido por modelos.
  • B3 : Capacidad para detectar y aplicar las mejores prácticas fundamentadas en la aplicación de los patrones en cualquier fase de desarrollo software.
  • B4 : Capacidad para diseñar e implementar interfaces de usuario siguiendo los requisitos de calidad.
  • B5 : Capacidad para capturar, diseñar e implementar las pruebas necesarias que aseguren la calidad de un sistema software.

 

Habilidades/ Destrezas

  • A1 : Capacidad de análisis y síntesis.
  • A10 : Habilidad de adaptación al ambiente cambiante propio de la disciplina, sabiendo aplicar los conocimientos adquiridos y resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • A11 : Capacidad de creatividad.
  • A12 : Motivación por la calidad.
  • A13 : Capacidad para mostrar información de forma clara atendiendo a un amplio conjunto de discapacidades técnicas, físicas y psíquicas.
  • A2 : Capacidad de organización y planificación.
  • A3 : Capacidad de comunicación oral y escrita de los conocimientos y conclusiones a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • A4 : Capacidad de gestión de la información y de los recursos disponibles.
  • A5 : Capacidad de trabajar en equipo con iniciativa y espíritu emprendedor.
  • A6 : Habilidades en las relaciones interpersonales.
  • A7 : Capacidad de razonamiento y extracción de conclusiones.
  • A8 : Compromiso ético y respeto por la propiedad intelectual.
  • A9 : Habilidad de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida auto-dirigido o autónomo.

 

Competencias Específicas Obligatorias:>>De Ingeniería del Software Avanzada

  • C1.1 : Capacidad para aprender y aplicar las técnicas y los conceptos principales del desarrollo dirigido por modelos que permitan establecer una clara trazabilidad entre los modelos que especifican el sistema y la implementación final obtenida.
  • C1.10 : Conocer e interpretar los estándares, normas y guías de usabilidad y accesibilidad.
  • C1.11 : Capacidad para aprender a usar los términos y conceptos usados en diseño gráfico y capacidad para adoptar guías de estilo en los interfaces creados.
  • C1.12 : Conocer el comportamiento medio de un usuario frente a los interfaces de usuario y adaptar el diseño de éstos en función de ese conocimiento.
  • C1.13 : Capacidad para diseñar, implementar y ejecutar pruebas de stress/carga sobre el sistema. Saber analizar los resultados obtenidos para conocer los límites soportados por el sistema. Saber identificar los puntos críticos (cuellos de botella) de la aplicación.
  • C1.14 : Capacidad para diseñar, implementar y ejecutar pruebas unitarias, funcionales y de integración partiendo de los requisitos especificados para el proyecto.
  • C1.15 : Capacidad para diseñar, implementar y ejecutar pruebas de stress/carga sobre el sistema. Saber analizar los resultados obtenidos para conocer los límites soportados por el sistema. Saber identificar los puntos críticos (cuellos de botella) de la aplicación.
  • C1.16 : Capacidad para realizar el análisis de los resultados obtenidos a partir de las pruebas para evaluar el nivel de calidad obtenido.
  • C1.17 : Diseñar y desarrollar soluciones basadas en el paradigma de Arquitectura Orientada a Servicios atendiendo a los parámetros de adaptación de las TIC a los cambios en los requerimientos de los procesos de negocio de las organizaciones.
  • C1.18 : Diseñar e implantar sistemas e infraestructuras para las arquitecturas software atendiendo a características de alta disponibilidad, tolerancia a fallos y continuidad en el negocio.
  • C1.19 : Comprender y saber aplicar los principales paradigmas de la computación distribuida e Internet, teniendo en cuenta los requerimientos del proyecto.
  • C1.2 : Capacidad para aplicar el desarrollo dirigido por modelos a dominios específicos mediante lenguajes de dominio específico (DSL) y mediante la utilización de perfiles sobre el lenguaje de modelado estándar (UML).
  • C1.20 : Realizar un plan de iteración que permita planificar y gestionar el desarrollo de una aplicación gestionando el ámbito, los recursos disponibles, la duración del proyecto y los costes.
  • C1.21 : Utilizar de forma efectiva una herramienta de control de versiones para realizar el desarrollo en equipo de una aplicación Web distribuida.
  • C1.22 : Documentar de forma adecuada el desarrollo de una aplicación Web distribuida.
  • C1.23 : Dada una especificación de una aplicación, realizar la elección del conjunto de tecnologías adecuadas aplicables para la implementación de dicha aplicación.
  • C1.24 : Capacidad para definir el modelo de dominio a partir de los requisitos de usuario.
  • C1.25 : Capacidad para asignar responsabilidades, contratos de operación sobre las diferentes clases de dominio utilizando criterios de bajo acoplamiento, alta cohesión y complejidad manejable.
  • C1.3 : Capacidad para aprender y saber aplicar cuando debemos desarrollar un proyecto de una aplicación Web distribuida utilizando una metodología de desarrollo dirigida por modelos.
  • C1.4 : Capacidad para aprender y saber aplicar cuando debemos desarrollar un proyecto de una aplicación Web distribuida utilizando una metodología de desarrollo ágil.
  • C1.5 : Capacidad para asociar a cada actividad del proceso software el conjunto de artefactos (especificaciones, diagramas, código, etc.) que le son aplicables.
  • C1.6 : Capacidad de capturar, definir y especificar los requisitos del usuario que permitan establecer de forma trazable el desarrollo, la interfaz de usuarios y pruebas del sistema software.
  • C1.7 : Capacidad para detectar y aplicar la aplicación de los patrones de diseño detallado.
  • C1.8 : Capacidad para detectar y aplicar la aplicación de los patrones de mejores prácticas en aplicaciones Web distribuidas.
  • C1.9 : Capacidad para diseñar e implementar interfaces de usuario siguiendo los requisitos de calidad como usabilidad, seguridad y rendimiento.

 

 

 

Resultados de aprendizaje (Objetivos formativos)

  • Desarrollo de un sistema, en el cual tendrán que ir realizando aplicando los conocimientos adquiridos.
  • Adquirir conocimientos sobre los diferentes tipos de desarrollo actuales y saber cual aplicar a un sistema.
  • Aplicar los conceptos básicos de desarrollo dirigido por modelos, como definir los modelos del sistema, formalizarlos mediante metamodelo y las transformaciones.
  • Utilizar herramientas DSDM para modelar el sistema propuesto. Evaluar diferentes herramientas.
  • Adquirir conocimientos sobre los diferentes tipos de patrones que se van a ir describiendo en la asignatura.
  • Saber si debemos o no aplicar un determinado patrón, en función de las fuerzas del patrón.
  • Implementar los diferentes patrones en las plataformas. NET y Java.
  • Diseñar una aplicación en la que se proponga el uso de patrones.
  • Diseñar una aplicación Web distribuida siguiendo las mejores prácticas de diseño centrado en el usuario
  • Evaluar la usabilidad y la accesibilidad de una aplicación Web.
  • Realizar un borrador correcto (que cumpla los principios de usabilidad y de buen diseño) de la interfaz de usuario de una aplicación Web.
  • Realizar un borrador correcto de la interfaz de usuario de una aplicación con un cliente rico.
  • Diseñar un plan de pruebas adecuado para una determinada aplicación.
  • Familiarizarse con el uso de un entorno automático para desarrollar las pruebas.
  • Gestionar un proceso de pruebas para una aplicación.
  • Dada una especificación, decidir qué diagramas son los más adecuados para reflejar la arquitectura del sistema, en función de las necesidades del desarrollo, haciendo un uso efectivo del uso de encapsulación, herencia e interfaces.
  • Dada una especificación, diseñar una arquitectura adecuada en función de que sean necesarias las siguientes características: escalabilidad, mantenibilidad, fiabilidad, extensibilidad, rendimiento, gestionabilidad, y seguridad.
  • Dada una arquitectura, detectar beneficios y debilidades potenciales de la misma, para corregir dichas debilidades.
  • Dada una especificación arquitectónica de un sistema, identificar los "lugares" adecuados para la implementación de características de seguridad específicas, indicando los mecanismos concretos a aplicar.
  • Dada una especificación de una aplicación, realizar la elección del conjunto de tecnologías adecuadas aplicables para la implementación de dicha aplicación.

 

 

Objetivos específicos indicados por el profesorado para el curso 2024-25

Conocer los procesos de desarrollo de software más relevantes considerando los siguientes aspectos: metodología y notación utilizada, herramientas y entorno de desarrollo e implementación.

 

 

 

Datos generales

Código: 38200
Profesor/a responsable:
TARDIO OLMOS, ROBERTO
Crdts. ECTS: 3,00
Créditos teóricos: 0,60
Créditos prácticos: 0,60
Carga no presencial: 1,80

Departamentos con docencia

  • Dep.: LENGUAJES Y SISTEMAS INFORMATICOS
    Área: LENGUAJES Y SISTEMAS INFORMATICOS
    Créditos teóricos: 0,6
    Créditos prácticos: 0,6
    Este dep. es responsable de la asignatura.
    Este dep. es responsable del acta.

Estudios en los que se imparte