u1 s3 introducción a uml parte 1

27
Programación Orientada a Objetos Introducción a UML

Upload: giovanni-mezquita-hoyos

Post on 04-Jul-2015

434 views

Category:

Documents


3 download

DESCRIPTION

Introducción a UML

TRANSCRIPT

Page 1: U1 s3 introducción a uml parte 1

Programación Orientada a Objetos

Introducción a UML

Page 2: U1 s3 introducción a uml parte 1

Que es UML UML es un lenguaje estándar que sirve para escribir los planos del

software.

Puede utilizarse para visualizar, especificar, construir y documentar todos los componentes de un sistema con gran cantidad de software.

UML es un lenguaje por que proporciona un vocabulario y las reglas para utilizarlo.

UML es un lenguaje de modelado lo que significa que el vocabulario y las reglas se utilizan para la representación conceptual y física del sistema.

UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediante gráficos o mediante texto sin ninguna ambigüedad.

En este contexto, UML sirve para especificar, modelos concretos, no ambiguos y completos.

Page 3: U1 s3 introducción a uml parte 1

Vista general de UMLPara conocer la estructura de UML, en la figura vemos una vista general de todos sus componentes, esto hará que nos resulte más fácil la comprensión de cada uno de ellos.

Page 4: U1 s3 introducción a uml parte 1

Elementos básicos de UML El lenguaje UML se compone de tres elementos básicos:

Los bloques de construcción Las reglas Mecanismos comunes.

Estos elementos interaccionan entre sí para dar a UML el carácter de completitud y no-ambigüedad.

Los bloques de construcción se dividen en tres partes: Elementos, que son las abstracciones de primer nivel, Relaciones, que unen a los elementos entre sí, y los Diagramas, que son agrupaciones de elementos.

Page 5: U1 s3 introducción a uml parte 1

Bloques de Construcción

Page 6: U1 s3 introducción a uml parte 1

Diagramas de UML Los diagramas se utilizan para representar diferentes perspectivas de

un sistema de forma que un diagrama es una proyección del mismo.

UML proporciona un amplio conjunto de diagramas que normalmente se usan en pequeños subconjuntos para poder representar las cinco vistas principales de la arquitectura de un sistema.

Diagramas Clases Objetos Casos de Uso Diagramas de Secuencia y de Colaboración Estados Diagramas de Actividades Componentes Despligue

Page 7: U1 s3 introducción a uml parte 1

Programación Orientada a Objetos

UML: Diagrama de Clases

Page 8: U1 s3 introducción a uml parte 1

Introducción Un diagrama de clases (DC) sirve para visualizar

las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento.

Un diagrama de clases esta compuesto por los siguientes elementos: Clase: Atributos, Métodos y Visibilidad. Relaciones: Herencia, Composición,

Agregación, Asociación y Uso.

Page 9: U1 s3 introducción a uml parte 1

Elementos de un DC: Clase Es la unidad básica que encapsula toda la

información de un Objeto (un objeto es una instancia de una clase).

A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

En UML, una clase es representada por un rectángulo que posee tres divisiones:

Page 10: U1 s3 introducción a uml parte 1

Clase (2) Superior: Contiene el nombre

de la Clase Intermedio: Contiene los

atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public).

Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Page 11: U1 s3 introducción a uml parte 1

Ejemplo Clase Una Cuenta de Banco

que posee como característica: Saldo

Puede realizar las operaciones de: Depositar Girar y Consultar saldo

Page 12: U1 s3 introducción a uml parte 1

Atributos Los atributos o características de una Clase pueden ser

de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son: public (+): Indica que el atributo será visible tanto dentro

como fuera de la clase, es decir, es accsesible desde cualquier punto.

private (-): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar).

protected (#): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (Herencia).

Page 13: U1 s3 introducción a uml parte 1

Métodos Los métodos u operaciones de una clase son la

forma en como ésta interactúa con su entorno, éstos pueden tener las características: public (+): Indica que el método será visible tanto dentro

como fuera de la clase, es decir, es accsesible desde cualquier punto.

private (-): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar).

protected (#): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (Herencia).

Page 14: U1 s3 introducción a uml parte 1

Herencia Indica que una subclase hereda

los métodos y atributos especificados por una superclase.

La subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la superclase (public y protected).

Representa especializaciónhacia abajo es y generalizaciónhacia arriaba.

Page 15: U1 s3 introducción a uml parte 1

Ejemplo VehiculosDeMotor Atributos: Cilindrada y Numero de Ruedas Método : acelerar() Mediante el mecanismo de herencia podemos definir la

clase Coches y la clase Motos. Estas dos clases heredan los atributos Cilindrada y

Numero de Ruedas de la clase VehículosDeMotor pero a su vez tendrán atributos propios.

Numero de Puertas es un atributo propio de la clase Coches que no tienen sentido en la clase Motos).

Se puede decir que las clases Coches y Motos extienden la clase VehículosDeMotor (especialización), o que VehículosDeMotor es una generalización de las clases Coches y Motos.

Page 16: U1 s3 introducción a uml parte 1

Relaciones entre clases Dos o más clases (cada una con características y

objetivos diferentes) se puede interrelacionar.

Una relación se define como una conexión entre elementos.

Tipos mas importantes de relaciones: Dependencia Asociación Generalización

Page 17: U1 s3 introducción a uml parte 1

Relación de Dependencia o Instanciación (uso)

Una clase es instanciada (su instanciación es dependiente de otro objeto/clase).

Se denota por una flecha punteada. Indica la dependencia que tiene una clase de otra. El objeto creado no se almacena dentro del objeto

que lo crea.

Page 18: U1 s3 introducción a uml parte 1

Relación de Asociación Permite asociar objetos que colaboran entre si. Se representa con una línea horizontal.

En una Asociación se puede representar: Nombre: Naturaleza de la relación. Rol: Papel que juega en la asociación. Multiplicidad: Numero de objetos que puede haber en la relación. Agregación: Cuando un objeto contiene a otro. Composición:

Page 19: U1 s3 introducción a uml parte 1

Nombre y Rol Nombre: Se utiliza para describir la naturaleza de la

relación. Ejemplo: “Trabaja para” Rol: Identificado como un nombre a los finales de la línea,

describe la semántica de la relación en el sentido indicado. Cada asociación tiene dos roles; cada rol es una dirección en la asociación. Ejemplo: “Empleado, Patrón”

El rol puede estar representado en el nombre de la clase.

Page 20: U1 s3 introducción a uml parte 1

Cardinalidad o Multiplicidad En UML, la cardinalidad de las relaciones indica el

grado y nivel de dependencia. Se indica cuantos objetos se pueden conectar a

través de una instancia. Se anotan en cada extremo de la relación y éstas

pueden ser: Exactamente: 1 ó 5 Cero o 1: 0..1 0 o muchos: 0..* (0..n) Uno o muchos: 1..* (1..n)

Page 21: U1 s3 introducción a uml parte 1

Agregación y Composición Agregación: Un objeto de un tipo, puede

contener a otro Relación tipo “Todo/Parte”. Una cosa grande (Todo) consta de

elementos mas pequeños (Partes). Se indica por un rombo transparente.

Composición: El agregado es una parte importante del agregador.

El primero no tiene sentido suelto, y el segundo, necesita definir al primero para ampliar su significado.

Se indica por un rombo relleno.

Page 22: U1 s3 introducción a uml parte 1

Ejemplo de Composición y Agregación

Un Almacén posee Clientes y Cuentas. Cuando se destruye el Objeto Almacén también

son destruidos los objetos Cuenta asociados No son afectados los objetos Cliente asociados.

Page 23: U1 s3 introducción a uml parte 1

Ejemplo 2 de Composición y Agregación

Page 24: U1 s3 introducción a uml parte 1
Page 25: U1 s3 introducción a uml parte 1
Page 26: U1 s3 introducción a uml parte 1

Ejemplo final

Page 27: U1 s3 introducción a uml parte 1

Tarea 3: Ejercicios de UML Localizar en Internet 3 diagramas de

clases UML y describir con palabras lo que representa. El diagrama debe contener los seguientes elementos: Herencia Relación de Dependencia Relación de Asociación y Cardinalidad Relación de Agregación o Composición