Ruta de navegación

Contenido de XSL

Ingeniería del Software II26215

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2023/24
Curso
X
Nº Créditos
6
Idiomas
Castellano
Euskera
Código
26215

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4040
P. de Aula515
P. Laboratorio1535

Guía docenteAlternar navegación

Descripción y Contextualización de la AsignaturaAlternar navegación

Esta asignatura comparte el nombre con la especialidad: "Ingeniería del Software". Es una de las 8 asignaturas obligatorias de la misma especialidad y se imparte en el primer cuatrimestre.



El objetivo principal de la asignatura es profundizar en el diseño, implementación y prueba de aplicaciones ya tratado en la asignatura obligatoria de segundo curso "Ingeniería del Software I". Por lo tanto, para cursar esta asignatura es muy recomendable haber cursado previamente la asignatura de segundo curso "Ingeniería del Software".



En la asignatura previa se ha acometido el desarrollo de una aplicación distribuida aplicando el proceso unificado de desarrollo de software y SCRUM, y se han utilizado tecnologías que podrían considerarse básicas.



En esta asignatura también se acometerá el desarrollo de un proyecto haciendo hincapié en aspectos relacionados con las pruebas, el diseño y el mantenimiento del software. Desde el punto de vista de implementación, se utilizarán tecnologías más complejas y potentes basadas en frameworks, que permiten construir aplicaciones web usando el patrón Modelo-Vista-Controlador.

Competencias/ Resultados de aprendizaje de la asignaturaAlternar navegación

Una vez superada la asignatura, el alumno o alumna deberá haber adquirido determinadas competencias específicas de la materia relacionadas con la gestión sistemática de pruebas, el mantenimiento del software, el diseño de software de calidad aplicando patrones de diseño y la implementación utilizando frameworks. Son cuatro los resultados de aprendizaje esperados:



* Conocer la existencia de metodologías de pruebas para afrontar la enorme complejidad que puede alcanzar su gestión en un proyecto informático.



* Experimentar la necesidad de aplicar una metodología para el mantenimiento de un proyecto informático. En el ciclo de vida de un proyecto software el 80% constituye la fase de mantenimiento.



* Entender la necesidad de utilizar patrones de diseño en el desarrollo software. Un patrón es una solución general a un problema en particular. Cuanto más complejas son las aplicaciones, el uso de patrones facilitará el desarrollo de software de calidad.



* Saber abordar las dificultades de una correcta interpretación de la especificación de diseño de un sistema informático y de su traducción en un desarrollo correcto.

Contenidos teórico-prácticosAlternar navegación

TEMA 1: Pruebas software

1.1- Diseño de las pruebas

1.2.- Implementación de las pruebas

TEMA 2: Mantenimiento software

2.1.- Tipos de mantenimiento

2.2.- Refactorización

TEMA 3: Diseño avanzado

3.1.- Principios SOLID de la orientación a objetos

3.2.- Patrones de diseño

TEMA 4: Frameworks

4.1.- JSF: construcción de aplicaciones web usando el patrón MVC

4.2.- Hibernate: una herramienta de mapeo objeto-relacional

MetodologíaAlternar navegación

El desarrollo de un proyecto será la actividad motriz de la asignatura. Durante parte de la asignatura, se utilizará la metodología de aprendizaje basada en proyectos. En algunas clases se impartirán los contenidos teóricos mínimos para acometer el proyecto, se realizarán varios laboratorios, se realizarán prácticas en aula, y se propondrán diferentes ejercicios siempre enfocados al desarrollo del proyecto. Finalmente, los proyectos deberán ser defendidos.

Sistemas de evaluaciónAlternar navegación

  • Sistema de Evaluación Continua
  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Realización de prácticas (ejercicios, casos o problemas) (%): 60
    • Trabajos individuales (%): 40

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar navegación

Durante la convocatoria ordinaria, se puede escoger entre el método de evaluación continua o evaluación final. Por defecto el alumno o alumna está enmarcado dentro del método de evaluación continua. Sin embargo, antes de la semana 9 desde el comienzo de la asignatura puede renunciar a la evaluación continua presentando un escrito al profesor/a responsable de la asignatura. Para esa fecha se habrá evaluado al menos el 60% de la asignatura. A continuación se muestra la ponderación de las actividades a realizar según el tipo de evaluación:



EVALUACIÓN GLOBAL



%70 Examen final

%30 Desarrollo y defensa de un proyecto



- El desarrollo del proyecto es una condición necesaria para superar la asignatura. El proyecto estará disponible desde la primera semana de inicio del curso. La entrega del proyecto tendrá lugar al final de la semana 15ª de clases, al final del periodo lectivo. Se recomienda que el alumno/a se ponga en contacto con el profesor antes del 1 de noviembre para realizar un seguimiento de la evolución del proyecto. Para aprobar la asignatura habrá que aprobar individualmente tanto el proyecto como el examen.



EVALUACIÓN CONTINUA



El peso en la evaluación del tema 1 será el 30%, el del tema 2 el 10%, el del tema 3 el 20% y el del tema 4 el 40%. A lo largo de esos temas se irá desarrollando un proyecto y realizando una serie de trabajos y prácticas individuales.



El alumnado dispone de hasta un mes antes de la fecha de finalización del periodo docente de la asignatura para renunciar a la evaluación continua presentando un escrito al profesor/a responsable de la asignatura.

Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

La evaluación de la convocatoria extraordinaria se realizará de la siguiente forma:



%70 Examen final

%30 Desarrollo y defensa de un proyecto



El desarrollo del proyecto es una condición necesaria para superar la asignatura. El proyecto estará disponible desde la novena semana de inicio del curso. La entrega del proyecto tendrá lugar como máximo una semana antes del examen. Se recomienda que el alumno/a se ponga en contacto con el profesor/a antes del 1 de abril para realizar un seguimiento de la evolución del proyecto.

Para aprobar la asignatura habrá que aprobar individualmente tanto el proyecto como el examen.

Materiales de uso obligatorioAlternar navegación

El material disponible en el aula virtual (eGela) de la asignatura.

BibliografíaAlternar navegación

Bibliografía básica

Libro general sobre Ingeniería del Software



Ingeniería del Software. Un enfoque práctico. Roger S. Pressman. MacGraw-Hill, 2001. 7ª Edición.McGraw-Hill. Este libro, cuya primera edición es nada menos que de 1982, se ha ido reinventando a lo largo de los años y manteniéndose como referencia fundamental. Su cobertura es mucho más amplia que el programa de la asignatura, por lo que está recomendado únicamente como lectura de referencia. La 7ª edición es de 2010, y está disponible en inglés y castellano.



Libro sobre pruebas



JUnit in action second Edition. P. Tahchiev, F. Leme, V. Massol, G.Gregory. Manning Pres. 2011. En este libro de presenta el framework de pruebas JUnit. Viene acompañado de una sería de ejemplo de utilización, así como su utilización en diferentes contextos.



Libro sobre mantenimiento



Refactoring: Improving the Design of Existing Code. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts. Addison-Wesley. 2000. Este libro es un clásico en el área del mantenimiento software. Describe una taxonomía de patrones de refactorización y cuáles son sus soluciones.



Libros sobre diseño avanzado



Head First Design Patterns. E. Freeman, E. Robson, B. Bates, K. Sierra. O'Reilly 2000. Desde mi punto de vista el mejor libro sobre patrones de diseño. En la web de Amazon, lo valoran con la máxima calificación (5*) con más de 20 evaluaciones. Un libro de referencia sin lugar a duda.



Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall. Este texto está estructurado como un proyecto software, en forma de iteraciones. Contiene explicaciones muy intuitivas y sus capítulos, secciones y apartados son claros y breves.



Libros sobre Implementación:



A continuación se enumeran los libros que consideramos más relevantes para cada una de las tecnologías que se utilizan en la asignatura:



Professional Java Development with the Spring Framework. R. Johnson, J. Hoeller, A. Arendsen, T. Risberg, C.Sampaleanu. Wrox 2005.



POJOs in Action. Developing Enterprise Applications with Lightweight 
Frameworks. C. Richardson. Manning 2005.



Java Persistence with Hibernate. Second Edition of Hibernate in Action. C. Bauer, 
Gavin King. Manning 2006.

GruposAlternar navegación

01 Teórico (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:00-13:30 (1)

10:30-12:00 (2)

Profesorado

01 P. de Aula-1 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-5

09:00-10:30 (1)

Profesorado

01 P. Laboratorio-1 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

09:00-10:30 (1)

Profesorado

01 P. Laboratorio-2 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

10:30-12:00 (1)

Profesorado

46 Teórico (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

17:00-18:30 (1)

15:30-17:00 (2)

Profesorado

46 P. de Aula-1 (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-5

14:00-15:30 (1)

Profesorado

46 P. Laboratorio-1 (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

15:30-17:00 (1)

Profesorado