Swift
UML
Ref.
A estereoti-
par
Dif./Obs.
Tipos
anidados
-
X
No
se
encontró en
la
guía
UML
una
descripción
de
cómo
representar
la
relación
de
tipos
anidados
por
lo

que
se
deberá
estereoti-
par.
Extensión
22.3. Estereoti-
pos estándar -
Refinamiento
X
Aunque
el
refinamien-
to
coincide
con
la
descripción
de
exten-
sión
entre
clases,
estructuras
y
enumera-
ciones,
es
necesario
refinarlo
ya
que
en
Swift
se
permite
extender
protocolos
para
pro-
veer
im-
plementa-
ciones
a
todos
los
tipos que lo
conforman.
Con
base

en

los

análisis

de

las

tablas

III

y

IV

se
concluyó
que,

para

poder

representar

un

sistema
basado
en

POP,

coincidiendo

parcialmente

con

la
suposición
inicial,

es

necesario

estereotipar

los
siguientes tipos y relaciones:
● Estructuras
● Enumeraciones
● Protocolos
● Tipos anidados
● Extensiones
Aunque la relación de tipos anidados no es única a
POP, ya que se usa en lenguajes de programación
con un
enfoque

POO

como

Java,

es

una

relación
que también se usa por POP y no está documenta-
da por l or la versión más reciente de UM e UML.
La

formulación

del

perfil

incluye

los

este-
reotipos con sus nombres de etiqueta, la metaclase
o relación del cual extienden y su descripción. Ver
la Tabla V, en ella se usó la misma representación
que el OMG usa para los estereotipos estándar de
UML 2.5 en s n su apartado 22.3.
Tabla V: Diagrama de Perfil que incluye tipos y relacio-
nes estereotipadas para la diagramación de sistemas
implementados en Swift 5.7
Nombre
Aplica a
Descripción
<<nested>>
Composi-
ción
Una
dependencia

de

compo-
sición
que

denota

una

rela-
ción
de

propiedad.

Esta

rela-
ción
se

usa

para

representar
tipos
anidados

donde

un

tipo
se
declara

en

el

ámbito

de
otro
tipo.

El

tipo

principal
declara el tipo interno.
<<exten-
sion>>
Abstracción
Especifica
una

relación

de
refinamiento
de

una

clase,
estructura
o

enumeración.
Una
relación

de

extensión
entre
protocolos

provee

im-
plementaciones
a

los

atribu-
tos y métodos de ese protoco-
lo.
<<Enum>>
Clases
Una
clase

que

soporta,

ade-
más
de

propiedades

y

méto-
dos, enumeraciones literales.
<<Exten-
sion>>
Clases
Una
clase

del

mismo

tipo

de
la clase que extiende. Especi-
fíca
refinamiento

mediante
agregación
de

elementos

y
atributos.
Una

extensión
relacionada
a

un

protocolo
implica
proporcionar

imple-
mentaciones
de

métodos,

y
propiedades
para

los

tipos
conformes al protocolo.
<<Protocol>>
Interfaces
Una
interfaz

que

permite
definir propiedades y métodos
como requerimientos, además
de ser extendido para proveer
implementaciones por defecto
y
conformado

mediante

la
relación conformance.
<<Structu-
re>>
Clases
Una
clase

que

no

hereda

de
otras
clases

y

las

instancias
se copian por valor, a diferen-
cia de la clase tradicional que
copia por referencia.