Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras...

9
Fundamentos de Ingeniería de Software Universidad de Valladolid 1 de 9 Guía docente de la asignatura Asignatura FUNDAMENTOS DE INGENIERÍA DE SOFTWARE Materia ENTORNO SOFTWARE Módulo Titulación Grado en INGENIERÍA INFORMÁTICA Grado en INGENIERÍA INFORMÁTICA DE SISTEMAS Plan 463 y 464 Código 45188 y 45248 Periodo de impartición S2 Tipo/Carácter OB Nivel/Ciclo Grado Curso 1 Créditos ECTS 6 Lengua en que se imparte Español Profesor/es responsable/s Miguel A. Laguna Serrano, Félix Prieto Arambillet, Yania Crespo, Esperanza Manso Datos de contacto (E-mail, teléfono…) mlaguna[at]infor.uva.es, felix[at]infor.uva.es, yania[at]infor.uva.es, manso[at]infor.uva.es Horario de tutorías Enlace al horario de tutorías Departamento Informática 1. Situación / Sentido de la Asignatura 1.1 Contextualización Esta asignatura, al estar integrada en el primer curso de ingeniería informática, pretende hacer énfasis en el enfoque de ingeniería de software. La asignatura presentará la ingeniería de software como un medio para resolver problemas de los clientes, garantizando la calidad del producto entregado. El reto será motivar a los estudiantes con el aprendizaje de técnicas básicas de ingeniería de software antes de saber mucho acerca de programación. 1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que componen la ingeniería de software y que se desarrollan en asignaturas de cursos posteriores. En lugar de dar una visión superficial de muchas técnicas se propone una visión parcial pero no trivial de los aspectos fundamentales de las disciplinas de análisis, diseño, implementación y pruebas. 1.3 Prerrequisitos Aunque no se han establecido prerrequisitos, es recomendable que el alumno posea conocimientos básicos de programación. En particular haber cursado la asignatura de Fundamentos de Programación. Se requiere una buena disposición para el trabajo en equipo. Es recomendable disponer de un nivel de inglés que permita al estudiante leer bibliografía de consulta.

Transcript of Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras...

Page 1: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 1 de 9

Guía docente de la asignatura

Asignatura FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

Materia ENTORNO SOFTWARE

Módulo

Titulación Grado en INGENIERÍA INFORMÁTICA Grado en INGENIERÍA INFORMÁTICA DE SISTEMAS

Plan 463 y 464 Código 45188 y 45248

Periodo de impartición S2 Tipo/Carácter OB

Nivel/Ciclo Grado Curso 1

Créditos ECTS 6

Lengua en que se imparte Español

Profesor/es responsable/s Miguel A. Laguna Serrano, Félix Prieto Arambillet, Yania Crespo, Esperanza Manso

Datos de contacto (E-mail, teléfono…)

mlaguna[at]infor.uva.es, felix[at]infor.uva.es, yania[at]infor.uva.es, manso[at]infor.uva.es

Horario de tutorías Enlace al horario de tutorías

Departamento Informática

1. Situación / Sentido de la Asignatura

1.1 Contextualización

Esta asignatura, al estar integrada en el primer curso de ingeniería informática, pretende hacer énfasis en el

enfoque de ingeniería de software. La asignatura presentará la ingeniería de software como un medio para

resolver problemas de los clientes, garantizando la calidad del producto entregado. El reto será motivar a los

estudiantes con el aprendizaje de técnicas básicas de ingeniería de software antes de saber mucho acerca de

programación.

1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que componen la

ingeniería de software y que se desarrollan en asignaturas de cursos posteriores. En lugar de dar una visión

superficial de muchas técnicas se propone una visión parcial pero no trivial de los aspectos fundamentales de

las disciplinas de análisis, diseño, implementación y pruebas.

1.3 Prerrequisitos Aunque no se han establecido prerrequisitos, es recomendable que el alumno posea conocimientos básicos de

programación. En particular haber cursado la asignatura de Fundamentos de Programación. Se requiere una

buena disposición para el trabajo en equipo. Es recomendable disponer de un nivel de inglés que permita al

estudiante leer bibliografía de consulta.

Page 2: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 2 de 9

2. Competencias La asignatura recogerá los aspectos principios generales de la ingeniería de software: La resolución de

problemas, la abstracción, la división del sistema en componentes, la reutilización, conceptos de diseño,

pruebas, principios de evolución del software Se abarcará todo el ciclo de vida de un sistema software sencillo:

Requisitos, diseño, implementación con interfaces de usuario gráficas, revisión y verificación de software. Se

contemplarán cambios en los requisitos, informes y seguimiento de problemas, etc. Se utilizará UML como

lenguaje de modelado, utilizando modelos simples: Diagramas de casos de uso, de clases, de paquetes y de

comportamiento.

2.1 Generales • G02 Conocimientos básicos de la profesión

• G03 Capacidad de análisis y síntesis

• G04 Capacidad de organizar y planificar

• G05 Comunicación oral y escrita en la lengua propia

• G08 Habilidades de gestión de la información

• G09 Resolución de problemas

• G10 Toma de decisiones

• G11 Capacidad crítica y autocrítica

• G12 Trabajo en equipo

• G14 Responsabilidad y compromiso ético

• G15 Liderazgo

• G16 Capacidad de aplicar los conocimientos en la práctica

• G18 Capacidad de aprender

• G19 Capacidad de adaptarse a nuevas situaciones

• G20 Capacidad de generar nuevas ideas

• G21 Habilidad para trabajar de forma autónoma

2.2 Específicas • CI1 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos,

asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente

• CI8 Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente,

eligiendo el paradigma y los lenguajes de programación más adecuados.

• CI16 Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software.

Page 3: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 3 de 9

3. Objetivos • RA1 Entender el proceso de ingeniería aplicado a la construcción del software, incluyendo sus etapas

y objetivos, así como los procedimientos para determinar el nivel de consecución de los mismos. Aplicar estos

fundamentos a ejemplos de caso de uso sencillos.

• RA2 Entender el ciclo de vida del software y las alternativas de modelo de desarrollo existentes

• RA3 Conocer las técnicas y herramientas básicas de gestión del desarrollo de software

• RA4 Conocer los métodos, técnicas y herramientas que pueden aplicarse al desarrollo y

mantenimiento del software.

• RA5 Escribir documentos simples de requisitos y desarrollar, concisa y claramente, los requisitos de

sistema nuevo o existente, basado en las necesidades de los usuarios y otros interesados

• RA6 Diseñar software, para que se pueda cambiar fácilmente. Dibujar diagramas simples de diseños

de software.

• RA7 Escribir programas medianos en equipos, con interfaces gráficas de usuario simples.

• RA8 Entender los principios de calidad y conocer las técnicas específicas de validación y verificación.

• RA9 Realizar inspecciones de los programas de tamaño medio, probar y depurar sistemáticamente

programas pequeños

4. Tabla de dedicación del estudiante a la asignatura

ACTIVIDADES PRESENCIALES HORAS ACTIVIDADES NO PRESENCIALES HORAS

Clases teórico-prácticas (T/M) 28 Estudio y trabajo autónomo individual 60

Clases prácticas de aula (A) Estudio y trabajo autónomo grupal 30

Laboratorios (L) 24

Prácticas externas, clínicas o de campo

Seminarios (S) 6

Tutorías grupales (TG)

Evaluación 2

Total presencial 60 Total no presencial 90

Page 4: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 4 de 9

5. Bloques temáticos

Bloque 1: Especificación del sistema

Carga de trabajo en créditos ECTS: 3,6

a. Contextualización y justificación Después de una introducción general se estudian los aspectos fundamentales de requisitos y modelado

estático y dinámico de sistemas software.

b. Objetivos de aprendizaje

• Describir las características diferenciales del software y las diferencias entre los distintos tipos de software

• Describir el ciclo de vida del software

• Comprender la importancia de los estándares y enumerar los más importantes

• Diferenciar los requisitos funcionales y no funcionales de un sistema software

• Escribir un conjunto de requisitos sencillo, incluyendo casos de uso, utilizando plantillas

• Manejar los aspectos básicos de una herramienta de modelado de UML

• Identificar y describir los conceptos de un dominio utilizando el modelo objeto básico

• Identificar y describir las relaciones entre conceptos del dominio usando asociaciones

• Dibujar un modelo de dominio elemental usando una herramienta CASE

• Comprender las diferencias entre los distintos modelos dinámicos de UML

• Dibujar un diagrama de secuencia sencillo asociado a un caso de uso

• Dibujar un diagrama de estados elemental

c. Contenidos

1. INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE • Software • Conceptos básicos de la Ingeniería del Software • Ciclo de vida software • Estándares en Ingeniería del Software: La notación UML

2. REQUISITOS • Requisitos funcionales y no funcionales. • Técnicas de comunicación. • Casos de uso. • El documento de requisitos del sistema. • Herramientas de modelado

3. MODELADO DEL DOMINIO • El modelo Objeto • Clases y objetos en UML • Análisis: Identificación de las clases • Diagramas de clases • Modularidad: Paquetes y subsistemas

4. MODELADO DE LA INTERACCIÓN • Diagramas de interacción entre objetos • Realización de los casos de uso • Diagramas de estados • Estados, eventos y transiciones.

d. Métodos docentes Ver anexo. Métodos docentes

e. Plan de trabajo Ver cronograma al final

Page 5: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 5 de 9

f. Evaluación

INSTRUMENTO/PROCEDIMIENTO

PESO EN LA NOTA FINAL

OBSERVACIONES

Cuestionario de los primeras 2 unidades (15 minutos)

4 Semana 4

Entrega práctica (requisitos) 10 Semana 5

Cuestionario de la unidad 3 4 Semana 7

Entrega práctica (modelo de dominio) 10 Semana 8

Cuestionario de la unidad 4 4 Semana 10

Entrega práctica (modelo dinámico) 10 Semana 12

Examen sobre un supuesto práctico, resolución de ejercicios del tipo de los realizados en aula y laboratorio

40 (global) Periodo de exámenes (ordinario y extraordinario).

g. Bibliografía básica [Larman] Larman, C. “UML y Patrones. Introducción al Análisis y Diseño Orientado a Objetos y al Proceso Unificado”. Prentice Hall, 2002. (2ª ed.) [Pressman] Pressman, Roger S. "Ingeniería del software: un enfoque práctico MacGraw-Hill", 2010 (7ª ed.)

h. Bibliografía complementaria [Sommerville] Sommerville, I. "Ingeniería del software" Pearson, 2005 (7ª ed.) [Booch] Booch, G., Jacobson, I., Rumbaugh, J. “El Lenguaje Unificado de Modelado. Guía del usuario”. Addison-Wesley/Diaz de Santos, 2º edición, 2005

i. Recursos necesarios Herramientas de ingeniería de software proporcionadas a través de aula virtual

Bloque 2: Construcción del sistema Carga de trabajo en créditos ECTS: 1,6

a. Contextualización y justificación El segundo bloque presenta una visión de conjunto de las disciplinas que se utilizan para construir el software:

diseño, implementación y validación.

b. Objetivos de aprendizaje • Describir los tipos de arquitecturas software más comunes

• Saber seleccionar la arquitectura más adecuada para diseñar un sistema

• Diseñar una interfaz persona computadora sencilla

• Traducir un modelo estático de diseño a código en un lenguaje orientado a objeto

• Comprender la importancia de la validación y la verificación del software

• Describir los distintos tipos de pruebas y relacionarlas con el ciclo de desarrollo

• Escribir un plan de pruebas y llevarlo a cabo

c. Contenidos

Page 6: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 6 de 9

5. DISEÑO E IMPLEMENTACIÓN • Diseño del sistema • Tipos de Arquitecturas. • La interacción Hombre-Máquina. • Diseño de la interacción • Traducción de diseño a código

6. VERIFICACIÓN Y VALIDACIÓN • Validación: aceptación de requisitos • Verificación: Tipos de pruebas • Herramientas de pruebas

d. Métodos docentes Ver Anexo: Métodos docentes

e. Plan de trabajo Ver cronograma al final

f. Evaluación

INSTRUMENTO/PROCEDIMIENTO

PESO EN LA NOTA FINAL

OBSERVACIONES

Cuestionario de las unidades 5 y 6 4 Semana 14

Entrega práctica (pruebas) 10 Semana 16

Examen sobre un supuesto práctico, resolución de ejercicios del tipo de los realizados en aula y laboratorio

40 (global) Periodo de exámenes (ordinario y extraordinario).

g. Bibliografía básica [Larman] Larman, C. “UML y Patrones. Introducción al Análisis y Diseño Orientado a Objetos y al Proceso Unificado”. Prentice Hall, 2002. (2ª ed.) [Pressman] Pressman, Roger S. "Ingeniería del software: un enfoque práctico MacGraw-Hill", 2010 (7ª ed.)

h. Bibliografía complementaria [Sommerville] Sommerville, I. "Ingeniería del software" Pearson, 2005 (7ª ed.) [Booch] Booch, G., Jacobson, I., Rumbaugh, J. “El Lenguaje Unificado de Modelado. Guía del usuario”. Addison-Wesley/Diaz de Santos, 2º edición, 2005

i. Recursos necesarios Herramientas de ingeniería de software proporcionadas a través de aula virtual

Page 7: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 7 de 9

Bloque 3: Proceso de desarrollo

Carga de trabajo en créditos ECTS: 0,8

a. Contextualización y justificación El tercer bloque está dedicado al estudio del proceso de desarrollo de sistemas software, una vez que el

alumno dispone de una visión general de las distintas técnicas y disciplinas de desarrollo.

b. Objetivos de aprendizaje • Describir las diferencias entre las alternativas de desarrollo

• Describir el modelo de proceso iterativo en incremental

• Conocer al alguna herramienta de gestión

c. Contenidos 7. EL PROCESO DE DESARROLLO

• Métodos de desarrollo: alternativas • El Proceso Unificado de Desarrollo • Métodos ágiles • Herramientas de planificación y gestión

8. CASOS DE ESTUDIO • Estudio de un sistema de información • Estudio un sistema simple de control

d. Métodos docentes Ver Anexo: Métodos docentes

e. Plan de trabajo Ver cronograma al final

f. Evaluación

INSTRUMENTO/PROCEDIMIENTO

PESO EN LA NOTA FINAL

OBSERVACIONES

Cuestionario de la unidad 7 4 Semana 15

g. Bibliografía básica [Larman] Larman, C. “UML y Patrones. Introducción al Análisis y Diseño Orientado a Objetos y al Proceso Unificado”. Prentice Hall, 2002. (2ª ed.)

[Pressman] Pressman, Roger S. "Ingeniería del software: un enfoque práctico MacGraw-Hill", 2010 (7ª ed.)

h. Bibliografía complementaria [Sommerville] Sommerville, I. "Ingeniería del software" Pearson, 2005 (7ª ed.)

i. Recursos necesarios Herramientas de ingeniería de software proporcionadas a través de aula virtual

Page 8: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 8 de 9

6. Temporalización (por bloques temáticos)

BLOQUE TEMÁTICO CARGA ECTS

PERIODO PREVISTO DE DESARROLLO

Bloque 1 3,6 Semanas 1..9

Bloque 2 1,6 Semanas 10..13

Bloque 3 0.8 Semanas 14..15

Ver detalle en el cronograma de actividades

7. Tabla resumen de los instrumentos, procedimientos y sistemas de evaluación/calificación

INSTRUMENTO/PROCEDIMIENTO

PESO EN LA NOTA FINAL

OBSERVACIONES

Cuestionario de los primeras 2 unidades (15 minutos)

4 Semana 4

Entrega práctica (requisitos) 10 Semana 5

Cuestionario de la unidad 3 4 Semana 7

Entrega práctica (modelo de dominio) 10 Semana 8

Cuestionario de la unidad 4 4 Semana 10

Entrega práctica (modelo dinámico) 10 Semana 12

Cuestionario de las unidades 5 y 6 4 Semana 14

Cuestionario de la unidad 7 4 Semana 15

Entrega práctica (pruebas) 10 Semana 16

Examen sobre un supuesto práctico, resolución de ejercicios del tipo de los realizados en aula y laboratorio

40 Periodo de exámenes (ordinario y extraordinario). Será necesaria una calificación mínima de 4/10 en el examen sobre el supuesto práctico

Criterios de calificación

• Calificación final: Suma ponderada de los cuestionarios (20%), prácticas en parejas (40%) y examen

(40%), debiendo obtener una suma igual o mayor a 5. Será necesaria una calificación mínima de 4/10 en el examen.

o Si nota(examen) >= 4, Nota final= Suma ponderada o Si nota(examen) < 4, Nota final= mínimo(Suma ponderada; 4,5)

• Calificación de la convocatoria extraordinaria: se utilizará la misma fórmula de cálculo de la nota

final, o Obligatoriamente, se realizará un examen con el mismo formato que en la convocatoria

ordinaria o Opcionalmente, el alumno podrá realizar un cuestionario global que sustituye la nota

acumulada de los cuestionarios del curso o Opcionalmente, el alumno podrá volver a presentar cada una de las entregas prácticas que

sustituyen a las entregadas durante el curso

Page 9: Guía docente de la asignatura - inf.uva.es · PDF file1.2 Relación con otras materias La asignatura está planteada como una visión panorámica de las diferentes disciplinas que

Fundamentos de Ingeniería de Software

Universidad de Valladolid 9 de 9

Métodos docentes

Actividad Metodología Clase de teoría

• Clase magistral participativa • Estudio de casos en aula • Resolución de problemas (identificación de requisitos, construcción de modelos, etc.)

en pequeños grupos y discusión) Clase práctica

• Se utilizará un método basado en la realización de un proyecto, siguiendo un esquema paralelo al de los casos de estudio presentados en el aula y siempre guiado por el profesor, que encargará y controlará el trabajo no presencial que se realizará en grupos (2/3 alumnos), siguiendo un enfoque colaborativo.

Seminarios Tutorías

• Talleres de aprendizaje del manejo de herramientas en sesiones específicas. • Presentación y discusión de trabajos en grupo • Seguimiento de las prácticas desarrolladas en grupo.

9. Cronograma de actividades previstas

Semana Fecha Teoría Prácticas

Entrega Trabajos Evaluación

1 13/02/2012 Tema 1 2 20/02/2012 Tema 2 (Seminario) 3 27/02/2012 2 Requisitos 4 05/03/2012 Tema 3 Requisitos Test 1..2 5 12/03/2012 3 Requisitos Entrega 1

6 19/03/2012 3 (Seminario) Modelo Dominio

7 26/03/2012 Tema 4 Modelo Dominio Test 3

8 02/04/2012 4 Modelo Dominio Entrega 2 09/04/2012

9 16/04/2012 4 Modelo Dinámico 10 23/04/2012 Tema 5 Modelo Dinámico Test 4 11 30/04/2012 5 Modelo Dinámico

12 07/05/2012 Tema 6 Diseño e Implementación Entrega 3

13 14/05/2012 6 Pruebas 14 21/05/2012 Tema 7 Pruebas Test 5..6 15 28/05/2012 Tema 8 Pruebas Test 7 16 5/06/2012

(Seminario) Entrega 4

Nota: Las fechas concretas de realización de los cuestionarios y entregas de prácticas se anunciarán a través

del aula virtual.