Logo UAB
2022/2023

Laboratorio Integrado de Software

Código: 102788 Créditos ECTS: 9
Titulación Tipo Curso Semestre
2502441 Ingeniería Informática OB 3 2
2502441 Ingeniería Informática OT 4 2

Contacto

Nombre:
Antonio Manuel Lopez Peña
Correo electrónico:
antoniomanuel.lopez@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
español (spa)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:
No

Otras observaciones sobre los idiomas

Hay varios profesores. Un/a profesor/a puede utilizar castellano y otro/a catalàn para dirigirse al alumnado, pero todos entienden castellano y catalán. La documentación puede estar o bien en castellano, o en catalán, o en inglés.

Equipo docente

Pablo Torrellas Perez
Rodolfo Alberto Guichon Aguilar

Prerequisitos

Esta asignatura tiene un carácter muy práctico, pero se basa en los fundamentos teóricos impartidos en otras asignaturas de la mención en Ingeniería del Software. Por lo tanto, si se quiere cursar esta asignatura con éxito, es necesario haber cursado previamente:

(1) Requisitos del software,
(2) Diseño de software,
(3) Gestión y Administración de Bases de Datos,
(4) Test y Calidad del Software,
(5) Gestión del Desarrollo de Software (esta se puede cursar paralelamente, no es necesario haberla cursado previamente).

Objetivos y contextualización

Esta asignatura quiere proporcionar una experiencia útil al alumnado respecto a lo que se pueden encontrar a la hora de desarrollar proyectos software profesionalmente. Por lo tanto, desde el punto de vista del alumnado, se trata de desarrollar un proyecto software completo y relativamente largo. Además, el proceso de desarrollo será tan o más importante que el resultado final (producto software). Por tanto, el software se deberá desarrollar de la forma más profesional posible, en particular, aplicando las mejores prácticas y trabajando en equipo.

Así, los objetivos de la asignatura son:

1. Trabajar en un equipo relativamente grande, compuesto de sub-equipos con diferentes responsabilidades.
2. Aplicar los conocimientos teóricos que constituyen las mejores prácticas del desarrollo de software.
3. Desarrollar un software completo, es decir, desde el papel en blanco hasta una aplicación, con su documentación interna y externa, y que satisface los requisitos de un cliente.
4. Que el desarrollo de este software también sirva para adquirir experiencia en entornos SW actuales.

La aplicación desarrollada, y la manera en que se ha desarrollado, debería poder servir como "carta de presentación" curricular.

Competencias

    Ingeniería Informática
  • Adquirir hábitos de pensamiento.
  • Adquirir hábitos de trabajo personal.
  • Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
  • Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse.
  • Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
  • Trabajar en equipo.

Resultados de aprendizaje

  1. Adaptarse a situaciones imprevistas.
  2. Asumir y respetar el rol de los diversos miembros del equipo, así como los distintos niveles de dependencia del mismo.
  3. Definir y gestionar la documentación que se genera durante el desarrollo de una aplicación software.
  4. Desarrollar el pensamiento sistémico.
  5. Diseñar una arquitectura de un sistema informático basado en componentes.
  6. Diseñar una arquitectura que permita solucionar de manera óptima el problema especificado, teniendo en cuenta los riesgos asociados.
  7. Evaluar de forma crítica el trabajo realizado.
  8. Gestionar el tiempo y los recursos disponibles. Trabajar de forma organizada.
  9. Identificar, gestionar y resolver conflictos.
  10. Planificar la integración de las diferentes componentes desarrolladas en el proceso de codificación.
  11. Resolver problemas de integración del software con iniciativa y autonomía.
  12. Saber comunicar y transmitir conocimientos, habilidades y destrezas relativos a la integración del software.
  13. Seleccionar y utilizar las herramientas CASE adecuadas a cada fase de desarrollo del software.
  14. Tomar decisiones propias.
  15. Trabajar cooperativamente.

Contenido

En esta asignatura no buscamos añadir más contenido teórico a lo que ya se desarrolla en las otras asignaturas de la mención de Ingeniería del Software. Es decir, ya se asumen los conocimientos teóricos de la captura de requisitos, el diseño y codificación orientado a objeto, la gestión y administración de bases de datos, el test y calidad del software, y la gestión del desarrollo. Se trata de poner todo esto en práctica para desarrollar una aplicación concreta. Por lo tanto, como contenidos nuevos hay dos aspectos:

1. El trabajo en equipo: roles y responsabilidades de un equipo software, reuniones, presentaciones, etc.
2. Métodos ágiles de desarrollo de software.

Metodología

Esta asignatura se enfoca a desarrollar una aplicación software de la forma más realista posible. Por lo tanto, se hace un aprendizaje basado en un caso práctico. De hecho habrá un caso práctico para cada equipo de prácticas. Un equipo estará formado por un conjunto de entre 6 y 9 estudiantes. Por un lado esto significa que habrá mucho trabajo autónomo, pero, por otro lado, también habrá mucho trabajo de equipo. Así, la tipología de las clases apoyará el trabajo de equipo y el desarrollo de software basado en un proceso ágil. En particular, tendremos:

Clases de teoría. Están destinadas a complementar los aspectos no cubiertos por las otras asignaturas de la mención de Ingeniería del Software, principalmente el trabajo en equipo.

Reuniones de proyecto. Cualquier equipo que desarrolle una aplicación determinada, estará dividido en sub-equipos con diferentes responsabilidades (p.e., jefes de proyecto, responsables de pruebas, responsables de diseño y codificación, etc.). Estos sub-equipos deben reunirse y discutir el estado del proyecto desde los diferentes puntos de vista.

Clases de presentación. Cada equipo tiene que hacer presentaciones públicas (para el resto de equipos) regulares sobre el estado de su proyecto.

Todas las comunicaciones con el alumnado se harán mediante los mecanismos habilitados en el Campus Virtual y MS-Teams.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases de teoría 15 0,6 2, 15
Presentaciones 16 0,64 7, 12
Reuniones de proyecto 40 1,6 1, 2, 7, 3, 6, 9, 10, 11, 13, 15
Tipo: Autónomas      
Estudio para los exámenes individuales 16 0,64 7
Tareas asignadas al proyecto 134 5,36 1, 2, 7, 3, 4, 5, 6, 8, 9, 10, 14, 11, 13, 15

Evaluación

La evaluación es continua y se basará en las siguientes notas:

1) Desarrollo de la aplicación: Cabe destacar que no sólo se valora el resultado final, es decir, la aplicación en sí misma, sino que también se valora, y mucho, el proceso de desarrollo de ésta. Por tanto, tendrá mucha importancia la valoración continua del trabajo mostrados en las reuniones regulares de proyecto y, especialmente, en el estado del desarrollo en fechas preestablecidas. En particular existen dos evaluaciones parciales referentes al desarrollo de la aplicación. Las notas correspondientes son DA1 y DA2.

2) Presentaciones de equipo: Al finalizar el curso, la aplicación desarrollada y la metodología seguida para hacerlo se expondrán a toda la clase y al profesorado mediante una “presentación final” que será evaluada. Aquí hacemos hincapié en que se evalúa la presentación como tal. La nota correspondiente es PE.

3) Evaluaciones individuales: Se realizarán evaluaciones individuales para conocer el grado de participación real de cada estudiante en la aplicación que desarrolla su equipo. En particular existen dos evaluaciones parciales de este tipo. Las notas correspondientes son I1 y I2.

Para aprobar la asignatura, deben aprobarse por separado todos estos apartados. Es decir, DA1>=5 y DA2>=5, PE>=5, I1>=5 y I2>=5, donde DA1, DA2, PE, I1, y I2 son notas sobre 10. Si esto se cumple, entonces la nota final, NF, se calcula como:

[Oportunidad 1] NF = 0.1 DA1 + 0.5 DA2 + 0.15 PE + 0.1 I1 + 0.15 I2 + Extra

ATENCIÓN: En casos extremos en los que un/a estudiante sistemáticamente no hace su trabajo o tiene una contribución marginal (I1<5 o I2<5), el estudiante tendrá la asignatura suspendida. Si I1<5 pero I2>=5, el/la estudiante puede tener una segunda oportunidad de aprobar la asignatura. En particular, el profesorado evaluará con el equipo correspondiente si, aunque el/la estudiante empezó mal (I1<5) el resto del curso ha mejorado significativamente (I2>=5). Si I1>=5 pero I2<5, el/la estudiante puede tener una segunda oportunidad de aprobar la asignatura. Se procederá como en el caso anterior, para discernir si, aunque el/la estudiante ha terminado el curso peor de como lo comenzó (I2<5<=I1), se dieron circunstancias que posibilitan que el/la estudiante apruebe la asignatura de forma merecida.

ATENCIÓN: Si PE<=5 y durante el curso el equipo ha realizado sus presentaciones regulares, entonces habrá una segunda oportunidad para realizar la presentación de equipo.

ATENCIÓN: Si DA1<5 o DA2<5, todos los miembros del equipo estarán suspendidos. Si DA1<5 pero DA2>=5, el profesorado valorará si el equipo merece una segunda oportunidad. Esta segunda oportunidad consistiría en anular la condición DA1>=5. Si DA2<5, no hay segunda oportunidad.

Si, finalmente, un/una estudiante suspende, entonces su nota final (NF) será max(0, min(I1,I2,PE,DA1,DA2)). Se entiende que los/las estudiantes “No Evaluables” sólo son aquellos/as que no se han sometido a ninguna actividad de evaluación.

El número de MH (Matrícula de Honor) que se puede conceder es proporcional al número de estudiantes matriculados/as. Para poder obtener MH el/la estudiante debe cumplir NF>9.5 al momento de la Oportunidad 1. Digamos que se pueden otorgar "N" MH. A partir de ahí, si hay más de N candidatos/as, el profesor examinará la trayectoria de los/las estudiantes candidatos/as a MH y seleccionará los/las N. Por lo tanto, es el profesor quien evalúa las evidencias que considere más oportunas (trabajo continuado, relevancia dentro del equipo, NF, etc.) para tomar la decisión final.

Las aplicaciones que se desarrollan son propuestas por los/las estudiantes de forma individual y surgen de un proceso de selección basado en presentaciones y votaciones. Por lo tanto, durante esta primera fase, las competencias transversales T01 y T02 son muy importantes. De hecho, el/la estudiante que propone una aplicación que pasa todo el proceso (es decir, se convierte en una aplicación que se llevará a cabo por un equipo), es nombrado jefe/a de equipo y recibe 1 punto "Extra" (ver NF en Oportunidad 1). Hablando de competencias transversales, nótese que toda la asignatura está inherentemente ligada a T03. DA1, DA2, y PE cuantifican esta competencia en particular. Además, el/la jefe/a de equipo puede distribuir 1 punto "Extra" (ver NF en Oportunidad 1) entre los miembros del equipo con una contribución más significativa vista desde dentro del equipo.

Cabe destacar también que los/las repetidores/as no recibirán ningún trato especial, deben cursar la asignatura como el resto del alumnado.

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, se calificarán con un cero las irregularidades cometidas por un/una estudiante que puedan conducir a una variación de la cualificación de un acto de evaluación. Por lo tanto, plagiar, copiar o dejar copiar una práctica o cualquier otra actividad de evaluación implicará suspender con un cero y no se podrá recuperar en el mismo curso académico. Si esta actividad tiene una nota mínima asociada, entonces la asignatura quedará suspendida.

 

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Desarrollo de la aplicación (DA1 y DA2) 60% (DA1: 10%, DA2: 50%) 0 0 1, 2, 7, 3, 4, 5, 6, 8, 9, 10, 14, 11, 12, 13, 15
Evaluaciones individuales (I1 y I2) 25% (I1: 10% , I2: 15%) 2 0,08 3, 5, 6, 10, 11, 12, 13
Presentación de equipo (PE) 15% 2 0,08 12

Bibliografía

A la bibliografía propia del resto de las asignaturas de la mención de Ingeniería del Software, se debe añadir: "Crystal Clear: A Human-Powered Methodology for Small Teams",  A. Cockburn.

 

Software

Cada equipo buscará el que más le convenga para desarrollar su aplicación.