Arquitectura y Diseño de Software

  • Objetivo

    La Arquitectura de Software es una disciplina emergente del tópico general de diseño de software, relacionada con la representación y composición de sistemas de software. En este contexto, el diseño de software se propone como una actividad conciliatoria entre los requerimientos del problema, en términos de una función, y la factibilidad de una solución en términos de un sistema de software. La idea básica es obtener una visión amplia, completa y humana del software, como un producto tanto del conocimiento como de la intuición del diseñador de software. El objetivo del curso es dar a conocer diferentes conceptos útiles de la Arquitectura y el Diseño de Software.

  • Temas

    1. Introducción
      Definiciones prácticas de Software, Arquitectura y Diseño. Relación entre Arquitectura y Diseño.
    2. Arquitectura de Software
      Diseño de Software. Tecnología de Software. Teoría e Historia. Actividades de un arquitecto de software.
    3. Diseño de Software
      Conceptos de diseño (Alcance, aggregación, partición y certificación). Una Metodología Arquitectónica para el Diseño de Software. Progresión. Heurísticas de Diseño. Patrones de Software. Lenguages de Descripción de Arquitecturas.
    4. Modelos de Representación
      Modelos de objetivo, de forma, de función, de desempeño, de datos, y administrativos.
    5. Atributos de Calidad del Software
      Concepto de Calidad de Software. Tiempo de vida vs tiempo de ejecución. Atributos funcionales y no funcionales de Software. Evaluación de Atributos. Principios Básicos y Tareas Esenciales.
    6. El Ciclo de Producción en Arquitectura de Software
      Interesados en la Producción de Software. El Ciclo de Producción. Desarrollo de Software basado en Arquitectura.
  • Bibliografía

    • Bass, L., Clements, P., and Kazman, R.
      Software Architecture in Practice.
      Addison-Wesley, Reading Massachusets, 1998
    • Bennett, D.
      Designing Hard Software. The Essential Tasks.
      Manning Publication Co., Greenwich, Connecticut, 1997
    • Buschmann, F., Meunier, R., Rohnert, H., Sommerland, P., and Stal, M.
      Pattern-Oriented Software Architecture. A System of Patterns.
      John Wiley & Sons, Ltd. Chichester, United Kingdom, 1996
    • Gamma, E., Helm, R., Johnson, R., and Vlissides, J.
      Design Patterns: Elements of Reusable Object-Oriented Systems.
      Addison-Wesley. Reading, Massachusets, 1994
    • Rechtin, E. and Maier M.
      The Art of Systems Architecting.
      CRC Press, 1997
    • Salt, J.E and Rothery, R.
      Design for Electrical and Computer Engineers.
      John Wiley and Sons, Inc., 2002.
    • T. Winograd (editor)
      Bringing Design to Software.
      Addison Wesley, 1996
    • Artículos en Ciencias de la Computación relacionados con Diseño de Software