Contenido de XSL

Ingeniería del Software II

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

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

ObjetivosAlternar 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.

TemarioAlternar 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

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.

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

10:30-12:00

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-5

09:00-10:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

09:00-10:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

10:30-12:00

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

17:00-18:30

15:30-17:00

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-5

14:00-15:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
6-15

15:30-17:00

Profesorado