Está en la página 1de 48

UCLA Decanato de Ciencias y Tecnologa

Departamento de Sistemas Sistemas II

Modelo o Capa de Datos


Diagrama de Clases

Realizado por:
Prof. Ana Mercedes Daz
Enero 2014
Profs. Mirian Alvarado, y Nohemi Rodrguez.

1
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Agenda

Donde estamos???????
Conceptualizacin del Modelo de Datos.
Conceptos del Diagrama de Clases
Ejercicios resueltos.
Ejercicios propuestos.

2
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II

Hemos visto del Diseo de la Solucin:


Modelo Funcional (Diagrama de Casos de
Uso, Plantillas de los Casos de Uso y matriz de
Trazabilidad)
Modelo de Datos (MER)
Hoy veremos el Modelo de Datos
(Diagrama de Clases)

3
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

El Modelo de Datos, es el segundo modelo ms


importante del diseo de la solucin.
El Modelo de Datos representa grficamente todos los
conceptos que pertenecen al dominio de la solucin.
Tambin se le denomina Capa de Datos o Vista de Datos
del Diseo de la Solucin.
Este Modelo tambin captura las reglas del negocio o de
la solucin, que se modelan a travs de las relaciones entre
los conceptos del Dominio.
El Modelo de Datos se construye a travs del MER y del
Diagrama de Clases.
4
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Modelo o Capa de Datos

5
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

6
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Definicin de Diagrama de Clases

Describe la estructura esttica del modelo del


sistema, en particular, las clases, tipos, y
objetos, su estructura interna y las relaciones
entre ellos.

Modela los conceptos del dominio de la


aplicacin.

Permite visualizar las relaciones entre las


clases que involucran al sistema.

7
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Elementos del Diagrama de Clases.

Un Diagrama de Clases esta compuesto por los


siguientes elementos:

Clases: Atributos, operaciones y visibilidad

Relaciones: Asociacin (Agregacin,


Composicin), Herencia

8
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Elementos: Clase

Descriptor de un
conjunto de
objetos con
estructura similar,
mismo
comportamiento y
relaciones
Representa un
concepto en el
sistema que se
modela
9
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Elementos: Atributos

Los Atributos describen a una Clase.

Los Atributos pueden ser:

Pblicos

Privados

Protegidos

10
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Tipos de Atributos
Pblicos (+): Indica que el atributo ser visible
tanto dentro como fuera de la clase, es decir, es
accesible desde todos lados.

Privados (-): Indica que el atributo solo ser


accesible desde dentro de la clase (solo sus
mtodos lo pueden acceder).

Protegidos (#): Indica que el atributo no ser


accesible desde fuera de la clase, pero si podr ser
llamado por los mtodos de la clase adems de las
subclases que se deriven (herencia).
11
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Elementos: Operaciones (Mtodos)

Las Operaciones o los Mtodos de una clase


describen la forma en la cual sta interacta con su
entorno.

Las operaciones pueden ser:

Pblicas (+)
Privadas (-)
Protegidas (#)

12
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Tipos de Operaciones
Pblicas (+): Indica que el Mtodo ser visible
tanto dentro como fuera de la clase, es decir, es
accesible desde todos lados.

Privadas (-): Indica que el Mtodo solo ser


accesible desde dentro de la clase (solo otros
mtodos de la misma clase lo pueden acceder).

Protegidas (#): Indica que el Mtodo no ser


accesible desde fuera de la clase, pero si podr ser
llamado por los mtodos de la clase adems de las
subclases que se deriven (herencia).
13
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Objeto

Entidad con tringulo

identidad nica que tringulo: Polgono


encapsula estado y
centro = (0,0)
comportamiento vrtices = ((0,0),(4,0),(4,3))
color-borde = negro
color-relleno = blanco

:Polgono

tringulo: Polgono

14
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Relaciones en el Diagrama de Clases

Conexin semntica entre elementos


del modelo
asociacin
binaria
agregacin
Composicin
N-aria
Herencia
(Generalizacin/Especializacin)
15
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Relaciones: Asociacin Binaria

Qu es una asociacin?
Una relacin significativa entre dos clases
-o entre sus instancias-
Conexin semntica entre elementos del
modelo. La flecha -opcional-
indica la direccin
de lectura del nombre
de la asociacin
Trabaja-para
Compaa 1..*
Persona
1
emplea Multiplicidad de la
asociacin
16
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Relaciones: Asociacin Binaria

incluye:
un nombre (nombre de la asociacin,
vinculada a un comportamiento especfico)
un rol (nombre, direccin y multiplicidad del
extremo de una asociacin).

Trabaja para
Compaa 1..*
Persona jefe
1 emplea 0..1
dirige
empleado *

17
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Multiplicidad

Indica cuntos instancias pueden participar en


la relacin en un momento dado
* Cliente
Nombre 0 ms
.. (muchos)
1..* Cliente
Nombre 1 ms
..

1..10 Cliente 1 a 10
Nombre
..

5 Cliente
Nombre Exactamente 5
..
18
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Convenciones para Asociaciones

Convencin de lectura
de los nombres de las
asociaciones
LneaArea
1
Emplea
1..*
Asignado-a Asignado-a
Piloto Vuelo Ruta
1 * * 1
1 *

Supervisa

19
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Asociaciones complejas. Qu hacer?

Un atributo est relacionado a una asociacin


Hay dos clases asociadas y no se tiene claro
en cual clase colocar un atributo
Solucin:
Crear una clase y anexarla a la asociacin

20
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Asociaciones Complejas: Clase Asociacin

Se utiliza cuando los atributos no


pertenecen a las clases sino a la asociacin

Usuario
Autorizado en EstacinTrabajo

Autorizacin
Prioridad
DerechoAcceso
InicioSesin

21
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Asociaciones Complejas: Clase Asociacin

empleador trabajadores
Empresa Empleado
* 1..*

Cargo
superior
nombre
sueldo 0..1

subordinado 1..*

22
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Asociaciones Complejas: Clase Asociacin

23
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencia y Tecnologa
Departamento de Sistemas Sistemas II
Asociacin: Composicin

Relacin esttica, 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.

24
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Asociacin: Agregacin

Relacin dinmica, donde el tiempo de vida del


objeto incluido es independiente del que lo incluye.

El objeto base utiliza al incluido para su


funcionamiento.

25
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Agregacin - Composicin

Empresa Ventana

1 1

* 1
Departamento Marco

Agregacin Composicin 26
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Agregacin - Composicin

27
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Generalizacin

Relacin entre un elemento ms general y un


elemento ms especfico

Especifica una relacin de herencia

Una superclase se define a travs de una


relacin de generalizacin

28
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Herencia

Una clase B hereda de una


clase A si adquiere las A
propiedades (estructura y
comportamiento) definidas <<hereda>>

en la clase A
A es una superclase de la B
clase B
B es una subclase de la Trmino utilizado en la fase
de programacin que tiene
clase A el mismo significado de la
generalizacin
29
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Especializacin

Dada una clase, se crea otra clase


(subclase) que especializa la clase dada,
agregando las diferencias (adicin,
supresin o redefinicin de propiedades)

Vehculo

Gra Carro Moto


30
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Generalizacin

Se crea una clase (superclase), que


generaliza las propiedades comunes de
varias clases

Vehculo

Gra Carro Moto


31
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Diagrama de Objetos

Presenta una imagen del sistema


en un instante de tiempo (un
ejemplo del sistema).

32
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Diagrama de Objetos

A partir de la definicin, por agregacin, de la Clase Polgono,


1
3..*
Polgono Punto

es posible obtener el diagrama de objetos


correspondiente al objeto tringulo
tringulo: Polgono

punto 1: Punto punto 2: Punto punto 3: Punto


x = 0.0 x = 3.0 x = 3.0
y= 1.0 y= 1.0 y= 5.0
33
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Ejemplo de Diagrama de Clases

34
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Pasos para Construir un Diagrama de Clases
Pasos para Construir la Capa de Datos
Diagrama de Clases:
Leer y entender el contexto de la aplicacin.
Seleccionar los sustantivos, y generar una lista.
Seleccionar los verbos y generar una lista.
Refinar la lista de sustantivos y discriminar entre las
posibles clases y los posibles atributos.
Refinar la lista de verbos y discriminar entre los
posibles mtodos y las posibles reglas del negocio.
Construir la primera versin del Diagrama de Clases.
Revisar, analizar y refinar el Diagrama de Clases.
Construir una Especificacin de Clases, de atributos y
de mtodos.

35
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Ejemplos

36
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Ejemplo N 1. La Compaa.
El sistema La Compaa se encargar de los empleados, departamentos, y
proyectos de una empresa. Las reglas del negocio son las siguientes:
La Compaa est organizada en departamentos. Cada departamento tiene u
nombre nico, un nmero nico y un cierto empleado que lo dirige, y nos
interesa la fecha e que dicho empleado comenz a dirigir el departamento. Un
departamento puede estar distribuido en varios lugares.
Cada departamento controla un cierto nmero de proyectos, cada uno de los
cuales tiene un nombre y un nmero nicos, y se efecta en un solo lugar.
Almacenaremos el nombre, nmero de seguro social, direccin, salario, sexo y
fecha de nacimiento de cada empleado. Todo empleado est asignado a un
departamento, pero puede trabajar en varios proyectos, que no necesariamente
estarn controlados por el mismo departamento. Nos interesa el nmero de
horas por semana que un empleado trabaja en cada proyecto, y tambin quin
es el supervisor de cada empleado.
Queremos mantenernos al tanto de los dependientes de cada empleado con el
fin de administrar los trminos de sus seguros. Almacenaremos el nombre,
sexo y fecha de nacimiento de cada dependiente, y su parentesco con el
empleado.
Una vez analizadas cada una de las reglas del negocio siga cada uno de los
pasos para construir la Capa de Datos.
37
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

38
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Ejemplo N 2. Casos varios de reglas de


negocio.

39
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Reglas del Negocio

En Venezuela

En los pases rabes

40
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Reglas del Negocio

Si yo quiero saber los hijos


De una pareja. Dnde debe
Ir la clase Hijo?

Ahora, si la asociacin fuera


De muchos a muchos.
Dnde debe ir la clase
Hijo?

41
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Reglas del Negocio

42
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Ejemplo N 3. Sistema de Gestin de los


Programas Acadmicos de las carreras que
maneja la Universidad.

43
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

44
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

Ejemplo N 4. Diagrama de Clases del


Modelo Funcional de una Solucin

45
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II

46
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Diagrama de Clases

fin

47
Prof.: Ana Mercedes Daz
UCLA Decanato de Ciencias y Tecnologa
Departamento de Sistemas Sistemas II
Bibliografa

Informacin de Internet.

El Proceso Unificado de Desarrollo de Software . I.


Jacobson, G. Booch y J.Rumbaugh. Addison Wesley -
Pearson Education 1999

Notas de la Prof. Nancy Zambrano. UCV. 2003.

Notas de la Prof. Anna Grimn. USB. 2001.

WWW.OMG.ORG

48
Prof.: Ana Mercedes Daz