Vous êtes sur la page 1sur 3

20/12/2014

Casosaincluirycasosaextender

Inicio

Capacitacinportema

Capacitacinporperfil

Calendario

Contctanos

Casosainclurycasosaextender
Untemaquegeneramuchapolmicaentrelagentequemodelacasosdeusoeslaeleccinentrela
relacinde<<include>>y<<extend>>.Lopeoresquemuchasdeesasdiscusionesgeneranmuypoco
valorenelresultadofinalenelmodeloyencambioquitantiempovaliosodelproyecto.Estosedebea
que dichas relaciones, muchas veces no son del todo comprendidas por la persona que la modela, y
muchomenossoncomprendidasporlaspersonasqueleenelmodelo.Asquealfinalnoselesacael
provechoqueentodocasodeberadetenerdichaeleccin.
Esmejormantenerelmodelosimple,inclusosiestosignificautilizarmenoselementosgrficosdeUML,
siesovaafacilitarelmodeladoylacomunicacinenelproyecto.Pero,despusdetodoestetiempoyde
los diferentes temas que hemos venido tratando, es importante avanzar y adentrarnos en algunos
pormenoresdellenguajeunificado.
Nuestros cursos de Certificacin PMP y
CAPM incluyen 40 y 24 horas
respectivamente de capacitacin presencial
ms un programa integral en lnea para
complementar tu preparacin desde la
comodidad de tu casa, y garantizar tu
certificacin.
17mdulosenvideo(80videos)
60contacthours/PDUs
Simuladordeexamen
Autoevaluacionesporcadavideo
AccesoalforoNo.1dePMenespaol
LibrodigitaldePabloLled
60plantillasdePM
PMBOKGuidecondescuento
Entreotrosbeneficios...

Antesquetodo,queselincludeyelextend?
Grficamente lo que mostramos es una relacin de dependencia entre el par de casos de uso, con el
nombrecorrespondientealtipoderelacindelaquesetrate:yasea<<include>>o<<extend>>.
Estas, son relaciones que usamos para ligar grficamente dos casos de uso, cuyos flujos de eventos
estnunidos,normalmenteenunasolasesindelusuario.Enotraspalabras,uncasodeusoqueest
ligado,pormediodeunadeestasdosrelaciones,aotrocasodeusotambinpodraleerseoejecutarse
comounslocasodeusoenlugardedos.Obviamente,hayunaraznporlacualdecidimossepararlos
endos,locualexplicaremosmsadelante.
Imagina el conjunto de pasos que ocurren al realizar una compra en una tienda departamental.
Seguramentenotendrsproblemaenvisualizarelconjuntodepasosparasolicitarlaautorizacindela
tarjetadecrditoconlaquevasapagar,ligadoalospasosdondeelvendedorregistralosproductosa
comprar.Esdecir,losflujosdeeventosdeambosprocesosformanunasolacosajuntospodranformar
un solo caso de uso, en lugar de dos casos de uso unidos por alguna de estas relaciones que aqu
estamostratando.

Informacingeneral
Novedades
ConocelaPlizaAbiztarPlus
Nuestrosclientes
Recomendacionesdecapacitacin
Calendariodecursos
CursosdeIngenieradesoftware
BootcampdeUML
ModeladoconSysML
ModeladodeNegocios/BPMN
PatronesdeDiseo
CasosdeUso
TOGAF
DesarrolloautomatizadodesoftwareconMDA
Grails
Java6
FundamentosdePruebas

Figura1.Relacionandocasosdeuso
Include. En trminos muy simples, cuando relacionamos dos casos de uso con un include, estamos
diciendoqueelprimero(elcasodeusobase)incluyealsegundo(elcasodeusoincludo).Esdecir,el
segundo es parte esencial del primero. Sin el segundo, el primero no podra funcionar bien pues no
podra cumplir su objetivo. Para una venta en caja, la venta no puede considerarse completa si no se
realizaelprocesoparacobrarlaenesemomento.ElcasodeusoCobrarRentaestincluidoenelcaso
deusoRentarVideo,oloqueeslomismoRentarVideoincluye(<<include>>)CobrarRenta.

CursosdeDireccindeproyectos
CertificacinPMIRMP
CertificacinPMISP
CertificacinPMP
CertificacinCAPM
SCRUM
EstimacindeProyectos
SeguimientodeProyectos
SimulacroenproyectosdeSW
CalendarizacinconMSProjectyPMBOK
Basedeconocimiento
UMLyArquitecturas
AdministracindeProyectos
ProcesosdeSoftware
Artculos

Figura2.EjemplodeInclude
Extend. La polmica al querer seleccionar una de las dos relaciones es que en el extend tambin
podemos ver, desde la perspectiva del usuario, a los dos flujos como si fueran uno slo. Y en ciertos
escenarioselcasodeusobasenopodracumplirsuobjetivosinoseejecutaralaextensin.Pero,una
de las diferencias bsicas es que en el caso del extend hay situaciones en que el caso de uso de
extensinnoesindispensablequeocurra,ycuandolohaceofreceunvalorextra(extiende)alobjetivo
originaldelcasodeusobase.Encambioenelincludeesnecesarioqueocurraelcasoincludo,tan

http://www.milestone.com.mx/articulos/casos_a_incluir_casos_a_extender.htm

1/3

20/12/2014

Casosaincluirycasosaextender
sloparasatisfacerelobjetivodelcasodeusobase.Ejemplo: Puedes Realizar Venta sin Acumular
PuntosdeClienteVIP,cuandonoeresunclienteVIP.Pero,sieresunclienteVIPsacumularspuntos.
Porlotanto,AcumularPuntosesunaextensindeRealizarVentaysloseejecutaparaciertotipode
ventas,noparatodas.

Figura3.EjemplodeExtend
CasosdeAbuso
Uno de los riesgos que existe cuando la gente sabe que tiene estas relaciones como un elemento a
utilizarensusmodelosdecasosdeuso,consisteensuabuso.Muchagente,ysobretodolaquearrastra
prcticasdemtodosestructurados,lasueleutilizarenexceso.Noesrarovermodelosdecasosdeuso
que llegan a tener decenas de inclusiones y extensiones, incluso las inclusiones y extensiones se
vuelvenaextenderavariosniveles,generandounamaraadecasosdeusoquenoofrecenvaloralser
mostradosexplcitamente.

Figura4.Abusoderelaciones
EsimportantecomprenderqueelobjetivodeestostiposderelacionesNOconsiste(remarcolanegacin)
enmotivarladivisindeloscasosdeusoenlamayorcantidaddepedazos.Debedeexistirunarazn
importanteparaquedecidamosdividiruncasodeusoendosquesernunidospormediodealgunade
estas relaciones. Si entendemos esto y somos congruentes, obtendremos un beneficio real para el
proyectofinltimodelusodeUML.
Laraznporlaquelagentesuelepartirsuscasosdeusoeninfinidaddeincludeyextendesporque
quierenconocer,entenderycomunicarelmximodetalledeloscasosdeusoeneldiagrama.Hayquien
llegaautilizar,errneamente,estasrelacionesparamostrarelordenenqueseejecutanestoscasosde
uso.Debemosderecordarquealmodelareldiagramadecasosdeusonobuscamosanalizareldetalle,
ymuchomenoslosflujos.Todo ese detalle lo podremos plasmar en otro tipo de diagramas, como los
diagramasdeinteraccin,deactividad,deestados,osimplementeuntextoenunaespecificacin.
RelacionesdeAnlisisoDiseo
Otra situacin donde abusamos de estas relaciones se da cuando queremos representar la unin de
casosdeusoporunadecisindediseodelsistema,especficamenteporunadecisindenavegabilidad
entrefunciones.Pensemosenciertafuncionalidadenunsistema,lacualcorrespondealaejecucinde
cierto caso de uso (por ejemplo Registrar Prstamo de un Video). Y estando en dicho caso de uso
tienesalavistaenlapantalla,ydecidesutilizar,unbotnquetepermitirainiciarotrocasodeusoque
tienepocoonadaqueverconelobjetivodelcasodeusoinicial(digamos,ConsultarPromociones).
Estonodeberademostrarsecomounarelacinentreestosdoscasosdeusoenelmodelo.
Nodeberamosmodelaralprimercasodeusoincluyendonisiendoextendidoconelsegundocasode
usoniviceversa,pueslaraznporlaqueseligaron(nogrficamente,sinoensuejecucin)fueporuna
facilidadotorgadaporlamaneraenquesediseoelsistema,lacualpermitenavegarfcilmenteentrelas
diferentesfuncionesdelsistema.Lanavegabilidadqueotorgaelsistemaentreunoyotrocasodeuso
normalmentetienequeverpococonqueexistaonounarelacinentredichoscasosdeuso.
Reuso:EvitandoelRetrabajo
Unadelasrazonesporlascualesdeberasdeconsiderarelusodeestetipoderelaciones,esporque
identificasquehaypasosquesonigualesendosomscasosdeuso.Noquerrstenerqueescribiry
darle mantenimiento a esos pasos en los documentos asociados a cada uno de ellos. Peor an, no
querrscorrerelriesgodequeesospasossediseen,programenypruebendemanerasdiferentesy
con esfuerzos aislados por ti o tu equipo de desarrollo. Finalmente son la misma cosa, para qu
querramostrabajardoble?Loquequeremoseseconomizar,sermseficienteseneldesarrollo,yahes

http://www.milestone.com.mx/articulos/casos_a_incluir_casos_a_extender.htm

2/3

20/12/2014

Casosaincluirycasosaextender
cuando viene el beneficio de identificar estos tipos de relaciones porque es una oportunidad de
identificarreuso.

Figura5.Identificacindereuso
Si te sientes preparado para desarrollar modelos de casos de uso ms sofisticados y de mayor valor,
entoncesconsideralaposibilidaddeutilizarestostiposderelaciones.Sloasegratedeaprovecharlas
adecuadamente,buscandoelbeneficiorealquedeberandeproporcionarentumodeloyproyectocon
baseenlasrecomendacionesmencionadas.Yrecuerdaunificarloscriteriosdentrodetuempresapara
queellenguajesearealmenteunificadooestandarizadodentrodetuempresa.
PorSergioOrozcoyLeticiaOrtiz

<<Regresaraartculos

MxicoD.F.+52(55)55946411

EnvanosunEmaila:
cursos@abiztar.com.mx

Osiloprefieres:
Llenanuestroformulariodecontacto

[Avisodeprivacidad]

Abiztar.PMI,PMBOK,OPM3,CAPM,PMP,PMISPyPMIRMPsonmarcasregistradas(enEUAyotospases)delProjectManagementInstitute,Inc.Capability
Maturity Model y CMM son marcas registradas en la Oficina de Patentes de los EUA por el Software Engineering Institute (SEI) de la Universidad Carnegie Mellon.
CMM, IntegrationSM, IDEALSM y SCAMPISM son marcas de servicio de la Universidad Carnegie Mellon. MDA, BPMN, SysML, MOF, OMG y UML son marcas
registradas en los EUA y en otros pases por el Object Management Group. Microsoft es una marca registrada en los EUA y en otros pases Microsoft Office,
MicrosoftExcelyMicrosoftProjectsonproductospropiedaddeMicrosoftCorp.EnterpriseArchitectesunproductopropiedaddeSparxSystems,Australia.RUPes
unamarcaregistradaporIBMCorp."

http://www.milestone.com.mx/articulos/casos_a_incluir_casos_a_extender.htm

3/3

Vous aimerez peut-être aussi