Competencias y objetivos

 

Contexto de la asignatura para el curso 2015-16

La necesidad de interconectar los diferentes sistemas informáticos en una organización o entre diferentes organizaciones para mejorar la gestión de sus procesos o para ofrecer servicios que permitan mejorar su posicionamiento en el mercado frente a los competidores es un hecho innegable. Sin embargo, este proceso de integración es una tarea compleja debido a la heterogeneidad existente entre las tecnologías y sistemas informáticos y a la falta de estándares orientados a la integración. En este sentido, el paradigma SOA y las tecnologías de servicios Web se han convertido en una de los principales soluciones a estos problemas, introduciendo una serie de metodologías, patrones arquitectónicos y estándares para su consecución.

 

 

Competencias de la asignatura (verificadas por ANECA en grados y másteres oficiales)

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.

 

Competencias Básicas y del MECES (Marco Español de Cualificaciones para la Educación Superior)

  • 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 2015-16

Conocimientos, destrezas y aptitudes que los estudiantes deben adquirir al finalizar el estudio de la materia. Los alumnos serán capaces de:
Conocimientos
• 405-C1: Conocimiento de los principales paradigmas de la computación distribuida.
• 405-C2: Conocer los principales modelos de integración de aplicaciones distribuidas.
• 405-C3: Explicar el efecto de las siguientes características sobre arquitecturas multicapa: escalabilidad, mantenibilidad, fiabilidad, extensibilidad, rendimiento, capacidad de gestion, y seguridad.
• 405-C4: Explicar los beneficios y debilidades potenciales de las arquitecturas descritas.
• 405-C5: Explicar la importancia del paradigma de arquitecturas orientadas a servicio.
• 405-C6: Conocer las principales tecnologías basadas en este paradigma.
• 405-C7: Conocer la tecnología WS-* centrada en el paradigma SOA.
• 405-C8: Conocer la implementación Apache AXIS y JUDDI para el desarrollo de arquitecturas SOA basadas en Servicios Web.
• 405-C9: Conocer y explicar las principales características de calidad de servicio (QoS) que enriquezcan las prestaciones del sistema.
Destrezas
• 405-D01: Dada una especificación identificar el paradigma más adecuado para el diseño de la arquitectura del sistema.
• 405-D02: 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, capacidad de gestión, y seguridad.
• 405-D03: Dada una arquitectura, trazar las estrategias de integración de la aplicación.
• 405-D04: Dada una arquitectura, detectar beneficios y debilidades potenciales de la misma, para corregir dichas debilidades.
• 405-D05: Ser capaz de diseñar aplicaciones basadas en SOA obteniendo los beneficios de dicho paradigma.
• 405-D06: Saber elegir las tecnologías basadas en SOA adecuadas a cada proyecto.
• 405-D07: Poder diseñar aplicaciones SOA mediante el uso de servicios Web, en concreto usando Apache AXIS.
• 405-D08: Diferenciar entre aplicaciones basadas en Servicios Web y Arquitecturas Orientadas a Servicios implementadas mediante Servicios Web.
• 405-D09: Ser capaz de afrontar problemas de escalabilidad, continuidad en el negocio y tolerancia a fallos.
• 405-D10: Poder diseñar escenarios complejos con multitud de servidores web, contenedores y servidores de aplicaciones.

Aptitudes
• 405-A01: Capacidad de abstracción para poder centrarse en diseños de alto nivel.
• 405-A02: Motivación para el estudio de nuevas tecnologías, así como su idoneidad para la creación de diseños arquitectónicos adecuados.
• 405-A03: Interés por conocer los paradigmas de computación distribuida y cuando aplicar cada uno.
• 405-A04: Actitud crítica ante diseños basados en SOA y que no cumplen sus requisitos.
• 405-A05: Actitud crítica en cuanto a los posibles problemas de seguridad y rendimiento que pueden plantearse en las arquitecturas orientadas a servicios. 

 

 

;

Datos generales

Código: 38205
Profesor/a responsable:
GILART IGLESIAS, VIRGILIO
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.: TECNOLOGÍA INFORMÁTICA Y COMPUTACIÓN
    Área: ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
    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