Datos Identificativos 2019/20
Asignatura (*) Arquitectura del Software Código 614G01026
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
Grado 2º cuatrimestre
Tercero Optativa 6
Idioma
Castellano
Modalidad docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador/a
Castro Souto, Laura Milagros
Correo electrónico
laura.milagros.castro.souto@udc.es
Profesorado
Cabrero Souto, David
Castro Souto, Laura Milagros
Correo electrónico
david.cabrero@udc.es
laura.milagros.castro.souto@udc.es
Web http://moodle.udc.es
Descripción general Esta materia busca dominar as alternativas actuais da enxeñaría do software para o deseño de aplicacións e sistemas a nivel de arquitectura:
– Coñecendo as arquitecturas máis típicas e as súas características;
– Estudando os requerimentos non funcionais dos sistemas e a súa relación coa arquitectura; e
– Desenvolvendo e/ou estudando sistemas reais.

Competencias del título
Código Competencias del título
A25 Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener, y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la ingeniería del software.
A27 Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
A28 Capacidad de identificar y analizar problemas, y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
B1 Capacidad de resolución de problemas
B2 Trabajo en equipo
B3 Capacidad de análisis y síntesis
B4 Capacidad para organizar y planificar
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.
C4 Desarrollarse para el ejercicio de una ciudadanía abierta, culta, crítica, comprometida, democrática y solidaria, capaz de analizar la realidad, diagnosticar problemas, formular e implantar soluciones basadas en el conocimiento y orientadas al bien común.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
Conocer los conceptos y técnicas propios de la Ingeniería del Software. A25
A28
Interpretar los problemas típicos de la definición de arquitecturas software y las situaciones en las que se presentan. A25
A27
A28
B2
B3
C4
C6
Definir y documentar especificaciones, modelos y componentes de la arquitectura de una aplicación, atendiendo a sus requisitos, de manera que se favorezca su mantenimiento y extensibilidad. A27
B1
B2
B3
B4
Aplicar con agilidad lenguajes de modelado. A28
Manejar herramientas de definición y construcción de aplicaciones. C3
Validar la arquitectura de un sistema contra sus requisitos. A25
Sintetizar los casos de éxito. A25
B3
C4
C6

Contenidos
Tema Subtema
Concepto de arquitectura software Definición de arquitectura software
Estructuras y vistas
- Notación
-- C4
-- Estándar IEEE 1471
Ciclo de vida y negocio de la arquitectura software
Modelos y arquitecturas de referencia Parámetros de calidad en arquitectura software
Tipos de arquitecturas
- Arquitectura en capas
- Arquitectura de repositorio
- Arquitectura cliente/servidor (orientada a servicios)
- Arquitectura 'pipe and filter' (basada en componentes)
- Arquitecturas distribuidas
-- Arquitecturas maestro/esclavo
-- Arquitecturas cliente/servidor multicapa
-- Arquitecturas P2P
- Otras arquitecturas
-- Sistemas embebidos
-- Sistemas orientados a aspectos
Diseño e integración de componentes. Patrones arquitecturales. Estrategias de diseño
Patrones de arquitectura
Reutilización
- Sistemas COTS y legacy
- Estilos de integración
-- Transferencia de ficheros
-- Compartición de fuentes de datos
-- Invocación de procedimientos remotos
-- Paso de mensajes
Reconstrucción / reingeniería de sistemas
Trazabilidad y pruebas de integración Proceso de integración
Verificación y pruebas de integración
- Pruebas funcionales
- Pruebas no funcionales
Validación y usabilidad

Planificación
Metodologías / pruebas Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Sesión magistral B3 21 21 42
Análisis de fuentes documentales B3 B4 C3 0 7 7
Discusión dirigida A28 B1 B3 C6 7.5 15 22.5
Prácticas de laboratorio A25 A27 A28 B1 B2 B4 C4 C6 15 30 45
Trabajos tutelados A27 A28 B1 B3 B4 C3 C6 1.5 15 16.5
Prueba objetiva A27 A28 B1 B3 C6 3 9 12
 
Atención personalizada 5 0 5
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Sesión magistral Clases magistrales de exposición de nociones y conceptos teóricos utilizando diferentes recursos: pizarra, proyección de material en formato electrónico, apuntes en formato electrónico y recursos facilitados por la docente de la asignatura en la plataforma virtual (Moodle).
Análisis de fuentes documentales Lectura y comprensión por parte del estudiantado de diferentes recursos proporcionados, bien encaminados a favorecer el seguimiento de las subsiguientes sesiones magistrales, a generar debate durante las sesiones de discusión dirigida, o bien destinados a ayudar en la realización de prácticas y trabajos tutelados.
Discusión dirigida Debate constructivo, dirigido por la docente pero participado por todo el grupo, sobre diferentes cuestiones presentadas en las clases magistrales, de cara a profundizar en la compresión y adquisición de dichos conceptos, y en el desarrollo de capacidades críticas y analíticas.
Prácticas de laboratorio Prácticas diseñadas por la docente de la asignatura en las que el estudiantado pueda poner en práctica los conocimientos a medida que se van adquiriendo, de cara al refuerzo de los mismos. Estas prácticas se desarrollarán en grupos, cuyo tamaño se determinará en función del número de estudiantes matriculados.
Trabajos tutelados Trabajos propuestos por la docente de la asignatura y desarrollados por el estudiantado, bien en grupo, bien individualmente. Estos trabajos podrán ser evaluados bien en las tutorías de grupos reducidos, bien en las sesiones de tutoría personalizada.
Prueba objetiva Prueba escrita mediante la que se valorarán los conocimientos adquiridos por el estudiantado. Se espera que se muestren tanto conocimientos a nivel teórico, mediante la respuesta a preguntas similares a las planteadas en las clases magistrales y las sesiones de discusión dirigida, como conocimientos aplicados, mediante la resolución de ejercicios y problemas similares a los planteados en las prácticas de laboratorio y trabajos tutelados.

Atención personalizada
Metodologías
Prácticas de laboratorio
Trabajos tutelados
Descripción
La atención personalizada al estudiantado comprende no sólo las clásicas tutorías, presenciales o virtuales, para la discusión de dudas, sino también las siguientes actuaciones:

- Orientación y seguimiento de la labor realizada en los trabajos y prácticas.
- Valoración de la participación e implicación en las sesiones de discusión dirigida.

Evaluación
Metodologías Competéncias Descripción Calificación
Prácticas de laboratorio A25 A27 A28 B1 B2 B4 C4 C6 Evaluación de las prácticas realizadas de forma continua a lo largo del curso. A pesar de que las prácticas se realizarán en grupos, cabe diferenciar dos componentes en la evaluación de las prácticas de un estudiante:

- Valoración del trabajo en grupo, en la que se califica el grado de coordinación, colaboración y compenetración entre sus integrantes.
- Valoración personal, en la que se califica la aportación concreta del estudiante al grupo.

Entre los aspectos a considerar a la hora de valorar las prácticas, se encuentran:

- Rigor en la consecución de los objetivos perseguidos usando las técnicas propuestas.
- Asimilación de los conceptos perseguidos.
- Originalidad en las propuestas.
- Responsabilidad en la entrega de las prácticas en tiempo y forma, así como en el uso apropiado de los recursos habilitados al efecto.
40
Prueba objetiva A27 A28 B1 B3 C6 Prueba escrita dividida en dos bloques: cuestiones teóricas y un problema de modelado. 40
Trabajos tutelados A27 A28 B1 B3 B4 C3 C6 Se valorarán los siguientes aspectos:

- Dominio de los contenidos de los trabajos propuestos.
- Dominio de los conocimientos teóricos y operativos de la materia.
20
 
Observaciones evaluación

Se considerará necesario que el estudiantado muestre un equilibrio en su rendimiento entre la prueba objetiva y las prácticas de laboratorio. Así pues, se exigirá a cada persona que su calificación en ambas partes supere el 50% del peso relativo como condición imprescindible para la superación de la asignatura. En caso de no alcanzar el mínimo exigido en el examen de teoría, la nota final será la obtenida en el examen de teoría. En caso de no
alcanzar el mínimo exigido en las prácticas de laboratorio, la nota final será un 4.

En la convocatoria de segunda oportunidad, la prueba
escrita podrá ir acompañada de una actividad de evaluación de las prácticas para
aquellas personas que no lleguen al 50% en la evaluación de éstas en la primera oportunidad.

De acuerdo con la normativa de la UDC en relación al estudiantado matriculado a
tempo parcial, el régimen de asistencia a clase no afectará negativamente
al proceso de evaluación, admitiéndose en esta asignatura la dispensa
académica para la asistencia, solicitada por las vías institucionales
habilitadas al efecto. Sin embargo, esta flexibilidad asistencial no eximirá
de la entrega de trabajos tutelados y prácticas de laboratorio en los mismos plazos fijados
para el estudiantado a tiempo completo, toda vez que todos los anuncios e información
de relevancia relacionada con ellas constará por escrito en el Moodle de la
asignatura.


Fuentes de información
Básica Hébert, Fred (2013). Learn you some Erlang for great good : a beginner's guide. No Starch Press
Bruce A. Tate [et al.] (2014). Seven more languages in seven weeks : languages that are shaping the future. The Pragmatic Boolshelf
Clements, Paul [et al.] (2003). Documenting software architectures : views and beyond. Addison-Wesley
Hohpe, Gregor (2004). Enterprise integration patterns designing, building and deploying messaging solutions. Addison-Wesley
Sommerville, Ian (2011). Ingeniería de software. Addison Wesley
Schmidt, Douglas [et al.] (2000). Pattern-oriented software architecture. John Wiley & Sons
Fowler, Martin (2003). Patterns of enterprise application architecture. Addison-Wesley
Bass, Len [et al.] (2003). Software architecture in practice. Addison-Wesley
Braude, Eric J. (2001). Software engineering an object-oriented perspective. John Wiley & Sons

Complementária


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Diseño Software/614G01015
Proceso Software/614G01019
Internet y Sistemas Distribuidos/614G01023

Asignaturas que se recomienda cursar simultáneamente
Ingeniería de Requisitos/614G01027
Aseguramiento de la Calidad/614G01028

Asignaturas que continúan el temario
Marcos de Desarrollo/614G01052
Validación y Verificación del Software/614G01053
Herramientas de Desarrollo/614G01054

Otros comentarios


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías