ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE
MANABÍ MANUEL FÉLIX LÓPEZ
CARRERA INFORMÁTICA
SEMESTRE SEPTIMO PERIODO OCT./2014-MAR./2015
INGENIERIA DE SOFTWARE
TEMA 2:
LENGUAJE UNIFICADO DE MODELADO
UML
AUTORA:
JENNIFER V. LÓPEZ ÁLAVA
FACILITADOR:
ING. HIRAIDA SANTANA
CALCETA, 01 DICIEMBRE 2014
INTRODUCCIÓN
En este capítulo se conocerá
acerca de los diagramas de estructura los cuales son los diagramas de clase,
que es una clases, un atributo y las operaciones que se realizan en este
diagrama, sus asociaciones y la generalización de las clases, además, los
diagramas de estructura compuestas, que es una parte y puertos, las interfaces,
y demás componentes de dicho diagrama.
DIAGRAMAS DE ESTRUCTURA
CLASES
Los diagramas de clases
muestran las diferentes clases que componen un sistema y cómo se relacionan
unas con otras. Se dice que los diagramas de clases son diagramas «estáticos»
porque muestran las clases, junto con sus métodos y atributos, así como las
relaciones estáticas entre ellas: qué clases «conocen» a qué otras clases o qué
clases «son parte» de otras clases, pero no muestran los métodos mediante los
que se invocan entre ellas.
Clase
Una clase define los atributos
y los métodos de una serie de objetos. Todos los objetos de esta clase
(instancias de esa clase) tienen el mismo comportamiento y el mismo conjunto de
atributos (cada objetos tiene el suyo propio). En ocasiones se utiliza el
término «tipo» en lugar de clase, pero recuerde que no son lo mismo, y que el
término tipo tiene un significado más general.
Atributos
En UML, los atributos se
muestran al menos con su nombre, y también pueden mostrar su tipo, valor
inicial y otras propiedades. Los atributos también pueden ser mostrados
visualmente:
• +
Indica atributos públicos
• #
Indica atributos protegidos
• -
Indica atributos privados
Operaciones
Las operaciones (métodos)
también se muestan al menos con su nombre, y pueden mostrar sus parámetros y
valores de retorno. Las operaciones, al igual que los atributos, se pueden
mostrar visualmente:
• +
Indica operaciones públicas
• #
Indica operaciones protegidas
• -
Indica operaciones privadas
Plantillas
Las clases pueden tener
plantillas, un valor usado para una clase no especificada o un tipo. El tipo de
plantilla se especifica cuando se inicia una clase (es decir cuando se crea un
objeto). Las plantillas existen en C++ y se introducirán en Java 1.5 con el
nombre de Genéricos.
Asociaciones De Clases
Las clases se puede relaciones
(estar asocionadas) con otras de diferentes maneras
Generalización
La herencia es uno de los
conceptos fundamentales de la programación orientada a objetos, en la que una clase
«recoge» todos los atributos y operaciones de la clase de la que es heredera, y
puede alterar/modificar algunos de ellos, así como añadir más atributos y
operaciones propias.
En UML, una asociación de
generalización entre dos clases, coloca a estas en una jerarquía que representa
el concepto de herencia de una clase derivada de la clase base. En UML, las
generalizaciones se representan por medio de una línea que conecta las dos
clases, con una flecha en el lado de la clase base
ESTRUCTURAS COMPUESTAS
Un diagrama de estructura
compuesta es un diagrama que muestra la estructura interna de un clasificador,
incluyendo sus puntos de interacción a otras partes del sistema. Esto muestra
la configuración y relación de las partes que juntas realizan el comportamiento
de clasificador contenido.
Los elementos de clase han
sido descriptos en gran detalle en la sección en los diagramas de clase. Esta
sección describe la forma en que las clases se pueden mostrar como elementos
compuestos exponiendo interfaces y conteniendo puertos y partes.
Parte
Una parte es un elemento que
representa un conjunto de una o más instancias que pertenecen a una instancia
del clasificador contenida. Por ejemplo, si una instancia de diagrama se
apropia de un conjunto de elementos gráficos, luego los elementos gráficos se
pueden representar como partes, si fuera útil hacer eso para modelar algún tipo
de relación entre ellos. Tener en cuenta que una parte se puede quitar de sus
padres antes de que el padre se elimine, para que la parte no se elimine al
mismo tiempo.
Una parte se muestra como un
rectángulo no adornado dentro del cuerpo de una clase o del elemento
componente.
Puerto
Un Puerto es un elemento
escrito que representa una parte visible externa de una instancia del
clasificador contenido. Los puertos definen la interacción entre un
clasificador y su entorno. Un Puerto puede aparecer en el límite de la parte
contenida, una clase o una estructura compuesta. Un Puerto puede especificar
los servicios que un clasificador provee así como también los servicios que
este requiere de su entorno.
Un Puerto se muestra como un
rectángulo nombrado en el borde del límite de su clasificador apropiado.
Interfaces
Una interfaz es similar a una
clase pero con un número de restricciones. Todas las operaciones de la interfaz
son públicas y abstractas, y no proveen ninguna implementación predeterminada.
Todos los atributos de la interfaz deben ser constantes. Sin embargo, mientras
que una clase puede solo heredar de una sola super-clase, puede implementar
interfaces múltiples.
Una interfaz, cuando esta sola
en un diagrama, se muestra como un rectángulo del elemento clase con la clave
«interfaz» y con su nombre en itálica para denotar que es abstracto, o se
muestra como un circulo.
Cuando las interfaces se
muestran como si fueran apropiadas por las clases, se refieren a ellas como
interfaces expuestas. Una interfaz expuesta se puede definir como provista o
requerida. Una interfaz provista es una afirmación que el clasificador
contenido provee a las operaciones definidas por el elemento de la interfaz
nombrada y se define dibujando un vínculo de realización entre la clase y la
interfaz. Una interfaz requerida es un estado que el clasificador puede
comunicar con algún otro clasificador que provee operaciones definidas por el
elemento de la interfaz nombrada y se define dibujando un vínculo de
dependencia entre la clase y la interfaz
Una interfaz provista se
muestra como una “pelota en un palo” adjuntada al borde de un elemento
clasificador. Una interfaz requerida se muestra como una “copa en un palo”
adjuntada al borde de un elemento clasificador.
Delegar
Un conector delegar se usa
para definir los trabajos internos de los puertos e interfaces externas del
componente. Un conector delegar se muestra como una flecha con un estereotipo
«delegar». Esto conecta un contrato externo de un componente como se muestra
por sus puertos a la realización interna del comportamiento de la parte del
componente.
Colaboración
Una colaboración define un
conjunto de roles co-operativos usados colectivamente para ilustrar una
funcionalidad especifica. Una colaboración debería solo mostrar los roles y los
atributos requeridos para lograr sus tareas o funciones definidas. Aislar los
roles primarios es un ejercicio de simplificar la estructura y clasificar el
comportamiento, y también provee para poder re- usarlo. Un elemento
colaboración a menudo implementa un patrón.
Un elemento colaboración se
muestra como un elipse.
Enlace de Roles
Un conector enlace de roles se
dibuja desde una colaboración a un clasificador que completa el rol. Esto se
muestra como una línea de trazos con una punta de flecha y el estereotipo
«enlace de roles».
Representa
Un conector representa se
puede dibujar desde una colaboración a un clasificador para mostrar que una
colaboración se usa en el clasificador. Se muestra como una línea de trazos con
una punta de flecha y el estereotipo «representa».
Ocurrencia
Un conector ocurrencia se
puede dibujar desde una colaboración a un clasificador para mostrar que la
colaboración representa (sic) el clasificador. Esto se muestra como una línea
de trazos y el estereotipo «ocurrencia».
CIERRE
Los diagramas de clases
muestran las diferentes clases que componen un sistema y cómo se relacionan
unas con otras, una clase define los atributos y los métodos de una serie de
objetos, dichas clases se pueden relacionar con otras de diferentes maneras. Un
diagrama de estructura compuesta es un diagrama que muestra la estructura
interna de un clasificador, incluyendo sus puntos de interacción a otras partes
del sistema, una parte es un elemento que representa un conjunto de una o más
instancias que pertenecen a una instancia del clasificador contenida, un puerto
es un elemento escrito que representa una parte visible externa de una
instancia del clasificador contenido, Una interfaz es similar a una clase pero
con un número de restricciones.
BIBLIOGRÁFIA
Kendall,
K. Kendall, J. Análisis y Diseño de Sistemas. 8va ed. Pearson Education. Prentice Hall, INC.,
Copyright © 2011.
Martínez,
H. Lenguaje Unificado de Modelado UML. Consultado, 05 feb. 15. Formato HTML.
Disponible en: http://umlhugomartinez.blogspot.com/p/diagramas-de-estructura.html
Pressman,
R. 2010. Ingeniería del Software Un Enfoque Práctico. 7ma ed. University of Connecticut. McGraw-Hill
Interamericana Editores, S.A.
SparxSystems.
Diagrama de estructura compuesta UML2. Consultado, 05 feb. 15. Formato HTML.
Disponible en: http://www.sparxsystems.com.ar/resources/tutorial/uml2_compositediagram.html