Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
2/51
Tiposdeclase?
o
Existendostiposdeclases
Lasqueestnmscercanasaldominiodelproblema(clasesde
anlisis)
Lasqueestnmscercanasaldominiodelasolucin(clasesde
diseo)
3/51
Qusonlasclasesdeanlisis?
o
Sonaquellasque
Representanunaabstraccineneldominiodelproblema
Debenestardirectamenterelacionadasconconceptosdel
negociodelmundorealyestarnombradasenconsecuencia
Algunasconsideraciones
Losconceptosdelmundorealraramentesonclaros.Demodo
que,resultaunatareacomplejadejarestasclasesexentasde
ambigedad
Lasclasesdeanlisisconstituyenlabasedelproblemayse
transformanenclasesdediseocuandoformanpartedela
solucin
Sedicequeeltiempoempleadoenladefinicindelasclasesde
anlisisnosegasta,seinvierte.
4/51
Anatomadeunaclasedeanlisis
o
Debenpresentarunconjuntodeatributosdemuyaltonivel.Se
puededecirqueenlasclasesdeanlisissecapturanlosatributosdelas
clasesdediseo
Lasoperacionesdelasclasesdeanlisisespecificanenunmuyalto
nivellosserviciosclavedelasclases,queenlasclasesdediseose
transformanenoperacionesimplementables
Lasintaxisbsicadeunaclasedeanlisisdebeevitarlosdetallesde
implementacin
5/51
Elementosdeunaclasedeanlisis
o
Ensuformatomsbsico,unaclaseserepresentamedianteun
rectngulocontrescompartimentosseparadosporlneashorizontales
enqueserepresentan:
Nombre:Esobligatorio
Atributos:Sonobligatoriosaunqueseaunsubconjuntoimportantedelos
mismos.Lostiposdeatributossonopcionales
Operaciones:Correspondenadeclaracionesdelasresponsabilidadesdela
claseenunaltonivel.Losparmetrosdelaoperacinytiposderetorno
slosemuestrandondesonimportantesparaentenderelmodelo
6/51
Elementosdeunaclasedeanlisis
Adicionales
o
Visibilidad:Generalmentenoseespecifica
Estereotipos:Sepuedenmostrarsimejoranelmodelo
Valoresetiquetados:Sepuedenmostrarsimejoranelmodelo
7/51
Diferentesnivelesdedetalleenlaespecificacin
8/51
Contodoslosdetalles
9/51
Adornodevisibilidad
10/51
Quhaceunabuenaclasedeanlisis?
o
Sunombrereflejasuintencin
Esunaabstraccinquemodelaunelementoespecficodeldominiodel
problema
Mapeaenunacaractersticaclaramenteidentificabledeldominiodel
problema
Tieneunpequeoconjuntoderesponsabilidadesbiendefinidas
Tieneunaaltacohesin
Tienebajoacoplamiento
11/51
Quesunaresponsabilidad
o
Unaresponsabilidadesuncontratouobligacinquetieneunaclase
consusclientes.
Esdeciresunservicioquelaclaseofreceaotrasclases
Lasresponsabilidadesdeunaclasedeanlisisdebensercohesivas
tantoconelpropsitodelaclase(expresadoporsunombre)comocon
elelementodelmundorealqueestmapeando
12/51
Unejemplo
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
15/51
Reglasgeneralesdeclasesdeanlisisorientadasa
obtenerclasesdeanlisisbienestructuradas
o
Evitarlasclasesomnipotentes(aquellasqueparecenhacerlotodo).
Puedenidentificarsepuessedenominancomosistemao
controlador.Hayquerevisarlasresponsabilidadesconlaintencin
deseparar
Evitarrbolesdeherenciamuyprofundos(>3).Normalmente,seutiliza
laherenciaparaimplementaruntipodedescomposicinfuncionalque
conduceaunmodelocomplejoydifcildeinterpretar.Enestetipode
clases(deanlisis)laherenciasurgedelproblemanormalmenteen
formaclarayobvia
16/51
Cmoencontrarclasesdeanlisis?
o
Anlisisnombre/verbo
AnlisisCRC(Clase/Responsabilidad/Colaboraciones)
EstereotiposRUP
Otrasfuentes
17/51
Anlisisnombre/verbo
o
Enesencia,losnombresyfrasesnominalesenuntextoindicanlas
clases ylosatributosdelasclasesylosverbosyfrasesverbalesindican
lasresponsabilidades uoperacionesdelasclases
Esteanlisistienelaventajadeestarenellenguajedeldominiodel
problema.Sinembargohayqueponeratencinenlossinnimosy
homnimosquepuedengenerarclasesfalsas
18/51
Anlisisnombre/verbo
o
Tambinpuedehaberproblemassieldominioestmaldefinido.Enese
casohayqueobtenerinformacindesdediferentesfuenteseincluso
buscardominiossimilaresfueradelaorganizacin
Unaspectoparticularmentedifcildeenfrentarenestetipodeanlisis
esencontrarlasclasesocultas.Estasclasessonintrnsecasalproblema
peropuedequenuncasemencionenexplcitamente.Porejemplo,enel
contextodeunsistemadereservasparavacacionesesposiblequeslo
sehabledereservas,sinmencionarunaabstraccintanimportante
comoPedido
19/51
Anlisisnombre/verbo
o
Procedimientoparaelanlisisnombre/verbo
Hayquerecopilartantainformacincomoseaposible.Algunas
fuentesposiblesson:
Elmodeloderequisitos
Elmodelodecasosdeuso
Elglosariodelproyecto
Elmodelodeprocesosdenegocio
Otrosdocumentos
20/51
10
Anlisisnombre/verbo
o
Procedimientoparaelanlisisnombre/verbo
clases
responsabilidades
Analizadalainformacinhayquedestacarlosiguiente:
Nombre(porejemplovuelo)
Frasesnominales(porejemplonmerodevuelo)
Verbos(porejemploasignar)
Frasesverbales(porejemplo,verificartarjetasdecrdito)
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
22/51
11
ProcedimientodelAnlisisCRC
o
Laclaveestensepararlainformacinqueserecopiladelanlisis.CRCse
ejecutamejorendosfases:
Fase1:Recopilarinformacinmedianteunatormentadeideas
Explicardequesetrataunaverdaderatormentade
ideas(todaslasideasseaceptan,segrabanynose
debaten)
Pediralosmiembrosdelequipoquenombren
elementosquefuncioneneneldominiodelnegocio(se
anotanenunpostitconstituyendounaclavecandidata
ysepegaelpostitenlapared)
Identificarlasresponsabilidadeseincorporarlasalpost
it
Identificarlasrelacionesentelasclases
23/51
ProcedimientodelAnlisisCRC
o
Laclaveestensepararlainformacinqueserecopiladelanlisis.CRCse
ejecutamejorendosfases:
Fase2:Analizarlainformacin:
Estaetapaconsisteendecidircualessonlasclases,las
responsabilidadesycolaboraciones
Comotodomodelopuedeserdepuradoconrevisiones
sucesivas
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
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.
26/51
13
PatronesArquetipo(modelooriginalquesirvecomopautapara
imitarlo)
o
o
o
o
Sonpatronesconceptosdenegocioquesontanpenetrantesen
sistemasdenegociosquesonarquetipospornaturaleza
Porejemplo:
CRM
Inventario
Dinero
Pedido
Terceros
Relacinconterceros
Producto
Normalmenteestospatronesestdescritosporloquesuutilizacin
permiteahorrartiempo.
Sielpatrnnocalzaexactamentepuedeserutilizadocomoreferencia
27/51
Quesunaasociacin?
o
Correspondealarelacinquesecreaentreclases.Unaasociacindebe
tener
Unnombredeasociacin
Nombresderoles
Multiplicidad
Navegabilidad
28/51
14
Sintaxisdeunaasociacin
o
Losnombresdebenserfrasesverbalesqueindiquenunaaccinqueel
objetofuenteestrealizandoconelobjetodestino
Sepuedeagregarunapequeapuntadeflechaparaindicarladireccin
enlaquesedeberaleerelnombredelaasociacin
29/51
Multiplicidaddeunaasociacin
o
Restringeelnmerodeobjetosenunaclasequesepuedenimplicaren
unarelacindeterminadaencualquiermomentoeneltiempo
30/51
15
Ejemplosdemultiplicidad
31/51
Asociacionesreflexivas
o
Losobjetosdeunaclasetienevnculosconotrosobjetosdelamisma
clase
32/51
16
Navegabilidad
o
Lanavegabilidadmuestraqueesposiblepasardesdeunobjetodela
clasefuenteaunoomsobjetosdelaclasedestino,dependiendodela
multiplicidad
Sonmensajesquesolamentesepuedenenviarenladireccindela
flecha
33/51
Navegabilidad
o
EsposiblerepresentarlanavegabilidaddediversasformasenUML2
34/51
17
Asociacionesyatributos
o
Unaasociacinentreunaclaseorigenyunaclasedestinosignificaque
losobjetosdelaclaseorigenpuedenalbergarunareferenciadeobjeto
aobjetosdelaclasedestino
35/51
Clasesdeasociacin
o
Unproblemacomnenelmodeladoorientadoaobjetoscuandoexiste
unarelacinmuchosamuchosentredosclases,esquealgunasveces
hayatributosquenoresultanfcilesdeacomodarenningunadelas
clases
Estemodelosepuedecomplicarsiseagregalaregladenegocioen
relacinconelsueldoquecadapersonatieneencadaempresaenque
trabaja
ElsueldonoesdePersona nideEmpresa
36/51
18
Clasesdeasociacin
o
Esposiblemodelarestasituacinagregandounaclasedeasociacin
Laclasedeasociacineselcuadroquecuelgadelaasociacin,lalnea
deasociacincontodaslasespecificaciones(nombre,navegabilidad,,
multiplicidad,etc.)
37/51
Asociacionescualificadas
o
Laasociacionescualificadassepuedenutilizarparareduciruna
asociacinn-a-muchos aunaasociacinn-a-1 alespecificarun
nicoobjeto(ogrupodeobjetos)eneldestinoestablecido
Resultanconvenientesparaespecificarcmosepuedebuscaro
navegarhastaobjetosespecficosenunacoleccin.
38/51
19
Generalizacinyespecializacin(discriminacin) declases
o
Lasjerarquasdeclasesoclasificacionespermitengestionarla
complejidadordenandolosobjetosdentroderbolesdeclases
Generalizacin: Consisteenfactorizarloselementoscomunes
(atributos,operacionesyrestricciones)deunconjuntodeclases
enunaclasemsgeneralllamadasuperclase
Especializacin: Permitecapturarparticularidadesdeun
conjuntodeobjetosnodiscriminadosporlasclasesya
identificadas.Lasnuevascaractersticasserepresentanporuna
nuevaclase,subclasedeunadelasclasesexistentes.
39/51
Generalizacin/Especializacin
Abstraccionesmsgenerales
Vehculo
Generalizacin
Especializacin
Vehculo terrestre
Coche
Camin
Vehculo areo
Avin
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
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
43/51
Agregacinycomposicin
o
Agregacineseltipoderelacinmsnormalentreobjetos;unejemplo
puedeseruncomputadorconsusdispositivosperifricos
Composicin:estetipodeasociacinestipoderelacinmuyfuerte
entreobjetos,comoporejemplounrbolysushojas
44/51
22
Agregacin
o
Lasemnticadelaagregacinsepuederesumiren:
Elconjuntopuedeexistiralgunasvecesindependientementede
suspartes,algunasvecesno.
Laspartespuedenexistirindependientedelconjunto
Elconjuntoestenciertosentidoincompletosifaltaalgunade
suspartes
Esposibletenerpropiedadcompartidadelasparteporvarios
conjuntos
45/51
Transitividaddelaagregacin
o
ConsiderelarelacindadaentreA,ByC
LatransitividadsignificaquesiCespartedeByBespartedeA,
entoncesCtambinespartedeA
46/51
23
Asimetradelaagregacin
o
Estosignificaqueunobjetonuncapuedeser,directaoindirectamente,
partedesmismo.Estolimitacmopuedeutilizarlaagregacinenlos
modelos.
47/51
Asimetradelaagregacin
o
Yqupasasielobjetod necesitaserviciosdelobjetoglobala?
EntonceslaclaseProducto nopuedesermodeladacomounaclase
reflexivaconagregacin
Agregacinreflexiva
48/51
24
Unejemplodesemnticadeagregacin
49/51
Semnticadecomposicin
o
Lacomposicinesunaformamsfuertedeagregacin
Esunarelacintodoparte,transitivayasimtrica
Ladiferenciaconlaagregacinesquelaspartesnotienevida
independientefueradeltodo
Enlacomposicincadaparteperteneceaunyslountodo,encambio
enlaagregacinunapartesepuedecompartirentrelostodos
50/51
25
Semnticadecomposicin,resumen
o
Laspartessolamentepuedenperteneceraunconjuntocadavez;no
existiendolaposibilidaddepropiedadcompartidadeunaparte
Elconjuntotieneresponsabilidadnicaparaladisposicindetodassus
partes;loquesignificaquetienelaresponsabilidadparalacreaciny
destruccin
Elconjuntopuedeliberarpartes,siempreycuandolaresponsabilidad
paraellasseasumaporotroobjeto
Sisedestruyeelconjunto,debedestruirtodassuspartesypasarla
responsabilidadaalgnotroobjeto
51/51
Ejercicioenclases
o
EspecifiqueunmodelosdeclasesUMLendondequedereflejadoel
resultadodediferentescompetenciasecuestresenquelosprincipales
antecedentesestnrelacionadosconloscaballosquecompiten,los
jinetes,pruebasycampeonatosenlosqueparticipanylospremios
obtenidos.
Lainformacinmsfrecuentequeelsistemadebeentregaresun
informequecontienelavidadelcaballoconeldetalledeascendentes,
edad,talla,peso,color,jinetes,campeonatosylugaresobtenidos,
premios,lesionesoenfermedadesrelevantes,etc..
52/51
26