Está en la página 1de 26

ClasesUML

Referencias:
J.ArlowandI.Neustadt,ProgramacinUML2,ed.EdicionesAnayaMultimedia.2006.
T.LethridgeandR.Laganire, ObjectOrientedSoftwareEngineeringPractical
SoftwareDevelopmentusingUMLandJava,McGrawHill,2001.

AlfonsoRodrguezRos
email:alfonso@ubiobio.cl
Webpage:http://www.face.ubiobio.cl/~alfonso/
DCCTI GE
FacultaddeCienciasEmpresariales
UniversidaddelBoBo

Quesunaclase?
o

Sedefineunaclasecomo
eldescriptorparaunconjuntodeobjetosquecompartenlosmismos
atributos,operaciones,mtodos,relacionesycomportamiento

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

2/51

Tiposdeclase?
o

Existendostiposdeclases

Lasqueestnmscercanasaldominiodelproblema(clasesde
anlisis)

Lasqueestnmscercanasaldominiodelasolucin(clasesde
diseo)

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

3/51

Qusonlasclasesdeanlisis?
o

Sonaquellasque

Representanunaabstraccineneldominiodelproblema

Debenestardirectamenterelacionadasconconceptosdel
negociodelmundorealyestarnombradasenconsecuencia

Algunasconsideraciones

Losconceptosdelmundorealraramentesonclaros.Demodo
que,resultaunatareacomplejadejarestasclasesexentasde
ambigedad

Lasclasesdeanlisisconstituyenlabasedelproblemayse
transformanenclasesdediseocuandoformanpartedela
solucin

Sedicequeeltiempoempleadoenladefinicindelasclasesde
anlisisnosegasta,seinvierte.

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

4/51

Anatomadeunaclasedeanlisis
o

Debenpresentarunconjuntodeatributosdemuyaltonivel.Se
puededecirqueenlasclasesdeanlisissecapturanlosatributosdelas
clasesdediseo

Lasoperacionesdelasclasesdeanlisisespecificanenunmuyalto
nivellosserviciosclavedelasclases,queenlasclasesdediseose
transformanenoperacionesimplementables

Lasintaxisbsicadeunaclasedeanlisisdebeevitarlosdetallesde
implementacin

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

5/51

Elementosdeunaclasedeanlisis
o

Ensuformatomsbsico,unaclaseserepresentamedianteun
rectngulocontrescompartimentosseparadosporlneashorizontales
enqueserepresentan:
Nombre:Esobligatorio
Atributos:Sonobligatoriosaunqueseaunsubconjuntoimportantedelos

mismos.Lostiposdeatributossonopcionales
Operaciones:Correspondenadeclaracionesdelasresponsabilidadesdela

claseenunaltonivel.Losparmetrosdelaoperacinytiposderetorno
slosemuestrandondesonimportantesparaentenderelmodelo

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

6/51

Elementosdeunaclasedeanlisis
Adicionales
o

Visibilidad:Generalmentenoseespecifica

Estereotipos:Sepuedenmostrarsimejoranelmodelo

Valoresetiquetados:Sepuedenmostrarsimejoranelmodelo

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

7/51

Diferentesnivelesdedetalleenlaespecificacin

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

8/51

Contodoslosdetalles

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

9/51

Adornodevisibilidad

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

10/51

Quhaceunabuenaclasedeanlisis?
o

Sunombrereflejasuintencin

Esunaabstraccinquemodelaunelementoespecficodeldominiodel
problema

Mapeaenunacaractersticaclaramenteidentificabledeldominiodel
problema

Tieneunpequeoconjuntoderesponsabilidadesbiendefinidas

Tieneunaaltacohesin

Tienebajoacoplamiento

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

11/51

Quesunaresponsabilidad
o

Unaresponsabilidadesuncontratouobligacinquetieneunaclase
consusclientes.

Esdeciresunservicioquelaclaseofreceaotrasclases

Lasresponsabilidadesdeunaclasedeanlisisdebensercohesivas
tantoconelpropsitodelaclase(expresadoporsunombre)comocon
elelementodelmundorealqueestmapeando

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

12/51

Unejemplo

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

13/51

Cohesinyacoplamiento
Altamentecohesivapuesserelaciona
conlosartculosquehaseleccionado
uncliente.Escohesivoyaquetodas
lasresponsabilidadesapuntana
mantenerelcarrodecompra

Nosonpropiasdelcarropor
lotantonosoncohesivas

Elacoplamientopuedesermedidoporelnmerodeclasesconlascuales
unaclaseserelaciona.Siladistribucindeclasesesuniformesetendera
obtenerunbajoacoplamiento
ModelamientodeInformacin UBBDCCTIICI 2013(versin)

14/51

Reglasgeneralesparaobtenerclasesdeanlisisbien
estructuradas
o

Detresacincoresponsabilidadesporclase.Estoconlaideade
mantenerlasclaseslomssimplesposible,estonormalmenteselogra
limitandoelnmeroderesponsabilidades

Ningunaclasepermanecesola:laesenciadelbuenanlisisorientadoa
objetosesquelasclasescolaboranentresparaproporcionarbeneficio
alosusuarios

Hayquetenercuidadoconlaespecificacindemuchasclasesmuy
pequeas:sielmodelotienemuchasclasesconpocas
responsabilidadescadauna,hayquerevisarelmodeloconlaideade
unificarclases

Hayquetenercuidadoconespecificarpocasclasesquetenganmuchas
responsabilidades(>5):revisaresasclasesytratardeseparar

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

15/51

Reglasgeneralesdeclasesdeanlisisorientadasa
obtenerclasesdeanlisisbienestructuradas
o

Evitarlasclasesomnipotentes(aquellasqueparecenhacerlotodo).
Puedenidentificarsepuessedenominancomosistemao
controlador.Hayquerevisarlasresponsabilidadesconlaintencin
deseparar

Evitarrbolesdeherenciamuyprofundos(>3).Normalmente,seutiliza
laherenciaparaimplementaruntipodedescomposicinfuncionalque
conduceaunmodelocomplejoydifcildeinterpretar.Enestetipode
clases(deanlisis)laherenciasurgedelproblemanormalmenteen
formaclarayobvia

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

16/51

Cmoencontrarclasesdeanlisis?
o

Anlisisnombre/verbo

AnlisisCRC(Clase/Responsabilidad/Colaboraciones)

EstereotiposRUP

Otrasfuentes

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

17/51

Anlisisnombre/verbo
o

Enesencia,losnombresyfrasesnominalesenuntextoindicanlas
clases ylosatributosdelasclasesylosverbosyfrasesverbalesindican
lasresponsabilidades uoperacionesdelasclases

Esteanlisistienelaventajadeestarenellenguajedeldominiodel
problema.Sinembargohayqueponeratencinenlossinnimosy
homnimosquepuedengenerarclasesfalsas

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

18/51

Anlisisnombre/verbo
o

Tambinpuedehaberproblemassieldominioestmaldefinido.Enese
casohayqueobtenerinformacindesdediferentesfuenteseincluso
buscardominiossimilaresfueradelaorganizacin

Unaspectoparticularmentedifcildeenfrentarenestetipodeanlisis
esencontrarlasclasesocultas.Estasclasessonintrnsecasalproblema
peropuedequenuncasemencionenexplcitamente.Porejemplo,enel
contextodeunsistemadereservasparavacacionesesposiblequeslo
sehabledereservas,sinmencionarunaabstraccintanimportante
comoPedido

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

19/51

Anlisisnombre/verbo
o

Procedimientoparaelanlisisnombre/verbo

Hayquerecopilartantainformacincomoseaposible.Algunas
fuentesposiblesson:

Elmodeloderequisitos

Elmodelodecasosdeuso

Elglosariodelproyecto

Elmodelodeprocesosdenegocio

Otrosdocumentos

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

20/51

10

Anlisisnombre/verbo
o

Procedimientoparaelanlisisnombre/verbo

clases

responsabilidades

Analizadalainformacinhayquedestacarlosiguiente:

Nombre(porejemplovuelo)

Frasesnominales(porejemplonmerodevuelo)

Verbos(porejemploasignar)

Frasesverbales(porejemplo,verificartarjetasdecrdito)

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

21/51

AnlisisCRC(Clase/Responsabilidad/Colaboraciones)
o

Estatcnicautilizaunapotenteherramientaparasudesarrollo,elpostit.

Seidentificaelnombredelaclasecandidata,lasresponsabilidadesylas
colaboraciones

Lascolaboracioneslashacenotrasclasesquepuedenayudaralaclasea
realizarunapartedelafuncionalidaddelsistema.Aquseestablecenlas
relacionesentrelasclases.Aunquecomolaaplicacindeestatcnica
suponelarealizacindeuntaller(workshop)enelcualsevanpegando
lospostitesmejorestablecerestasrelacionesconlneasqueunanestas
clasescolaboradoras
Nombredelaclase:CuentaBancaria
Responsabilidades
Mantenersaldo

Colaboraciones
Banco

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

22/51

11

ProcedimientodelAnlisisCRC
o

Laclaveestensepararlainformacinqueserecopiladelanlisis.CRCse
ejecutamejorendosfases:

Fase1:Recopilarinformacinmedianteunatormentadeideas
Explicardequesetrataunaverdaderatormentade

ideas(todaslasideasseaceptan,segrabanynose
debaten)
Pediralosmiembrosdelequipoquenombren
elementosquefuncioneneneldominiodelnegocio(se
anotanenunpostitconstituyendounaclavecandidata
ysepegaelpostitenlapared)
Identificarlasresponsabilidadeseincorporarlasalpost
it
Identificarlasrelacionesentelasclases

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

23/51

ProcedimientodelAnlisisCRC
o

Laclaveestensepararlainformacinqueserecopiladelanlisis.CRCse
ejecutamejorendosfases:
Fase2:Analizarlainformacin:
Estaetapaconsisteendecidircualessonlasclases,las
responsabilidadesycolaboraciones
Comotodomodelopuedeserdepuradoconrevisiones
sucesivas

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

24/51

12

AnlisisdeestereotiposRUP
o

Laideaesconsiderartrestiposdistintosdeclasesdeanlisisdurantela
actividaddeanlisis.

Estaesunaformadecentrarsuanlisisenaspectosespecficosdel
sistema

Estatcnicaesopcionalydebesercomplementariaconelanlisis
nombre/verboyCRC
Estereotipo

Icono

Semntica

boundary

Clasemediadoraentreelsistemay
suentorno

control

Clasequeencapsula
comportamientoespecficodeun
casodeuso

entity

Clasequeseutilizaparamodelar
informacinpersistentesobrealgo

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

25/51

Otrasfuentes
o
o

Sebuscanabstraccionesconcisasquemapeenconelementosdel
mundorealeneldominiodelproblema
Porejemplo
Objetosfsicos(avin,gente,hoteles)sonindicadoresdeclases
Papeles(recibos,pedidos).Hayquetenercuidadopuespueden
serclasesdesistemasobsoletos
Interfaz(pantallas,perifricos,otrossistemas)
Entidadesconceptualesquesonelementoscrucialesparala
operacindelnegocioquenosemanifiestancomoelementos
concretos.

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

26/51

13

PatronesArquetipo(modelooriginalquesirvecomopautapara
imitarlo)

o
o

o
o

Sonpatronesconceptosdenegocioquesontanpenetrantesen
sistemasdenegociosquesonarquetipospornaturaleza
Porejemplo:
CRM
Inventario
Dinero
Pedido
Terceros
Relacinconterceros
Producto
Normalmenteestospatronesestdescritosporloquesuutilizacin
permiteahorrartiempo.
Sielpatrnnocalzaexactamentepuedeserutilizadocomoreferencia

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

27/51

Quesunaasociacin?
o

Correspondealarelacinquesecreaentreclases.Unaasociacindebe
tener

Unnombredeasociacin

Nombresderoles

Multiplicidad

Navegabilidad

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

28/51

14

Sintaxisdeunaasociacin
o

Losnombresdebenserfrasesverbalesqueindiquenunaaccinqueel
objetofuenteestrealizandoconelobjetodestino

Sepuedeagregarunapequeapuntadeflechaparaindicarladireccin
enlaquesedeberaleerelnombredelaasociacin

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

29/51

Multiplicidaddeunaasociacin
o

Restringeelnmerodeobjetosenunaclasequesepuedenimplicaren
unarelacindeterminadaencualquiermomentoeneltiempo

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

30/51

15

Ejemplosdemultiplicidad

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

31/51

Asociacionesreflexivas
o

Losobjetosdeunaclasetienevnculosconotrosobjetosdelamisma
clase

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

32/51

16

Navegabilidad
o

Lanavegabilidadmuestraqueesposiblepasardesdeunobjetodela
clasefuenteaunoomsobjetosdelaclasedestino,dependiendodela
multiplicidad

Sonmensajesquesolamentesepuedenenviarenladireccindela
flecha

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

33/51

Navegabilidad
o

EsposiblerepresentarlanavegabilidaddediversasformasenUML2

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

34/51

17

Asociacionesyatributos
o

Unaasociacinentreunaclaseorigenyunaclasedestinosignificaque
losobjetosdelaclaseorigenpuedenalbergarunareferenciadeobjeto
aobjetosdelaclasedestino

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

35/51

Clasesdeasociacin
o

Unproblemacomnenelmodeladoorientadoaobjetoscuandoexiste
unarelacinmuchosamuchosentredosclases,esquealgunasveces
hayatributosquenoresultanfcilesdeacomodarenningunadelas
clases

Estemodelosepuedecomplicarsiseagregalaregladenegocioen
relacinconelsueldoquecadapersonatieneencadaempresaenque
trabaja

ElsueldonoesdePersona nideEmpresa

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

36/51

18

Clasesdeasociacin
o

Esposiblemodelarestasituacinagregandounaclasedeasociacin

Laclasedeasociacineselcuadroquecuelgadelaasociacin,lalnea
deasociacincontodaslasespecificaciones(nombre,navegabilidad,,
multiplicidad,etc.)

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

37/51

Asociacionescualificadas
o

Laasociacionescualificadassepuedenutilizarparareduciruna
asociacinn-a-muchos aunaasociacinn-a-1 alespecificarun
nicoobjeto(ogrupodeobjetos)eneldestinoestablecido

Resultanconvenientesparaespecificarcmosepuedebuscaro
navegarhastaobjetosespecficosenunacoleccin.

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

38/51

19

Generalizacinyespecializacin(discriminacin) declases
o

Lasjerarquasdeclasesoclasificacionespermitengestionarla
complejidadordenandolosobjetosdentroderbolesdeclases

Generalizacin: Consisteenfactorizarloselementoscomunes
(atributos,operacionesyrestricciones)deunconjuntodeclases
enunaclasemsgeneralllamadasuperclase

Especializacin: Permitecapturarparticularidadesdeun
conjuntodeobjetosnodiscriminadosporlasclasesya
identificadas.Lasnuevascaractersticasserepresentanporuna
nuevaclase,subclasedeunadelasclasesexistentes.

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

39/51

Generalizacin/Especializacin
Abstraccionesmsgenerales
Vehculo

Generalizacin
Especializacin

Vehculo terrestre

Coche

Camin

Vehculo areo

Avin

Heli cpt ero

Extensinporespecializacin
ModelamientodeInformacin UBBDCCTIICI 2013(versin)

40/51

20

Herencia/Generalizacin/Especializacin

Lassubclasesheredanlas
propiedadesymtodosdelas
superclases

Lassubclasesespecializanala
superclase

Lasuperclaseesunadefinicin
generalistadelassubclases
Lassubclasespueden

Superclase
a1,a2,a3
m1,m2,m3

Subclase1
a1,a2,a3,a3, a7
m1,m2,m3,m3, m5

Subclase2
a1,a2,a3,a4, a5
m1,m2,m3,m3, m4

Aadir,inhibiryredefinir

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

41/51

Herencia
o

Lassuperclasesheredan:atributos,operaciones,relacionesy
restricciones

Persona

nombre
edad
FechaDeNacimiento
nacer()
crecer()
morir()

Profesor
salario
FechaDeContrato
subirSueldo(x:short)
contratar()
despedir()

Profesor
salario
FechaDeContrato
subirSueldo(x:short)
contratar()
despedir()

Alumno
FormaDeAcceso
FechaDeMatrcula
aprobar()
suspender()

Alumno
FormaDeAcceso
FechaDeMatrcula
aprobar()
suspender()

Herenciasimple
ModelamientodeInformacin UBBDCCTIICI 2013(versin)

ProfesorQueEstudia
porcentajeDeDescuento

Herenciamltiple
42/51

21

Polimorfismo
o

Capacidaddeunaoperacin detenermsdeunainterpretacinenms
deunaclase.

Facultaddeunmtododepoderaplicarseaobjetosdeclases
diferentes

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

43/51

Agregacinycomposicin
o

Agregacineseltipoderelacinmsnormalentreobjetos;unejemplo
puedeseruncomputadorconsusdispositivosperifricos

Composicin:estetipodeasociacinestipoderelacinmuyfuerte
entreobjetos,comoporejemplounrbolysushojas

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

44/51

22

Agregacin
o

Lasemnticadelaagregacinsepuederesumiren:

Elconjuntopuedeexistiralgunasvecesindependientementede
suspartes,algunasvecesno.

Laspartespuedenexistirindependientedelconjunto

Elconjuntoestenciertosentidoincompletosifaltaalgunade
suspartes

Esposibletenerpropiedadcompartidadelasparteporvarios
conjuntos

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

45/51

Transitividaddelaagregacin
o

ConsiderelarelacindadaentreA,ByC

LatransitividadsignificaquesiCespartedeByBespartedeA,
entoncesCtambinespartedeA

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

46/51

23

Asimetradelaagregacin
o

Estosignificaqueunobjetonuncapuedeser,directaoindirectamente,
partedesmismo.Estolimitacmopuedeutilizarlaagregacinenlos
modelos.

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

47/51

Asimetradelaagregacin
o

Yqupasasielobjetod necesitaserviciosdelobjetoglobala?

EntonceslaclaseProducto nopuedesermodeladacomounaclase
reflexivaconagregacin

Agregacinreflexiva

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

48/51

24

Unejemplodesemnticadeagregacin

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

49/51

Semnticadecomposicin
o

Lacomposicinesunaformamsfuertedeagregacin

Esunarelacintodoparte,transitivayasimtrica

Ladiferenciaconlaagregacinesquelaspartesnotienevida
independientefueradeltodo

Enlacomposicincadaparteperteneceaunyslountodo,encambio
enlaagregacinunapartesepuedecompartirentrelostodos

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

50/51

25

Semnticadecomposicin,resumen
o

Laspartessolamentepuedenperteneceraunconjuntocadavez;no
existiendolaposibilidaddepropiedadcompartidadeunaparte

Elconjuntotieneresponsabilidadnicaparaladisposicindetodassus
partes;loquesignificaquetienelaresponsabilidadparalacreaciny
destruccin

Elconjuntopuedeliberarpartes,siempreycuandolaresponsabilidad
paraellasseasumaporotroobjeto

Sisedestruyeelconjunto,debedestruirtodassuspartesypasarla
responsabilidadaalgnotroobjeto

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

51/51

Ejercicioenclases
o

EspecifiqueunmodelosdeclasesUMLendondequedereflejadoel
resultadodediferentescompetenciasecuestresenquelosprincipales
antecedentesestnrelacionadosconloscaballosquecompiten,los
jinetes,pruebasycampeonatosenlosqueparticipanylospremios
obtenidos.

Lainformacinmsfrecuentequeelsistemadebeentregaresun
informequecontienelavidadelcaballoconeldetalledeascendentes,
edad,talla,peso,color,jinetes,campeonatosylugaresobtenidos,
premios,lesionesoenfermedadesrelevantes,etc..

ModelamientodeInformacin UBBDCCTIICI 2013(versin)

52/51

26

También podría gustarte