Topic outline

  • Ingeniería del Software I (2011)

    ingenieria_del_software_i.jpg

         

    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.

  • Programa

    programa

     

     

    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.

  • Bibliografía

    bibliografia

      

     

        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    

       

  • Materiales de Clase

    materiales

     

     

    • 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-007. Tema 5. Contexto y requisitos del sistema.

    • 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-017. Tema 9. Arquitectura lógica del sistema.
    • MC-F-018. Tema 10. Comportamiento del Sistema

    • MC-F-020. Tema 11. Arquitectura física del sistema.

  • Prácticas

    practicas

      

     

    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-F-002. Enunciado de la Práctica 1.

    • PR-F-003. Transparencias de la Práctica 1.

       

    Práctica 2. Especificación de requisitos

    • PR-F-004. Enunciado de la Práctica 2.

    • PR-F-005. Transparencias de la Práctica 2.

       

    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-F-009. Enunciado de la Práctica 4.

    • PR-F-010. Transparencias de la Práctica 4.

       

    Práctica 5. Modelo de diseño

    • PR-F-011. Enunciado de la Práctica 5.

    • PR-F-012. Transparencias de la Práctica 5.
  • Ejercicios

    ejercicios

     

     

    • EP-F-001. Ejemplo completo de análisis y diseño estructurado.
    • EP-F-002. Ejemplo completo de análisis y diseño.
  • Otros Recursos

    otros_recursos

     

     

    • OR-F-001SWEBOK Guide 2004.

    • OR-F-002. La arquitectura software. El Modelo 4+1.

    • OR-F-003. 20 famous software disasters.

       

    Requisitos

    • OR-F-004Modelado con i* (guía rápida).

       

    Patrones de Diseño

    • OR-F-005Patrones de Diseño del GoF (más código en C#).

    • OR-F-006Página web con la descripción de varios patrones de diseño.

       

    UML

    • OR-F-007UML 2.3 Superstructure.

    • OR-F-008. «UML Distilled Third Edition». A brief guide to the standard object modeling language. (Martin Fowler).

    • OR-F-009Pequeñ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-011UML 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.

  • Pruebas de Evaluación

    evaluacion

      

     

        Ejemplo de examen    

     

    Exámenes Curso 2009-2010

       

    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.
  • Guía de Aprendizaje

    guia

     

     

  • Sobre el Profesor

    profesor

     

     

    logo_UC    

    Carlos Blanco Bueno

     

    Departamento de Matemáticas, Estadística y Computación

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    logo_UC    

    Juan Hernández Marqués

     

    Departamento de Matemáticas, Estadística y Computación

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    logo_UC    

    Patricia López Martínez

     

    Departamento de Matemáticas, Estadística y Computación

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    f_ruiz.jpg    

    Francisco Ruiz González

     

    Departamento de Matemáticas, Estadística y Computación

    UNIVERSIDAD DE CANTABRIA
     
    Más información