Ingeniería del Software I (2011)
Topic outline
-
Profesores
Carlos Blanco Bueno
Juan Hernández Marqués
Patricia López Martínez
Francisco Ruiz González
Departamento de Matemáticas, Estadística y Computación
Esta asignatura permite comprender y conocer la importancia y papel de la disciplina de la "Ingeniería del Software", de cara a la correcta aplicación de los principios generales de la ingeniería al problema de hacer software.
Profundiza en las diversas áreas que conforman la Ingeniería del Software, en los principales ciclos de vida y metodologías existentes, los fundamentos de análisis (requisitos) y diseño del software, y los métodos y técnicas precisos para el desarrollo de sistemas orientados a objetos.
Palabras Clave de la Asignatura
Ingeniería del Software, Orientación a Objetos, Metodologías de Desarrollo Software, Diseño Software, Patrones de Diseño, UML, Ingeniería de Requisitos, Arquitecturas Software.
-
Datos identificativos de la Asignatura
-
Asignatura: Ingeniería del Software I
-
Departamento / Área: Departamento de Matemáticas, Estadística y Computación
-
Título: Grado en Ingeniería Informática
-
Centro: Facultad de Ciencias
-
Créditos ECTS: 6
-
Idioma de impartición: Español
-
Profesor responsable: Carlos Blanco Bueno
-
Otros profesores: Juan Hernández Marqués, Patricia López Martínez y Francisco Ruiz González
Programa de la asignatura
Parte teórica
-
Tema 0. Presentación de la asignatura
-
Objetivos.
-
Papel en la profesión.
-
Métodos de Trabajo.
- Evaluación.
-
-
Tema 1. Introducción a la Ingeniería del Software
-
Concepto y objetivos.
-
Cuerpo de Conocimientos (SWEBOK).
- Áreas principales.
-
-
Tema 2. Lenguaje Unificado de Modelado (UML)
-
Características de metodologías orientadas a objetos.
-
Objetivos y características de UML.
-
Usos de UML: visualizar; especificar; construir; documentar.
- Tipos de diagramas. Arquitectura del sistema.
-
-
Tema 3. Procesos de Ingeniería del Software
-
Ciclo de vida del software.
-
Procesos del ciclo de vida (ISO 12207).
-
Ciclos de vida tradicionales.
-
Ciclos de vida para sistemas orientados a objetos.
- Metodologías de desarrollo de software: concepto, evolución histórica, tipos.
-
-
Tema 4. Requisitos
-
Concepto y características.
-
Tipos de requisitos.
-
Captura. Análisis.
-
Especificación.
- Validación.
-
-
Tema 5. Contexto y requisitos del sistema
-
Conceptos básicos de casos de uso.
-
Relaciones.
-
Diagramas de casos de uso.
-
Modelado del contexto de un sistema.
- Modelado de los requisitos de un sistema.
-
-
Tema 6. Diseño de software
-
Contexto y aspectos clave.
-
Arquitectura software.
-
Patrones de diseño.
-
Notaciones: descripciones estructurales (estática); descripciones de comportamiento (dinámica).
- Estrategias: estructurada; orientada a objetos; centrada en los datos; basada en componentes.
-
-
Tema 7. Interacciones en el sistema
-
Elementos de la interacción.
-
Diagramas de secuencia.
-
Diagramas de comunicación.
-
Modelado de flujos de control por ordenación temporal.
- Modelado de flujos de control por organización.
-
-
Tema 8. Estructura del sistema
-
Elementos principales: clases; relaciones.
-
Diagramas de clases.
-
Diagramas de objetos.
-
Características avanzadas del modelado estructural.
-
Interfaces.
-
Mecanismos de extensión: notas; estereotipos; valores etiquetados; restricciones.
- Técnicas de modelado.
-
-
Tema 9. Arquitectura lógica del sistema
-
Paquetes.
-
Relaciones entre paquetes.
-
Estereotipos y valores etiquetados de los paquetes.
-
Diagramas de paquetes.
-
Modelado de grupos de elementos.
- Modelado de vistas arquitectónicas.
-
-
Tema 10. Comportamiento del sistema
-
Concepto de evento.
-
Tipos de eventos.
-
Máquinas de estados.
-
Diagramas de transición de estados.
-
Diagramas de actividad.
-
Modelado de la vida de un objeto.
-
Modelado de un flujo de trabajo.
- Modelado de una operación.
-
-
Tema 11. Arquitectura física del sistema
-
Concepto de componente.
-
Relaciones entre componentes.
-
Tipos de componentes.
-
Técnicas de modelado de componentes.
-
Diagramas de componentes. Despliegue: nodos, tipos y conexiones.
-
Modelado de procesadores y dispositivos.
-
Modelado de la distribución de componentes.
- Diagramas de despliegue.
-
-
Tema 12. Estudio de metodologías
-
Proceso unificado.
-
Métrica 3.
- Programación extrema.
-
Parte práctica
-
Práctica 0. Especificación inicial de requisitos.
-
Práctica 1. Trabajando con Visual Paradigm.
-
Práctica 2. Especificación de requisitos.
-
Práctica 3. Modelado de requisitos.
-
Práctica 4. Modelo de análisis.
-
Práctica 5. Modelo de diseño.
-
-
Básica
Generales:
-
Piattini et al., 2007. Análisis y diseño de Aplicaciones Informáticas de Gestión. Una perspectiva de Ingeniería del Software. Ra-Ma. Junio 2007.
-
Pressman, 2005. Ingeniería del Software: Un Enfoque Práctico. 6ª Edición. McGraw-Hill, 2005.
-
Pfleeger, 2002. Ingeniería del Software. Teoría y Práctica. Prentice Hall, 2002.
-
Sommerville, 2005. Ingeniería del Software. 7ª Edición, Addison-Wesley. Julio 2005.
UML:
-
Booch et al., 2006. El Lenguaje Unificado de Modelado. Guía del Usuario, 2da edic. Pearson Educación, 2006.
-
Miles y Hamilton, 2006. Learning UML 2.0. O’Reilly, 2006.
Complementaria
-
Larman, 2003. UML y Patrones: Introducción al análisis y diseño orientado a objetos, 2ª Edición, Prentice Hall.
-
Rumbaugh et al., 2007. El Lenguaje Unificado de Modelado. Manual de Referencia, 2da edic. Pearson Educación, 2007.
-
Jacobson et al., 2000. El Proceso Unificado de Desarrollo de Software. Addison-Wesley, 2000.
Estándares
-
IEEE Computer Society 2004. Guide to the Software Engineering Body of Knowledge (SWEBOK). Versión 2004.
-
Norma Técnica Peruana 2006: NTP-ISO/IEC 12207. Tecnologia de la informacion. Procesos del ciclo de vida del software. Versión en español disponible en http://www.bvindecopi.gob.pe/normas/isoiec12207.pdf
-
Unified Modelling Language 2.3. Documents associated with UML. Versión 2.3.
-
-
- MC-F-001. Tema 0. Presentación de la asignatura.
- MC-F-002. Tema 1. Introducción a la Ingeniería del Software.
- MC-F-003. Tema 2. Lenguaje Unificado de Modelado (UML).
- MC-F-004. Tema 3. Procesos de Ingeniería del Software.
-
MC-F-005. Tema 4. Requisitos.
- MC-F-006. Ejercicios del Tema 4.
-
MC-F-009. Tema 6. Diseño de software.
-
MC-F-012. Tema 7. Interacciones en el sistema.
-
MC-F-015. Tema 8. Estructura del sistema.
- MC-F-016. Ejercicios del Tema 8.
- MC-F-017. Tema 9. Arquitectura lógica del sistema.
-
MC-F-018. Tema 10. Comportamiento del Sistema
- MC-F-019. Ejercicios del Tema 10.
-
MC-F-020. Tema 11. Arquitectura física del sistema.
-
Práctica 0. Especificación inicial de requisitos
-
PR-F-001. Enunciado de la Práctica 0.
Práctica 1. Trabajando con Visual Paradigm
Práctica 2. Especificación de requisitos
Práctica 3. Modelado de requisitos
-
PR-F-006. Enunciado de la Práctica 3.
-
PR-F-007. Transparencias de la Práctica 3.
-
PR-F-008. Plantilla para documento ERS (IEEE 830).
Práctica 4. Modelo de análisis
Práctica 5. Modelo de diseño
-
-
-
OR-F-001. SWEBOK Guide 2004.
-
OR-F-002. La arquitectura software. El Modelo 4+1.
-
OR-F-003. 20 famous software disasters.
Requisitos
-
OR-F-004. Modelado con i* (guía rápida).
Patrones de Diseño
-
OR-F-005. Patrones de Diseño del GoF (más código en C#).
-
OR-F-006. Página web con la descripción de varios patrones de diseño.
UML
-
OR-F-007. UML 2.3 Superstructure.
-
OR-F-008. «UML Distilled Third Edition». A brief guide to the standard object modeling language. (Martin Fowler).
-
OR-F-009. Pequeño manual de Object Constraint Language (OCL).
-
OR-F-010. Diagramas de clases. Definición de Atributos (in-line vs en la relación) y Navegabilidad (ejemplo).
-
OR-F-011. UML 2 Composition Model. Conrad Bock, U.S. National Institute of Standards and Technology.
-
OR-F-012. UML: The Positive Spin (UML: El Giro Positivo). This article was published in the 1997 special UML issue of Ed Yourdon's American Programmer, in response to a request by Mr. Yourdon.
-
-
Ejemplo de examen
Exámenes Curso 2009-2010
-
PE-F-001. Parcial 1.
-
PE-F-002. Parcial 2.
-
PE-F-003. Examen Final. Convocatoria de febrero.
-
PE-F-004. Examen Final. Convocatoria de septiembre.
Exámenes Curso 2010-2011
Tema 6. Diseño de software
- PE-F-008. Trabajo voluntario de patrones de diseño.
Tema 12. Estudio de metodologías
- PE-F-009. Trabajo de metodologías. Instrucciones.
-
-
-
Carlos Blanco Bueno
Departamento de Matemáticas, Estadística y Computación
UNIVERSIDAD DE CANTABRIA
Juan Hernández Marqués
Departamento de Matemáticas, Estadística y Computación
UNIVERSIDAD DE CANTABRIA
Patricia López Martínez
Departamento de Matemáticas, Estadística y Computación
UNIVERSIDAD DE CANTABRIA
Francisco Ruiz González
Departamento de Matemáticas, Estadística y Computación
UNIVERSIDAD DE CANTABRIA