Diseño avanzado en arquitecturas software

Código Asignatura: 5427
Nº Créditos ECTS: 6
Duración: modalidad 12 meses: Semestral
Idioma:
Castellano
Prueba final presencial:
Plan de estudios:
Año académico:
2022-23

Descripción

Diseño Avanzado en Arquitecturas Software es una asignatura obligatoria que consta de 6 créditos. En ella se explican diferentes patrones y paradigmas generativos, permitiéndonos componer diseños de arquitectura software con una serie de propiedades beneficiosas –como son: reducción de costes en las diferentes fases del proceso de ingeniería, mantenibilidad, escalabilidad, etc.–. La primera parte de la asignatura introduce el paradigma del software dirigido por modelos (MDE). Este paradigma se centra en la definición de modelos que permiten definir los elementos claves del dominio de acción del sistema resultante. A diferencia de los paradigmas anteriores –por ejemplo las herramientas CASE – MDE resuelve las discontinuidades entre modelos, definiendo lenguajes que permiten la relación entre estos, gracias a la definición de transformaciones. Los alumnos conocerán los conceptos de MDE: meta modelado, transformaciones, elementos de arquitectura y lenguajes específicos de dominio. Estos conceptos serán reforzados con el uso del framework EMF de Eclipse.

Antes de matricular la asignatura, verifique los posibles requisitos que pueda tener dentro de su plan. Esta información la encontrará en la pestaña "Plan de estudios" del plan correspondiente.

Competencias generales

  • Capacidad para plantear y resolver problemas también en áreas nuevas y emergentes en el campo de la Arquitectura del Software.
  • Capacidad para aplicar los métodos de resolución de problemas más recientes o innovadores y que puedan implicar la utilización de conocimientos interdisciplinares.
  • Capacidad para integrar el conocimiento a partir de disciplinas diferentes, para aprender nuevos modelos, técnicas y tecnologías de desarrollo de software a medida que surjan, y apreciar la necesidad del desarrollo profesional continuo, así como el manejo de la complejidad.
  • Capacidad para desarrollar e implantar una solución informática en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con la Arquitectura del Software.

Competencias específicas

  • Capacidad para deducir, analizar y especificar las necesidades de los clientes, usuarios y otras partes interesadas, teniendo en cuenta los posibles condicionantes que pudieran afectar al sistema a desarrollar y en especial, la aglomeración de sistemas (Systems of Systems).
  • Capacidad para definir, evaluar y mejorar los procesos software de una organización con el uso de técnicas que permitan la generación inteligente y/o automática de código.
  • Capacidad para concebir y realizar el diseño de los sistemas software asegurando atributos relevantes de calidad mediante el uso de Arquitecturas de software avanzadas como Model Driven Architecture y, en especial, arquitecturas de hiperprogramación.
  • Capacidad para utilizar las técnicas más actuales para generación de código casi aplicable, en forma de templates y sus reusables.
  • Capacidad para aplicar técnicas de diseño de sistemas software explotando las características de los modelos y entornos existentes para el desarrollo avanzado de software.

Competencias transversales

  • Capacidad de pensamiento creativo con el objetivo de desarrollar enfoques y métodos nuevos y originales.

Resultados del aprendizaje

  • Aplicar patrones de diseño avanzados y frameworks para el desarrollo de sistemas software.
  • Conocer la filosofía de la Ingeniería dirigida por Modelos, sabiendo utilizar sus estándares básicos y aplicarla al desarrollo de aplicaciones reales.

Metodología

La metodología adoptada para el aprendizaje y evaluación de los contenidos de esta asignatura se encuentra adaptada a la modalidad de enseñanza a distancia de UDIMA.

Además del estudio del material proporcionado para el estudio de la asignatura, se encuentran programadas una serie de actividades de aprendizaje y de evaluación continua para que el estudiante consolide los conocimientos adquiridos. Dichas actividades se encuentran planificadas en el "Cronograma de Actividades Didácticas", y definidas en el "sistema de evaluación", apartados ambos que figuran en la guía docente de la asignatura.

Las dudas que puedan surgir tras el estudio razonado de las unidades didácticas y del material complementario deben plantearse en los foros de tutorías activados en el Aula Virtual.

Dedicación requerida

  • Estudio de las Unidades Didácticas: 30%
  • Lectura de artículos: 10%
  •  Supuestos y casos prácticos: 20%
  •  Búsqueda de información: 10%
  •  Redacción o realización de informes: 20%
  •  Acción tutorial: 5%
  • Realización de controles: 5%

Tutorías

El profesor aporta un seguimiento individualizado de la actividad del estudiante para asegurar las mejores condiciones de aprendizaje mediante la tutorización a través de las herramientas de la plataforma educativa y/o de las tutorías telefónicas. En estas tutorías los estudiantes pueden consultar a los profesores las dudas acerca de la materia estudiada.

Materiales didácticos

Para el desarrollo del aprendizaje teórico de la asignatura se ha seleccionado el siguiente manual, a partir del cual se estudiarán las unidades didácticas que se corresponden con la descripción de los contenidos de la asignatura:

Manual de la asignatura:
Thomas Stahl, Markus Voelter, and Krzysztof Czarnecki. 2006. Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.

La bibliografía y los materiales asociados al desarrollo de esta asignatura serán facilitados y estarán disponibles en el Aula Virtual al hilo del desarrollo de las unidades didácticas.

Bibliografía complementaria:

  • David Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2009. Emf: Eclipse Modeling Framework 2.0 (2nd ed.). Addison-Wesley Professional.
  • Martin Fowler. 2002. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  • Martin Fowler. 2010. Domain Specific Languages (1st ed.). Addison-Wesley Professional.
  • Stephen J. Mellor, Scott Kendall, Axel Uhl, and Dirk Weise. 2004. MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA.

Finalmente, el profesor podrá poner a disposición del estudiante cualquier otro material complementario voluntario al hilo de las unidades didácticas o en una carpeta de material complementario.

Contenidos y programación

Unidad 1. Introducción al paradigma de programación MDE: retos, objetivos, terminología y concepto de arquitectura./td>
Unidad 2. Conceptos básicos y clasificación: introducción a MDE, concepto de arquitectura y programación generativa.
Unidad 3. Meta-modelado: definición, validación, errores típicos y ejemplos.
Unidad 4. Diseño de la Arquitecturas: contextualización en MDE, construcción de bloques, arquitecturas de referencia y paradigmas complementarios a MDE.
Unidad 5. Generación de código: motivación, categorización y técnicas.
Unidad 6. Procesos de ingeniería: prácticas, pruebas y versiones.
Unidad 7. Patrones de: arquitectura de empresa (taxonomía de capas).
Unidad 8. Patrones de: organización de lógica de dominio y mapa a bases de datos relacionales.
Unidad 9. Patrones de: concurrencia, patrones de sesión y estrategias de distribución.

Sistema de evaluación

Durante el estudio de esta asignatura, el proceso de evaluación del aprendizaje es continuo y contempla la realización de:

Cuadro resumen del sistema de evaluación

Tipo de actividad Número de actividades planificadas Peso calificación
Examen final presencial
TOTAL 100%

Para la superación de esta asignatura, el estudiante deberá realizar con carácter obligatorio una prueba final presencial dirigida a verificar las competencias y conocimientos adquiridos durante su desarrollo.

Para aprobar la asignatura, es necesario obtener una calificación mínima de 5 en el examen final presencial, así como en la calificación total del curso, una vez realizado el cómputo ponderado de las calificaciones obtenidas en las actividades didácticas y en el examen final presencial.

Si un estudiante no aprueba la asignatura en la convocatoria ordinaria podrá examinarse en la convocatoria de septiembre. El estudiante que no se presente a la convocatoria ordinaria y extraordinaria, perderá automáticamente todos los trabajos realizados a lo largo del curso. Deberá en este caso matricularse de nuevo en la asignatura.

Las fechas previstas para la realización de todas las actividades se indican en el aula virtual de la asignatura.

Originalidad de los trabajos académicos

Según la Real Academia Española, “plagiar” significa copiar en lo sustancial obras ajenas dándolas como propias. Dicho de otro modo, plagiar implica expresar las ideas de otra persona como si fuesen propias, sin citar la autoría de las mismas. Igualmente, la apropiación de contenido puede ser debida a una inclusión excesiva de información procedente de una misma fuente, pese a que esta haya sido citada adecuadamente. Teniendo en cuenta lo anterior, el estudiante deberá desarrollar sus conocimientos con sus propias palabras y expresiones. En ningún caso se aceptarán copias literales de párrafos, imágenes, gráficos, tablas, etc. de los materiales consultados. En caso de ser necesaria su reproducción, esta deberá contemplar las normas adecuadas para la citación académica.

Los documentos que sean presentados en las actividades académicas podrán ser sometidos a diferentes mecanismos de comprobación de la originalidad (herramientas antiplagios que detectan coincidencias de texto con otras fuentes, comparación con trabajos de otros estudiantes, comparación con información publicada en Internet, etc). El profesor valorará si el trabajo presentado cuenta con los criterios de originalidad exigidos o, en su caso, se atribuye adecuadamente la información no propia a las fuentes correspondientes. La adjudicación como propia de información que corresponde a otros autores podrá suponer el suspenso de la actividad.

Los documentos presentados en las actividades académicas podrán ser almacenados en formato papel o electrónico y servir de comparación con otros trabajos de terceros, a fin de proteger la originalidad de la fuente y evitar la apropiación indebida de todo o parte del trabajo del estudiante. Por tanto, podrán ser utilizados y almacenados por la universidad, a través del sistema que estime, con el único fin de servir como fuente de comparación de cualquier otro trabajo que se presente.

Sistema de calificaciones

El sistema de calificación de todas las actividades didácticas es numérico del 0 a 10 con expresión de un decimal, al que se añade su correspondiente calificación cualitativa:

0 – 4.9: Suspenso (SU)
5.0 – 6.9: Aprobado (AP)
7.0 – 8.9: Notable (NT)
9.0 – 10: Sobresaliente (SB)

(RD 1125/2003, de 5 de septiembre, por lo que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y con validez en todo el territorio nacional).