Contenido Semana 4
Contenido Semana 4
Contenido Semana 4
HERRAMIENTAS
HERRAMIENTASDEDE
MODELAMIENTO
MODELAMIENTO
SEMANA 4
SEMANA 3
Vistasy Diagramas
Vistas y Diagramas
enen UML
UML
IACC -2020
1
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
APRENDIZAJES ESPERADOS
El estudiante será capaz de:
IACC -2020
2
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
IACC -2020
3
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
INTRODUCCIÓN
En la vista estática es importante ir servidores, entre otros. Así, este diagrama
estructurando un lenguaje más técnico sobre tiene un nivel más alto de abstracción que los
lo que representa UML. Dentro de esta vista vistos diagramas de clase, usualmente, los
se estudiarán los conceptos relacionados con componentes se implementan por una o por
los componentes del sistema, así como el más clases u objetos en tiempo de ejecución.
respectivo diagrama de componentes. Se representan como bloques de
construcción que eventualmente puede
Dentro de la vista UML es importante comprender una gran porción de un sistema.
destacar que los diagramas de componentes Es por esto que resulta importante definirlo
permiten visualizar a las piezas de software de correctamente y partir previamente de un
un proyecto informático, como por ejemplos buen diagrama de clases del sistema.
controladores embebidos, equipos,
IACC -2020
4
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Es importante considerar que dentro de la vista estática se diseñan los diagramas de componentes.
Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones, y a su
vez, muestran las opciones de realización, incluyendo código fuente, binario y ejecutable.
Los componentes representan los distintos elementos de software que están presente en la
fabricación de aplicaciones informáticas. A continuación, se definirán los términos generales de la
vista estática que se utilizan en el diagrama de componentes:
1.1. CLASIFICADORES
Estas nos permiten modelar el enlace entre diferentes elementos estructurales, además, las
relaciones muestran la información adicional como multiplicidad (número de instancias de una clase
que pueden estar relacionadas con la clase asociada) y nombres de roles (identificación del extremo
de una asociación). Así, UML maneja cuatro clases de relaciones: dependencia, asociación,
generalización y realización.
• Relación de dependencia: una dependencia es una relación semántica entre dos clases, en
la cual un cambio de un elemento (independiente) puede afectar la semántica de otro
(dependiente). Gráficamente, una dependencia se representa como una línea discontinua,
dirigida.
IACC -2020
5
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
• Relación de asociación: una asociación es una relación estructural que describe un conjunto
de enlaces, los cuales representan conexiones a través de objetos. La agregación es una
clase especial de asociación que representa una relación de estructura entre un conjunto y
sus partes. Gráficamente, una asociación se representa como una línea continua, que puede
incluir multiplicidad.
IACC -2020
6
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Los modelos tienen condiciones, ¿Cómo se representan en UML estas restricciones e instancias?
Las restricciones especifican condiciones sobre los elementos del modelo. Las restricciones
extienden la semántica de un elemento añadiendo nuevas reglas o modificando las existentes.
Se representan con una cadena de caracteres entre llaves:
• Colocada junto al elemento al que está asociada o conectada, o
• Conectada a ese elemento/s por relaciones de dependencia.
Por otro lado, en UML es común el mecanismo de abstracción de clasificación, manifestado por la
dualidad Abstracción Instancia:
• Casos de Uso vs instancias de Casos de Uso.
• Nodos vs instancias de Nodos.
• Asociaciones vs instancias de asociaciones (enlaces).
Una instancia es una manifestación concreta de una abstracción, a la que se puede aplicar
operaciones y puede tener un estado (atributos). Los objetos son las instancias de abstracciones de
tipo clase.
Al modelar instancias: se debe considerar que toda instancia debe representar una manifestación
de una abstracción (clase, componente, nodo, caso de uso, asociación). Una instancia está bien
estructurada si:
• Está asociada explícitamente con una abstracción.
IACC -2020
7
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
• Tiene un nombre único extraído del vocabulario del dominio del problema o del dominio de
la solución.
Al dibujar una instancia:
• Incluir el nombre de la abstracción, salvo que sea obvio por el contexto.
• Mostrar el estereotipo y el estado solo lo necesario para comprender el objeto en su
contexto.
• Las listas largas de atributos y sus valores deben agruparse por categorías.
Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un
componente utiliza los servicios ofrecidos por otro componente.
Entre las características de este diagrama, destacan:
IACC -2020
8
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Uno de los usos principales es que puede servir para ver qué componentes pueden compartirse
entre sistemas o entre diferentes partes de un sistema.
IACC -2020
9
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Definiciones:
Un componente puede ser visto también como una parte física reemplazable de un sistema
que empaqueta su implementación y es conforme a un conjunto de interfaces a las que
proporciona su realización. Algunos componentes tienen identidad y pueden poseer
entidades físicas, que incluyen objetos en tiempo de ejecución, documentos, bases de
datos, etc. Los componentes existentes en el dominio de la implementación son unidades
IACC -2020
10
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
físicas en los computadores que se pueden conectar con otros componentes, sustituir,
trasladar, archivar, etc.
• Identidad: Todo componente tiene una identidad y un estado. La identidad permite asociar
al componente con el objeto que lo representa y con sus atributos.
• Estructura: La estructura se asocia a los elementos que permiten la implementación del
componente, esto significa que el componente proporciona el código para los elementos.
IACC -2020
11
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Las operaciones e interfaces disponibles para los objetos exteriores se pueden representar
directamente en el símbolo de clase. Estos son su comportamiento como clase. Los
contenidos del subsistema se representan en un diagrama separado.
Tipos de Componentes:
• Los componentes producto del trabajo: productos que quedan al final del proceso de
desarrollo
Paquete:
Ensamble:
Componente: Delegar:
IACC -2020
12
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Asociar:
Clase:
Interfaz: Realización:
Objeto: Generalización:
• Paquete: un paquete es un espacio de nombre, así como un elemento que puede estar
contenido en otros espacios de nombre de paquetes. Un paquete puede poseer o
combinarse con otros paquetes, y sus elementos se pueden importar dentro de un espacio
de nombre de un paquete. Además de usar los paquetes en el Explorador de Proyectos para
organizar el contenido de sus proyectos, estos paquetes también se pueden arrastrar a
espacios de trabajo de diagramas para descripciones estructurales o relacionales,
incluyendo importación o combinación de paquetes.
• Clase: una clase es una representación de uno o más objetos, que refleja su estructura y
comportamiento en el sistema. Una clase puede tener atributos (datos) y métodos
(operaciones o comportamiento). Las clases pueden heredar características desde las clases
padres y delegar comportamientos a otras clases. Los modelos de clases usualmente
describen la estructura lógica del sistema y son los bloques de construcción a partir de los
cuales se construyen los componentes.
IACC -2020
13
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
La sección superior de la clase muestra los atributos (o elementos de datos) asociados a una clase.
Ellos mantienen el 'estado' de un objeto en tiempo de ejecución. Si la información se guarda a un
almacenamiento de datos y se puede recargar, se dice que es 'persistente'. La sección inferior
contiene las operaciones de clase (o métodos en tiempo de ejecución). Las operaciones describen
el comportamiento que una clase ofrece a otras clases, y el comportamiento interno que esta
tiene (métodos privados).
Las interfaces se pueden dibujar de un modo similar a una clase, con las operaciones
especificadas, como se muestra abajo. Ellas también se pueden dibujar como un círculo sin
los detalles de las operaciones. Use el botón derecho y en el menú contextual elija la opción
Configuraciones Avanzadas IUsar Notación de Círculo para cambiar entre ambos estilos.
Cuando se dibuja como círculo, la realización se dibuja sin la flecha al destino.
IACC -2020
14
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
• Puerto: los puertos definen la interacción entre un clasificador y su entorno. Las interfaces
que controlan esta interacción pueden ser representadas usando el elemento de la caja de
herramientas de la interfaz expuesta. Cualquier conector le debe proporcionar a un puerto
una interfaz requerida, si es que está definida. Los puertos pueden aparecer en una de las
partes contenidas, una clase, o el límite de una estructura compuesta.
• Exponer la interfaz:
IACC -2020
15
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
El elemento “Exponer la interfaz” representa un método gráfico que describe las interfaces
requeridas y provistas de un componente, de una clase o de una parte. Su función es identificar
el hecho de que el elemento provee o requiere una interfaz; para describir el hecho de que la
interfaz provista se use, o que la interfaz requerida es provista por otro elemento, se éste
conector.
• Delegar: El conector delegar define el ensamble interno de los puertos e interfaces externos
de un componente. Al usar este elemento se pueden conectar los trabajos internos del
IACC -2020
16
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
sistema con el mundo exterior, por una delegación de las conexiones de las interfaces
externas. Es la relación entre entradas y salidas del sistema con la estructura interna.
• Asociar: una asociación implica que dos elementos de modelo tienen una relación,
usualmente implementada como una variable de instancia en una clase. Este conector
puede incluir nombre de roles en cada final, multiplicidad, dirección y restricciones. La
asociación es el tipo general de relación entre elementos. Para más de dos elementos, se
puede usar el elemento Asociación N-Ary.
Cuando se genera el código para los diagramas de clases, las asociaciones se convierten en
variables de instancia en la clase destino. Esta relación también se usa en los diagramas de
Paquetes, Objeto, Comunicación y Despliegue.
IACC -2020
17
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
IACC -2020
18
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Tipos de interfaz:
Gráficamente:
Imagen 18. Ejemplo de nodo en UML
Fuente: elaboración propia
IACC -2020
19
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
Similitudes Diferencias:
• Los nodos y los componentes tienen • Los Nodos son los elementos donde se
nombre. Pueden participar en ejecutan los componentes. Los
relaciones de dependencia, componentes son los elementos que
generalización y asociación. participan en la ejecución de un sistema.
Representan el despliegue físico de los
IACC -2020
20
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
El tipo de relación más común entre nodos es la asociación. La cual viene a representar una conexión
física entre ellos, como se puede ver en la siguiente figura:
IACC -2020
21
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
• Paquetes: la forma que tiene UML de agrupar elementos en subsistemas es a través del
uso de Paquetes, pudiéndose anidar los paquetes formando jerarquías de paquetes. De
hecho, un sistema que no tenga necesidad de ser descompuesto en subsistemas se puede
considerar como con un único paquete que lo abarca todo. Gráficamente:
IACC -2020
22
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
• Modelado de Código Fuente. Los diagramas de componentes se pueden utilizar para modelar
la gestión de la configuración de los archivos de código fuente, tomando como productos de
trabajo precisamente estos ficheros. Esto resulta bastante útil, por ejemplo, cuando se han
implementado unas partes con Java, otras con C, etc. El resultado de esta implementación
puede ser una multitud de ficheros ejecutables con características particulares, de manera que
la mejor forma de controlarlos es estableciendo gestión de configuración. Para poder llevar a
cabo esta gestión con éxito, será necesario definir los estereotipos de ficheros que se quieren
tener bajo control, así como las relaciones entre dichos tipos de ficheros. Para modelar el
código fuente de un sistema:
IACC -2020
23
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
En este caso, se han utilizado paquetes para dar una visión de alto nivel del sistema.
IACC -2020
24
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
IACC -2020
25
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
IACC -2020
26
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
COMENTARIO FINAL
Los diagramas de componentes se ubican dentro de la vista estática en UML. Es importante tener
claro que un componente es un módulo de software que puede ser código fuente, código binario,
un ejecutable, o una librería con una interfaz definida. Una interfaz establece las operaciones
externas de un componente, las cuales determinan una parte del comportamiento del mismo.
Además, dentro de estos diagramas se representan las dependencias entre componentes o entre
un componente y la interfaz de otro, es decir, uno de ellos usa los servicios o facilidades del otro.
Estos diagramas pueden incluir paquetes que permiten organizar la construcción del sistema de
información en subsistemas y que recogen aspectos prácticos relacionados con la secuencia de
compilación entre componentes, la agrupación de elementos en librerías, etc.
IACC -2020
27
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
REFERENCIAS
García, F. y García, A. (2017). Fundamentos de la Vista De Interacción. España. Recuperado de:
https://repositorio.grial.eu/bitstream/grial/1157/1/UML%20-
%20Vista%20de%20interaccion.pdf
IACC -2020
28
SEMANA 4 – HERRAMIENTAS DE MODELAMIENTO
IACC -2020
29