You are on page 1of 80

IngenieradeSoftware

MODELAMIENTO
LGICOUML

IngenieradeSoftware

SistemasSoftwaresoncomplejos
Imposiblesdeentenderporunasolapersona
Muchosproyectosnuncaseterminan:"vaporware"

1968Definicin:
IngenieraSoftwaresignificalaconstruccindesoftwaredecalidad
conunpresupuestolimitadoyunafechadeentrega

Definicinmsactual:
IngenieraSoftwaresignificalaconstruccindesoftwaredecalidad
conunpresupuestolimitadoyunafechadeentregaencontextosde
cambiocontinuo

Enfasisesenambos,enelsoftwareyenlaingeniera

L.Marnez&P.J.Snchez

SistemasInformticos

IngenieraInformtica

UniversidaddeJan

ActividadesdelaIngenieradeSoftware

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

....

Una llamada a un mtodo puede devolver un valor (mensaje


return valor en lnea con puntos suspensivos).
Generalmente slo se pondr en el diagrama de secuencia
cuando proporcione informacin interesante
L.Marnez&P.J.Snchez

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

You might also like