presentación adptada c@rlos alfredo rodríguez rojas profesor universidad distrital – f.m.r.n....

29
Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. [email protected] Diagrama de CLASES

Upload: alicia-carmona-mora

Post on 24-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Presentación Adptada

C@rlos Alfredo Rodríguez RojasProfesor Universidad Distrital – F.M.R.N.

[email protected]

Diagrama de CLASES

Page 2: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Diagrama de Clases

• Modela los conceptos del dominio de la aplicación.

• Permite visualizar las relaciones entre las clases que involucran el sistema

• Un diagrama de clases está compuesto por los siguientes elementos: – Clases: atributos, operaciones y visibilidad. – Relaciones: Herencia, Composición,

Agregación, Asociación y Uso. – Responsabilidades

Page 3: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Diagrama de Clases: ElementosClase

• Es la unidad básica que encapsula toda la información de un Tipo de Objeto (un objeto es una instancia de una clase).

Page 4: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Diagrama de Clases: ElementosAtributo

• Los atributos describen a una clase. Pueden ser Públicos, Privados o Protegidos.

• public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

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

• 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 5: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Diagrama de Clases: ElementosOperaciones (métodos)

• Las operaciones o métodos de una clase describen la forma en la cual ésta interactúa con su entorno. Pueden ser Públicas, Privadas o Protegidas.

• public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

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

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

Page 6: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Clase y Visibilidad

Alumno

DNI : char[10]número_exp : intnombre : char[50]

alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()

Page 7: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Relaciones entre clases:Asociación

• Relación estructural entre las clases.

• En general es simétrica• Tiene un nombre, que la

describe (verbo, con dirección de lectura)

• Puede tener un rol que describe el papel específico que una clase juega en una asociación.

• Tiene multiplicidad, que especifica por cada clase el número de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a través de la asociación:1 : uno0..1 : cero o uno3 : tres*: muchos1..*: al menos uno2,6,7: dos, seis o siete2-4, 10-12 : de dos a cuatro y de

diez a doce

Page 8: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Asociación

class Class Model

Estudiante Univ ersidad

estudia-en

class Class Model

Nombre_Clase_1 Nombre_Clase_2

Nombre dela asociacion

Page 9: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Grado de asociación

• Binarias

• Ternarias

• Grado mayor

class Class Model

Estudiante Univ ersidadestudia-en

class Class Model

Estudiante Univ ersidad

Pofesor

Page 10: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Asociaciones Reflexivas

class Class Model

Persona

Pariente de

Page 11: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Multiplicidad - Cardinalidad

• Restringe una asociación al número de objetos que puede relacionarse

• Uno a Uno

• Uno a Muchos

• Muchos a Muchos

class Class Model

Rector Univ ersidad

class Class Model

Estudiante Univ ersidad

*

class Class Model

Estudiante Curso

* *

Page 12: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Multiplicidad - otros class Class Model

Estudiante Univ ersidad

* 0..1

class Class Model

Persona Compañia

10..* 1

class Class Model

Persona Compañia

0..1 1

Page 13: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Rol en relaciones

class Class Model

Persona Compañia+Empleado

*

trabaja-para +Empleador

*

Page 14: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Relaciones entre Clases:Generalización

Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

Page 15: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Ejemplo asociación

Compañía

nombredirección

Persona

nombres.s.

0..1

*

jefe 0..1

Administra

empleado

*

0..1

0..1mujer

0..1

casado-con

marido

0..1

*

* trabaja-para

*emplea-a

*

Page 16: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Asociación Cualificada

Reduce la multiplicidad del rol opuesto al considerar el valor

del cualificador

Aerolínea Viajero0..1

nro_billete* 0..1*

nro_billete

Tablero Ajedrez

Cuadro1fila

columna

1filacolumna

11

Page 17: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Relaciones entre ClasesAgregación y Composición

Composición• Relación estática, en donde

el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye.

• El Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo“, como un parámetro pasado “por valor”.

Agregación• Relación dinámica, en

donde el tiempo de vida del objeto incluido es independiente del que lo incluye.

• El objeto base utiliza al incluido para su funcionamiento, como un parámetro pasado “por referencia”.

Page 18: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Relaciones entre Clases:Agregación y Composición

Agregación (Por referencia)

Composición (Por valor)

Page 19: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Diagrama de Clases: ElementosResponsabilidades

La distribución de responsabilidades en un sistema, se realiza identificando un conjunto de clases que colaboran entre sí para llevar a cabo algún comportamiento. Luego hay que identificar el conjunto de responsabilidades para cada clase

Page 20: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

EjemplosWindow

scrollbar[2] : Slidertitle : Headerbody : Panel

Slider Header

Window

1

2

1

2scrollbar

1

1

1

1title

Panel

1

1

1

1body

Page 21: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

... Ejemplos

Person Committee** ** Member-of

1 *1 *Chair-of

{ subset }

{Person.employer = Person.boss.employer}

Represents an incorporated entity.

CompanyPerson

*

0..1

worker

*

boss

0..1

0..1*

employer

0..1

employee

*

Page 22: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

… Ejemplos

Asociación excluyente

Clase de asociación

Agregación

Persona

Cuenta

*

*

*

*

Empresa

1

*1

*

or

Polígono Punto1

3..*1

3..*{ordenado}

contiene

EstaciónUsuario

** **

Autorización

prioridadprivilegios

camb_privil()

está-autorizado-en

Page 23: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Ejemplo Diagrama de Clases

Avión militar Avión comercial

Avión de carga Avión de pasajeros

Motor Vendedor de billetes

Avión

1..4

1

1..4

1

Piloto

Reserva

n

1

n

1

Línea aérea

Vuelon1 n1

1..2

n

1..2

nn1 n1

1

n

1

n{ disjunta, completa }

{ disjunta, completa }

Page 24: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Ejemplo Diagrama de Clases

Page 25: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Ejemplo

Page 26: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Bibliografía y Referencias: Fundamental

• James Rumbaugh, Ivar Jacobson, Grady Booch, “The Unified Modeling Language Reference Manual”, Addison Wesley, 1999

• Craig Larman, “UML y Patrones”, Prentice Hall, 1999

• OMG www.omg.org

Page 27: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

Bibliografía y ReferenciasComplementaria

• Rational www.rational.com• Robert Muller, “Database Design For Smarties:

Using UML for Data Modeling”, Morgan Kaufmann, 1999

• Luis Guerrero, “Taller de UML”, DCC, Universidad de Chile, 2002, www.dcc.uchile.cl/~luguerre/cc61j

• Patricio Salinas, “Tutorial de UML”, DCC, Universidad de Chile, 2000, www.dcc.uchile.cl/~psalinas/uml

Page 28: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

GRACIAS PORSU

ATENCIÓN

Page 29: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co

PREGUNTAS