unidad 5 uml
TRANSCRIPT
5.1 Objetivos de UML
Dentro de algunos de los objetivos principales de la diagramación UML tenemos:
Ser visto como lenguaje de propósito general, que permite ser utilizado por cualquier tipo de modelador
No es un método de desarrollo, pero permite crear una arquitectura sólida que resuelva los requisitos dirigidos por los casos de uso
Buscar una simple comprensión y elaboración de los diagramas, pero permite
modelar todos los conceptos de un sistema moderno y complejo.
5.2 Diagramación de UML
La diagramación UML se divide en 3 Categorías:
Por su Estructura
Por su Comportamiento Por su Interacción
Cada uno de ellos encierra un grupo de diagramas que son implementados durante las fases de análisis y diseño de un proyecto.
5.2.1 Clasificación de Diagramas por Categorías
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 Intensión
Diagrama de secuencia
Diagrama de comunicación
Diagrama de vista de intereacción
5.2.2 Jerarquía de los Diagramas UML
Se muestra la jerarquía como un diagrama de Clases
5.3 Definición de objetos
Según la definición vista en el unidad 3, un objeto es la representación de un ente, cosa o
algo con lo que un individuo puede tener interacción 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
abstracción aplicada a objetos materiales u otro tipo de ente
Un objeto esta compuesto por:
Características o atributos Relaciones
Comportamiento
5.3.1 Características o atributos
Estas permiten la distinción de un objeto entre otro conjunto de objetos que formen parte de una misma organización, las características de un objetos pueden llegar a ser heredadas a
otros descendientes en dicha organización.
5.3.2 Relaciones
Un objeto debe pertenecer a un grupo u organización formada por más objetos, las relaciones permite la inserción a cualquiera de estos grupos.
5.3.3 Comportamiento
Son todas las operaciones que un objeto puede llegar a realizar.
Ejemplo de Objetos Materiales
Avión o Atributos: Alas, Turbinas, Llantas, Ventanillas, Asientos, Puertas, Baños,
etc. o Comportamiento: Vuela, Transporta Pasajeros
Perro o Atributos: Cola, Pelo, Patas, Colmillos, Hocico o Comportamiento: Ladra, Muerde, Cuida
Automóvil o Atributos: Llantas, Motor, Escape, Timón, Palanca, Chasis
o Comportamiento: Transporte terrestre para personas Computadora
o Atributos: Teclado, Mouse, Monitor, Case, Memoria, Disco duro,
Procesador o Comportamiento: Procesa Datos, Estadística, Trabajos, Hace cálculos
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, Diseña, Produce, Construye,
Administra, Opera, Vende
La relación 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 términos de programación orientada a objetos, tenemos que un objeto es la instancia de
una clase.
Cada objeto posee características particulares como lo vemos en la siguiente tabla:
Computadora
Atributos Instancia objeto
Teclado Teclado multimedia con acceso a internet
Mouse Óptico inalámbrico
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 según sus características y nivel de detalle
según sea la necesidad.
Descomposición de un Objeto en árbol de jerarquía
5.4 Definición de Clases
Es un conjunto de objetos los cuales comparten una misma estructura y comportamiento,
representa la abstracción y la esencia que comparten los objetos entre si. Una clase es una plantilla que posee las variables y métodos 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 características de un objeto.
Los métodos, son las funciones que representan el comportamiento de un objeto.
5.4.1 Ejemplo de Clases
Vehículo o Automóvil
o Avión o Barco
Figura Geométrica
o Círculo o Triángulo
o Cuadrado Ser Vivo
Ser Vegetal
Ser Animal Ser Humano
Persona
5.4.2 Representación UML de una Clase
5.4.2.1 Ejemplo de Representación de un Diagrama de Clases en UML
5.5 Identificación de Relaciones
Al definir un conjunto de clases para un mismo sistema, estas deben tener una relación
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 Asociación: “Se relaciona con”
Una asociación es una relación estructural que describe una conexión entre objetos. La asociación se puede ver como una conexión conceptual entre clases, especificando además que los objetos de una clase debe “conocer” a los objetos de la otra clase.
Por ejemplo:
Un objeto de la clase A envía 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 representación gráfica de una asociación es:
Generalmente la relación de asociación es bidireccional, esto quiere decir que existe un
recorrido en ambos sentidos hacia ambos objetos relacionados. Algunas veces es necesario restringir la dirección de la relación y volverla unidireccional, cuando la relación va en un solo sentido la representación gráfica es una línea continúa pero al final una punta de flecha
que indica el sentido de la relación.
5.5.1.2 Dependencia: “Depende de”
Una dependencia es una relación semántica entre dos clases tal que un cambio en un objeto
(independiente) puede afectar a otro (dependiente) .
La representación gráfica de una dependencia es una línea punteada con un punta de flecha en uno de los extremos:
5.5.1.3 Generalización: “Es un”
Es una relación especialización/generalización en la que el hijo (objeto especializado)
comparte la estructura y función del padre (objeto generalizado).
La representación gráfica de la generalización es una línea continúa con una punta de flecha rellena en uno de los extremos.
Ejemplo:
5.5.1.4 Agregación: “Tiene un” o “Todo/Parte”
Es un tipo especial de asociación que representa una relación estructural entre todo y sus
partes. En la agregación se muestra que un objeto de una clase esta compuesto o contiene un objeto de la otra clase.
La representación gráfica de la agregación es una línea continúa con un rombo dibujado en
un de los extremos.
Ejemplo:
5.5.1.5 Composición: “Todo/Parte”
La composición es una relación de agregación mas estricta, en donde las partes solo existen asociados al compuesto. Cada uno de los componentes de una agregación puede pertenecer solamente a un todo.
La representación gráfica es similar a la de la agregación, solamente que el rombo dibujado en el extremo esta relleno.
Ejemplo:
5.5.2 Multiplicidad
La multiplicidad representa el número de instancias de una clase que se relaciona con una instancia de otra clase. Indica la cordialidad de la relación. La multiplicidad en UML se indica como uno o mas intervalos enteros, cada intervalo tiene el formato [límtie inferior]…
[límite superior]. Cuando el límite inferior es igual al límite superior, basta con colocar simplemente el número de la multiplicidad.
Si el límite a indicar es indefinido, se representa con un (*)
Cuando la multiplicidad mínima es cero, la relación es opcional Una multiplicidad mínima mayor o igual a 1 establece una relación obligatoria
5.6 Creación 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 abstracción, mediante este modelo se puede construir una descripción de la realidad.
Un modelo conceptual es una herramienta que debe contar con las siguientes cualidades
para representar la realidad de una manera fácil 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 fáciles 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 interpretación única, precisa y bien definida
5.6.2 Diagrama de Clases
Un diagrama de clases, representa la estructura estática de un sistema modelado. El
propósito es el de representar los objetos fundamentales del sistema ya sean del dominio o solución del mismo, además de las relaciones entre los componentes del sistema.
Este tipo de diagramas utiliza la notación UML para su representación, es utilizado en el análisis y diseño de un sistema, donde se crea el modelo conceptual de la información 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 cuáles pueden ser las posibles clases que representen el comportamiento del mismo, se deben considerar algunos aspectos.
Conocimiento General del Dominio, la identificación de clases dentro de un sistema
cualquiera que sea, inicia con la exploración y compresión del dominio de todo el sistema a modelar
Evaluar Sistemas Similares, Dentro de la compresión, es posible evaluar los
sistemas que contenga similitud con el sistema a modelar Glosario de Términos, Cuando se posee el conocimiento del sistema es posible
elaborar un documento el cual contenga toda la información resumida, colocando las palabras claves que representen al modelo del sistema
Al establecer la lista de clases utilizando el Glosario de Términos, 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 además 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 agrupación 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 añadir 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 colaboración que existen entre ellas, si una no puede con las responsabilidades asignadas es porque necesita la colaboración de otra clase.
La siguiente tabla define como pueden identificarse las relaciones entre los objetos.
Relación Frase Ejemplo
Dependencia "Depende de" La fnstalación de un sistema operativo depende de las características de la computadora donde se desea instalar
Generalización "Es un" Una computadora es un aparato electrónico Una moto es un vehículo
Agregación "Es parte de" La unidad de cd-room es parte de una computadora
Una llanta es parte de un automóvil
Asociación "Se relaciona
con"
Un piloto se relaciona con un automóvil, porque lo
conduce
5.6.3.4 Añadir los atributos que contenga la información 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 información necesaria Los atributos representan características estables de las clases Las operaciones pueden extraerse utilizando un análisis gramatical sobre la
información 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 operación 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 elaboración de un diagrama de clases, luego de haber identificado todos los puntos
anteriores, puede ser realizada utilizando la diagramación UML, esta define la estructura y simbología que un diagrama de esta categoría 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
Ubicación 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, además
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. Interpretación 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 relación puede ser de uno a muchos, esto quiere decir que un cliente puede tener de una a muchas facturas, si lo vemos en la dirección
factura – cliente, una o más facturas pertenecen a un solo cliente o Factura – Producto: Una factura posee asociados uno o más productos, ya
que se genera una factura a partir del a compra de productos en el almacén, la multiplicidad de la relación es de uno a muchos ya que una factura puede tener asociados uno o mas productos
5.7 Tarea preparatoria
1. A continuación 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 música):
a) Sociedad, Arte, Cantante
b) Ingeniero, Matemática, Construcción
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 métodos para cada una de las 9 clases del inciso anterior.
4. Identifique las siguientes relaciones y grafíquelas utilizando la nomenclatura del tutor:
a) 2 relaciones de dependencia entre objetos del primer grupo del tema 1. b) 2 relaciones de asociación entre objetos del segundo grupo del tema 1.
c) 2 relaciones de agregación entre objetos del primer grupo del tema 1. d) 2 relaciones de generalización entre objetos del grupo sistema del tema 1. e) 2 relaciones de composición 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.