A02 sad

400 visualizaciones

Publicado el

Documento de Diseño

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
400
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

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

×