unidad 5 uml

17
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

Upload: alexr94

Post on 26-Dec-2015

49 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad 5 UML

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

Page 2: Unidad 5 UML

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

Page 3: Unidad 5 UML

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”

Page 4: Unidad 5 UML

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

Page 5: Unidad 5 UML

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

Page 6: Unidad 5 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.

Page 7: Unidad 5 UML

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.

Page 8: Unidad 5 UML

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:

Page 9: Unidad 5 UML

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”

Page 10: Unidad 5 UML

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:

Page 11: Unidad 5 UML

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 (*)

Page 12: Unidad 5 UML

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

Page 13: Unidad 5 UML

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

Page 14: Unidad 5 UML

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

Page 15: Unidad 5 UML

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

Page 16: Unidad 5 UML

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

Page 17: Unidad 5 UML

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.