SlideShare ist ein Scribd-Unternehmen logo
1 von 23
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.
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
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
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”
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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.
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitectura Basada En Componentes
Arquitectura Basada En ComponentesArquitectura Basada En Componentes
Arquitectura Basada En Componentesurumisama
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Arquitectura del sistema
Arquitectura del sistemaArquitectura del sistema
Arquitectura del sistemapierre R.
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Shelisse De la Cruz
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesAndresRealp1
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Marta Silvia Tabares
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareEnder Christense
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de SoftwareUPT
 

Was ist angesagt? (20)

Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Arquitectura Basada En Componentes
Arquitectura Basada En ComponentesArquitectura Basada En Componentes
Arquitectura Basada En Componentes
 
SAD Vistas "4+1" PoD
SAD Vistas "4+1" PoD SAD Vistas "4+1" PoD
SAD Vistas "4+1" PoD
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Arquitectura del sistema
Arquitectura del sistemaArquitectura del sistema
Arquitectura del sistema
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
Lenguaje Acme
Lenguaje AcmeLenguaje Acme
Lenguaje Acme
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Modelo 4+1 vistas
Modelo 4+1 vistasModelo 4+1 vistas
Modelo 4+1 vistas
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentes
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 

Andere mochten auch

BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoAgustin Ramos
 
(Behavior driven development (bdd ) [sólo lectura])
(Behavior driven development  (bdd ) [sólo lectura])(Behavior driven development  (bdd ) [sólo lectura])
(Behavior driven development (bdd ) [sólo lectura])rakel_ita
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentRicardo Markiewicz
 
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationCas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationAgile Spain
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutosAdrian Moya
 
Behavior1
Behavior1Behavior1
Behavior1arajar
 
Más allá del testing
Más allá del testingMás allá del testing
Más allá del testingSergio Gil
 
Desarrollo Guiado por Comportamiento
Desarrollo Guiado por ComportamientoDesarrollo Guiado por Comportamiento
Desarrollo Guiado por ComportamientoGustavo Bazan Maal
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) Behavior Driven Development (BDD)
Behavior Driven Development (BDD) Scio Consulting
 
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágilNatalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil233 Grados de TI
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 

Andere mochten auch (16)

BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
 
(Behavior driven development (bdd ) [sólo lectura])
(Behavior driven development  (bdd ) [sólo lectura])(Behavior driven development  (bdd ) [sólo lectura])
(Behavior driven development (bdd ) [sólo lectura])
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automationCas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutos
 
Behavior1
Behavior1Behavior1
Behavior1
 
BDD y tests automatizados
BDD y tests automatizadosBDD y tests automatizados
BDD y tests automatizados
 
Más allá del testing
Más allá del testingMás allá del testing
Más allá del testing
 
Desarrollo Guiado por Comportamiento
Desarrollo Guiado por ComportamientoDesarrollo Guiado por Comportamiento
Desarrollo Guiado por Comportamiento
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágilNatalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil
Natalia Carretero. Competencias necesarias para implantar BDD en un equipo ágil
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 

Ähnlich wie A02 sad

Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareMagemyl Egana
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 
Características de la documentación requisitada en el desarrollo.pptx
Características de la documentación requisitada en el desarrollo.pptxCaracterísticas de la documentación requisitada en el desarrollo.pptx
Características de la documentación requisitada en el desarrollo.pptxJuanCarlos499809
 
UDA-Arquitectura conceptual
UDA-Arquitectura conceptualUDA-Arquitectura conceptual
UDA-Arquitectura conceptualAnder Martinez
 
Análisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxAnálisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxoscaralava3
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareDannys Hidalgo
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareJesús Navarro
 
Arquitectura empresarial y de software version final
Arquitectura empresarial y de software version finalArquitectura empresarial y de software version final
Arquitectura empresarial y de software version finalGustavo De la Cruz Tovar
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
Desarrollo De Software Para Internet
Desarrollo De Software Para InternetDesarrollo De Software Para Internet
Desarrollo De Software Para Internetsamgeo
 

Ähnlich wie A02 sad (20)

Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de software
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 
Características de la documentación requisitada en el desarrollo.pptx
Características de la documentación requisitada en el desarrollo.pptxCaracterísticas de la documentación requisitada en el desarrollo.pptx
Características de la documentación requisitada en el desarrollo.pptx
 
UDA-Arquitectura conceptual
UDA-Arquitectura conceptualUDA-Arquitectura conceptual
UDA-Arquitectura conceptual
 
Unidad 1 y 2 de desarrollo
Unidad 1 y 2 de desarrolloUnidad 1 y 2 de desarrollo
Unidad 1 y 2 de desarrollo
 
6t
6t6t
6t
 
Modelo4 1
Modelo4 1Modelo4 1
Modelo4 1
 
Modelo4 1
Modelo4 1Modelo4 1
Modelo4 1
 
Unidad 4. diseno del sistema
Unidad 4. diseno del sistemaUnidad 4. diseno del sistema
Unidad 4. diseno del sistema
 
Análisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxAnálisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptx
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
 
Arquitectura empresarial y de software version final
Arquitectura empresarial y de software version finalArquitectura empresarial y de software version final
Arquitectura empresarial y de software version final
 
Clase 1
Clase 1Clase 1
Clase 1
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
Desarrollo De Software Para Internet
Desarrollo De Software Para InternetDesarrollo De Software Para Internet
Desarrollo De Software Para Internet
 

A02 sad

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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