Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N....
-
Upload
alicia-carmona-mora -
Category
Documents
-
view
220 -
download
0
Transcript of Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N....
![Page 1: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/1.jpg)
Presentación Adptada
C@rlos Alfredo Rodríguez RojasProfesor Universidad Distrital – F.M.R.N.
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/21.jpg)
... 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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/22.jpg)
… 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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/25.jpg)
Ejemplo
![Page 26: Presentación Adptada C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022062410/5665b49b1a28abb57c92969c/html5/thumbnails/29.jpg)
PREGUNTAS