Proyecto de Ingeniería del Software

Usted está aquí

Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería del Software)
Requisitos
  • Prerrequisito: AS
  • Prerrequisito: ER
  • Prerrequisito: GPS
Departamento
ESSI
El Proyecto es la actividad más habitual de la ingeniería en su desarrollo profesional, incluso en muchas empresas todo el trabajo de ingeniería se organiza en torno a los proyectos. Y la ingeniería informática no está al margen de esta tendencia, por el contrario, está bien presente. Dentro de la especialidad de ingeniería del software, esta asignatura está pensada para reproducir, en la medida de lo posible, la actividad de desarrollo de proyectos de sistemas software tal como sucede en el entorno profesional, es decir, alrededor de un equipo de proyecto con roles diferenciados, y teniendo en cuenta todos los aspectos de la gestión de un proyecto: planificación, costes, plazos, entregables, actas de reuniones, presentaciones orales, etc ... Se trata pues de una asignatura completamente práctica. Las técnicas necesarias ya han sido adquiridas en asignaturas previas (GPS, ER, AS y precedentes), y en PES las pondrán en práctica en la realización de un proyecto sobre un caso que se presentará.

Profesorado

Responsable

  • Silverio Juan Martínez Fernández ( )

Otros

  • Jordi Piguillem Poch ( )
  • María José Casañ Guerrero ( )
  • Matías Sebastián Martínez Martínez ( )
  • Víctor Asenjo Carvajal ( )
  • Xavier Franch Gutiérrez ( )

Competencias

Competencias Transversales

Trabajo en equipo

  • G5 [Avaluable] - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
    • G5.3 - Identificar los papeles, habilitados y carencias de los diferentes miembros del grupo. Proponer mejoras en la estructura del grupo. Interactuar con eficacia y de forma profesional. Negociar y gestionar conflictos en el grupo. Reconocer y dar soporte o asumir el papel de líder en el grupo de trabajo. Evaluar y presentar los resultados del trabajo de grupo. Representar al grupo en negociaciones con terceros. Capacidad de colaborar en un entorno multidisciplinar. Conocer y saber aplicar las técnicas para promover la creatividad.

Comunicación eficaz oral y escrita

  • G4 [Avaluable] - Comunicar de forma oral y escrita con otras personas conocimientos, procedimientos, resultados e ideas. Participar en debates sobre temas propios de la actividad del ingeniero técnico en informática.
    • G4.3 - Comunicarse de manera clara y eficiente en presentaciones orales y escritas sobre temas complejos, adaptándose a la situación, al tipo de público y a los objetivos de la comunicación utilizando las estrategias y los medios adecuados. Analizar, valorar y responder adecuadamente a las preguntas del auditorio.

Competencias Técnicas de cada especialidad

Especialidad ingeniería del software

  • CES1 - Desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario, que se comporten de forma fiable y eficiente, que tengan un desarrollo y mantenimiento asequible y que cumplan normas de calidad, aplicando las teorías, los principios, los métodos y las prácticas de Ingeniería del Software.
    • CES1.1 - Desarrollar mantener y evaluar sistemas y servicios software complejos y/o críticos.
    • CES1.3 - Identificar, evaluar y gestionar los riesgos potenciales asociados a la construcción de software que pudiesen presentarse.
    • CES1.7 - Controlar la calidad y diseñar pruebas en la producción de software.
  • CES2 - Valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables, dentro de las limitaciones derivadas del costo, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
    • CES2.1 - Definir y gestionar los requisitos de un sistema software.
    • CES2.2 - Diseñar soluciones apropiadas en uno o más dominios de aplicación, utilizando métodos de ingeniería del software que integren aspectos éticos, sociales, legales y económicos.

Objetivos

  1. Reforzar los conceptos ya adquiridos en asignaturas previas mediante su puesta en práctica en un proyecto
    Competencias relacionadas: CES1.1, CES2.1, CES2.2, G5.3, CES1.7,
  2. Saber poner en práctica los principios de la gestión de proyectos
    Competencias relacionadas: CES1.1, CES2.2, G5.3, CES1.3,
  3. Saber hacer un seguimiento sistemático y disciplinado de un método
    Competencias relacionadas: CES1.1, G5.3,
  4. Saber usar correctamente herramientas de apoyo a la gesión y desarrollo del proyecto
    Competencias relacionadas: CES2.2, CES1.7,
  5. Saber hacer diferentes presentacions del proyecto a públicos diferenciados
    Competencias relacionadas: G4.3, G5.3,
  6. Saber redactar la memoria técnica del proyecto, así como otros documentos resultado del trabajo
    Competencias relacionadas: G4.3, G5.3,

Contenidos

  1. Presentación del proyecto
    Descripción del funcionamiento, enunciado, guía del proyecto, formación de los equipos de proyecto
  2. Antecedentes
    Breve resumen del conocimiento adquirido en asignaturas previas que es relevante para la realización del proyecto
  3. Entorno de desarrollo
    Descripción de la herramienta de desarrollo necesarias para el proyecto
  4. Fase de incepción del proyecto
    Desarrollo de los artefactos propios de la fase de incepción del proyecto
  5. Fase inicial de desarrollo del proyecto
    Desarrollo de los artefactos propios de las dos primeras iteraciones de desarrollo del proyecto
  6. Fase final de desarrollo del proyecto
    Desarrollo de los artefactos propios de las dos últimas iteraciones del proyecto

Actividades

Actividad Acto evaluativo


Puesta en marcha del proyecto

Lee el material, forma equipos de proyecto y asignan roles
  • Laboratorio: Leer y entender el material, formar grupos, asignar roles, primer contacto con las herramientas
Objetivos: 2 3
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Antecedentes

Recapitular los conocimientos necesarios para la realización del proyecto
Objetivos: 1
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Configuración del entorno de desarrollo

Familiarizarse con las herramientas
Objetivos: 4
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Fase de incepción del proyecto

Los equipos de proyecto desarrollan el proyecto con el apoyo del profesor tutor para dudas y consultas
  • Laboratorio: Es el trabajo semanal de ir construyendo la fase inicial del proyecto, incluye la presentación.
  • Aprendizaje autónomo: Trabajo autónomo de los equipos de proyecto
Objetivos: 1 2 3 4 6
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
16h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Fase inicial de desarrollo del proyecto

Los equipos de proyecto desarrollan el proyecto con el apoyo del profesor tutor para dudas y consultas
  • Laboratorio: Es el trabajo semanal de ir construyendo la fase inicial del proyecto.
  • Aprendizaje autónomo: Trabajo autónomo de los equipos de proyecto
Objetivos: 1 2 3 4 6
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
16h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Fase final del proyecto

Los equipos de proyecto desarrollan el proyecto con el apoyo del profesor tutor para dudas y consultas
  • Laboratorio: Es el trabajo semanal de ir construyendo la fase final del proyecto, incluye la presentación.
  • Aprendizaje autónomo: Trabajo autónomo de los equipos de proyecto
Objetivos: 1 2 3 4 6
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
16h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Entrega fase de incepción

Documentación relativa al alcance del proyecto, los usuarios interesados y planificación inicial
Objetivos: 1 2 3 4 6
Semana: 4
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
6h

Presentación inicial del proyecto

Presentación orientada a cliente, donde hay que explicar la funcionalidad del sistema software que se hará, sobre qué plataforma, y a quien va dirigida
Objetivos: 5
Semana: 4
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Control intermedio de la progresión del proyecto

Evaluación de las dos primeras iteraciones de desarrrollo del proyecto según unos criterios pre-establecidos
Objetivos: 1 2 3 4 6
Semana: 10
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
2h

Presentación final del proyecto

Presentación orientada a ingenieros, donde hay que explicar su contenido técnico
Objetivos: 5
Semana: 14
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Entrega final del proyecto

Entrega de la documentación final del proyecto y demostración de un prototipo
Objetivos: 1 2 3 4 6
Semana: 14
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
6h

Metodología docente

Es una asignatura de proyecto, y por tanto eminentemente práctica. Las clases serán siempre en aulas de laboratorio, con un número esperado de 3 a 5 equipos de proyecto por aula. Los equipos de proyecto estarán formados por 5 a 7 estudiantes, para permitir la implementación de un prototipo no trivial.

Las explicaciones de conceptos requeridos (la mayor parte al principio, pero también en cualquier momento cuando es necesario) se harán en la misma aula. El profesor, en el aula, actuará como tutor de los equipos. Las dos presentaciones previstas se hacen también en horas de laboratorio.

El proyecto partirá de una idea general y tratará de reproducir el caso de un proyecto real, con todos sus elementos (plazos, entregables, gestión del proyecto, etc.). La metodología será ágil, organizada como una fase inicial de incepción y a continuación 3 ó 4 iteraciones de desarrollo. Los aspectos técnicos que se pondrán en práctica corresponden a las asignaturas precedentes (IES, BD, ER, AS, GPS)

Método de evaluación

En una asignatura de proyectos, lo que se califica es la realización del proyecto en sí. Éste se desarrolla en equipo, pero tambien los miembros del equipo tienen asignadas tareas diferentes que es necesario evaluar individualmente. Como resultado, la nota final de cada estudiante se determina a partir de la fórmula siguiente:

Nfinal = Nequip * FactIndiv

La nota global Nequip del proyecto tiene en cuenta la ambición del proyecto, los artefactos informáticos producidos, la gestión del equipo, la documentación y las presentaciones:

Nequip = (0.6*Artefactos + 0.2*GestiónProyecto + 0.2*(Docum+Presentaciones))*Ambición, donde:

- La nota de los artefactos es una suma ponderada de todos los artefactos. Como artefacto más importante, el prototipo ejecutable representa el 50% de esta nota.
- En la gestión del proyecto se incluyen tanto aspectos humanos (p.e., repartición equilibrada del trabajo, cumplimiento de plazos, ...) com el uso eficiente de las herramientas de desarrollo (p.e., repositorio de código –git–, ...).
- En la documentación i presentación se incluyen sobre todo aspectos comunicativos y de pulcritud (profesionalidad en el trabajo hecho).
- La ambición mide la complejidad final del software producido, y es un factor multiplicativo entre 0.8 y 1.2 determinado por el profesor. En todo caso, este factor multiplicativo no puede hacer crecer la nota Nequip por encima de 10.

El factor individual FactIndiv también es un factor multiplicativo entre 0.8 y 1.2 (e igualmente, no puede hacer crecer la nota final Nfinal por encima de 10). Este factor se obtiene a partir de la evaluación que hace el profesor sobre la participación del estudiante en la entrega y de la evaluación que hacen el resto de compañeros del grupo sobre la participación del estudiante en la entrega. En casos realmente excepcionales, FactIndiv puede ser menor que 0.8 para aquellos estudiantes amb muy baja dedicación al proyecto a lo largo de todo el curso

La evaluación de las competencias transversales se obtiene de:
Comunicación Oral y Escrita = (Docum+Presentaciones)*FactorIndiv
Trabajo en equipo = GestiónProjecte*FactorIndiv

y tiene unos valores A, B, C, D, según:
A si la nota es mayor que 8.4
B si la nota está entre 7 y 8.4
C si la nota está entre 5 y 6.9
D si la nota es inferior a 5

Bibliografía

Básica:

Complementaria:

Web links

Capacidades previas

Las adquiridas en las asignaturas pre-requisito de ésta