Unidad 5 UML
Unidad 5 UML
Unidad 5 UML
1 Objetivos de UML
Dentro de algunos de los objetivos principales de la diagramacin UML tenemos:
Ser visto como lenguaje de propsito general, que permite ser utilizado por
cualquier tipo de modelador
No es un mtodo de desarrollo, pero permite crear una arquitectura slida que
resuelva los requisitos dirigidos por los casos de uso
Buscar una simple comprensin y elaboracin de los diagramas, pero permite
modelar todos los conceptos de un sistema moderno y complejo.
5.2 Diagramacin de UML
La diagramacin UML se divide en 3 Categoras:
Por su Estructura
Por su Comportamiento
Por su Interaccin
Cada uno de ellos encierra un grupo de diagramas que son implementados durante las fases
de anlisis y diseo de un proyecto.
5.2.1 Clasificacin de Diagramas por Categoras
Por su estructura
Diagrama de clases
Diagrama de componentes
Diagrama de objetos
Diagrama de despliegue
Diagrama de paquetes
Por su comportamiento
Diagrama de actividades
Diagrama de caso de usos
Diagrama de estado
Por su Intensin
Diagrama de secuencia
Diagrama de comunicacin
Diagrama de vista de intereaccin
5.2.2 Jerarqua de los Diagramas UML
Se muestra la jerarqua como un diagrama de Clases
5.3 Definicin de objetos
Segn la definicin vista en el unidad 3, un objeto es la representacin de un ente, cosa o
algo con lo que un individuo puede tener interaccin o lo puede percibir por medio de
cualquier sentido.
Un objeto puede ser:
Material. Si este posee una forma definida
Abstracto. Si solamente se establece como un concepto, es el producto de la
abstraccin aplicada a objetos materiales u otro tipo de ente
Un objeto esta compuesto por:
Caractersticas o atributos
Relaciones
Comportamiento
5.3.1 Caractersticas o atributos
Estas permiten la distincin de un objeto entre otro conjunto de objetos que formen parte de
una misma organizacin, las caractersticas de un objetos pueden llegar a ser heredadas a
otros descendientes en dicha organizacin.
5.3.2 Relaciones
Un objeto debe pertenecer a un grupo u organizacin formada por ms objetos, las
relaciones permite la insercin a cualquiera de estos grupos.
5.3.3 Comportamiento
Son todas las operaciones que un objeto puede llegar a realizar.
Ejemplo de Objetos Materiales
Avin
o Atributos: Alas, Turbinas, Llantas, Ventanillas, Asientos, Puertas, Baos,
etc.
o Comportamiento: Vuela, Transporta Pasajeros
Perro
o Atributos: Cola, Pelo, Patas, Colmillos, Hocico
o Comportamiento: Ladra, Muerde, Cuida
Automvil
o Atributos: Llantas, Motor, Escape, Timn, Palanca, Chasis
o Comportamiento: Transporte terrestre para personas
Computadora
o Atributos: Teclado, Mouse, Monitor, Case, Memoria, Disco duro,
Procesador
o Comportamiento: Procesa Datos, Estadstica, Trabajos, Hace clculos
Ejemplo de Objetos Abstractos
Cuenta Bancaria
o Atributos: Tipo Cuenta, Titular Cuenta, Saldo Cuenta
o Comportamiento: Depositar, Retiro, Consultar
Ingeniero
o Atributos: Habilidad, Destreza, Actitud, Creatividad
o Comportamiento: Investiga, Desarrolla, Disea, Produce, Construye,
Administra, Opera, Vende
La relacin que posee cada uno de los objetos, es con el conjunto de objetos que son de un
mismo tipo o que sean de una misma CLASE
En trminos de programacin orientada a objetos, tenemos que un objeto es la instancia de
una clase.
Cada objeto posee caractersticas particulares como lo vemos en la siguiente tabla:
Computadora
Atributos Instancia objeto
Teclado
Teclado multimedia con
acceso a internet
Mouse ptico inalmbrico
Monitor LCD de 27"
Case Mini torre con entradas USB
Memoria DIM de 433 MHZ
Disco duro 100 GB SATA
Procesador Dual Core
El comportamiento de cada objeto de un conjunto de un mismo tipo o de una misma clase
no varia. Cada objeto puede ser descompuesto segn sus caractersticas y nivel de detalle
segn sea la necesidad.
Descomposicin de un Objeto en rbol de jerarqua
5.4 Definicin de Clases
Es un conjunto de objetos los cuales comparten una misma estructura y comportamiento,
representa la abstraccin y la esencia que comparten los objetos entre si. Una clase es una
plantilla que posee las variables y mtodos comunes entre objetos de un cierto tipo. Si
vemos en el mundo real, podemos decir que existen muchos objetos de un mismo tipo o de
una misma clase. Cada uno teniendo sus particularidades que los caracterizan uno del otro,
pero todos parten de una misma plantilla o esquema que los crea.
Se debe tener claro que una clase no es un objeto y ni un objeto es una clase. Las clases
presentan el estado de los objetos mediante los valores llamados atributos, estos son las
caractersticas de un objeto.
Los mtodos, son las funciones que representan el comportamiento de un objeto.
5.4.1 Ejemplo de Clases
Vehculo
o Automvil
o Avin
o Barco
Figura Geomtrica
o Crculo
o Tringulo
o Cuadrado
Ser Vivo
Ser Vegetal
Ser Animal
Ser Humano
Persona
5.4.2 Representacin UML de una Clase
5.4.2.1 Ejemplo de Representacin de un Diagrama de Clases en UML
5.5 Identificacin de Relaciones
Al definir un conjunto de clases para un mismo sistema, estas deben tener una relacin
entre si. Cada una de estas relaciones entre las distintas clases indica como se comunican
los objetos entre si.
5.5.1 Relaciones entre objetos
Existen distintos tipos de relaciones que pueden definirse en un diagrama de clases.
5.5.1.1 Asociacin: Se relaciona con
Una asociacin es una relacin estructural que describe una conexin entre objetos. La
asociacin se puede ver como una conexin conceptual entre clases, especificando adems
que los objetos de una clase debe conocer a los objetos de la otra clase.
Por ejemplo:
Un objeto de la clase A enva un mensaje al objeto de la clase B
Un objeto de la clase A crea un objeto de la clase B
Un objeto de la clase A recibe un objeto de la clase B como argumento
La representacin grfica de una asociacin es:
Generalmente la relacin de asociacin es bidireccional, esto quiere decir que existe un
recorrido en ambos sentidos hacia ambos objetos relacionados. Algunas veces es necesario
restringir la direccin de la relacin y volverla unidireccional, cuando la relacin va en un
solo sentido la representacin grfica es una lnea contina pero al final una punta de flecha
que indica el sentido de la relacin.
5.5.1.2 Dependencia: Depende de
Una dependencia es una relacin semntica entre dos clases tal que un cambio en un objeto
(independiente) puede afectar a otro (dependiente) .
La representacin grfica de una dependencia es una lnea punteada con un punta de flecha
en uno de los extremos:
5.5.1.3 Generalizacin: Es un
Es una relacin especializacin/generalizacin en la que el hijo (objeto especializado)
comparte la estructura y funcin del padre (objeto generalizado).
La representacin grfica de la generalizacin es una lnea contina con una punta de flecha
rellena en uno de los extremos.
Ejemplo:
5.5.1.4 Agregacin: Tiene un o Todo/Parte
Es un tipo especial de asociacin que representa una relacin estructural entre todo y sus
partes. En la agregacin se muestra que un objeto de una clase esta compuesto o contiene
un objeto de la otra clase.
La representacin grfica de la agregacin es una lnea contina con un rombo dibujado en
un de los extremos.
Ejemplo:
5.5.1.5 Composicin: Todo/Parte
La composicin es una relacin de agregacin mas estricta, en donde las partes solo existen
asociados al compuesto. Cada uno de los componentes de una agregacin puede pertenecer
solamente a un todo.
La representacin grfica es similar a la de la agregacin, solamente que el rombo dibujado
en el extremo esta relleno.
Ejemplo:
5.5.2 Multiplicidad
La multiplicidad representa el nmero de instancias de una clase que se relaciona con una
instancia de otra clase. Indica la cordialidad de la relacin. La multiplicidad en UML se
indica como uno o mas intervalos enteros, cada intervalo tiene el formato [lmtie inferior]
[lmite superior]. Cuando el lmite inferior es igual al lmite superior, basta con colocar
simplemente el nmero de la multiplicidad.
Si el lmite a indicar es indefinido, se representa con un (*)
Cuando la multiplicidad mnima es cero, la relacin es opcional
Una multiplicidad mnima mayor o igual a 1 establece una relacin obligatoria
5.6 Creacin de un Modelo Mental
5.6.1 Modelo Conceptual
Es un modelo visual de un sistema que ilustra las interconexiones de los componentes del
modelo. Los modelos conceptuales representa la realidad en un nivel mas alto de
abstraccin, mediante este modelo se puede construir una descripcin de la realidad.
Un modelo conceptual es una herramienta que debe contar con las siguientes cualidades
para representar la realidad de una manera fcil de entender.
Expresividad: Un modelo debe estar conformado por un conjunto de conceptos que
sean suficientes para representar perfectamente la realidad
Simplicidad: A pesar del amplio contenido que puede generar, este debe ser simple
para que los esquemas sean fciles de entender
Minimalidad: Cada uno de los conceptos involucrados en el modelo debe tener un
significado distinto
Formalidad: Todos y cada uno de los conceptos implementados en el modelo,
deben tener una interpretacin nica, precisa y bien definida
5.6.2 Diagrama de Clases
Un diagrama de clases, representa la estructura esttica de un sistema modelado. El
propsito es el de representar los objetos fundamentales del sistema ya sean del dominio o
solucin del mismo, adems de las relaciones entre los componentes del sistema.
Este tipo de diagramas utiliza la notacin UML para su representacin, es utilizado en el
anlisis y diseo de un sistema, donde se crea el modelo conceptual de la informacin que
se maneja dentro de un sistema y los componentes que se encargan del funcionamiento del
mismo.
5.6.3 Pasos para creas un Modelo Conceptual
5.6.3.1 Identificar y listar las Clases
Dentro de un sistema en el que se desea obtener cules pueden ser las posibles clases que
representen el comportamiento del mismo, se deben considerar algunos aspectos.
Conocimiento General del Dominio, la identificacin de clases dentro de un sistema
cualquiera que sea, inicia con la exploracin y compresin del dominio de todo el
sistema a modelar
Evaluar Sistemas Similares, Dentro de la compresin, es posible evaluar los
sistemas que contenga similitud con el sistema a modelar
Glosario de Trminos, Cuando se posee el conocimiento del sistema es posible
elaborar un documento el cual contenga toda la informacin resumida, colocando
las palabras claves que representen al modelo del sistema
Al establecer la lista de clases utilizando el Glosario de Trminos, se listan todos los
sustantivos encontrados en el documento para seleccionar las clases candidatas.
5.6.3.2 Identificar y listar los objetos
Al identificar los sustantivos que representan las clases que modelan el sistema, se
identifican adems los objetos, que son las instancias de cada una de las clases definidas. Si
la clase fue definida por el sustantivo computadora, el conjunto de objetos representados
por la agrupacin de este sustantivo son los que deben ser identificados.
Cada uno de los objetos identificados deben pertenecer a una clase dentro del modelo, no se
deben aadir cosas u objetos que no pertenecen al dominio del problema.
5.6.3.3 Identificar las relaciones de los Objetos
Cada una de las relaciones entre clases representa la colaboracin que existen entre ellas, si
una no puede con las responsabilidades asignadas es porque necesita la colaboracin de
otra clase.
La siguiente tabla define como pueden identificarse las relaciones entre los objetos.
Relacin Frase Ejemplo
Dependencia "Depende de"
La fnstalacin de un sistema operativo depende de las
caractersticas de la computadora donde se desea instalar
Generalizacin "Es un"
Una computadora es un aparato electrnico
Una moto es un vehculo
Agregacin "Es parte de"
La unidad de cd-room es parte de una computadora
Una llanta es parte de un automvil
Asociacin
"Se relaciona
con"
Un piloto se relaciona con un automvil, porque lo
conduce
5.6.3.4 Aadir los atributos que contenga la informacin de cada uno de los objetos
Las responsabilidades de cada una de las clases representa los atributos y
operaciones las cuales le fueron asignadas
Al definir los atributos de cada uno de los objetos, se consideran nicamente los de
mayor relevancia, estos solamente constituyen la informacin necesaria
Los atributos representan caractersticas estables de las clases
Las operaciones pueden extraerse utilizando un anlisis gramatical sobre la
informacin del sistema. Aqu los verbos son siempre los candidatos para definirse
como operaciones en un diagrama de clases
Por ejemplo, si tenemos el objeto persona y se define como atributo el valor fecha
de nacimiento, seria redundante o innecesario colocar un atributo para la edad ya
que con la fecha de nacimiento es posible identificar dicho valor
Una operacin dentro del objeto persona se puede definir como obtener edad,
utilizando siempre el verbo de la frase
5.6.3.5 Representar las clases con sus relaciones en un Diagrama
Para la elaboracin de un diagrama de clases, luego de haber identificado todos los puntos
anteriores, puede ser realizada utilizando la diagramacin UML, esta define la estructura y
simbologa que un diagrama de esta categora necesita representar.
5.6.3.6 Ejemplo de un Modelo Conceptual (un Supermercado)
1. Identificar y Listar las Clases
Primero se define el listado de los sustantivos encontrados en el dominio del
problema, estos deben representar claramente al sistema que se desea modelar.
o Caja
o Factura
o Producto
o Empleado
o Cliente
o Tienda
2. Identificar y Listar los Objetos
o Caja;
No. Caja
Tipo de Caja
o Factura
Detalle Factura
Monto
o Producto
Nombre
Precio
o Empleado
No. Empleado
Nombre
Puesto
o Cliente
Nombre
No. Nit
o Tienda
Ubicacin
Nombre
3. Identificar y Listar los Objetos
4. Identificar las Relaciones de los Objetos
Cada una de la relaciones se identifica de la siguiente manera:
o Una Tienda tiene varios empleados
o Una Factura tiene asociado los productos comprados
o Un Tienda tiene varios productos a la venta
o Un cajero se relaciona con un cliente cuando le cobra en caja
o Un cajero se relaciona con la caja para cobrar
o Un Cliente depende de la factura para que le entreguen el producto
o La caja es parte de la Tienda
En el siguiente paso se realizara el diagrama con los elementos encontrados, adems
se dentro del diagrama se definen las operaciones de cada una de las clases,
recuerde que estas son simplemente las acciones que cada objeto puede realizar.
Pueden existir mas acciones y operaciones que las expuestas en el diagrama de
ejemplo.
5. Representar las clases con sus relaciones en un Diagrama
6. Interpretacin de la Relaciones:
Las relaciones entre la clase Factura Cliente y Factura Producto se interpretan de
la siguiente manera:
o Cliente Factura: Un cliente depende de una factura, la multiplicidad que
puede tener esta relacin puede ser de uno a muchos, esto quiere decir que
un cliente puede tener de una a muchas facturas, si lo vemos en la direccin
factura cliente, una o ms facturas pertenecen a un solo cliente
o Factura Producto: Una factura posee asociados uno o ms productos, ya
que se genera una factura a partir del a compra de productos en el almacn,
la multiplicidad de la relacin es de uno a muchos ya que una factura puede
tener asociados uno o mas productos
5.7 Tarea preparatoria
1. A continuacin se le dan 2 grupos, compuesto cada uno de 3 sistemas. Para cada uno de
esos grupos, identifique al menos 10 objetos relacionados a sus 3 sistemas (por ejemplo,
para el primer grupo un objeto relacionado a los 3 sistemas, puede ser la msica):
a) Sociedad, Arte, Cantante
b) Ingeniero, Matemtica, Construccin
2. Para uno de los 2 grupos en el inciso anterior, defina 3 clases y describa 3 ejemplos de
los elementos que conforman cada clase. En total deber dar 18 ejemplos: son 3 ejemplos
por cada clase, 3 clases por cada grupo, son 2 grupos.
3. Defina los atributos y mtodos para cada una de las 9 clases del inciso anterior.
4. Identifique las siguientes relaciones y grafquelas utilizando la nomenclatura del tutor:
a) 2 relaciones de dependencia entre objetos del primer grupo del tema 1.
b) 2 relaciones de asociacin entre objetos del segundo grupo del tema 1.
c) 2 relaciones de agregacin entre objetos del primer grupo del tema 1.
d) 2 relaciones de generalizacin entre objetos del grupo sistema del tema 1.
e) 2 relaciones de composicin entre objetos del primer grupo del tema 1.
5. Elabore un Modelo Conceptual para cada grupo del tema 1 (en total realizar 2 modelos
conceptuales), utilizando la nomenclatura del tutor. Recuerde que est modelando la
realidad, as que aplique el enfoque de sistemas para realizar su trabajo.