Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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