Вы находитесь на странице: 1из 34

SESION 03 - DIAGRAMA DE CLASES - TEORIA

Artefactos a conseguir en la captura


de requisitos
req isitos
Un artefacto es cualquier clase de
descripcin o de informacin (modelo,
elemento
l de
d un modelo
d l o ddocumento)) del
d l
sistema

Actores Glosario
Casos de Uso Diagramas dde clase
Di l
Prototipos
p de Interfaces de
(Modelo del Dominio)
Usuario Descripcin de la arquitectura
Artefacto: Glosario
GLOSARIO: Documento donde se definen los
trminos ms comunes e importantes utilizados
en el sistema
ASIGNATURA: -- EJEMPLO DE GLOSARIO --
ESTUDIANTE: es una persona que est estudiando una carrera en la
universidad UnivX. Necesariamente debe estar matriculado en por lo
menos una ASIGNATURA.
MATRCULA: es el resultado de un proceso administrativo por el cual
un ESTUDIANTE adquiere el derecho a ser evaluado en dos
convocatorias de una ASIGNATURA. Se le asocia a un GRUPO. Tiene
derecho a asistir a las clases del PROFESOR responsable de dicha
ASIGNATURA en el GRUPO asignado. asignado
PROFESOR: es una persona que trabaja en UnivX y que imparte al
menos una asignatura de una determinada TITULACIN. Se encarga de
evaluar
l r a ttodos
d los
l estudiantes
t di nt matriculados
m tri l d enn la
l asignatura
i n t r y asignados
i n d
a sus grupos. El profesor no puede ser estudiante en la misma carrera en
la que imparte clases, pero s en otras.
Artefacto: Modelo del Dominio

Capturalos tipos de objetos en el


contexto del
d l sistema y sus relaciones.
l
cosas
que existen
i
eventos que suceden

Seguramente aparecern en el glosario


Definido con diagrama de clases UML
Diagrama de clases en UML
Clase A
susA
0..*

suB
Clase D 1 Clase B
0..5
atrD1 ..
Clase E
atrE1
1 0.. Clase BD
* atrBD1 ..
Clase C

Durante la captura de requisitos se utiliza


para representar el MODELO DEL DOMINIO.
De momento,
momento slo interesan los ATRIBUTOS
de las clases y NO SUS MTODOS
Clase UML
NOMBRE DE LA CLASE
atributo1
atributo2
VISIBILIDAD: ...
+ = pblico
- = privado mtodo1 (parmetros): resultado
mtodo2 (p
(parmetros)) : void
# = visible para
...
subclases
El smbolo / indica que un
-- responsabilidades
p de la clase
atributo es calculado o -- texto que indica qu hace,
derivado a partir de otros restricciones especiales de uso, etc.
atributos
t ib t

Los objetos
j de dicha clase pueden
p almacenar
valores en los atributos y ejecutar sus mtodos
Ejemplo:
j p Clase UML
Cliente
- nombre, direccin, tfno: String
- fechaNac: Date
-Aficiones: Vector(String) ...
/ nmeroDeAficiones: int
+ getNombre(): String,
+ setNombre(n: String): void
+ addAficion(a:String): void ...
- - almacena datos de clientes
Los tipos
L ti (St
(String,
i D t void,..)
Date, id ) NO son ddefinidos
fi id
por UML. Se suelen usar los del LP que se escoja
La clase CLIENTE permite
definir los siguientes objetos

@C1 P. Prez Nagusia


g 13 943112232 3/3/89 Ftbol,, Leer

@C2 K. Sola Easo 3


@ 943222232 4/3/89 Mus, Monte

C d objeto
Cada bj t representat a
un cliente real
Especializacin y Generalizacin
en UML
NOMBRE DE LA SUPERCLASE
atributo1, atributo2 ...
mtodo1 (parmetros),
(parmetros)

NOMBRE DE LA SUBCLASE
atribSubClase1,
ibS bCl 1 atribSubClase2
ibS bCl 2 ...
metSubc1 (parmetros),

La SUBCLASE hereda todos los ATRIBUTOS y los


MTODOS de la SUPERCLASE.
Ejemplo de Especializacin y
Generalizacin en UML
INMUEBLE
direccion: String; precio: float

PISO GARAJE
numeroHabitaciones: int, cerrado: boolean,
,
Asociacin en UML
CLASE A CLASE B
susA suB
1..* 0..1

cardinalidades

Almacenar pares <objeto de A,


A objeto de B>
Indicando CARDINALIDAD

@
@a1 @b1
Objetos de la @a2 @b2 Objetos de la
clase A @a3
@ clase B
@a4
Cardinalidades en UML
1 con uno
0..1 con uno o ninguno
* con cero, uno o varios
0..* con cero, uno o varios
1..* con uno o varios
n con n exactamente
n..m mnimo con n y mximo con m
Nota:
N t n y m son nmeros
naturales
t l
Ejemplo: 8 , 17 , 7..9 ,
Ej. de Asociacin en UML

propietario 0..*
CLIENTE 1 p
posee INMUEBLE

Otra opcin es dar un nico nombre a


la asociacin e indicar cmo se lee
Posee 0..*
CLIENTE 1 INMUEBLE
Ej. de Asociacin en UML
@C1 P. Prez Mayor
y 13 943112232 3/3/89 Leer,, Ftbol

@C2 K. Sola Mayor 3 943222232 4/3/89 Mus, Monte

@P1 Matia 12, 1A 90000.00 3

@P2 Hriz 1, 2A 85000.50 2

@G1 Hriz 5 15000.50 true

@C1 @P1
@P2 ASOCIACIN
@C2 @G1
Agregacin
g g en UML
CLASE A CLASE B

1..*
0 1
0..1

ES UNA ASOCIACIN
CON LA SEMNTICA

FORMADO POR/FORMA PARTE DE

CLASE A CLASE B
formaParteDe 1..*
0 1
0..1 formadoPor
Ej. de agregacin
g g en UML

Coche Rueda

4
0 1
0..1

1 Motor
Composicin
p en UML
CLASE A CLASE B

1..*
1
nica cardinalidad posible
ES UNA ASOCIACIN CON LA SEMNTICA
COMPUESTO POR/ES COMPONENTE DE
Si se borra el a, se borran los b

CLASE A CLASE B
esComponenteDe 1..*
1 compuestoPor
Ej. de composicin
p en UML
Coche Rueda

4
1

1 Motor

En este S.I. no se permite tener

motores
t nii ruedas
d sueltos,
lt y all
borrar el coche, se borra todo
Seguro que no se trata de un desguace.
Clase Asociacin en UML
CLASE A CLASE B
susA suB
1..* 0..1

CLASE C Clase Asociacin


atrib

Para almacenar
< bj t de
<objeto d A
A, objeto
bj t de
d B
B, At
Atrs. PROPIOS>
@
@a1 Objetos de la
@b1
Objetos de la clase B
@a2 @b2
clase A @a3
@
Objetos
bj de
d la
l
@a4 @c1 @c2 @c3 clase C
v1 v2 v3
Ej. de clase Asociacin en UML
Estudiante Asignatura
matriculadoEn
i l d E
* *

Matrcula Clase Asociacin


numConv,
C
nota,

Si se desea poder almacenar el


n de convocatoria, nota
obtenida curso acadmico,
obtenida, acadmico etcetc.
El MCU (Modelo de Casos de Uso) y
el MD (Modelo del Dominio) deben
ser COHERENTES
Los DATOS que aparecen en todos los
FLUJOS DE EVENTOS ddell MCU ddeben b estar
recogidos en el MD y ser accesibles en cada
momento.
Todos las clases
clases, atributos y asociaciones que
aparecen en el MD deben aparecer en alguno de
l FLUJOS de
los d EVENTOS del d l MCU.
MCU
Clase Asociacin en UML
CLASE A CLASE B
susA suB
1..* 0..1

CLASE C Clase Asociacin

Cada objeto de C se refiere


a un nico objeto de A y a
un nico objeto de B
Clase Asociacin en UML

CLASE A CLASE B
CLASE C
susA suB
1 *
1..* 0 1
0..1

Si se quisiera que uno de C pudiera


asociarse con varios de A y con 0
1 de B entonces no se ppuede usar
una clase asociacin sino una clase
(normal) y 2 asociaciones
Asociacin n-
n-aria en UML
CLASE A Un par <b,c> conocido
puede estar asociado a
los as que quiera

CLASE C 0..* CLASE B

0..1 0..*

Un par <a,b> conocido


Un par <a,c> conocido puede estar
puede estar asociado a los
asociado a los bs que quiera
sumo con un solo c
Fijados el resto de objetos que participan en la
asociacin, con cuntos pueden relacionarse?
Asociacin n-
n-aria en UML
@a1
@a2
@ <@a1,@c1,@b1>
@a3 <@a1,@c1,@b2>
@b1 <@a3,@c2,@b2>
@a4 @c1
@b2 <@a4 @c2 @b2>
<@a4,@c2,@b2>
@c2
cardinalidad 0..1 en el lado de C

<@a1,@b1> @c1
<@a1,@b2> @c1
<@a3,@b2>
@ 3 @b2 @ 2
@c2
<@a4,@b2> @c2
<@a1,@c1> @b1 y @b2
<@a3,@c2> @b2 cardinalidad 0..* en el lado de A

<@a4,@c2> @b2 <@c1,@b1> @a1


cardinalidad 0..* en el lado de B
<@c1,@b2>
@ 1 @b2 @@a1
1
<@c2,@b2> @a3 y @a4
Ej. de asociacin n-
n-aria en UML
Estudiante

Profesor 0 *
0..* Ai
Asignatura

0 *
0..* 0 *
0..*

Informacin sobre qu profesores imparten


qu asignaturas a qu estudiantes
HAY QUE ESTAR SEGUROS DE QUE SE
NECESITA UNA ASOCIACIN TERNARIA
Ej. de asociacin n-
n-aria en UML
Estudiante

* 0..
0 * matriculadoEn
* Ai
Asignatura
Profesor
imparte *
* *

Los estudiantes se matriculan en asignaturas


Los profesores imparten asignaturas
ASOCIACIN TERNARIA SLO SI HAY
QUE DISTINGUIR CON QU
PROFESOR/ES SE HA MATRICULADO
Ej. de asociacin n-
n-aria en UML
Estudiante

Profesor * Ai
Asignatura

* *

Los estudiantes
L t di t se matriculan
t i l en asignaturas.
i t
Los profesores imparten asignaturas.
Cuando un estudiante se matricula en una
g , NO todos los p
asignatura, profesores qque la
imparten son sus profesores.
Ej. de asociacin n-
n-aria en UML
Estudiante

Profesor * Ai
Asignatura

0 1
0..1 *

par <est,asig>
t i conocido id con 0 1 prof.
f
Un estudiante se puede matricular en una
asignatura SLO
CON UNO DE LOS
PROFESORES Q QUE LA IMPARTE,, o no
matricularse, claro.
Ej. de asociacin n-
n-aria en UML
Estudiante

Profesor * Ai
Asignatura

0 1
0..1 *

par <est,prof>
< t id en 0 o varias
f> conocido i asig
i

Un estudiante se puede matricular con el


mismo pprofesor en DISTINTAS asignaturas
g
o puede que no le corresponda ese profesor.
Ej. de asociacin n-
n-aria en UML
Estudiante

Profesor * Ai
Asignatura

0 1
0..1 *

par <prof,asig> id con


< f i > conocido 0 varios
i estt

Un profesor puede impartir o no una


g , y si la imparte,
asignatura, p , entonces p
puede
tener VARIOS estudiantes
Ej. de clase Asociacin en UML
Estudiante Asignatura
matriculadoEn
i l d E
* *

Matrcula Clase Asociacin


numConv,
C
nota,

Si se desea poder almacenar el


n de convocatoria, nota
obtenida curso acadmico,
obtenida, acadmico etcetc.
Clase asociacin n-
n-aria en UML
CLASE A

CLASE C 0..* CLASE B

0..1 0..*

CLASE D
Diagrama de clases en UML
Clase A
susA
0..*

suB
Clase D 1 Clase B
0..5
atrD1 ..
Clase E
atrE1
1 0.. Clase BD
* atrBD1 ..
Clase C

Durante la captura de requisitos se utiliza


para representar el MODELO DEL DOMINIO.
De momento,
momento slo interesan los ATRIBUTOS
de las clases y NO SUS MTODOS

Вам также может понравиться