+ All Categories
Home > Documents > Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista...

Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista...

Date post: 02-Apr-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
79
DEPARTAMENTO DE SISTEMAS Arquitectura de Software Punto de Vista Funcional
Transcript
Page 1: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Arquitectura de Software

Punto de Vista Funcional

Page 2: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Su principal propósito es describir los elementos funcionales del sistema, así como sus principales responsabilidades, interfaces e interacciones.

2

Este punto de vista es normalmente las más utilizada y referenciada por los stakeholders dentro del Documento de Arquitectura.

Page 3: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

3

Este punto de vista afecta algunos modelos de otros puntos de vista tales como: información, concurrencia y despliegue.

Este punto de vista también tiene un alto impacto en los atributos de calidad del sistema, tal como la habilidad de ser modificado, de ser seguro y su desempeño en ejecución.

Page 4: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Usos asociados a este punto de vista

o  Describir la capacidad funcional del sistema o  Definir los elementos importantes del sistema

  Responsabilidades   Interfaces Expuestas   Interacciones ente ellos

o  Definir las interfaces externas del sistema o  Definir la Estructura Interna del sistema o  Hacer explícita la filosofía de diseño

4

Page 5: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Stakeholders a los que esta dirigido o  Todos

•  Modelos Utilizados o  Modelo de estructura funcional o  Diagramas de Componentes

5

Page 6: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Capacidades Funcionales o  Definen lo que el sistema requiere hacer o  Requerimientos Funcionales

  Explícitos   Implícitos

•  Interfaces Externas o  Flujos de datos y control entre el sistema a

desarrollar y otros sistemas o  La definición de interfaces debe considerar la

sintaxis de las interfaces (Estructura y Datos) y la semántica

6

Page 7: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Estructura Interna o  Componentes o elementos estructuradores del

sistema a desarrollar o  Organización interna del sistema

  Sistemas monolíticos   Componentes con bajo acoplamiento

o  La estructura interna del sistema es definida por sus elementos internos   Comportamiento   Correspondencia con los requerimientos   Interacciones

7

Page 8: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Estructura Interna o  Impacto en los atributos de calidad

  Desempeño   Escalabilidad   Seguridad

8

Page 9: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Filosofía de Diseño o  Presenta cómo la arquitectura se adhiere a

buenos principios de diseño   Separación de preocupaciones   Cohesión   Acoplamiento   Volumen de interacción entre elementos   Flexibilidad   Coherencia

9

Page 10: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Cualidad Descripción Significado Separación de Preocupaciones

Cada elemento es responsable de una parte de la operación del sistema

Alta separación facilita el mantenimiento pero va en contra del desempeño

Cohesión Que tanto están relacionadas la funciones de un componente con las ofrecidas por otros componentes

Es deseable una alta cohesión

Acoplamiento Qué tan fuerte es la relación entre componentes

Un Bajo acoplamientos facilita el mantenimiento pero va en contra de la escalabilidad

Volumen de interacción entre los elementos

Que porcentaje de los pasos de procesamiento envuelven interacciones entre los elementos

Hay un costo en la comunicación entre elementos

Flexibilidad Funcional Que tan flexible es el sistema para responder a cambios funcionales

Entre más flexible mas dificil de construir

Coherencia La arquitectura “ se ve bien ??” Difícil de entender para los stakeholders

Page 11: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Modelos de Estructura Funcional

o  Elementos Funcionales

  Una parte bien definida del sistema en ejecución, con responsabilidades particulares e interfaces bien definidas

o  Interfaces

  Mecanismos bien definidos mediante los cuales los elementos del sistema pueden ser accedidos por otros elementos

  Entradas

  Salidas

  Semántica de cada operación 11

Page 12: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

o  Conectores

  Piezas dentro de la arquitectura que enlazan elementos de la arquitectura y les permiten interactuar

o  Entidades Externas

  Representan otros sistemas, aplicaciones, hardware, o cualquier otra entidad con la cual se comunica el sistema

•  Notación Sugerida

o  Diagramas de componentes UML

12

Page 13: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Diagramas de componentes UML

o  Cada elementos del sistema es representado con un ícono de componente

o  Es posible utilizar estereotipos para hacer más clara la estructura funcional

o  Se utilizan íconos de Interface (“lollypops”)

  Tipo de interface

  Protocolo utilizado para su acceso

  Número de usuarios concurrentes

13

Page 14: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Tomado de [1] página 220

Page 15: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Tomado de [1] página 221

Page 16: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Otras notaciones o  Diagramas de cajas y líneas o  Bocetos

Page 17: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Tomado de [1] página 226

Page 18: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Actividades a Desarrollar o  Identificar los Elementos

o  Asignar responsabilidades a los elementos o  Diseñar las Interfaces o  Verificar los requerimientos funcionales

o  Comparar contra escenarios o  Analizar interacciones o  Analizar la Flexibilidad del sistema

18

Page 19: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  1. Identificar los Elementos

o  Utilizar los requerimientos funcionales para identificar responsabilidades

o  Identificar elementos funcionales que cumplirán esas responsabilidades

o  Evaluar los elementos identificados contra los criterios de diseño deseables

o  Iterar sobre los pasos anteriores hasta obtener un conjunto de elementos razonable

19

Page 20: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  2. Asignar Responsabilidades a los Elementos

o  Después de identificar elementos candidatos, se les asignan responsabilidades claras

  Información manejada

  Servicios Ofrecidos

  Actividades iniciadas por este elemento

20

Page 21: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  3. Diseñar las Interfaces o  Para cada interface expuesta por el elemento

definir claramente   Operaciones ofrecidas por la interfaz   Naturaleza de la Interfaz (mensaje, RPC, WebService)   Entradas   Salidas   Precondiciones   Efectos de cada operación

o  Para su definición se puede utilizar   Lenguajes de programación   IDLs   UML   DataFlow 21

Page 22: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  4. Verificar los requerimientos funcionales

o  Hacer el seguimiento de cada requerimiento, utilizando la estructura funcional

o  Es aconsejable utilizar una tabla de requerimientos funcionales contra elementos del modelo estructural

22

Page 23: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  5. Comparar contra Escenarios

o  Analizar la estructura funcional propuesta, en conjunto con los stakeholders, a través de escenarios de uso.

•  6. Análisis de Interacciones

o  Analizar la estructura propuesta en busca de interacciones excesivas

•  7. Análisis de Flexibilidad

o  “what if ” escenarios

23

Page 24: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Problemas durante su utilización

o  Mala definición de interfaces o  Mala definición de responsabilidades o  Elementos de Infraestructura modelados como

elementos funcionales o  Nivel inapropiado de detalle o  Número elevado de dependencias o  “God Element” / “Manager”

  50% de las responsabilidades en menos del 25% de los elementos

24

Page 25: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Lista de Chequeo o  Su modelo tiene entre 15 y 20 elementos? o  Todos los elementos tienen nombre, responsabilidades claras e

interfaces claramente definidas? o  Todas las interacciones entre los elementos ocurren a través de

interfaces y conectores entre ellas o  Los elementos tienen una alta cohesión? o  Los elementos muestran un bajo acoplamiento? o  Se ha validado la estructura propuesta contra los

requerimientos funcionales? o  Ha considerado como se porta la arquitectura en escenarios

hipotéticos de cambio? o  El punto de vista tiene en cuenta los intereses de los

stakeholders?

Page 26: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Documentación de la Vista Funcional con UML-2.0 o  Interfaces o  Puertos o  Clasificadores Estructurados o  Componentes o  Conectores

Page 27: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Interfaces o  Requeridas o  Provistas

Tomado de [2] página 12

Page 28: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Puertos o  Similar a las interfaces, describe como un

clasificador interactúa con el ambiente o  A diferencia de las interfaces cada puerto es un

punto de interacción diferente o  Pueden tener tipos y Multiplicidad o  Puede tener interfaces

Tomado de [2] página 13

Page 29: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Clasificadores Estructurados o  Una nueva manera de representar descomposición

de clasificadores

Tomado de [2] página 14

Page 30: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

•  Componentes

o  UML 1.4 “a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces” [OMG 01, p. 2-31]

o  UML 2.0 “a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment” [OMG 03, p. 136].

o  Extienden el comportamiento de las clases (a nivel de metamodelo)

Page 31: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista Funcional

Tomado de [2] página 16

Page 32: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Punto de Vista funcional

•  Principales Modelos

o  Componente Conector

  Representan la ejecución del sistema

o  Module

  Representan la construcción del sistema

Page 33: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Component-and-Connector Viewtype Elementos Components

Connectors Relaciones Attachment (puertos y conectores)

Propiedades Nombre Tipo

Topología No tiene restricciones

Usos • Razonar sobre atributos de calidad del sistema durante su ejecución • Identificar los principales componentes en ejecución • Identificar controlflow y dataflow • Identificar paralelismo

Notaciones • Informales • ADLs • UML

Page 34: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 104

Ejemplo de notación informal para represenar un estilo C&C

Page 35: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 114

Ejemplo de notación informal para represenar un estilo C&C

Page 36: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 122

Ejemplo de notación informal para represenar un estilo C&C. Correcto?

Page 37: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

C&C Styles

Pipe and Filter

Shared-data

Publish-Subscribe

Client-Server P2P

Page 38: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Pipe-and-Filter Style Elementos pipes, filtros Relaciones Attachment Propiedades Modelo Filtros transformar datos

Pipes transportar datos Topología Salida de un pipe se conecta con la entrada de otro

pipe Notación Informales

UML

Page 39: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 128

Page 40: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Shared-Data Style Elementos Componentes

Conectores Relaciones Attachment Propiedades Modelo Comunicación entre los componentes es mediada

por un depósito compartido de datos Topología Notación Informales

UML

Page 41: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 132

Page 42: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Publish-Subscribe Style Elementos Componentes

Conectores Relaciones Attachment Propiedades Modelo Sistema de componentes independientes que

anuncian eventos y reaccionan a otros eventos anunciados

Topología Notación Informales

UML

Page 43: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Imagen tomada de: “Service Oriented Architectures “- Phillip J. Windley

43

Conceptos Básicos

Ejemplo de notación informal para represenar un estilo publish-subscribe

Page 44: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Client-Server Style Elementos Componentes (cliente, servidores)

Conectores (request/reply) Relaciones Attachment Propiedades Modelo Los clientes inician actividades, solicitan servicios

de los servidores y esperan las respuestas Topología Notación Informales

UML

Page 45: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

45

N-Tier Style Elementos Componentes (cliente, servidores,presentación)

Conectores (request/reply, publish/subscribe) Relaciones Attachment Propiedades Modelo Los clientes se conectan a componentes de

negocio y solicitan servicios. La persistencia está separada de la presentacion

Topología Notación Informales

UML

Page 46: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Ejemplo de notación informal para represenar un estilo N-Tier

46

Manejo Transaccional Seguridad Clustering

Integración Replicacion Persistencia

Capa

Pr

esen

taci

ón

Capa

Se

rvic

ios

D

el n

egoc

io

Capa

D

atos

y

Pers

iste

ncia

Capa

In

tegr

ació

n

Servidor de Aplicaciones 46

Conceptos Básicos

Page 47: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Peer-toPeer Style Elementos Componentes (peers)

Conectores Relaciones Attachment Propiedades Modelo El sistema se basa en peers que cooperan entresi,

requeriendo servicios entre ellos Topología Notación Informales

Page 48: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 141

Ejemplo de notación informal para represenar un estilo peer-to-peer

Page 49: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

49

Conceptos Básicos

Ejemplo de notación informal para represenar un estilo peer-to-peer

Page 50: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Service-Oriented Achitecture (SOA) Style Elementos Componentes (cliente, servidores,presentación,

servicios, bus) Conectores (request/reply, publish/subscribe)

Relaciones Attachment Propiedades Modelo Orquestación de servicios Topología Notación Informales

UML

Page 51: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

51

Conceptos Básicos Ejemplo de notación informal para represenar un estilo SOA

Page 52: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Estilo Hub and Spoke

52

Conceptos Básicos

Page 53: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Estilo Message Bus

53

Conceptos Básicos

Page 54: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Module Viewtype Elementos Módulo

Relaciones Is-part-of Is-a Depends-on

Propiedades Nombre Responsabilidades del módulo

Topología No tiene restricciones

Usos • Provee una maqueta del código fuente • Trazabilidad de requerimientos • Análisis de Impacto • Permite explicar la funcionalidad del sistema a los stakeholders

Notaciones • Informales • UML (Clases, paquetes)

Page 55: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 45

Ejemplos de notaciones para el tipo de vista Module

Page 56: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 49

Ejemplos de notaciones para el tipo de vista Module

Page 57: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 49

Ejemplos de notaciones para el tipo de vista Module

Page 58: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Module Viewtype

Decomposition Uses Generalization Layered

Page 59: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Decomposition Style Elementos Módulos Relaciones is-part-of Propiedades Propiedades de las relaciones

Visibilidad

Topología No se permiten ciclos Un módulo solo es parte de otro módulo

Notación UML

Tomado de “Documenting Software Architectures” pag 57

Page 60: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Uses Style Elementos Módulos Relaciones depends-on Propiedades Propiedades de las relaciones Topología Notación UML

Page 61: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 66

Page 62: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 67

Page 63: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Generalization Style Elementos Módulos Relaciones Generalization Propiedades Propiedades de las relaciones

Diferenciar entre interfaces e implementación

Topología Se permite herencia múltiple Notación UML

Tomado de “Documenting Software Architectures” pag 74

Page 64: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 77

Page 65: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Layered Style Elementos Capas Relaciones Autorizado para usar Propiedades Nombre de la capa Propiedades de las relaciones

Diferenciar entre interfaces e implementación

Topología No se permite el intercambio de posiciones en la jerarquía

Notación Informales Segmentadas Anillos UML (mediante paquetes)

Page 66: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 78

Ejemplo de notación informal para represenar un estilo por capas

Nota algo raro en este ejemplo?

Page 67: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 83

Ejemplo de notación informal para represenar un estilo por capas

Page 68: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 84

Ejemplo de notación informal para represenar un estilo por capas

Page 69: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 85

Ejemplo de notación informal para represenar un estilo por capas

Page 70: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 85

Ejemplo de notación informal para represenar un estilo por capas

Page 71: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 86

Ejemplo de notación informal para represenar un estilo por capas

Page 72: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 86

Ejemplo de notación informal para represenar un estilo por capas

Page 73: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 87

Ejemplo de notación informal para represenar un estilo por capas

Page 74: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 87

Ejemplo de notación UML para represenar un estilo por capas

Page 75: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 89

Ejemplo de notación UML para represenar un estilo por capas

Page 76: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 90

Qué opina sobre este ejemplo de un estilo arquitectural por capas?

Page 77: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

77

Conceptos Básicos

Ejemplo de notación informal para represenar un estilo por capas

Page 78: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

Conceptos Básicos

Tomado de “Documenting Software Architectures” pag 90

Ejemplo de notación informal para represenar un estilo por capas

Page 79: Arquitectura de Softwareisis2503/... · 2010-08-24 · DEPARTAMENTO DE SISTEMAS Punto de Vista Funcional • Usos asociados a este punto de vista o Describir la capacidad funcional

DEPARTAMENTO DE SISTEMAS

79

Referencias

  [1] Rozanski, N., Woods,E., “Software Systems Architecture”, Addison Wesley. 2005

  [2] CLEMENTS, P., KAZMAN, R., “Software Architecture in Practice”, Addison-Wesley, Second Edition, 2006.

  [3] Paul Clements et al, “Documenting Software Architectures: Views and Beyond”, Addison Wesley, 2002.

  [4] Paul Clements et al, “Evaluating Software Architectures”, Addison Wesley, 2002.

  [5] Erl, T., “SOA Principles of Service Design”, Prentice Hall, 2008

  [6] Geary, D., Horstmann, C., “Core JavaServer Faces” Second Edition, Prentice Hall, 2007[7] Richard Taylor, Nenad Medvidovic, Eric Dashofy. “Software Architecture Foundations, Theory and Practice, 2009.


Recommended