Professional Documents
Culture Documents
IngenieraSoftware
IngenieraSoftware
SistemasSoftwaresoncomplejos
Imposiblesdeentenderporunasolapersona
Muchosproyectosnuncaseterminan:"vaporware"
1968Definicin:
IngenieraSoftwaresignificalaconstruccindesoftwaredecalidad
conunpresupuestolimitadoyunafechadeentrega
Definicinmsactual:
IngenieraSoftwaresignificalaconstruccindesoftwaredecalidad
conunpresupuestolimitadoyunafechadeentregaencontextosde
cambiocontinuo
Enfasisesenambos,enelsoftwareyenlaingeniera
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
ActividadesdelaIngenieraSoftware
ObtencindeRequerimientos
PropsitodelSistema
Resultado:sistemadescritoentrminosde:
Actores:entidadesqueinteractanconelsistema
CasosdeUso:Secuenciasdeeventosgenerales(ActorSistema)
Anlisis:
Modelodelsistemacorrecto,completo,consistente,claroyverificable
Transformanloscasosdeusoenunmodelo(objeto)
Diseo:
Sedefinenlosobjetivosdelproyecto
Subsistemas
Estrategias
Sistema:Hardware,Software
Datos:almacenamiento,flujodedatos,etc
Implementacin
Traduccin:MODELOaCODIGOFUENTE
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
ModeladoconUML
Introduccin
Queselmodelado?
QueselmodeladoUML?
DiagramasdeCasosdeUso
DiagramasdeClase
DiagramasdeSecuencia
DiagramasdeEstado
DiagramasdeActividad
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
Sistemas,ModelosyVistas
Unsistemaesunconjuntoorganizadoenpartesquese
comunicanydiseadoconunpropsitoespecfico
Descomposicinenelementos
Subsistemas,clases,objetos,
Unmodeloesunaabstraccinquedescribeunsistemaouna
partedeunsistema
Manejalacomplejidaddelsistema
Diferentesnivelesdecomplejidad
Unavistamuestraaspectosseleccionadosdeunmodelo
Subconjuntodelmodelo
Unanotacinesunconjuntodereglasgrficasotextopara
representarvistas
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
Sistemas,ModelosyVistas
Esquema
SimuladorVuelo
Avin
Model2
View1
System
View2
View3
Model1
Cableado
Elctrico
Modelo a escala
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
Modelos,Vistas,ySistemas(UML)
Sistema
Descrito por
Modelo
Vista
Mostrado con
avin:Sistema
modeloAEscala:Modelo
Esquema:Vista
L.Marnez&P.J.Snchez
simladorDeVuelo:Modelo
sistDeCombust:Vista
SistemasInformticos
IngenieraInformtica
cableadoElect:Vista
UniversidaddeJan
ConceptosyFenmenos
Fenmeno:Unobjetodelmundorealtalycomoespercibido,
porejemplo:
Laclasealaqueatiendes
Mirelojnegro
Concepto:Abstraccinquedescribelaspropiedadesqueson
comunesalosfenmenos,porejemplo:
ClasesdeSistemasInformticos
RelojesNegros
Unconceptotiene3componentes:
SuNombrelodistinguedeotrosconceptos
SuPropsitoolaspropiedadesquedeterminansiunfenmenoes
miembrodeunconcepto
SusMiembrosquesonlosfenmenosqueformanpartedelconcepto
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
ConceptosyFenmenos
Nombre
Reloj
Propsito
Miembros
Dispositivo que
mide el tiempo
Abstraccin:Clasificacindefenmenosenconceptos
Modelado:procesodecrearabstraccionespararesponder
preguntassobreunconjuntodefenmenosignorandodetalles
irrelevantes
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
10
ConceptosenelSoftware:TipoeInstancia
Tipo:
Unaabstraccinenelcontextodeloslenguajesdeprogramacin
Nombre:int,Propsito:entero,Miembros:0,-1, 1, 2,-2,...
Instancia:
Miembrodeuntipoespecfico
LarelacinentreTipoeInstanciaessimilaralaexistenteentreconceptoy
fenmeno
Clase:
Unaabstraccinenelcontextodelosleng.deprogramacinOO
DominiodeAplicacin(AnlisisdeRequerimientos):
Entornoenelculoperaelsistema
DominiodelaSolucin(DiseodeSistemas,DiseodeObjetos):
Tecnologasdisponiblesparaconstruirelsistema
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
11
Porquelmodelado?
Elmodeladodesarrollaabstracciones
Simplevsconjuntodefenmenos
ActividaddelosIngenierosSoftware
Diseodeunsistema
Abstraccin:conceptosdeldominiodeaplicacin
Ocultardatosirrelevantes
Modelomssimplequeelsistema
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
12
Porquelmodeladosoftware?
ElSoftwareesyadeporsiunaabstraccion:Porqumodelado
software?
ElSoftwareescadavezmayor
NT5.0~40millonesdelneasdecdigo
Unnicoprogramadornopuedemanejarestacantidaddecdigo
Elcdigonoesdirectamenteinteligibleporlosdesarrolladores
quenoparticiparoneneldesarrollo
Senecesitanrepresentacionessimplesparasistemascomplejos
Elmodeladoesunmedioparamanejarlacomplejidad
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
13
QueselUML?
UML(UnifiedModelingLanguage)
Unestndarparamodelarsoftwareorientadoaobjetos.
Resultadelaconvergenciadeotrosmtodosdemodeladocomo:
OMT(JamesRumbaugh)
OOSE(IvarJacobson)
Booch(GradyBooch)
Referencia:TheUnifiedModelingLanguageUserGuide,
AddisonWesley,1999.
HerramientasCASEquelosoportan
RationalROSE
VisualParadigm
...
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
14
UML.Primervistazo
DiagramasdeCasosdeUso
Describeelfuncionamientodelsistemadesdeelpuntodevistadel
usuario.
Diagramasdeclase
Describenlaestructuraestticadelsistema:Objetos,Atributos,y
asociaciones.
DiagramasdeSecuencia
Describenelcomportamientodinmicoentreactoresuobjetosyel
sistema.
DiagramasdeEstado
Describenelcomportamientodeunobjetoindividual.
DiagramasdeActividad
Modelanelcomportamientodinmicodeunsistema:flujodetrabajo.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
15
UMLPrimervistazo:DiagramasdeCasosdeUso
Paquete
Reloj Simple
Actor
ConsultarHora
UsuarioReloj
Caso de Uso
AjustarHora
Relojero
CAmbiarBatera
DiagramadeCasodeUsoquerepresentalafuncionalidaddeun
Sistemadesdeelpuntodevistadelosusuarios
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
16
UMLPrimervistazo:DiagramasdeClase
Clase
Multiplicidad
1
2
BotonOprimible
estado
oprimir()
soltar()
Asociacin
Reloj Simple
1
1
Pantalla
parpadeoIdx
parpadeoSeconds()
parpadeoMinutes()
parpadeoHours()
stopParpadeo()
refresh()
Bateria
carga()
Hora
ahora()
Atributos
Operaciones
DiagramasdeClaserepresentanlaestructuradelSistema
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
17
UMLPrimervistazo:DiagramadeSecuencia
Objeto
Mensaje
Activacin
Representanelcomportamientodelsistemacomointeracciones
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
18
UMLPrimervistazo:DiagramasdeEstado
Estado Inicial
Estado
Evento
Transicion
button1&2Pressed
Estado Final
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
19
UMLPrimervistazo:DiagramasdeActividad
Activacin
Handle
Incident
Document
Incident
Archive
Incident
Accin
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
20
UMLPrimervistazo:NotacinBsica
Rectngulos:clasesoinstancias
Ovalosuovoides:sonfuncionesocasosdeuso
Lasinstanciassenotanconsunombresubrayado
miReloj:RelojSimple
bJuan:Bombero
Tipos(clases)seescribensinsubrayarsunombre
RelojSimple
Bombero
Losdiagramassongrafos
Losnodosrepresentanentidades
Losarcosrepresentanrelacionesentreentidades
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
21
UMLSegundoVistazo:DiagramasdeCasosdeUso
Seutilizaenelanlisisderequisitospara
representarelcomportamientoexterno
Pasajero
CompraDeTicket
L.Marnez&P.J.Snchez
SistemasInformticos
Actoresrepresentanunpapel,esdecir,
untipodeusuariodelsistema
CasosdeUsorepresentanla
funcionalidaddelsistema
Elmodelodecasosdeusoesel
conjuntodetodosloscasosdeuso.Es
unadescripcincompletadela
funcionalidaddelsistemaysuentorno
(Fronteradelsistema)
IngenieraInformtica
UniversidaddeJan
22
UMLSegundoVistazo:DiagramasdeCasosdeUso
DiagramaFrontera
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
23
Actores
Unactormodelaunaentidadexternaquese
comunicaconelsistema:
Usuario
Sistemaexterno
Entornofsico
Pasajero
Unactortieneunnombrenicoyuna
descripcinopcional.
Ejemplos:
Pasajero:personaqueviajaenuntren
GPSsatlite:proveealsistemaconcoordenadas
GPS
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
24
CasodeUso
Uncasodeusorepresentaunaclasede
funcionalidaddadaporelsistemacomo
unflujodeeventos.
CompraDeTicket
L.Marnez&P.J.Snchez
Uncasodeusoconsiste:
Nombrenico
Actoresqueparticipan
Condicionesdeentrada
Flujodeeventos
Condicionesdesalida
Requerimientosespeciales
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
25
EjemploCasodeUso
Nombre:CompraDeTicket
Actorparticipante:Pasajero
Condicindeentrada:
Pasajero esperandoenfrente
deldispensadordetickets.
Pasajerotienesuficiente
dineroparacomprarticket.
Condicindesalida:
Pasajerotieneticket.
L.Marnez&P.J.Snchez
SistemasInformticos
Flujodeeventos:
1.Pasajeroseleccionaelnde
zonaalaquequiereviajar.
2.Eldispensadormuestrael
preciodedichoticket.
3.Pasajeropagaalmenosla
cantidadindicada.
4.Dispensadordevuelvecambio.
5.Dispensadordaelticket.
Falta algo?
Excepciones!
IngenieraInformtica
UniversidaddeJan
26
EscenariodeunCasodeUso
Uncasodeusoesunaabstraccinque
representatodoslosposiblesescenarios
queinvolucranlafuncionalidadquese
describe.
CompraTicketSolMoncloa
L.Marnez&P.J.Snchez
Descripcindeunescenario:
Nombreesunanicainstancia
Instanciasdelosactoresqueparticipan
Flujodeeventos:escenariopasoapaso
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
27
LaRelacin<<extend>>
Pasajero
CompraTicket
<<extend>>
<<extend>>
FueraDeServicio
<<extend>>
TiempoExcediddo
<<extend>>
Cancelar
L.Marnez&P.J.Snchez
Lasrelaciones <<extend>>representan
casosinvocadosexcepcionalmenteorara
vez.
Losflujosdeeventosexcepcionalesson
indicadosfueradelflujodeeventoprincipal
porclaridad.
Loscasosdeusorepresentandocasosdeuso
excepcionalespuedenextendermsdeun
casodeuso.
Ladireccindeunarelacin<<extend>>
eshaciaelcasodeusoextendido
Condicininicial(inicioextend)
SistemasInformticos
SinCambio
IngenieraInformtica
UniversidaddeJan
28
LaRelacin<<include>>
Pasajero
CompraMultiTarjeta
CompraBilleteSimple
<<include>>
<<include>>
<<extend>>
CobrarDinero
<<extend>>
SinCambio
L.Marnez&P.J.Snchez
Unarelacin<<include>>
representauncomportamiento
comndelcasodeuso.
Un<<include>>representaun
comportamientoqueesreusado,
noporserunaexcepcin.
Ladireccindeunarelacin
<<include>>eshaciaelcaso
deuso(alcontrariodelas
relaciones<<extend>>).
Flujodeeventos(inicioinclude)
Cancelar
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
29
DiagramasdeClase
PrecioHorario
Enumeracin obtenerZonas()
Precio obtenerPrecio(Zona)
Viaje
zona:Zona
precio:Precio
Losdiagramasdeclaserepresentanlaestructuradelsistema.
Seutilizan
Duranteelanlisisderequerimientosparamodelarlosconceptosdel
dominiodelproblema
Duranteeldiseodelsistemaparamodelarlossubsistemaseinterfaces
Duranteeldiseodeobjetosparamodelarclases.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
30
Clasesentidad,fronteraycontrol
Entidad
Informacinpersistenterastreadaporelsistema
Frontera
Interaccinentreactoresyelsistema
Control
Tareasrealizadasporelusuarioysoportadasporelsistema
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
31
Clases
PrecioHorario
precioDeZona
obtenerZonas()
obtenerPrecio()
Nombre
PrecioHorario
Tabla precioDeZona
Enumeracion obtenerZonas()
Precio obtenerPrecio(Zona)
Atributos
Identidad
Operaciones
PrecioHorario
Unaclaserepresentaunconcepto.
Unaclaseencapsulaunestado(atributos)ycomportamiento(operaciones).
Cadaatributotieneuntipo.
Cadaoperacintieneidentidad.
Elnombredeclaseeslanicainformacinobligatoria.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
32
ClasesAbstractas
Evaluacion {abstract}
valor
obtenerev(){abstract}
Evaluacion
valor:Valor
obtenerev()
DisminuirComplejidad.
Noimplementanoperaciones.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
33
Instancias
tarifa_1974:PrecioHorario
precioDeZona = {
{1, .20},
{2, .40},
{3, .60}}
Unainstanciarepresentaunfenmeno.
Elnombredelainstanciaestsubrayadoypuedecontenerla
clasedelaqueesinstancia.
Losatributosserepresentanconsusvalores.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
34
Actorvs.Instancias
Culesladiferenciaentreunactoryunaclaseyunainstancia?
Actor:
Entidadfueradelsistemaasermodelada,interactaconelsistema
(Piloto)
Clase:
Unaabstraccinquemodelaunaentidadeneldominiodel
problema(solucin),esmodeladadentrodelsistema(Cabina)
Objeto:
Unainstanciaespecficadeunaclase(Jose,elinspector).
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
35
Asociaciones
PrecioHorario
Enumeracin obtenerZonas()
Precio obtenerPrecio(Zona)
Viaje
precio
zona
Lasasociacionesnotanrelacionesentreclases.
Unaasociacinesunarelacinestructuralentreiguales.
Lamultiplicidaddeunaasociacinindicacuantosobjetosde
unaclasesepuedencorresponderconobjetosdeotra.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
36
Asociaciones1a1y1aMuchos
Pas
nombre:String
Nombre
Tienecapital
1
Ciudad
nombre:String
Asociacin1a1
Polgono
Punto
x:Integer
y:Integer
dibujar()
Asociacin1amuchos
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
37
AsociacionesMuchosaMuchos
Nombre
Persona
nombre:String
Empleado Trabaja
1..*
Patrn
1..*
Empresa
nombre:String
Asociacinmuchosamuchos
Roles o
Papeles
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
38
Dependencia
Unadependenciaesunarelacindeusoquedeclaraqueun
cambioenlaespecificacindeunelementopuedeafectara
otroelementoquelautiliza
Indicarqueunaclaseutilizaaotracomoargumento.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
39
Agregacin
Unaagregacinesuncasoespecialdeasociacinquedenota
unajerarquaconsisteen.
Elagregadoeslaclasepadre,loscomponentessonlasclases
hijo.
Espaa Estado
Autonmico
Espaa Nacin de
Naciones
Estado
Nacin
Regin
Nacin
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
40
Agregacin
Unaagregacinesrelacintodo/partenoentreiguales
Esunarelacindeltipotieneununobjetodeltodotiene
objetosdelaparte.
Espaa Estado
Autonmico
Espaa Nacin de
Naciones
Estado
Nacin
Regin
Nacin
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
41
Composicin
Undiamanterellenodenotaunacomposicin,unaagregacin
fuertedondeloscomponentesnopuedenexistirsinelagregado.
Universidad
ExpendedorTicket
1
1
3
BotnDeZona
*
Departamento
1
*
Profesor
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
42
Generalizacin
Botn
BotnCancelar
BotnDeZona
Anlisis:Clasessimilaresestructuralmenteycomportamiento:
Modelarlasdeformaindependiente
Extraercaractersticascomunesdeestructuraycomportamiento
Lasrelacionesdegeneralizacinmuestranherenciaentreclases.
Lasclaseshijoheredanlosatributosyoperacionesdelaclasepadre.
Lageneralizacinsimplificaelmodeloeliminandoredundancia(clases
abstractas).
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
43
Actividadesdeanlisis
Identificacindeobjetos:
Entidad
Frontera
Control
Identificacindelasasociacionesentreobjetos.
Identificacindeatributosdeobjetos.
Modeladodelasrelacionesdegeneralizacin
Modeladodeinteraccionesentreobjetos(diag.desecuencia).
Modeladodecomportamientonotrivial.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
44
Cmoencontrarclasesentidad?
Anlisisdellenguajenatural(heursticadeAbbott[1983]):
Partedelhabla
ComponentedelModelo
Ejemplos
Sustantivopropio
Objeto
Alicia
Sustantivocomn
Clase
OficialCampo
Verbodeaccin
Operacin
Crea,enva,
Verbodeser
Herencia
Esuntipode,
Verbodetener
Agregacin
Tiene,consisteen
Verbomodal
Restricciones
Debeser
Adjetivo
Atributo
Descripcindelincidente
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
45
VentajaseInconvenientes
Ventajas
Estenfocadoenlostrminosdelusuario
Listainicialdecandidatos
Inconvenientes
Elmodelodependedelestilodeescritura
Ellenguajenaturalesimpreciso
Msnombresqueclasesrelevantes
Soluciones
Volverarehacerlasespecificacionessegnseavanza
Complementarlaheurstica
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
46
ComplementarlaheursticadeAbbott
MejoradelaHeursticadeAbbott
Trminosquedesarrolladoresousuariosnecesitan
Nombresrecurrentes
Entidadesdelmundoreal
Actividadesdelmundoreal
Casosdeuso
Fuentesodestinodedatos
Siemprehayqueusarlostrminosdelusuario
Resultados
Nombre
Descripcinbrevedeobjetos
Actividaditerativa(hastaanlisisestable)
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
47
Ejemplo
Nombredelcasodeuso:
InformarEmergencia
Actores:
CondicinInicial:
OficialdeCampo,Gestor
1.ElOficialCampoactivalafuncinInformarEmergenciadesuterminal.
Flujodeeventos:
2.FRIENDrespondepresentandounformularioaloficialqueincluyeunmende
tipodeemergencia,camposparaubicacin,descripcindelincidente,peticinde
recursosymaterialespeligrosos.
3.ElOficialCamporellenaelformulario.ElOficialCampotambindescribe
respuestasposiblesysolicitarecursosespecficos.Unavezrellenoloenva
oprimiendoelbotnEnviarInformeyenesemomentoselenotificaalGestor.
4.ElGestorrevisalainformacinycreaunIncidenteenlabasededatosllamando
alcasodeusoAbrirIncidente.ElGestorseleccionaunarespuestaasignando
recursosalincidente(conelcasodeusoAsignarRecursos)ydaunacusederecibo
delinformedeemergenciaenviandounFRIENDgramaalOficialCampo.
CondicindeSalida:
L.Marnez&P.J.Snchez
5.ElOficialCamporecibeelacusedereciboylarespuestaseleccionada.
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
48
Cmoencontrarclasesentidad?
Anlisisdellenguajenatural(heursticadeAbbott[1983]):
Partedelhabla
ComponentedelModelo
Ejemplos
Sustantivopropio
Objeto
Alicia
Sustantivocomn
Clase
OficialCampo
Verbodeaccin
Operacin
Crea,enva,
Verbodeser
Herencia
Esuntipode,
Verbodetener
Agregacin
Tiene,consisteen
Verbomodal
Restricciones
Debeser
Adjetivo
Atributo
Descripcindelincidente
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
49
ClasesentidadcasodeusoInformarEmergencia
OficialCampo
Esunoficialdepolicaobomberoqueest
trabajando.UnOficialCampopuedeasignarse,
comomucho,aunIncidente.
InformeDeEmergencia
EselinformeinicialacercadeunIncidenteque
haceunOficialCampohaciaunGestor.Un
InformeDeEmergenciaactivalacreacindeun
IncidenteporpartedelGestor.Yestcompuesto
deunniveldeemergencia,untipo,unaubicacin
yunadescripcin.
EsunoficialdepolicaqueadministraIncidente.
Abre,documentaycierraunIncidenteen
respuestaaInformeDeEmergencia.Los
Gestoresseidentificanconndeid.
Gestor
Esunasituacinquerequiereatencindeun
OficialCampo.Soninformadospor
OficialCampo.
Incidente
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
50
Clasesfrontera
Identificarformulariosyventanas
Identificarnoticiasymensajes
Nohayquemodelarlosaspectosvisualesdela
interfaz
Siemprehayqueusarlostrminosdelusuariopara
describirlasinterfaces.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
51
Ejemplo
Nombredelcasodeuso:
InformarEmergencia
Actores:
CondicinInicial:
OficialdeCampo,Gestor
1.ElOficialCampoactivalafuncinInformarEmergenciadesuterminal.
Flujodeeventos:
2.FRIENDrespondepresentandounformularioaloficialqueincluyeunmende
tipodeemergencia,camposparaubicacin,descripcindelincidente,peticinde
recursosymaterialespeligrosos.
3.ElOficialCamporellenaelformulario.ElOficialCampotambindescribe
respuestasposiblesysolicitarecursosespecficos.Unavezrellenoloenva
oprimiendoelbotnEnviarInformeyenesemomentoselenotificaalGestor.
4.ElGestorrevisalainformacinycreaunIncidenteenlabasededatosllamando
alcasodeusoAbrirIncidente.ElGestorseleccionaunarespuestaasignandorecursos
alincidente(conelcasodeusoAsignarRecursos)ydaunacusederecibodel
informedeemergenciaenviandounFRIENDgramaalOficialCampo.
CondicindeSalida:
5.ElOficialCamporecibeelacusedereciboylarespuestaseleccionada.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
52
ClasesfronteracasodeusoInformarEmergencia
NoticiaAcuseDeRecibo
Noticiausadaparadesplegarelacusedel
GestorhaciaelOficialCampo
BotnInformeDeEmergencia
BotnusadoporelOficialCampoparainiciar
elcasodeusoInformarEmergencia
FormularioInformeDeEmergencia
Formulariousadoparadarlosdatosde
InformeDeEmergencia.Tienetodoslos
camposparaespecificartodoslosatributosde
uninformedeemergenciayunbotnpara
enviarlocuandoestrelleno.Selepresentaal
OficialCampoenlaEstacinOficialCampo.
FormularioIncidente
FormulariousadoparalacreacindeIncidente.
SelepresentaalGestorenla
EstacinDespachadorcuandoserecibeun
InformeDeEmergencia.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
53
Clasesdecontrol
Unaclaseporcasodeuso
Siescomplejosepuededividir
Poractorenelcasodeuso
Lavidadelobjetocorrespondeconlasecuenciadel
casodeuso.
Definirbienlascondicionesdeentradaysalida
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
54
Ejemplo
Nombredelcasodeuso:
InformarEmergencia
Actores:
CondicinInicial:
OficialdeCampo,Gestor
Flujodeeventos:
2.FRIENDrespondepresentandounformularioaloficialqueincluyeunmende
tipodeemergencia,camposparaubicacin,descripcindelincidente,peticinde
recursosymaterialespeligrosos.
3.ElOficialCamporellenaelformulario.ElOficialCampotambindescribe
respuestasposiblesysolicitarecursosespecficos.Unavezrellenoloenva
oprimiendoelbotnEnviarInformeyenesemomentoselenotificaalGestor.
4.ElGestorrevisalainformacinycreaunIncidenteenlabasededatosllamando
alcasodeusoAbrirIncidente.ElGestorseleccionaunarespuestaasignando
recursosalincidente(conelcasodeusoAsignarRecursos)ydaunacusederecibo
delinformedeemergenciaenviandounFRIENDgramaalOficialCampo.
CondicindeSalida:
5.ElOficialCamporecibeelacusedereciboylarespuestaseleccionada.
L.Marnez&P.J.Snchez
1.ElOficialCampoactivalafuncinInformarEmergenciadesuterminal.
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
55
ClasescontrolcasodeusoInformarEmergencia
ControlInformarEmergencia
SecreaunainstanciacuandoelOficialCampo
seleccionaelbotnInformarEmergencia.
LuegocreaunFormularioInformeEmergencia,
recopilalainformacin,creaun
InformeDeEmergenciayselopasaalGestor.
Esperaunacusedereciboycreauna
NoticiaAcuseReciboyselapresentaal
OficialCampo.
ControlAdministrarEmergencia
Secreaunainstanciacuandoserecibeun
InformeDeEmergencia.Creaunformulario
FormularioIncidenteyselopresentaalGestor.
UnavezqueGestorhacreadounIncidente,le
haasignadoRecursosyhaenviadounacusede
recibo,envaelacusedereciboala
EstacinOficialCampo.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
56
Identificacindeasociaciones
Ventajas
Clarificaelmodelo
Casosfronteraasociadosalosvnculos(excepciones)
Heurstica
Examinelasfrasesverbales
Nombreconprecisinalasasociacionesypapeles
Useclarificadoresparanombresyatributosprincipales
Elimineasociacionesquepuedanderivarsedeotrasasociaciones
Ponerlamultiplicidadcuandosealcanceunaestabilidadconlas
asociaciones
Noponerunexcesodeasociaciones.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
57
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
58
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
59
RelacionesdeGeneralizacin
Eliminanredundanciasenelmodelo
Sidosomsclasescompartenatributos
Modelardeformaexplicitasimilitudesoespecificar
comportamientos
Clasesabstractas
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
60
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
61
Identificacindeatributos
Examinelasfrasesposesivas
Unestadoalmacenadocomoatributoclaseentidad
Describacadaatributo
Siunatributoesunobjetoentoncesponerlocomoasociacin
Norealizarunaespecificacinexcesivahastaqueelmodelo
seaestable
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
62
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
63
DiagramasdeSecuenciaUML
Modelanaspectosdinmicosdelossistemas
UnelosCasosdeUsoconlosObjetos
Describeninteracciones
Objetosysusrelaciones
Mensajesqueintercambian
Ordenantemporalmentelosmensajes
Seusaenelanlisisderequerimientos
Pararefinardescripcionesdecasosdeuso
Paraencontrarobjetosadicionales
Seusaeneldiseodelsistema
Pararefinarinterfaces
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
64
DiagramasdeSecuenciaUML
Object
Object
Object
Request(query)
Reply(result)
Request(query)
Reply(result)
Request(query)
messages
Request(query)
Reply(result)
Reply(result)
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
Lifeline (active)
UniversidaddeJan
65
DiagramasdeSecuenciaUML
Pasajero
ExpendedorTickets
elegirZona()
insertarDinero()
cogerCambio()
LasObjetosserepresentanconcolumnas
LosMensajessonflechas
LasActivacionesofocodecontrolson
pequeosrectngulos
Laslneasdevidasonlineaspunteadas
cogerTicket()
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
66
DiagramadeSecuenciaenUML
OBJETOS
obj1: Fr_CU_X
Actor
tiempo
1: escribe d
y solicita
....
obj2: Control_X
2: busca(d)
obj3: Clase_X
3: getAtributoY()
return v
....
....
PASO DE MENSAJES
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
67
DiagramadeSecuenciaenUML
: C1
: C3
create()
: C2
hazX()
tiempo
hazY()
destroy()
Los objetos se pueden crear con el mtodo CREATE
(comienza su lnea de vida y foco de control mientras
ejecutan cosas) y se pueden destruir con el mtodo
DESTROY (se termina su lnea de vida)
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
68
DiagramadeSecuenciaenUML
obj2: Control_X
obj3: Clase_X
getAtributoY()
return v
....
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
69
Heursticaparadiagramasdesecuencia
La1columnarepresentaalactorqueiniciaelcasodeuso
La2representaelObjetofrontera(queusaelactorparainiciarelcasodeuso)
La3representaelObjetocontrolquemanejaelrestodelcasodeuso
Losobjetoscontrolsoncreadosporobjetosfrontera
Queiniciancasosdeuso
Losobjetosfronterasoncreadosporobjetoscontrol
Losobjetosentidadsonaccedidos
Objetoscontrol
Objetosfrontera
Losobjetosentidadnuncatienenaccesoalosobjetosfronteray
control
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
70
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
71
EjemplocasodeusoInformarEmergencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
72
DiagramasdeSecuencia:Observaciones
UndiagramadesecuenciaUMLrepresentaelcomportamiento
entrminosdeinteracciones.
Complementanlosdiagramasdeclasequerepresentanla
estructuradelsistema.
Soncostososydifcilesdeconstruirperoeltiempoinvertido
suelevalerlapena.
Realizarlosslodiagramasdesecuenciaparapartesdelsistema
complejasomaldefinidas
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
73
DiagramasdeEstado
Sonuncomplementoaladescripcindeunaclase
Unestadoesunacondicin/esquesatisfaceunobjeto
Muestran:
Todoslosestadosposiblesquepuedentenerlosobjetosdeunaclase
Yqueventoscausanuncambiodeestado
CambiodeestadosedenominaTransicin
Estosdiagramasserealizansloparaaquellasclasesque:
Tienenunaseriedeestadosbiendefinidos
Comportamientodelaclaseesafectadoycambiadoporestadosdiferentes
Puedendibujarseparaelsistemaensutotalidad(norecomendable)
Seutilizanpara
Identificaratributosdeobjetos
Hacerexplcitoelatributo/squetienenimpactoenelcomportamientodeobj.
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
74
DiagramasdeEstado
State 1
State 2
State 3
condition
action
State n
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
75
DiagramasdeEstado
Reservadeasientosenunvuelo
Tiempo excedido
Disponible
Bloquear
Bloqueado
Vendido
Vendido
Desbloquear
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
76
Diagramasdeactividad
Estosdiagramasmuestranelflujodecontroldentrodelsistema
Solicitar
Producto
Seleccionar
Trabajos
Procesar
Pedido
Extraer
Artculos
Replanificar
Enviar Pedido
[Hay Materiales]
Asignar Tareas
Recibir
Pedido
Facturar al
Cliente
Pagar
Factura
Cerrar Pedido
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
77
Diagramasdeactividad
Undiagramadeactividadesuncasoespecialdediagramade
estadosenlosquelosestadossonactividades(funciones)
Dostiposdeestados:
EstadodeAccin:
Nopuededescomponersems
Sucedeinstantneamenteconrespectoalniveldeabstraccinusadoen
elmodelo
EstadodeActividad:
Puededescomponerseanms
Laactividadsemodelaconotrodiagramadeactividad
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
78
DiagramasdeActividad:ModelandoConcurrencia
Sincronizacindemltiplesactividades
Divisindelflujodecontrolenmltipleshilos
Divisin
Destinar
Recursos
Abrir
Incidencia
Sincronizacin
/Unin
Coordinar
Recursos
Archivar
Incidencia
Documentar
Incidencia
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
79
Resumen
ElUMLproveeunaampliavariedaddenotacionespara
representardistintosaspectosdeldesarrollodesoftware
Potente,perolenguajecomplejo
Puedesermalutilizadoparagenerarmodelosilegibles
Puedesermalinterpretadocuansoseusandemasiadas
caractersticasexticas
Nuestroobjetivoescentrarnossloenunascuantasnotaciones:
ModeloFuncional:diagramasdecasosdeuso
ModelodeObjetos:diagramasdeclase
ModeloDinmico:diagramasdesecuencia(estadoyactividad)
L.Marnez&P.J.Snchez
SistemasInformticos
IngenieraInformtica
UniversidaddeJan
80