Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UML Clase 04 UML Clases
UML Clase 04 UML Clases
(UML ilustrado)
Diagramas de Clases (Qu Muestran?) La estructura esttica del sistema modelado (piense en el plano estructural de un ingeniero civil) Las relaciones que existen entre las distintas clases objetos del sistema Las clases objetos del sistema su estru!tura interna "e !on!entran en los elementos del sistema de #orma independiente del tiempo (Muestran as$e!tos estti!os no dinmi!os)
2
Diagramas de Clases (Para qu Sirven?) %ealizar la a&stra!!i'n de un dominio #ormalizar el anlisis de los conceptos relacionados al mismo (Modelo de Dominio) (...o de cualquier tipo de conceptos) De#inir ( Do!umentar una solucin de diseo) es de!ir) la estructura del sistema que se va a im$lementar en t*rminos de clases objetos De#inir ( Do!umentar modelado
de datos
3
Diagramas de Clases
Advertencia
Nota Importante +l ,e!,o de que exista !ierta !ara!ter-sti!a en un diagrama (e./ la de!lara!i'n de m*todos) no signi#i!a que de #orma o&ligatoria se de&a usar) sim$lemente son ,erramientas que estn dis$oni&les0 Cuando usted arregla algo) no usa todas las ,erramientas de su !a.a de ,erramientas) s'lo usa lo que ne!esita $ara realizar el tra&a.o0 1gual o!urre !on UML las ,erramientas de modelado) use s'lo las ,erramientas (diagramas ( !onstru!tos) que ne!esita $ara una situa!i'n $arti!ular no 2so&re use3 las ,erramientas) tratando de usarlas s'lo $orque si000
5
Diagramas de Clases
Diagramas de Clases
La ma or-a de los !on!e$tos que se $resentan en las siguientes trans$aren!ias estn rela!ionados !on los !on!e$tos de $rograma!i'n orientada a o&.etos (455) vistos en 4%2
7
Diagramas de Clases
Qu es una Clase?
Atributos: 4ro$iedades relevantes de un !lase %e$resentan su estru!tura 4ueden ser sim$les o !om$uestos
Diagramas de Clases
La relacin que existe entre el cdi o ! una clase en "ML es mu! importante !"ecesito que #ablemos el mismo idioma$
11
Multiplicidad
)armetros de *ntrada
'ipo de (etorno
Base de Datos: +eneralmente, cuando se desarrolla un modelo de datos no se utili-a toda esta comple.idad/ 0or e.emplo, eneralmente no se de1inen mtodos
13
Diagramas de Clases
.bjeto: %e$resenta!i'n de algo que se des!ri&e mediante un identi#i!ador) una estru!tura un !om$ortamiento0 /-nstancia de una Clase0
16
Diagramas de Clases
public class Persona { private private private private Strin char !ate Strin nombre; sexo; "e#haNa#; pro"esion; pro"esion) {
public Persona( Strin nombre, char sexo, !ate "e#haNa#, Strin this.nombre = nombre; this.sexo = sexo; this."e#haNa# = "e#haNa#; this.pro"esion = pro"esion; }
17
Diagramas de Clases
Persona p$ = new Persona( %Pe&ro', (M(, new !ate($), Persona p. = new Persona( %-n&rea', (/(, new !ate($0,
*, $+,,), %-#tor'
);
0, $+,1), %Ceramista'); );
Persona p2 = new Persona( %Mar3a', (/(, new !ate(.2, $$, $+)1), %M4&i#o' Persona p0 = new Persona( %5uis', (M(, new !ate($.,
18
19
} :: 5a #lase se usa &e la si uiente "orma< 5ista7int9 lista!e=nteros = new 5ista7int9(); 5ista7Persona9 lista!ePersonas = new 5ista7Persona9();
20
public abstract class /i ura>ase { public void insertar=nCan?as(Can?as #) { :* #;&i o *: } public void eliminar!eCan?as(Can?as #) { :* #;&i o *: } :: 5os m4to&os si uientes son abstra#tos, :: es &e#ir, no tienen implementa#i;n public public public public abstract abstract abstract abstract double double double double et-rea(); etPerimetro(); et@e#tCont(); et!ibuAar();
21
22
23
Polimorfismo:
se pue e usa# el mismo nomb#e pa#a la e$inicin e un m%to o en &a#ias clases sin impo#ta# la #elacin ent#e las mismas.
Encadenamiento tardo:
Estudia 3 esplie'a,/
!ca##e#a* 4ipo
Mayo,2008
2"
,ela$iones (-.n$ulos)
De$artamento de Control
De$artamento de Com$uta!i'n
4ro#esores De$artamentos
27
4rograma!i'n 10
4rograma!i'n 20
Cases de Datos
4ro#esores
Materias
28
C,i!as
C,i!os
?Con !uantos C,i!os $uede estar aso!iados (ser novios) de una C,i!a en $arti!ular@ ?B al !ontrario@ 29
Cmo se implementan?
30
31
32
33
Una rela!i'n mu!,os a mu!,os se $uede ver !omo dos rela!iones uno a mu!,os
34
35
public class Se##ion { :: Bna lista &e Nota (Bna #lase aso#ia#i;n) private 5ist7Nota9 nota5ist; }
36
=5 navega&le
1nde#inido
37
38
39
40
$ndicates t%at t%e property is aggregated compositely, i&e&, t%e composite o"'ect %as responsi"ility for t%e e(istence and storage of t%e composed o"'ects )parts*# Citas tomadas literalmente del #st7ndar de "ML
41
42
Diagramas de Clases
43
44
Desde el $unto de vista de 455) tanto C-r!ulo !omo %e!tngulo son o&.etos de ti$o 1Geometri!o
45
public @e#tan le
&or (6!ibuAable &ibuAable < elementos!ibuAar) { :: No importa si &ibuAable es :: un #3r#ulo, re#tGn ulo, et#4tera :: 5os pue&o maneAar a to&os i ual :: porHue tienen una inter"aE en #omIn &ibuAable.&ibuAar(); }
el $olimor#ismoE
48
lectura recomendada:
%ttp.//latecladeescape&com/-0/ingenieria1del1soft-are/acoplamiento1y1co%esion&%tml
49
Diagramas de Clases
#.emplos
50
Modelo de Dominio
51
52
Modelo de Dominio
53
Modelo de Dominio
54
Arquitectura Dise9o 44
55
Arquitectura Dise9o 44
56
Diagramas de Clases
A nivel de implementacin
57
58
I$rodu!e N
59
Diagramas de Clases
class 0rstamo de equipos Dependencia <tieneDe$artamentos Departamento 100N <se!retariaDe 1 <olicitudDe0ro1esor <$ro#esores 100N 0ro1esor N 1 <soli!itado4or <soli!ita N <autorizado4or <autoriza N #quipo <!ontrola N <olicitudDe#studiante <estudiantes 100N <soli!ita N <soli!itado4or N #studiante Dependencia #scuela 1 <se!retariaDe
<!ontrolado4or <se!retaria 1
1 <se!retaria 1
0ersonal
0ersona
60
Diagramas de Clases
class +eometr:a JenumerationK ;ipoColor JenumerationK ;ipo=elleno JenumerationK ;ipo<om2ra Dato+eomtrico < !olor/ >i$oColor JenumK ro.o verde negro
0ol: ono < < relleno/ >i$o%elleno som&ra/ >i$o"om&ra < < <de O00N <l-neas <l-neas
<esquina"u$erior1zquierda 1 <,asta
=ect7n ulo < < an!,o/ int largo/ int < <
L:nea
61
Diagramas de Clases
+ecturas recomendadas:
,tt$/((PPP0i&m0!om(develo$erPorQs(rational(li&rar (!ontent(%ational+dge(se$0R(&ell(
(+n 1ngl*s)
62
,(6(,(NCIAS
Coo!,) %um&aug,) Sa!o&son) +l Lengua.e Uni#i!ado de Modelado) 4earson Addison<Lesle 1ra0 +di!i'n
63
*ra$ias
!:racias$
64