diagramas de clase

28
UT6. Elaboración de diagramas de clase “Entornos de Desarrollo” Ciclo DAW- IES Clara del Rey Curso 2011 – 2012

Upload: paco

Post on 13-Dec-2015

9 views

Category:

Documents


2 download

DESCRIPTION

Diagramas de clase textos bastante interesante

TRANSCRIPT

Page 1: Diagramas de Clase

UT6. Elaboración de diagramas de clase

“Entornos de Desarrollo”

Ciclo DAW- IES Clara del Rey

Curso 2011 – 2012

Page 2: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 2

Objetos

• Es la representación de una entidad

– Conceptual o real

– Con unos límites definidos

– Con un significado dentro del modelo

• Cada objeto se caracteriza por

– Una identidad propia

– Estado (propiedades o atributos)

– Comportamiento (métodos o operaciones)

• Ejemplo

– Buscar ejemplos de objetos

Page 3: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 3

Diagrama de clases: Definición

• Los diagramas de clases representan un conjunto de elementos del modelo

que son estáticos, como las clases y los tipos, sus contenidos y las relaciones

que se establecen entre ellos. Algunos de los elementos que se pueden clasificar

como estáticos son los siguientes:

• Paquete

– Es el mecanismo de que dispone UML para organizar sus elementos en

grupos, se representa un grupo de elementos del modelo. Un sistema es un

único paquete que contiene el resto del sistema, por lo tanto, un paquete

debe poder anidarse, permitiéndose que un paquete contenga otro paquete.

• Clases

– Una clase representa un conjunto de objetos que tienen una estructura, un

comportamiento y unas relaciones con propiedades parecidas. Describe un

conjunto de objetos que comparte los mismos atributos, operaciones,

métodos, relaciones y significado.

– Atributo. Se corresponde con las propiedades de una clase o un tipo.

– Operación o Método: Es un servicio proporcionado por la clase que puede

ser solicitado por otras clases o ser interno y que produce un

comportamiento en ellas cuando se realiza.

Transferencias

CuentaCorriente

banco

oficina

DC

numero

ordenarTransferencia()

adeudo()

reintegro()

Page 4: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 4

Diagrama de clases: Clases

Page 5: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 5

Visibilidad y Alcance

• Visibilidad

– Public + : Cualquier clase externa con visibilidad hacia la clase

puede utilizar la característica (ya sea atributo o operación)

– protected # : Cualquier descendiente de la clase (subclase)

puede utilizar la característica

– private - : Sólo se puede utilizar dentro de la misma clase

• Alcance

– Atributo Static: El valor del atributo es el mismo para todos los

objetos (instancias de la clase)

– Método Static: El método se puede invocar sin tener que

instanciar la clase (Ejemplo: Clase Math)

– Se representa en el diagrama subrayando la característica

Page 6: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 6

Diagrama de Clases : Relaciones

• Las clases se relacionan entre sí de distintas formas, que marcan los tipos de relaciones

existentes:

– Asociación: relación semántica

– Composición: Relación de composición

• Agregación: Relación de pertenencia

– Dependencia: Relación de necesidad

– Generalización: Relación taxonómica

Page 7: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 7

Relación Asociación• Las clases se relacionan entre sí de distintas formas, que marcan los tipos de relaciones existentes:

• Asociación

– Es una relación que describe un conjunto de vínculos entre clases. Pueden ser binarias o n-arias, según se

implican a dos clases o más.

– Las relaciones de asociación vienen identificadas por los roles, que son los nombres que indican el

comportamiento que tienen los tipos o las clases, en el caso del rol de asociación

– Es posible indicar el número de instancias de una clase que participan en una relación mediante la llamada

multiplicidad

– Una asociación se dirige desde una clase a otra (o un objeto a otro), el concepto de navegabilidad se refiere

al sentido en el que se recorre la asociación ( representación con punta de flecha)

Page 8: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 8

Ejercicio

• Representar en un entorno de desarrollo

– Un diagrama de clases que represente que un Profesor es tutor de un conjunto de alumnos y que un alumno sólo tiene un tutor

– Del profesor se quiere saber su nombre y del alumno se quiere saber su número de matrícula y el número de faltas que lleva

– El tutor puede actualizar el número de faltas que tiene el alumno

• Una vez obtenido el diagrama

– Generar código java

• Indicar en el diagrama que desde el alumno se pueden obtener “navegar” hacia el profesor

– Observar qué cambia en el código java anterior

Page 9: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 9

Relación de Generalización

• Generalización

– Cuando se establece una relación de este tipo entre dos

clases, una es una Superclase y la otra es una Subclase.

La subclase comparte la estructura y el comportamiento

de la superclase. Puede haber más de una clase que se

comporte como subclase.

– La subclase:

• “Hereda” las propiedades y métodos de la superclase

• Puede ampliar su comportamiento con más propiedades o

métodos

• Puede tener su propia implementación de una operación de

la superclase (Polimorfismo)

Page 10: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 10

UML. Ejercicio

• Se quiere implementar un sistema que permita llevar control de los profesores y personal auxiliar de servicios (PAS) que trabajan en el IES Clara del Rey, así como de todos los estudiantes matriculados.

– Para cada profesor, se quiere poder acceder a su nombre, dirección,edad, año de ingreso y salario que cobra.

– Para cada PAS, se quiere poder acceder a su nombre, dirección, edad, año de ingreso y salario que cobra.

– Para cada estudiante, se quiere poder acceder a su nombre, dirección, edad, año de ingreso y número de matrícula.

• Representarlo en un entorno de desarrollo observando el código java que se genera

Page 11: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 11

Solución Ejercicio

Clases

Métodos

Generalización

Page 12: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 12

Relación Composición y Agregación

• Composición y agregación son

asociaciones en que un objeto es parte del

otro

• Agregación

– Se representa con un rombo hueco en la clase cuya instancia es una

– Es una asociación especializada por el cual un Todo se relaciona con sus partes

– También se el suele llamar “parte de”

• Composición

– Es una variedad más fuerte de

agregación en que la parte no puede

existir si no existe el Todo

– Se representa con un rombo lleno en la clase cuya instancia contiene las instancias de la otra clase.

• Ejemplo: Cine, ventanilla de ventas y

película

– La ventanilla no existe si el cine se

destruye, pero no ocurre así con la película

Page 13: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 13

Relación de Dependencia

• Dependencia

– Dependencia es una asociación

entre clases donde, si cambias

una de ellas, has de cambiar la

otra

– En el ejemplo, si cambias Co_op

has de cambiar Company también

• Restricción

– Condición que ha de satisfacer la

implementación

– En el ejemplo se indica que la

Section será parte de

CourseSchedule sólo si no se ha

cancelado la sección

Page 14: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 14

Relación de Dependencia

• Dependencia

– Un elemento del modelo necesita a otro para su implementación o especificación

– El cambio en uno puede afectar al otro

– Va más ligada a operaciones entre clases

– Una clase utiliza otra como argumento de sus operaciones

– También se encuentran dependencias entre paquetes

• Si un paquete A depende de un paquete B, entonces hay una o más clases en el paquete A que

inician comunicación con una o más clases públicas del paquete B

Page 15: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 15

Estereotipo

• Estereotipo

– Un estereotipo representa una la meta-clasificación de un elemento.

– Un estereotipo es una nueva clase de elemento de modelado con la

misma estructura que un elemento existente pero con restricciones

adicionales

– Ejemplo

• Un estereotipo añade semántica a aquello a lo que estamos estereotipando,

es decir, a un componente UML que representa a un fichero:

• Le podemos añadir un estereotipo. El añadírselo no cambia que sea un

componente, pero le añade un sentido más concreto y nos permite entender

mejor que tipo de componente es

Persona.mdb

Persona.mdb

<<Database>>

Page 16: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 16

Estereotipo: Interfaz

• Interfaz

– Una interfaz se representa como una caja con compartimentos, igual que las clases. En la zona superior se incluye el nombre y el estereotipo <<Interface>> con letra itálica. La lista de operaciones se coloca en la zona inferior, igual que en las representaciones de clases. La zona en la que se listan los atributos estará vacía o puede omitirse

– Las operaciones son simplemente una enumeración. Se implementarán en la clase que use la interfaz. En java Implements

– También pueden representarse con una circunferencia en cuyo caso no aparecen la lista de operaciones

– Una interfaz es un tipo especial de Estereotipo

Page 17: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 17

Diagrama de Clases. Clase Asociación

• Es posible añadir a las asociaciones e incluso operaciones relacionándolas con clases que contienen dicha información

Page 18: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 18

Clase abstracta y Clase Final

• Clase abstracta (“abstract”)

– Se representa por un nombre en cursiva

– La clase abstracta no se puede instanciar

– Puede tener métodos implementados

– Ejemplo

• Mamífero vs Persona

– Nadie dice “por ahí va un mamífero” pero sí “menuda persona”

• Clase Final (“Final”)

– No permite que haya subclases

Page 19: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 19

Diagrama de clases. Ejemplo

Page 20: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 20

Ejercicio

• Modelar el diagrama de clases

– Una aplicación necesita almacenar información sobre

empresas, empleados y clientes

– Ambos se caracterizan por su nombre y edad

– Los empleados tienen un sueldo bruto. Los empleados

que son directivos tienen una categoría así como un conjunto de empleados subordinados

– De los clientes además se necesita conocer su teléfono de

contacto

– La aplicación necesita mostrar los datos de los empleados

y los clientes

Page 21: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 21

Solución

• Posible solución

Page 22: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 22

Ingeniería inversa

• Permite obtener el diagrama de clases a partir del

código fuente

Page 23: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 23

Ejercicio

• Biblioteca

– Una biblioteca tiene copias de libros. El libro se caracteriza por su nombre, tipo (novela, teatro, poesía, ensayo), editorial, año y autor

– Los autores se caracterizan por su nombre, nacionalidad y fecha de nacimiento

– Cada copia tiene un identificador y puede estar en la biblioteca, prestada , con retraso o en reparación

– Los lectores pueden tener un máximo de 3 libros en préstamo

– Cada libro se presta por un máximo de 30 días, por cada día de retraso se impone una multa de dos días sin la posibilidad de coger un nuevo libro

– Realiza el diagrama de clases y añade los métodos necesarios para realizar el préstamo y devolución de libros

Page 24: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 24

Solución

• Posible solución

Page 25: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 25

Ejercicio

• Redes de ordenadores

– Especificar un diagrama de clases que describa redes de ordenadores

– Los elementos que se pueden incluir en la red son

• Servidor, PC, Impresora

• Hub, Cable de red

– Los PC’s pueden conectarse con un único Hub, los servidores con uno o varios

– Los servidores y pc’s pueden generar mensajes, con cierta longitud

– Los hubs tienen un número de puertos, alguno de los cuales pueden usarse para conectar con otros hubs. Tienen cierta probabilidad de perder mensajes

– Las impresoras pueden averiarse, con cierta probabilidad, durante cierto tiempo

Page 26: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 26

Solución

• Posible solución

Page 27: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 27

Ejercicio

• Realizar el diagrama de clases que permita implementar

el juego del parchís.

Page 28: Diagramas de Clase

IES Clara del Rey UT6. Elaboración de diagramas de Clase 28

Referencias

• http://www.uml.org

• Metrica v3

• Uml Gota a Gota

• Online tutorial Borlandhttp://dn.codegear.com/article/31863