documentación arquitecturaliim.izt.uam.mx/.../10_documentaciondelaarquitectura.pdf · 2019. 9....

26
3/13/2012 1 Documentación de la arquitectura V1.0 MISArquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 1 Objetivos de la sesión Los objetivos de la sesión son que el alumno alumno – Recuerde los distintos tipos de estructuras que forman una arquitectura – Identifique distintos métodos de documentación orientados a vistas Identifique las partes que forman un MISArquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 2 Identifique las partes que forman un documento de vista – Identifique la manera en que se documentan interfaces

Upload: others

Post on 15-Aug-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

3/13/2012

1

Documentación de la arquitectura

V1.0

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información

1

Objetivos de la sesión

• Los objetivos de la sesión son que el alumnoalumno– Recuerde los distintos tipos de estructuras

que forman una arquitectura

– Identifique distintos métodos de documentación orientados a vistas

Identifique las partes que forman un

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 2

– Identifique las partes que forman un documento de vista

– Identifique la manera en que se documentan interfaces

3/13/2012

2

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 3

• Conclusión

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 4

• Conclusión

3/13/2012

3

Recordando• Definición de arquitectura de software

– “La arquitectura de software es la estructura o qestructuras del sistema que comprende elementos de software, las propiedades visibles de forma externa de estos elementos, y las relaciones entre los elementos”

• La definición habla de varias estructuras

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 5

La definición habla de varias estructuras– Estas estructuras corresponden a distintos tipos

de elementos (de ejecución, lógicos, físicos)– Deben ser representadas de manera

independiente

Recordando

• Durante el diseño, el arquitecto toma decisionesdecisiones

RUs / RFs

Atributos de calidad

Decisiones

Presen tacion

Dato s

Negocio

Control de Pujas

De spachador de solicitudes de Pujas

«Front Control le r»

Despachador de Peticiones Generale s

IRece ptorPuja s

IDespacha dorPeticionesGenerale s

IAdministradorAcce so

IControlPuj as

Cola Puj as

IColaPuja s

Se sepa ra en Recep tor d e Sol icitudes de Puja y Despacha dor de Peticiones debido a que el primero d ebe usar cola segú n requerimientos y el segund o de be u sar hi l os para

mejo rar el desemp eño (guiado por requ erimientos)

IAdminis tradorCRUDSubastas

Subas tas ::Administrador CRUD Subasta s

«o bserver»Observ ador

Subas tas

IControlNotific acionesServ er

«S trate gy»Control Puj as

Subasta InglesaIControlPuj asEspecifico

« Strate gy»Control Puj as

Subasta Sellada

Notifica ciones::Control Notificac ion Inscritos

+ enviarNoti fica cio n(Noti fi cacion) : void

Notific aciones::Control Notifica cion Participantes

+ enviarNotificacion(Noti fi cacion ) : void

IAdministradorNotificacionInscritos

IAdministradorNotificac ionPa rticipantes

De ntro de este se

imple me nta el BDRS-RNF-13

Notifica ciones::Administra dor de Ac cesos

«DAO»

IPe rsiste ncia Pujas

Pujas::Pe rsiste ncia de Puj as

Pujas ::Realizar Puja

DatosNegocioPresentación

« interface»

:IAdministrarSubastas

«inte rface»

:IDetalleSubastas

:Administrador

«ISeccionDetalleSubast...

:Subasta Inglesa

«in terface»

:IAdministradorCRUDSubastas

«interface»

:IPersistenciaSubastas

«interface»

:ISeccionDetal le

Esta selección se puede hacer:- Con una tabla que asocie Tipo de clase y la interfaz ISeccionDetal leSubasta-Uti li zar el Patrón Chain of Responsibil ity

"Al ta de Subasta"()

despl iegaDetal le(Subasta)

seleccionarComponenteSubastaEspecífico(Subasta) :IDetal leSubasta

«create»

desplegarDetal leSubastas(Subasta)

despl iiegaDetalle(Subasta)

"Datos generales"()

"Datos Especificos"()

"Salvar"()

val idarDatosGenerales()

<<usa>>

<<produce>>

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 6

Restricciones- De este punto en adelan te se maneja el tipo genérico Subasta

val idarDatosEspeci fi cos()

salvar(Subasta)

salvar(Subasta) :Subasta

Serv idor BDServ idor Aplicaciones SIRE

Serv idor Aplicaciones

PC

«BD»Informix

Negocio

«database access layer»Datos

Web Browser

«cliente pesado»Presentacion

En un momento dado existen múltiples PC cliente conectadas al sistema

«JDBC»

«JDBC»«RMI»

«HTTPS»

IPersistencia

INegocio

ArquitectoRequerimientos(drivers)

Diseño

3/13/2012

4

Recordando

• Durante el diseño, el arquitecto toma decisiones Estas decisiones decisiones

RUs / RFs

Atributos de calidad

Decisiones

Presen tacion

Dato s

Negocio

Control de Pujas

De spachador de solicitudes de Pujas

«Front Control le r»

Despachador de Peticiones Generale s

IRece ptorPuja s

IDespacha dorPeticionesGenerale s

IAdministradorAcce so

IControlPuj as

Cola Puj as

IColaPuja s

Se sepa ra en Recep tor d e Sol icitudes de Puja y Despacha dor de Peticiones debido a que el primero d ebe usar cola segú n requerimientos y el segund o de be u sar hi l os para

mejo rar el desemp eño (guiado por requ erimientos)

IAdminis tradorCRUDSubastas

Subas tas ::Administrador CRUD Subasta s

«o bserver»Observ ador

Subas tas

IControlNotific acionesServ er

«S trate gy»Control Puj as

Subasta InglesaIControlPuj asEspecifico

« Strate gy»Control Puj as

Subasta Sellada

Notifica ciones::Control Notificac ion Inscritos

+ enviarNoti fica cio n(Noti fi cacion) : void

Notific aciones::Control Notifica cion Participantes

+ enviarNotificacion(Noti fi cacion ) : void

IAdministradorNotificacionInscritos

IAdministradorNotificac ionPa rticipantes

De ntro de este se

imple me nta el BDRS-RNF-13

Notifica ciones::Administra dor de Ac cesos

«DAO»

IPe rsiste ncia Pujas

Pujas::Pe rsiste ncia de Puj as

Pujas ::Realizar Puja

DatosNegocioPresentación

« interface»

:IAdministrarSubastas

«inte rface»

:IDetalleSubastas

:Administrador

«ISeccionDetalleSubast...

:Subasta Inglesa

«in terface»

:IAdministradorCRUDSubastas

«interface»

:IPersistenciaSubastas

«interface»

:ISeccionDetal le

Esta selección se puede hacer:- Con una tabla que asocie Tipo de clase y la interfaz ISeccionDetal leSubasta-Uti li zar el Patrón Chain of Responsibil ity

"Al ta de Subasta"()

despl iegaDetal le(Subasta)

seleccionarComponenteSubastaEspecífico(Subasta) :IDetal leSubasta

«create»

desplegarDetal leSubastas(Subasta)

despl iiegaDetalle(Subasta)

"Datos generales"()

"Datos Especificos"()

"Salvar"()

val idarDatosGenerales()

<<usa>>

<<produce>>

deben comunicarse

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 7

Restricciones- De este punto en adelan te se maneja el tipo genérico Subasta

val idarDatosEspeci fi cos()

salvar(Subasta)

salvar(Subasta) :Subasta

Serv idor BDServ idor Aplicaciones SIRE

Serv idor Aplicaciones

PC

«BD»Informix

Negocio

«database access layer»Datos

Web Browser

«cliente pesado»Presentacion

En un momento dado existen múltiples PC cliente conectadas al sistema

«JDBC»

«JDBC»«RMI»

«HTTPS»

IPersistencia

INegocio

ArquitectoRequerimientos(drivers)

Diseño

Comunicación del diseño

• La comunicación del diseño de la arquitectura es un aspecto fundamental q pdel desarrollo que permite– comprender la manera en que está

estructurado el sistema para su desarrollo o mantenimiento

– realizar la evaluación temprana del diseño l fi d id tifi i bl

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 8

con el fin de identificar riesgos y problemas– reutilizar los diseños

• ¿ Cómo se comunica el diseño ?

3/13/2012

5

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 9

• Conclusión

Estructuras

• En general, se puede hablar de distintos tipos de estructuras:tipos de estructuras:– Lógicas (módulo)

– Dinámicas (componentes y conectores)

– Físicas (de asignación)

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 10

3/13/2012

6

Estructuras lógicas

• Las estructuras lógicas representan estructuras modularesestructuras modulares– Un módulo es una unidad de implementación

de software que provee un conjunto coherente de funcionalidad

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 11

• Uso:– Estructuración general del sistema

– Asignación de responsabilidades

– Mantenimiento del sistema

Estructuras lógicas

• Elementos UML correspondientes a estas estructuras– Clases

– Componentes

– Packages (para capas)

• Relaciones– Relaciones entre clases (asociación, todo / parte,

herencia)

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 12

herencia)

– Relaciones de uso (dependencias)

– Contenido

3/13/2012

7

Estructuras lógiccas: ejemplo

• Vista lógica– Capas son

packages

Capa de Presentación

Interfaz de usuario

Pantalla<<xhtml>>

packages– Componentes

son agrupamientos enfocados en preocupaciones particulares que implementan

Capa de Negocio

Capa de servicios

Modelo de dominio

Servicios aplicativosWorkflows

<<coordina>>

Lógica de presentación

Controlador<<ManagedBean>>

faces-config.xml

EntidadA

ServicioCU

iServicioCU

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 13

implementan interfaces

– Clases por ejemplo en modelo de dominio

Capa de acceso a datos

Manejo de persistencia

EntidadDAO LdapDAO

iEntidadDAO

iLdapDAO

BD

Conexión a servidor LDAP

EntidadBServicioEspecifico

iServicioEspecifico

WorkflowCU

iWorkflowCU

Estructuras dinámicas

• Las estructuras dinámicas representan elementos que existen en tiempo de ejecución así como elementos que apoyan la interacción de los primeros ( t )

q p y p(conectores)

• Dentro de las estructuras dinámicas generalmente aparecen instancias de elementos descritos en las estructuras lógicas para mostrar algún escenario de importancia

U

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 14

• Usos– Modelado de soporte de atributos de calidad (tolerancia a

fallas, seguridad, concurrencia, manejo de errores)– Análisis del sistema

3/13/2012

8

Estructuras dinámicas

• Elementos UML correspondientes a estas estructuras– Objetos

– Hilos y procesos

– Instancias de componentes

– Instancias de nodos

• Relaciones– Relaciones directas entre elementos (ej Paso de

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 15

– Relaciones directas entre elementos (ej. Paso de mensajes)

– Conectores interpuestos entre elementos

Estructuras dinámicas: ejemplo

: Usuario

: Pantalla : Controlador : ServicioCU : WorkflowCU : iEntidadDAO : EntidadA

1 : "datos"1 : datos

2 : setDatos()3 : metodoServicio()

4 : verificaSeguridad()

5 : iniciaTransaccion()

6 : retrieve()7

<<create>>

89 : inicia()

10 : set()

11

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 16

11 12 : update()

13 : terminaTransaccion()

1415

16 : refresh()

3/13/2012

9

Estructuras dinámicas: ejemplo

Hilo de recepción de pujasHilo de cierre de subastasProceso

ActivityIni tial

Solici tud de puja (inglesa)«process»

Arrancar hilos de aplicación

«thread»Arrancar hilo

«idle»Esperar

Checar subastas

Hay subastas que deban ser cerradas?

Solici tud de puja (inglesa)

«thread»Arrancar hilo

Procesar solicitud

Es ultimominuto de lasubasta?

Incrementar tiempo deb

Bloquear subasta

«bloqueada»:Subasta

[procesamientoexitoso]

[si ]

[si]

[t_ahora > t_ultimo + 60s]

[no]

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 17

?

Cerrar Subastas Puja procesada

subasta

Liberar subasta

Hay subastasbloqueadas?

«idle»Esperar desbloqueo de

subasta

«liberada»:Subasta

[no]

[si]

[no]

[si]

[subastasdesbloqueadas]

Leyenda:ProcesoHiloHilo en espera

Lieberman, B., “Using UMLActivity Diagrams for the ProcessView”, Rational Edge, Mayo 2001

Notación: UML extendido

Estructuras Físicas

• Las estructuras físicas, o de asignación, presentan mapeos de los elementos representados en las estructuras lógicas o dinámicas hacia elementosestructuras lógicas o dinámicas hacia elementos físicos que pueden incluir– Hardware– Sistema de archivos– Recursos humanos

• Uso

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 18

– Implantación del sistema– Implementación (estructuración del ambiente de

desarrollo)– Asignación de trabajo

3/13/2012

10

Estructuras físicas

• Estas estructuras no forzosamente se representan en UMLrepresentan en UML– Implantación (deployment): Diagramas de

implantación de UML

– Implementación: Descripción de la estructura del entorno de desarrollo

Asignación de trabajo: Matriz que asocia

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 19

– Asignación de trabajo: Matriz que asocia módulos o grupos de módulos a individuos

Estructuras físicas: ejemplo

PC

Serv idor Aplicaciones

Negocio

«database access layer»Datos

Web Browser

«cliente pesado»Presentacion

En un momento dado existen múltiples PC cliente conectadas al sistema

«HTTPS»

IPersistencia

INegocio

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 20

Serv idor BDServ idor Aplicaciones SIRE

«BD»Informix

«JDBC»

«JDBC»«RMI»

3/13/2012

11

Estructuras físicas: ejemplo

• Carpetas delproyectoproyecto

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 21

Estructuras físicas: ejemplo

• Asignación de trabajo

Componente \ Recurso Ing. 1 Ing. 2 Ing. 3 Ing. 4 Ing. 5Modelo de Dominio √ √DAOs

DAO Cliente √DAO Cuenta √Reportes

Reporte estatus cuentas √Reporte clientes activos √Negocio

Servicio alta de usuarios √

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 22

Servicio de modificación de cuenta √Presentación

Pantalla alta de usuarios √Pantalla de modificación de cuenta √

3/13/2012

12

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 23

• Conclusión

Métodos

• Existen distintos enfoques para la documentación de arquitecturasdocumentación de arquitecturas– 4 + 1 Views

– IEEE 1471

– Views and Beyond

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 24

• Todos ellos consideran el concepto de “vista”

3/13/2012

13

Métodos: 4+1 views

• 4+1 Views. El enfoque (o modelo) 4+1 vistas es muy popular particularmentevistas es muy popular, particularmente porque está asociado al proceso de desarrollo RUP.

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 25

Métodos: 4+1 views

• Vista lógica– Modela elementos que soportan la funcionalidad que el sistema provee al usuario final de un

punto de vista estático o dinámico mediante diagramas tales como clases, paquetes y secuencia.

Vi t d• Vista de proceso– Esta vista opcional modela los aspectos dinámicos del sistema y captura aspectos tales como

concurrencia y sincronización mediante diagramas tales como el de actividades.

• Vista de desarrollo– Modela la organización estática del software en su ambiente de desarrollo, típicamente mediante

diagramas de componentes.

• Vista física– Modela el mapeo del software con el hardware, típicamente con diagramas de implantación.

Vi t d d

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 26

• Vista de casos de uso– Esta es la vista adicional (+1) que es central al modelo y que agrupa escenarios de casos de uso

principales. Para su representación se puede usar un diagrama de casos de uso acompañado de descripciones textuales de los escenarios. Las otras vistas deben permitir comprender la manera en que los escenarios de casos de uso son soportados por la arquitectura.

3/13/2012

14

Métodos: IEEE 1471

• Estándar de la IEEE para la descripción arquitectural de sistemas intensivos de software. – Define un marco conceptual que relaciona los conceptosDefine un marco conceptual que relaciona los conceptos

de sistema, descripción arquitectural y vista. – En éste marco, las vistas se deben ajustar a un viewpoint

(punto de vista), el cual especifica las convenciones para construir y usar una vista, e incluye elementos tales como los lenguajes que pueden ser usados para describir la vista así como los métodos de modelado y las técnicas de análisis que pueden ser aplicados a las representaciones de la vista.

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 27

p– Una descripción arquitectural incluye uno o más

viewpoints, los cuales se seleccionan con base en los involucrados hacia los cuales está dirigida la arquitectura.

Método Views and Beyond

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 28

3/13/2012

15

Método Views and Beyond

• Enfoque desarrollado por el SEI– La documentación de una arquitectura de software

involucra la elección de las vistas relevantes de lainvolucra la elección de las vistas relevantes de la arquitectura, la documentación de cada una de esas vistas, así como la documentación de la información que aplica a más de una vista o a un conjunto de vistas en su totalidad.

– Los detalles del enfoque incluyen el método para elegir las vistas más relevantes para los involucrados de la arquitectura, plantillas estándar

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 29

para documentar las vistas, información necesaria para documentar información que aplica a través de varias vistas, así como definiciones del contenido de las plantillas.

– A diferencia del enfoque 4+1 vistas, Views and Beyond no especifica el número de vistas a usar.

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 30

• Conclusión

3/13/2012

16

Documentación de vistas

• La representación de una estructura es una vistauna vista– Una estructura está compuesta por

elementos (con propiedades) y relaciones

• Un diagrama es un punto de partida

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 31

apropiado para documentar una vista– Sin embargo, solamente tener el diagrama

no es suficiente

Ejemplo

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 32

Fuente: http://fxa.noaa.gov/ALPS/ALPS_displayArch.html

3/13/2012

17

Documento de vista

• En general un diagrama no es Sección 1. Presentación Primariadiagrama no es suficiente para representar una vista

Sección 2. Catálogo de Elementos2.1 Elementos2.2 Relaciones2.3 Interfaces2.4 Propiedades2.5 Comportamiento

Sección 3. Diagrama de Contexto de la Vista

Versión en

textoó

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 33

Sección 4. Guía de VariaciónSección 5. Decisiones de Diseño

Presentación primaria

• El diagrama, o presentación primaria, es una representación de la estructurauna representación de la estructura correspondiente a la vista– La documentación de esta parte es

indispensable

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 34

• Este diagrama normalmente es creado como parte de las actividades de diseño de la arquitectura

3/13/2012

18

Catálogo de elementos

• Elementos– Para poder comprender un diagrama, es necesario describir

brevemente cada uno de los elementos que se presentan dentro de éste junto con sus responsabilidades (y propiedades)

– A menos que sea muy obvio, esta parte es indispensable

• Propiedades

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 35

– No siempre se pueden identificar propiedades, sin embargo éstas pueden ser útiles por ejemplo para vistas físicas

Catálogo de elementos

• Ejemplo Capa de Presentación

Capa de Negocio

Capa de servicios

La capa de servicios contiene componentes que orquestan operaciones que mapean directamente con los casos de uso del sistema. Los componentes de esta capa se ejecutan en un contenedor que permite soportar

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 36

Capa de acceso a datos

Modelo de dominioServicios aplicativosWorkflowscontenedor que permite soportar aspectos no-funcionales. Proveen interfaces de granularidad alta y se comunican con la capa de presentación mediante el envío y recepción de Data Transfer Objects.

3/13/2012

19

Catálogo de elementos

• Relaciones– Al igual que con los elementos, muchas veces g q

es necesario proveer información adicional que permita comprender las relaciones entre los elementos del diagrama

– A menos que sea muy obvio, esta parte es indispensable

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 37

• Al describir una relación, conviene mencionar los elementos que se encuentran en los extremos de la relación

Catálogo de elementos

• Comportamiento– La documentación del comportamiento es

ti l t útil l t i tparticularmente útil para complementar vistas lógicas

– Se presenta un punto de vista dinámico de los elementos mostrados en la vista lógica

– Generalmente se toma un escenario de caso de uso o no funcional y se muestra el intercambio de mensajes a través de un diagrama de

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 38

j gsecuencia

• Dependiendo del tipo de vista, puede no incluirse

3/13/2012

20

Catálogo de elementos

• Ejemplo decomportamientocomportamiento

: Usuario

: Pantalla : Controlador : ServicioCU : WorkflowCU : iEntidadDAO : EntidadA

1 : "datos"

2 : setDatos()3 : metodoServicio()

4 : verificaSeguridad()

5 : iniciaTransaccion()

6 : retrieve()7

<<create>>

8

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 39

89 : inicia()

10 : set()

11 12 : update()

13 : terminaTransaccion()

1415

16 : refresh()

Catálogo de elementos

• El estudio del comportamiento de los elementos permite identificar las propiedades públicas de éstos que debenpropiedades públicas de éstos que deben verse reflejadas en sus interfaces

– Más adelante hablaremos al respecto de este tema en mas detalle

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 40

• Dependiendo del tipo de vista, puede no incluirse– Aplica particularmente para vistas lógicas y

deployment

3/13/2012

21

Diagrama de contexto

• Muchas veces un diagrama presenta un aspecto particular de la arquitectura del sistema– Para poder entender este diagrama generalmente

es necesario proveer un diagrama de contexto (o alguna explicación) que permita ubicar el detalle dentro del contexto general

– Ojo: No confundir el diagrama de contexto de una vista con el diagrama de contexto general del

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 41

vista con el diagrama de contexto general del sistema

• Dependiendo del tipo de vista, puede no incluirse

Diagrama de contexto

• Ejemplo: Vista lógica con detalle de la capa de negociocapa de negocio

Capa de Negocio

Capa de servicios

Modelo de dominio

<<coordina>>

ServicioCU

iServicioCU

Capa de Presentación

Capa de Negocio

Capa de servicios

Modelo de dominioServicios aplicativosWorkflows

<<coordina>> <<coordina>> <<coordina>>

iServicios

+solicitud()

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 42

Servicios aplicativosWorkflows

iEntidadDAO

EntidadA

EntidadBServicioEspecifico

iServicioEspecifico

WorkflowCU

iWorkflowCU

Capa de acceso a datos

p

Diagrama de contexto

3/13/2012

22

Guía de variación

• La guía de variación proporciona información útil sobre posiblesinformación útil sobre posibles variaciones que pueden ser realizadas sobre la porción del diseño que se documenta. Esta guía debe proporcionar información sobre cómo y cuándo se p eden reali ar las ariaciones

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 43

pueden realizar las variaciones

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 44

• Conclusión

3/13/2012

23

Documentación de interfaces

• Las interfaces juegan un papel fundamental dentro del diseño del sistema pues son el punto de contacto entre los componentes definidos por la arquitecturaentre los componentes definidos por la arquitectura

• Las interfaces representan un contrato que deben

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 45

Las interfaces representan un contrato que deben satisfacer los componentes del sistema para poder participar dentro de colaboraciones que soporten los escenarios tanto funcionales como no funcionales

Documentación de interfaces

• En el contexto de una vista, y principalmente de una vista lógica, se deben documentar las interfaces de los componentes presenteslas interfaces de los componentes presentes en la presentación primaria

– Esta documentación se obtiene a partir del análisis de comportamiento

• El análisis de comportamiento representa la i t ió d l t d l i t

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 46

interacción de los componentes de la vista primaria para soportar algún escenario funcional o no funcional relativo a algún driver arquitectural

3/13/2012

24

Plantilla

Sección 1. Presentación Primaria

Sección 2. Catálogo de Elementos2.1 Elementos2.2 Relaciones2.3 Interfaces2.4 Propiedades2.5 Comportamiento

Sección 3. Diagrama de Contexto de la Vista

Versión en

textoó

Plantilla para una Interfaz

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 47

g

Sección 4. Guía de VariaciónSección 5. Decisiones de Diseño

Métodos de interfaz

• Existen varios aspectos que es importante documentar de una interfaz particular, sin embargo lo más esencial es la “firma” de la interfaz, es decir elmás esencial es la firma de la interfaz, es decir el conjunto de métodos que la componen

• Es importante que para cada método se documente– Pré-condiciones– Post-condiciones– Restricciones

P á t

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 48

– Parámetros– Valor de Retorno– Excepciones

3/13/2012

25

Métodos de interfaz

• Ejemplo de plantilla

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 49

Contenido

• Recordando

• Tipos de estructuras• Tipos de estructuras

• Métodos de documentación

• Documentación de vistas

• Documentación de interfaces

Concl sión

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 50

• Conclusión

3/13/2012

26

Resumen• La documentación del diseño de la

arquitectura es una tarea fundamental ya que esta actividad permite que se transmita el conocimiento relativo al diseño a otros involucrados para permitir– La evaluación del diseño– El desarrollo del sistema

El t i i t d l i t

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 51

– El mantenimiento del sistema

• El diseño se documenta a través de diversas vistas

¿Comentarios?¿Preguntas?

MIS‐ Arquitectura de Software / PCyTI Posgrado en Ciencías y Tecnologías de la información 52