Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A02 sad

450 views

Published on

Documento de Diseño

  • Be the first to comment

  • Be the first to like this

A02 sad

  1. 1. Software Architecture Description Daniel Perovich Auxiliar 3 dperovic@dcc.uchile.cl 03/04 Fuente: Contenido basado en el curso Arquitectura de Software, Daniel Perovich y Andrés Vignaga, Centro de Postgrado y Actualización Profesional, Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay, 2005.
  2. 2. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 2 Agenda  Vista de la Arquitectura  Representación de la Arquitectura  SAD  Estructura y contenido
  3. 3. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 3 Vista de la Arquitectura  La vista de la arquitectura comprende diferentes intereses (que determinan su contenido!)  Al igual que el modelo del sistema  Se organiza en vistas más específicas  Cada vista ataca cada uno de esos intereses  Creación de la vista  Se utilizan varios de los modelos del sistema  No todos los modelos contienen elementos de interés  Correspondencia intuitiva de vistas hacia modelos
  4. 4. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 4 Vista de la Arquitectura Modelo 4+1  Propuesto por Kruchten – Rational, 1995  Tiene como objetivo organizar la vista de la arquitectura  Propone cuatro vistas diferentes para organizar los diferentes elementos  Éstas se ilustran mediante un subconjunto de casos de uso o escenarios clave  Éstos se convierten en la “quinta vista”
  5. 5. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 5 Vista de la Arquitectura Modelo 4+1 Logical View Implementation View Process View Deployment View Use-Case View vocabulario funcionalidad comportamiento performance escalabilidad ensamblado del sistema gestión de configuración topología distribución instalación
  6. 6. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 6 Vista de la Arquitectura Use-Case View  Presenta un subconjunto del Use-Case Model  Describe los escenarios o casos de uso que representan una funcionalidad central o que abarca gran parte de la arquitectura  Inicialmente estos casos de uso son utilizados para descubrir y diseñar la arquitectura  Después serán usadas para validar otras vistas  Estos pocos escenarios ilustran en la arquitectura de software como trabajan las otras vistas
  7. 7. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 7 Vista de la Arquitectura Logical View  Ataca los requerimientos del sistema desde un punto de vista lógico  Identifica los packages, subsistemas y clases de mayor relevancia del diseño  Describe la estructura lógica  En un nivel alto de abstracción: del sistema completo  En un nivel bajo de abstracción: de la realización de los casos de uso en la Use- Case View
  8. 8. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 8 Vista de la Arquitectura Process View  Se enfoca en las construcciones básicas de concurrencia (thread, process) y sus interacciones  Abarca los elementos incluidos en la Logical View  Permite comprender el tratamiento general dado a aspectos tales como  Concurrencia y paralelismo  Inicialización y terminación  Tolerancia a fallas  Distribución de objetos  Representa un mecanismo para razonar acerca de deadlocks, tiempos de respuesta, aislamiento de funcionalidades, y fallas
  9. 9. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 9 Vista de la Arquitectura Implementation View  Tiene como propósito capturar las decisiones arquitectónicas de implementación  Describe la organización estática de los componentes de deployment implementados a partir de los elementos de diseño en la Logical View  Esta organización es realizada en términos de subsistemas de implementación, y en términos del manejo de configuraciones  Los componentes implementan los Processes y Threads del Process View
  10. 10. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 10 Vista de la Arquitectura Deployment View  Es el mecanismo para comprender la distribución física (topología) del conjunto de nodos del sistema  También ilustra la distribución de procesamiento a lo largo de dichos nodos, en correspondencia con los elementos del Process View  Muestra además la ubicación física de las instancias de componentes del Implementation View en la infraestructura concreta de producción  Comúnmente abarca la infraestructura informática completa de la organización
  11. 11. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 11 Representación  La arquitectura se representa mediante el Software Architecture Document (SAD)  Es un artefacto que provee una vista global de la arquitectura de un sistema  Sirve como medio de comunicación entre el arquitecto y el resto del equipo de desarrollo  Utiliza diferentes vistas para ilustrar diferentes aspectos de la arquitectura  Estas vistas están basadas en el modelo 4+1
  12. 12. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 12 Software Architecture Document  La estructura y contenido del SAD debe adaptarse a la naturaleza del proyecto en el cual se usa  Cada sistema tiene una vista que mejor lo describe por lo que dicha vista será la más completa  Algunas vistas pueden ser irrelevantes  La Deployment View no es necesaria en sistemas para un solo procesador  La Process View no es necesaria en sistemas con un único hilo de control (sin clases activas)
  13. 13. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 13 SAD (2)  Algunas vistas particulares pueden ser necesarias  La Data View puede ser necesaria en sistemas en que la persistencia es un aspecto importante o cuado el mecanismo de persistencia requiere un mapeo entre datos persistentes y no persistentes  La Service View cuando la arquitectura está principalmente orientada a servicios
  14. 14. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 14 SAD (3)  Algunos aspectos del software pueden requerir su propia sección  Administración de los datos, usabilidad  Puede incluirse apéndices adicionales para explicar ciertos aspectos  Decisiones críticas tomadas  Soluciones descartadas  Principios generales de diseño  El orden de las secciones puede variar
  15. 15. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 15 Estructura y Contenido Introducción  Contextualiza al sistema  Provee un overview del documento completo  Sub-secciones  Propósito  Describe el propósito en el contexto del conjunto de la documentación del proyecto  Describe brevemente la estructura  Debe identificar la audiencia esperada e indicar como se espera que éstos lo utilicen
  16. 16. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 16 Estructura y Contenido Introducción (2)  Sub-secciones (cont.)  Alcance  Una breve descripción sobre qué aplica este documento, qué esta influenciado o afectado por este documento  Definiciones, acrónimos y abreviaciones  Provee la definición de todos los términos, acrónimos y abreviaciones requeridos para interpretar correctamente el documento  Puede incluir simplemente una referencia al glosario del proyecto
  17. 17. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 17 Estructura y Contenido Introducción (3)  Sub-secciones (cont.)  Referencias  Provee una lista completa de todos los documentos referenciados  Cada documento debe estar identificado por su título, fecha y la organización que lo publica  Especifica las fuentes de donde pueden obtenerse las referencias  Esta información puede proveerse haciendo referencia a un apéndice o a otro documento
  18. 18. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 18 Estructura y Contenido Introducción (4)  Sub-secciones (cont.)  Overview  Describe que contiene el resto del documento  Explica cómo está organizado
  19. 19. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 19 Estructura y Contenido Representación de la Arquitectura  Describe como está representada la arquitectura del sistema  Enumera qué vistas son necesarias para representarla  Para cada vista, indica qué tipos de Model Elements se incluyen en su contenido
  20. 20. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 20 Estructura y Contenido Objetivos y Restricciones  Describe los objetivos y los requerimientos del software que tienen impacto significativo en la arquitectura  Seguridad, privacidad, productos off-the- shelf, portabilidad, distribución, reuso  Captura restricciones especiales  Estrategias de diseño e implementación, herramientas, estructura del equipo, código legado, tiempos, etc.
  21. 21. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 21 Estructura y Contenido Use-Case View  Describe los escenarios o casos de uso que representan una funcionalidad central o que abarca gran parte de la arquitectura  Utiliza la misma organización en Use- Case-packages que el Use-Case Model  Los casos de uso aquí incluidos serán utilizados para ilustrar el resto de las vistas
  22. 22. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 22 Estructura y Contenido Use-Case View (2)  Para cada caso de uso incluye  Nombre, descripción y actores  Flujo de eventos del caso de uso  Puede ser todos los escenarios, algunos, o incluso partes de algunos escenarios  Descripción de requerimientos especiales  Por ej. requerimientos no-funcionales asociados al caso de uso
  23. 23. Arquitectura de Software | Software Architecture Description Otoño 2007 | DCC - UdeChile | 23 Estructura y Contenido Use-Case View (3)  Para cada caso de uso incluye (cont.)  Descripción de las relaciones del caso de uso con otros casos de uso  Imágenes de la interfaz de usuario que ayuden a clarificar el caso de uso  La realizaciones de los caso de uso  Las relaciones entre casos de uso, entre éstos y los actores y la organización en packages puede mostrarse con un diagrama

×