2020 20 AE Sesion03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

ISIS-2403

Arquitectura Empresarial

Sesión 3
Jorge Villalobos
María Camila Romero
Oscar González

2020-20
© Todos los derechos reservados (2020) – J. Villalobos
Agenda

1. Solución hoja de trabajo #1


2. Construcción de metamodelos
3. Diseño de lenguajes de dominio
4. Hoja de trabajo #2

2
Hoja de trabajo #1: presentaciones

Para los siguientes dominios construya el modelo conceptual:

1. WhatsApp
2. Una tienda de barrio

3
Agenda

1. Solución hoja de trabajo #1


2. Construcción de metamodelos
3. Diseño de lenguajes de dominio
4. Hoja de trabajo #2

4
5
Técnicas, recomendaciones y preguntas frecuentes
P1 - ¿Atributo o concepto? P2 - ¿Atributo o agrupación?

Dirección Empleado
Empresa
dirección: String * nombre: String
ciudad: String nombre: String apellido: String
barrio: String cédula: String
longitud: String activo: boolean
latitud: String

Empresa activos Empleado


Dirección Localización
* nombre: String
dirección: String nombre: String
longitud: String apellido: String
ciudad: String retirados
latitud: String cédula: String
barrio: String
*

6
Técnicas, recomendaciones y preguntas frecuentes
P3 - ¿Conceptos o actores del dominio? P4 - Dirección de una relación

C1 C2
Esta es una confusión que se presenta
muy a menudo y es que el hecho de que atr-1 atr-2
un concepto del dominio se llame igual a
un actor del dominio (alguien que en la
realidad tiene la responsabilidad de
hacer algo) nos lleva a incluir • ¿C2 es parte de C1?
erróneamente relaciones que no son • ¿C1 y C2 son del mismo nivel?
estructurales sino funcionales.
En general, el criterio es garantizar que todo
concepto C1 que deba conocer otro
concepto C2 del metamodelo, encuentre
la manera de navegar por las relaciones
existentes para llegar del uno al otro.

7
Técnicas, recomendaciones y preguntas frecuentes
P5 - Patrones en los metamodelos P6 - Ciclo de vida de los elementos

sucesor 0..1 Cuando tenemos elementos que


Secuencia Nodo evolucionan en el tiempo, el
primero valor metamodelo debe poder representar las
etapas de dicha evolución.

Árbol raíz Nodo hijos • Definir un concepto para cada estado


*
del pedido y colocar cada concepto
con los atributos y relaciones
correspondientes.
Concepto NodoInterno • Definir un único concepto y agregar
valor atributos y relaciones adicionales.
• Definir una mezcla de las dos
aproximaciones anteriores. Esto se
Concepto-1 Relación Concepto-2 debe hacer cuando las estructuras de
los conceptos varían fuertemente con
atributo-1 atr-relación atributo-2 el cambio de estado.

8
Técnicas, recomendaciones y preguntas frecuentes
P7 - ¿Hay metamodelos mejores que otros? P8 - Complejidad de un metamodelo

Un metamodelo es grande si tiene muchos


Hay más de una manera de conceptualizar conceptos y es complejo si sus conceptos
una misma realidad. Eso quiere decir que, están muy relacionados entre sí.
para un mismo objetivo, podemos construir
varios metamodelos distintos. • Si es solo un problema de dibujo, se debe
buscar la mejor manera de comunicar.
• Los nombres de los conceptos y los
nombres de los roles. • Si el problema es de verdad difícil,
debemos descomponer el metamodelo
• Lo simple es mejor que lo complejo. en dimensiones:

• La forma en que se dibuja es fundamental. dimensión 4

dimensión 3
• Copiar fielmente la estructura de la dimensión 2
realidad.
dimensión 1

9
Técnicas, recomendaciones y preguntas frecuentes
P9 - ¿Es un concepto o solo una agrupación? P10 - El metamodelo de un metamodelo

Hay algunos términos que aparecen


mencionados en los negocios, pero que
no es claro si se deben materializar como
un concepto o si son solo una agrupación
de otros conceptos que lo constituyen.

Ítem
Empresa bodega SKU
* nombre
cantidad

Ítem
Empresa Bodega * SKU
nombre
cantidad

10
Técnicas, recomendaciones y preguntas frecuentes
P11 - Herencia y agrupamientos P12 - Altura en un metamodelo

C1 Texto Contenido

título: String texto: String

* r1 Texto contenido Párrafo


C2 título: String * texto: String

Texto contenido Párrafo * Frase


título: String * texto: String
* C3 C4 *
r2 r3 Texto contenido Párrafo * Frase
título: String * texto: String
• C1 es la superclase de C2
• C2 es una subclase de C1 *
Estilo
Palabra
tipoLetra: String
• C2 es la superclase de C3 y C4 tamaño: int
texto: String
• C3 y C4 son subclases de C2
11
¿Qué debe tener claro en este momento?

1. ¿Cómo se inicia el proceso de construcción del metamodelo?

2. ¿Cómo se decide si es un atributo o un concepto?

3. ¿Cómo se decide si es un atributo o una agrupación?

4. ¿Cómo se decide si es un concepto o una agrupación?

5. ¿Cómo se diferencia un actor de un concepto?

6. ¿Cómo se establece la dirección de una relación?

7. ¿Cómo manejar el ciclo de vida de los conceptos?

12
Agenda

1. Solución hoja de trabajo #1


2. Construcción de metamodelos
3. Diseño de lenguajes de dominio
4. Hoja de trabajo #2

13
Diseño de lenguajes de dominio
Podemos clasificar los lenguajes para expresar un modelo en dos grandes grupos:
los primeros corresponden a lenguajes basados en formatos (formas estructuradas
que contienen lenguaje natural) y los segundos, a lenguajes basados en
representaciones gráficas.

caso-1
caso-1
actor-1 caso-2 caso-2
actor-1
caso-3
caso-3
caso-3
actor-2
caso-4 caso-4
actor-2

Este es el metamodelo Este es un ejemplo de Este es el mismo modelo


(simplificado) de un modelo (o sea un diagrama anterior, expresado usando
diagrama de casos de uso de casos de uso) expresado la representación estándar
de UML. a través de un formato. de UML.

14
Proveedor Insumo (catálogo)

Formatos como lenguaje de ID nombre código nombre precio

los modelos P1 Tienda-1


C1

C2
Producto-1

Producto-2
$1

$2

C3 Producto-3 $3

C1 Producto-1 $4
P2 Tienda-2
C4 Producto-4 $5

C1 Producto-1 $6
P3 Tienda-3
C5 Producto-5 $7

Pedido Proveedor Cantidad Insumo

número fecha ID unidades código

5 C1

orden-1 fecha-1 P1 7 C2

2 C3

3 C1
orden-2 fecha-2 P2
4 C4

2 C1
orden-3 fecha-3 P3
10 C5

15
Diseño de lenguajes gráficos
marca Ford Edge
35
modelo 2020
capacidad motor 2.694 30
motor Ford Edge
presión llanta 1 35
2.694 2020
presión llanta 2 30 32
presión llanta 3 32
presión llanta 4 28 28

35 30

Ford Edge Ford Edge


2.694 2.694
2020 2020

32 28

16
Lenguajes gráficos y comunicación visual
conceptualizar modelo
metamodelo
conceptual

diseñar

es conforme
lenguaje
gráfico

abstraer expresar
realidad modelo diagrama

arquitectos destinatarios

Se define la efectividad de un diagrama (expresado en un lenguaje gráfico)


como la velocidad, facilidad y precisión con la cual dicho artefacto es
procesado (y entendido) por el cerebro de los destinatarios.
17
El proceso cognitivo
percibir entender interpretar
(ver) (estudiar) (concluir)

leer reconstruir
realidad
destinatarios
diagrama

Cognitive miser - Los seres humanos tenemos una capacidad de procesamiento limitada y debemos
aprovecharla de la mejor manera posible para poder enfrentar problemas y entornos complejos. Cualquier
gasto innecesario de esta capacidad de procesamiento se debe ver como un desperdicio. Un diagrama
mal construido, una presentación mal hecha, una opinión confusa o una entrevista mal estructurada
pueden botar a la basura horas de trabajo de un equipo.

Irony of simplicity - La simplicidad es una de las características más difíciles de conseguir en un diagrama. Se
requiere mucho esfuerzo y tiempo para lograr que un diagrama, que refleja una realidad compleja, parezca
simple y sea fácilmente entendible. Casi siempre un diagrama demasiado complejo refleja falta de trabajo
de parte del equipo de arquitectos.
18
Buenos diagramas
• Se conoce como ruido cualquier elemento incluido en un diagrama que
comprometa la efectividad del artefacto. Esto incluye elementos gráficos mal
utilizados (líneas cruzadas, por ejemplo), información innecesaria, cualquier
tipo de distractor visual, información en un nivel de detalle inadecuado,
inconsistencia en el uso de algún símbolo, entre otros.

• Un diagrama debe ser uniforme en altura (todos los elementos deben ser
del mismo nivel de abstracción), tan simple como sea posible, estéticamente
agradable (lo que se ve desordenado comunica complejidad y lo que se ve
feo comunica baja calidad), intuitivo (el cerebro debe poder hacer una parte
del trabajo de manera automática) y limpio (sin elementos que generen
ruido de cualquier tipo).

19
Variables visuales
Color

Forma

Elemento
Figura
Información
Tamaño

Permiten expresar Línea


visualmente las
características de un
elemento Texto Texto Texto Texto Texto
Letra
Texto Texto Texto Texto Texto
20
El alfabeto visual del lenguaje
• Se deben diseñar representaciones gráficas que se puedan distinguir fácilmente entre ellas (principio de
perceptual discriminability). Si la única diferencia entre dos representaciones es el grueso de una línea, va a ser
muy difícil para el cerebro diferenciarlas de manera eficiente. Eso nos va a pasar con mucha frecuencia con
las relaciones entre conceptos, porque solo podemos jugar con el tipo de línea, el grosor de la línea y el tipo y
tamaño de la flecha.

• Se deben usar representaciones gráficas que el cerebro pueda asociar de manera natural con el concepto
(principio de transparencia semántica). Si en un metamodelo asociamos con el concepto de “persona” un
ícono que el cerebro pueda identificar fácilmente, le estaremos ayudando en el procesamiento de la
información:

Semántica directa: un arquitecto sin ningún entrenamiento hace


inmediatamente la relación entre la representación y el concepto

Semántica aprendida: un arquitecto puede aprender a relacionar el


concepto con la forma, sin grandes dificultades (persona = caja)

Semántica perversa: el cerebro del arquitecto va a estar confundido y va a


rechazar la notación gráfica seleccionada (persona no es igual a avión).

• Algo en lo que se debe tener cuidado es en garantizar que el número de elementos gráficos diferentes sea
manejable por el cerebro (principio de economía gráfica). Después de un cierto número, el cerebro se satura y
pierde efectividad.

21
Reglas de composición
atr1
C1 C2
atr2
atr1 atr2

valor-1 valor-1 valor-1

valor-2 valor-2
valor-2

valor-1 valor-1

valor-2 valor-2

22
Agenda

1. Solución hoja de trabajo #1


2. Construcción de metamodelos
3. Diseño de lenguajes de dominio
4. Hoja de trabajo #2

23
Hoja de trabajo #2

Diseño de un lenguaje de dominio para un


Objetivo:
metamodelo simple.
Grupo: Trabajo individual o en parejas
Al comienzo de la siguiente clase se selecciona quién
Dinámica:
presenta la solución y lo revisamos entre todos.
Construya un metamodelo para una lista de tareas
pendientes, que tenga características como tipo de
tarea, duración, prioridad, fecha límite, nivel de
Enunciado:
avance, etc. Luego, diseñe para ese metamodelo un
lenguaje de tipo formato y un lenguaje gráfico. Ilustre
con un ejemplo el resultado.
24

También podría gustarte