Está en la página 1de 3

IIEInstitutodeIngenieraElctrica.

DesaSoftDesarrollodeSoftwareparaIngenieraElctrica.
Guasdeclase.ParteII:IngenieradeSoftware.

Contratos de Operaciones
ndice de contenido
Contratosdeoperaciones..................................................................................................................1
Contratosdeoperacionesdelsistema......................................................................................1
Ejemplodecontrato.......................................................................................................1
SeccionesdeunContrato........................................................................................................2
ConstruccindeunContrato...................................................................................................2
ContratosenUML....................................................................................................................2
ContratosenelUP...................................................................................................................2
Referenciasylecturasrecomendadas.......................................................................................3
Lecturasrecomendadas..................................................................................................3
Referencias.....................................................................................................................3

Contratos de operaciones del sistema.


Loscontratosdeoperacionesayudanadescribirelcomportamientodelsistema.Uncontratode
operacindescribeelcambiodeunestadoaotrodelosobjetosdeldominiocomoresultadodela
ejecucindeunaoperacin.Sucreacindependedelacreacinpreviadelmodelodedominio,los
diagramasdesecuenciadesistema,ylaidentificacindelasoperacionesdesistema.Loscontratos
deoperacionesserefierenalasoperacionesdelsistema,lasoperacionesofrecidasporelsistema
comocajanegraatravsdesuinterfazpblicadedatosenrespuestaaloseventosentrantesal
sistema.ElsistemacomountodosepuederepresentarenUMLcomounaclase.
Loscasosdeusoconstituyenelprincipalmecanismodedescubrimientodelcomportamientodel
sistema;loscontratosdeoperacinnosonobligatorios,seconstruyencuandolosdetallesy
complejidaddeloscambiosdeestadoimplicadosenlaoperacinhacendifcilsucapturaenlos
casosdeuso.
Loscontratossuelenescribirseenformadeclarativa,indicandolascondicionespreviasy
posterioresalaoperacin.

Ejemplo de contrato.
ElsiguienteejemplodecontratocorrespondealaoperaciningresarArticulo(idArticulo,
cantidad)identificadaeneldiagramadesecuenciadelsistema.UPC,UniversalProductCode,esel
cdigouniversaldeproducto,expresablecomounnmerooencdigodebarras.Laetiquetadelos
productosmuestranelUPCtantoencdigodebarrascomoenformanumricalegiblepor
humanos.
Nombre:ingresarArticulo(idArticulo:UPC,cantidad:entero)
Referenciascruzadas:RegistrarVenta(casodeuso)
Precondiciones:Ventaencurso.
Postcondiciones:
secreidv,instanciadeLineaDeVenta(creacindeinstancia).
idvseasociconlaVentaactual(formacindeasociacin)
idv.cantidadpasasercantidad(modificacindeatributo)
1de3

idvseasociconunaEspecificacionDeProductoenbaseacoincidenciadeidArticulo
(formacindeasociacin).

Secciones de un Contrato.
Nombre:nombredelaoperacinyparmetros.
Referenciascruzadas:casosdeusoenlosquepuederealizarselaoperacin.
Precondiciones:estadodelsistemaantesdelaejecucin.Suposicionesrelevantessobreel
estadodelsistemaodelosobjetosdelmodelodedominioantesdelaejecucindelaoperacin.La
operacinnoverificaestascondiciones,lasdaporcumplidas.Enelflujodeejecucindelprograma
elanalistadeberasegurarlaconsecucindelascondicionespreviasporlaejecucinexitosade
operacionesanterioresyelcumplimientodelasrestriccionesrequeridas.
Postcondiciones:estadodelsistemadespusdelaejecucindeestaoperacin.Elestadodel
sistemaestdadoporelestadodelosobjetosdelmodelodedominiodespusdecompletadala
operacin.Comprendelacreacindeinstancias,laformacinoroturadeasociaciones,ylos
cambiosenlosatributos.Anivelconceptuallaeliminacinexplcitadeinstanciasnosueletener
relevancia;laeliminacindeobjetosesmsunproblemadeimplementacin,porlaliberacinde
recursos,algoajenoalmodeloconceptualenconstruccinenestasetapas.Laexpresindelas
postcondicionesesentiempopasado:sehicierontalesytalescosas.

Construccin de un Contrato.
Paracadacasodeuso:
1. Identificarlasoperacionesdelsistemaapartirdelosdiagramasdesecuenciadelsistema.
2. Construircontratosparalasoperacionesdelsistemaqueresultencomplejas,sutilesensus
resultados,opococlarasenladescripcindelcasodeuso.
3. Escribirlasprecondiciones.
4. Escribirlaspostcondiciones,usandoestascategoras:
creacinyeliminacindeinstancias.
modificacindeatributos.
formacinydestruccindeasociaciones.
5. Revisarlasprecondiciones,siestntodaslasnecesariasyslolasnecesarias.
Lasprecondicionessonunafotoantesdelaoperacin;laspostcondicionessonunafotodespus
delaoperacin.

Contratos en UML.
EnUMLloscontratossonespecificacionesdeoperaciones.Formalmente,enUML,

unaoperacinesunaespecificacindeunatransformacinoconsultaquesepuedeinvocar
paraquelaejecuteunobjeto.

unmtodoeslaimplementacindeunaoperacin.

unaoperacintieneunasignatura(nombreylistadeparmetros),unvalorderetornoyuna
especificacindeoperacindescriptivadelosefectosproducidosporlaejecucindeesa
operacin(laspostcondiciones).
EnUMLlasoperacionespertenecenalasclases.EnUMLlossubsistemassemodelancomo
clasesocomopaquetes.Elsistemaglobalsemodelacomounaclasehabitualmentedenominada
Sistemaconoperacionespblicasacompaadasdesusespecificacionesdeoperacin
correspondientes.

Contratos en el UP.
Loscontratos,siseusan,seescribenenlafasedeElaboracin.Escribircontratossloparalas
operacionesdelsistemamscomplejasysutiles.
2de3

Referencias y lecturas recomendadas.


Elcontenidodeestedocumentoestbasadoenlasfuentescitadasacontinuacin,cuyalecturao
consultanopretendensustituir.

Lecturas recomendadas.

[Larman2003]Larman,Craig.UMLypatrones.Unaintroduccinalanlisisydiseo
orientadoaobjetosyalProcesoUnificado,2a.edicin.Madrid,2003.
ISBN8420534382.
[Fowler1997]Fowler,MartinyScott,Kendall.UMLdistilled.ApplyingtheStandardObject
ModellingLanguage.AddisonWesleyLongman,Inc.,1997.ISBN0201325632.
[Pfleeger2002]PFLEEGER,SHARILAWRENCE.Ingenieradesoftware,teorayprctica,
1a.edicin.BuenosAires,Pearsoneducacin,2002.ISBN:9879460715.

Referencias.

[Jacobson2000]Jacobson,Ivar;Booch,Grady;Rumbaugh,James.Elprocesounificadode
desarrollodesoftware.PearsonEducacin,Madrid,2000.ISBN:8478290362.
[Booch1999]Booch,Grady;Jacobson,Ivar;Rumbaugh,James.Ellenguajeunificadode
modelado.PearsonEducacin,Madrid,2000.ISBN:8478290281.

Errores,omisiones,comentarios:VctorGonzlezBarbone,vagonbarenfing.edu.uy
DesarrollodeSoftwareparaIngenieraElctricaRev.20090509
InstitutodeIngenieraElctrica
FacultaddeIngeniera

UniversidaddelaRepblica,Uruguay.

3de3

También podría gustarte