informÁtica industrialocw.uc3m.es/ingenieria-de-sistemas-y-automatica/informatica-industrial... ·...
Post on 28-Jan-2020
6 Views
Preview:
TRANSCRIPT
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
M.Abderrahim,A.Castro,J.C.Cas3lloDepartamentodeIngenieríadeSistemasyAutomá3ca
Modelado.EllenguajeUnificadodeModelado.
INFORMÁTICAINDUSTRIAL
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc4vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿QuéesUML?
• ConsisteenunconjuntointegradodediagramasdefinidosparaayudaralosdesarrolladoresdesoUwareydesistemasarealizarlastareasde:– Especificación– Visualización– DiseñoArquitectónico– Construcción– Simulaciónypruebas– Documentación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿Porquéesnecesario?
h^ps://www.tamingdata.com/2010/07/08/the-project-management-tree-swing-cartoon-past-and-present/
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ConceptosdeModeladoEstructural
• Objeto:representacióndealgoquesedescribemedianteuniden%ficador,unaestructura(propiedades)yuncomportamiento
• Propiedadesdelosobjetos:– Atributos:propiedadesrelevantesdeunobjetoquerepresentasuestructura(diferentesobjetos3enenalgunosvaloresdiferentes)
• Simples:unsolovalor• Compuestos:múl3plesvalores
– Relaciones:asociacionesentrelosobjetos
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Conceptosfundamentales
• Clasificación: agrupación de objetos conpropiedades y comportamiento similaresdentrodeunaclase
• C lase : defin ic ión de l a es t ruc tura y e lcomportamiento de un conjunto de objetos que3enen el mismo patrón estructural y decomportamiento
• Instancia:Cadaobjetoqueperteneceaunaclase
ConstrucciónfundamentaldeUML
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Conceptosfundamentales• Extensióndeclase:conjuntodetodaslasinstanciasdeunaclase
• Generacióndeobjetos– Instanciación:procesodegeneraciónocreacióndelasinstanciasdeunaclase
• Objetosdeunaclase– nombredelobjeto:nombredelaclasealaqueperteneceelobjeto,ambossubrayados
– Cadaatributodefinidoenlaclasetendrásuvalorespecífico
idAvion:ObjectenTierra:Boolean=TRUE
vueloIB6545:Avion
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Conceptos fundamentales • Clases: definen el
vocabulario básico de un modelo y fundamentan el modelado de datos – Interfaz: clase asociada que
describe su comportamiento visible.
– Clases abstractas o parametrizables: modelos de clases que se corresponden con clases genéricas. No son instanciables.
– Clases utilitarias: librerías de funciones
<<interfaz>>
orden
ListaParámetro1
<<u3lity>>
Unidad
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Conceptosfundamentales• Responsabilidadesdeunaclase
– Representa lasobligacionesqueunaclase3eneenrelaciónalrestodelasclases
– Normalmente están soportadas porlasoperacionesdelaclase
• Sepueden agregar compar3mentosa l fina l de l a s c l a ses pa rarepresentar cualquier informaciónnecesariaenelmodelo
Operaciones
Atributos
Nombredelaclase
Responsabilidades• mantenervalorX• calculareltotal• etc.
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿QuéesUML?
Abstracción
• Latécnicadehacerunmodelodetusideasdelmundoeselusodelaabstracción– Porejemplo,unmapaesunmodelodelmundo,noelmundoenminiatura
• EnlosdiagramasUMLsemuestraunaabstraccióndelsistema,notodoelsistema,conelobje3vodequeseafácildeentender
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿QuéesUML?
Puntosdevista
• UML permite crear diagramas que reflejandiferentespuntosdevistadelmismosistema.– Por ejemplo, hay mapas nsicos, mapas polí3cos,mapashistóricos…todossobreelmismomundo
• Estopermitemostrarciertosaspectosyocultarotrosparaqueseanmásfácilesdecomprender
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramasdelLenguajeUnificadodeModelado
• DiagramadeClases• Notas• DiagramadePaquetes• DiagramadeObjetos• DiagramaEstructuralCompuesto• DiagramadeSecuencia• DiagramadeAc4vidad• DiagramadeInteracciónenVisiónGeneral• DiagramadeComunicación• DiagramadeEstados• DiagramadeComponentes• DiagramadeDespliegue• DiagramadeCasosdeUso• …
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿QuéesUML?
Tiposdediagramas• Diagramas Estructurales: Muestran los elementos deconstruccióndelsistema.Caracterís3casquenocambianconel3empo
• Diagramas de Comportamiento: Muestra como elsistema responde a las pe3ciones o evoluciona con el3empo.
• DiagramasdeInteracción:Englobaaciertosdiagramasdecomportamiento que muestran el intercambio demensajes dentro de un grupo de objetos que cooperan(colaboración)paraobtenerunobje3vo
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
¿QuéesUML?
DiagramasyModelo• UMLdefineelformatodeunconjuntodediagramas• Unmodelorepresentaloselementosdelsistema
– Clasesconsusmétodosyatributos– Objetosconsusrelaciones
• Cuandoexisteunconjunto“consistente”dediagramasseformaunmodelo
• Esposiblequeelementosdelmodelonoaparezcanenningúndiagrama
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Diagramadeclases• Diagrama estructural quemuestra en3dades delmundoreal, elementos de análisis y diseño o clases deimplementaciónysusrelaciones
• Losdiagramasdeclasesestánformadospor– Clases– Relaciones
• Asociación• Herencia• Agregación• Composición• Uso(Dependencia)• Realización
Informá3caIndustrialIngenieríade
SistemasyAutomá3ca
Diagramadeclases
• Formatográficodeunaclase– Atributos(Propiedades)– Métodos(Operaciones)
Nombre de la Clase
Zona de Atributos
(puede omitirse)
Zona de Métodos
(puede omitirse)
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesAtributos(Propiedades)
• Sintaxisdelosatributos
• Tipos– TiposUML:Integer,Boolean,String– Tiposdecualquierlenguajedeprogramación– Clasesdelmodelo– Sepuedenomi3renbocetos
• Ejemplo:
nombreAtributo : tipoAtributo
numero_pies: Integer
nombre: String
Animal
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
• Valorespordefecto
• Mul3plicidad(Arrays)
numero_pies: Integer = 5
nombre: String = ‘Pepe’
DiagramadeclasesAtributos(Propiedades)
nombreAtributo : tipoAtributo = valorPorDefecto
nombreAtributo : tipoAtributo [Multiplicidad]
numero_pies: Integer [0..1]
nombres: String [1..*] = (‘Jose’, ‘Miguel’, ‘Antonio’)
fechas: Date [2,3,4]
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
• SintaxisMétodos
• Ejemplos
nombreOperacion(parametros) : tipoDevuelto
DiagramadeclasesMétodos(Operaciones)
numero_pies: Integer
nombre: String
Animal
cazar(otro_animal:Animal):Resultado3ene_crias():Booleancomer(una_comida:TipoComida,float:can3dad)comer(TipoComida,float)
Informá3caIndustrialIngenieríade
SistemasyAutomá3ca
DiagramadeclasesVisibilidad
• Ejemplos
Símbolo Visibilidad + Público - Privado # Protegido ~ Paquete
# numero_pies: Integer
- nombre: String
Animal
+cazar(otro_animal:Animal):Resultado+3ene_crias():Boolean+comer(una_comida:TipoComida,float:can3dad)+comer(TipoComida,float)
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesMiembrosEstá3cos
• Losmiembros(atributosométodos)está3cossesubrayan
+ salida : PrintStream + error : PrintStream + entrada : InputStream
Sistema
+obtener_propiedades():Proper3es+eliminar_propiedad(clave:String):String
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesElementosAbstractos
• Loselementosabstractosaparecenencursiva(Clasesométodos)
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAsociación
• Relaciónestructuralparaindicarlavinculaciónentredosclases
• Unaasociaciónseformaalunirdosclasesconunalínea
• Puedetenernombreysecolocasobrelalínea(seleedeizquierdaaderechaysueleserunverbo)
• Puedetenerlosrolesquejuegacadaclaseenlaasociación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAsociación
• PuedetenerMul3plicidad(*,0..1,1..*)• Puedetenerrestriccionesentre{}• Sepuedeindicarelsen3dodelalectura
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAsociación
• Puedetenernavegacióndireccional(sóloesposiblelanavegaciónenunsen3do)
• Esposiblequeunaclaseseasocieconsigomisma(asociaciónreflexiva)
public class Persona{
…
List<Persona> hijos;
…
}
Persona-padre
-hijo espadrede
{sinbucles}
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAsociación
• Ejemplo
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAsociación
• ClasesdeAsociación– SimilaresalasrelacionesatribuidasdeBBDD– Laclasedeasociacióndebellamarsecomolaasociación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeAgregación
• Una relación de agregación es laqueformauntodoconsuspartes
• Sonun3poespecialde relacióndeasociación
• Pueden tener nombre, roles,mul3plicidad,…
• En las relacionesdeagregación,unobjeto que representa una partepuede estar compar4do por variosobjetosquerepresentaneltodo(unalumnoestáenuncursoytambiénpuedeestarenungrupodeamigos)
ZonaVentas
Tienda
Almacen
Oficina
1..*0..*
0..*
0..*
1..* 1..*
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesEjemploderelacióndeagregación
classTrabajador{…
}classSeccionFabrica{
…Vector<Trabajador*>operarios;…
}
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeComposición
• L a s r e l a c i o n e s d ecomposición son un 3poespecial de relación deagregación
• Los objetos parte siempreestán asociados aun objetotodoysóloauno,secreanysedestruyenconél (cocheyruedas).
• Losobjetospartenopuedencompar4rse entre variosobjetostodo.
Informe
-id:String
+Informe()+imprimir(p:Impresora)+poner_cabecera(empresa:String,3tulo:String)+poner_pie(direccion:String,telefono:String)+~Informe()
Cabecera
-nombre_empresa:String-3tulo_informe:String-num_pagina:UnsignedInteger
+print(impresora:Printer)
Columna
-3tulo:String-posicion_inicial:Integer-longitud:UnsignedInteger
+print(impresora:Printer)
Cuerpo
-texto:String
+print(impresora:Printer)
Pie
-fecha:Date-copyright:String-direccion:String-telefono:String
+print(impresora:Printer)
1 1 1 10..* 0..1
1..*1..*
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesEjemploderelacióndecomposición
classConyuge{…
}classMatrimonio{
…Conyugepersona1;Conyugepersona2;…
}
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeHerencia
Archivo
MaterialGrabado MaterialImpreso
LibroTranscripcionPelicula
CompactDiscAudioCinta
VideoCintaTranscripcion
-mecanografo:String-editor:String-fecha:Fecha
Libro
-isbn:NumeroIsbn-autor:String-3tulo:String-editorial:String-fecha_publicacion:Fecha
MaterialImpreso
-espesor_hoja:Float-papel:TipoPapel
+encuadernar():Boolean
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesRelacióndeDependencia
• Muestraladependenciaentreunaclase“cliente”yotraqueofreceunserviciousadoporlaprimera
• Relacióndeuso• Existe cuando los cambios en la claseindependiente pueden afectar a la clase quedepende
ParseadorURL Fichero
+cargar()
usa Ecuacion-coeficientes[3]
+resolver()
Matema3ca
+potencia(…)+raiz(…)
usa
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesInterfaces
• Declaracióndelosserviciosque3enen que ofrecer las clasesquelosimplementen.
• “Contrato” que permite a unac l a s e r e a l i z a r c i e r t a sfuncionalidades a través demétodos establecidos en el“contrato”
• Serelacionanconlasclasesquelos implementan con unarelaciónderealización
MotorElectrico
Motor
ServoMotor
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeclasesEjemplosderelaciónderealización
• Implementacióndeinterfaces
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Notas
• Lasnotaspuedenaparecerencualquierdiagrama
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Muestran como un grupodeobjetosseintercambianmensajes a lo largo del3empoysuorden.
• Losmensajes aparecen enordencronológicodesdelap a r t e s u p e r i o r d e ldiagrama
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramasdeSecuencia
Objeto o actor Mensaje de un objeto a otro
Mensaje a un mismo objeto
Objeto:clase1 Objeto:clase2 Objeto:clase3
Línea de vida del objeto
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Los mensajes pueden estarescritosenlenguajenaturaloconunasintaxismásprecisaycercana a los lenguajes deprogramación dependiendodelniveldeabstracción
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Sintaxismensaje
• Sintaxisparámetro
– Dirección:in,out,inout(pordefectoin)– Paranoespecificarunparámetrosepone-
• Ejemplo
mensaje (params)
dirección nombreParametro: Tipo [Multiplicidad] = valorDefecto
Transaction Results (status=OK, authCode)
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Tiposdemensajes– Mensajesenundiagramaaltonivel
– Mensajesendiagramasdebajonivel• Síncronas(p.ellamadasamétodos)
• Asíncronas(p.e.sockets)
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Cuandoseusanmensajessíncronos(llamadasamétodos)se puede poner explícitamente el retorno (return) o sepuedeomi3r.
cout << “Introduce to nombre: ”;
String nombre;
cin << nombre;
Cout << “Te llamas “ << nombre;
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Hayvecesquelosobjetosnoexistendurantetodoel3empo
• Seusanmensajesdecreaciónydedestrucción
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Llamadasrecursivas(autodelegación)
• Nuevohilodeejecución
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia
• Reu3lizacióndediagramasdesecuencia
• Funcionalidadsimilaralosmétodosenprogramación
• Sepuedenespecificarparámetros
• Sepuedeespecificarelvalordevueltooelnombredeunavariable
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeSecuencia• Sentenciasdecontroldeflujodeejecuciónenlosdiagramasdesecuencia– alt:Equivaleaunif/else– loop:Equivaleaunfor– Existenmássentencias
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
• Similaresalosflujogramas• Seusanparamostrarelflujodedatosoelflujodecontrol
• Capturaelflujodetrabajodeobjetosquecooperan
• Puederepresentarelflujodecontrolendiferentesclases
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
• Acción/Estado– Obteneroestablecerunvalordeunatributo– Invocarlaoperacióndeunaclase– Llamaraunafunción– Invocarunaac3vidadquecon3eneacciones– Enviarunaseñalono3ficacióndeuneventoaungrupodeobjetos
• Ac3vidad– Agrupacióndeacciones,flujosdeobjetosydecontrol
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
Acciones / Estados
actividad
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
• FlujodeControl– Conectalasaccionesporlasqueseejecutaelflujodecontrol
• NodoObjeto– Representaunobjetoquesaledeunaacciónyentraenotraacción
• Flujodeobjeto– Losflujosqueunenlosobjetosconlasac3vidades
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
Flujo de control
Nodos Objeto Flujo de Objeto
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad• Nododecontrol
– Nodosqueguíanelflujodecontrolyobjetos– Inicial,Ac3vidadfinal,Flujofinal,Decisión,Fusión,Bifurcación,Unión,Conector
• Existen3posdenodosmásavanzados
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
Flujo final
Actividad inicial
Actividad final
Decisión
Fusión
Bifurcación
Unión
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeAc3vidad
• Paraasignarlaresponsabilidad– Sepuedenponercallesdepiscinas(swimlanes)
– Se puede poner eln o m b r e e n t r eparéntesis
(Cliente)Solicitarservicio
(Ventas)Entregarpedido
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeEstados
• Representaelciclodevidadeun objeto en par3cular, losestados en los que se puedeencontrar y como transita deunoaotro.
• Representan una máquina deestados
• Muestra los estados y lastransiciones entre los estadosdependiendo de los eventosqueseproducen
Reservaporconfirmar
ReservaConfirmada ReservaCancelada
Reservaconsumida
clientereserva[cupodisponible]
clienteconfirma[saldo>coste]
clientecancela
clientecancela
clienteviaja
transición
evento
condición
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeEstados
• Cuandollegaunevento,sepuederealizarunaaccióndurantelatransiciónaotroestado
Esperandologin
Loginconfirmado
Loginintroducido/envioalservidor
salir
evento acción
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramasdeEstado
Reservaporconfirmar
ReservaConfirmada ReservaCancelada
Reservaconsumida
clientereserva[cupodisponible]
clienteconfirma clientecancela
clientecancela
clienteviaja
Ejemplo
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramasdeEstado
Reservaporconfirmar
ReservaConfirmada ReservaCancelada
Reservaconsumida
clientereserva[cupodisponible]
clienteconfirma clientecancela
clientecancela
clienteviaja
Ejemplo
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramasdeEstado
Esperando
Comprando
includeInden3ficarse error
Seleccionandoelegir(asiento)/actualizarcarrito
Confirmando
Pagandointroducirdatos/pagar()
/limpiarselección
clicken“comprar”clicken“con3nuar”
clicken“finalizar”
introducirtarjeta
clicken“cancel”
Transaccióncompletada
Estadoinicial
Interrumpelaac3vidadinterna
Estadofinal
Referenciaaotramáquinadeestados
Terminaciónanormal
Terminaciónnormalacción
evento
Transaccióncompletada
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
ElLenguajeUnificadodeModelado
• ¿QuéesUML?• DiagramadeClases• Notas• DiagramadeSecuencia• DiagramadeAc3vidad• DiagramadeEstados• DiagramadeCasosdeUso
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUso• Documentanelcomportamientodeunsistemadesdeelpuntodevista
delosactoresquepar3cipan.• Losactorespuedenserusuariosuotrossistemas.• Muestra las funciones que un sistema puede ejecutar o los servicios
queofrece• Fácilinterpretación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:Actores
• Usuarios del sistema: en3dad externa queinteractúaconelsistema– Humano,sistemainformá3co,empresa…
• Independizarlosactoresdelaformaenqueseinteractúaconelsistema– Untecladonoesunactor
• Un actor representa un rol que alguien puedeestarjugando,nounindividuopar3cular
Cliente Dependiente
<<System>>Sistema de pago
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:CasosdeUso
• Esunatareaquedebepoderllevarseacaboconelapoyodelsistemaqueseestádesarrollando.
• Representanalgodestacableparalosactores• Serepresentanmedianteunóvalo• Cadacasodeusodebedetallarse,habitualmentemedianteuna
descripcióntextual
Reservar por internet
Reservar por agente
Reservar Confirmar reserva
Modificar reserva
Denegar reserva
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:Asociaciones
• Hay una asociación entre un actor y un caso de uso si el actorinteractúaconelsistemaparallevaracaboelcasodeuso.
• Relacionessondependencias.• Pueden exis3r relaciones entre un actor y un caso de uso, entre 2
actoresoentre2casosdeuso.• Serepresentanconlíneasyflechas(opcionales)
– OJO:lasflechasNOsonelflujodedatos.• Tiposdereu3lización:
– include,extend,generalización/especialización
Cliente Dependiente
Reservar por internet
Reservar por agente
Modificar reserva
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:Asociaciones
• Include:existeunarelacióndeincludeentredoscasosdeusocuandoelcasoincluidoesusadodentrodelcasobase.
• Equivalentealallamadadeunmétodo.• Elcasodeusobaseestáincompletosinelcasodeusoincluido.• Elcasodeusoincluidopuedesercomúnendosomáscasosdeuso.
Tanto Reservar comoModificar reserva 3enenqueConfirmarreserva.
Reservar«includes» Confirmar
reserva
Modificar reserva
«includes»
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:Asociaciones
• Extend:seusaunarelaciónde3poextendentredoscasosdeusoparaespecificardiferentesvariantesdelmismocasodeuso.
• Estarelaciónimplicaqueelcomportamientodeuncasodeusoesdiferentedependiendodeciertascircunstancias.Representacomportamientosopcionales.
• Elcasodeusobasedebesercompletamentefuncionalporsimismo,sinconsiderarelcasodeusoqueseestáextendiendo.
• Laflechaenelcasodelasrelaciones“extend”vahaciaelcasodeuso“original”.
ReservarDenegar reserva
«extends»Reservar se comportaráde forma dis3nta segúnDenegarreserva.
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
DiagramadeCasosdeUsoElementosBásicos:Asociaciones
• Generalización/Especialización: En un diagrama de casos de usotambién pueden mostrarse generalizaciones para mostrar quediferenteselementosestánrelacionadoscomo3posdeotros
• Sonespecializacionesdeuncasodeusooactormásgeneral.• Similaralasrelacionesdeherenciaenlosdiagramasdeclase.• Sonaplicablesaactoresocasosdeuso.
Reservar por internet
Reservar por agente
Reservar
Reservar por internet yReservar por agente sonun3podeReservar.
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplos
• Acon3nuaciónsemuestranalgunosejemplosdediagramasvistosreferidosaunsistemadeventadeentradas
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeclases
+ vender (c : Cliente) : Bool+ cambiar( )
- disponible: Bool- fila: unsigned integer- asiento : unsigned integer
Entrada
# fecha : Date
Reserva
- sesiones : unsigned integer
AbonoReservaIndividual
+ Cliente(n : String)+ poner_telefono( t: String)
- nombre: String- telefono: String
Cliente
- nombre : String
Show
- fecha : Date- hora : TimeOfDay
Sesion
*
1 comprador
adquirida
1..*
1show
sesiones3..6
0..1
1
0..1
1*
{xor}
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeclases
+ vender (c : Cliente) : Bool+ cambiar( )
- disponible: Bool- fila: unsigned integer- asiento : unsigned integer
Entrada
# fecha : Date
Reserva
- sesiones : unsigned integer
AbonoReservaIndividual
+ Cliente(n : String)+ poner_telefono( t: String)
- nombre: String- telefono: String
Cliente
- nombre : String
Show
- fecha : Date- hora : TimeOfDay
Sesion
*
1 comprador
adquirida
1..*
1show
sesiones3..6
0..1
1
0..1
1*
{xor}
clase
atributos
funcionesmiembro
asociaciónrole
generalización
limitación
mul3plicidadclase
mul3plicidad
generalización
role
funcionesmiembro
atributosasociación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadecasosdeuso
Taquilla
Dependiente
Comprar abono
Analizar ventas
Hacer pago
<<System>>Sistema de pago
Comprar entrada
«includes»
Cliente«includes»
Encargado
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadecasosdeuso
Taquilla
Dependiente
Comprar abono
Analizar ventas
Hacer pago
<<System>>Sistema de pago
Comprar entrada
«includes»
Cliente«includes»
Encargado
actor
actor
casodeuso
casodeuso
sistema
relación
relación
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:DiagramadesecuenciaTaquilla Sistema de pago
solicitar entradas(numero, sesión)
mostrar disponibilidad
seleccionar (asientos)
pedir datos pago (cantidad)
introducir tarjeta pago (número tarjeta)
imprimir entradas (sesión, asientos)
:Cliente
expulsar tarjeta
realizar pago (número tarjeta, cantidad)
autorizado
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:DiagramadesecuenciaTaquilla Sistema de pago
solicitar entradas(numero, sesión)
mostrar disponibilidad
seleccionar (asientos)
pedir datos pago (cantidad)
introducir tarjeta pago (número tarjeta)
imprimir entradas (sesión, asientos)
:Cliente
expulsar tarjeta
realizar pago (número tarjeta, cantidad)
autorizado
objetoac3vo
Líneadevida(ac3va)
mensaje
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeestados
• Objetode3poEntrada
disponible bloqueadabloquear
vendidavender
desbloquear
timeout
cambiar
asignar a abono
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeestados
• Objetode3poEntrada
Estadoinicial
Estado
transiciaón
transiciaón
Eventoquedisparalatransición
Eventoquedisparalatransición
disponible bloqueadabloquear
vendidavender
desbloquear
timeout
cambiar
asignar a abono
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeac3vidadElegir show
vender entradas
Ensayo general
actuar
programar sesiones
preparar vestuario
diseñar iluminación
construir escenarios
contratar artistas
contratar guión y música
anunciar el show
Enseyar
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
Ejemplo:Diagramadeac3vidadElegir show
vender entradas
Ensayo general
actuar
programar sesiones
preparar vestuario
diseñar iluminación
construir escenarios
contratar artistas
contratar guión y música
anunciar el show
Enseyar
ac3vidad
ac3vidad
bifurcación
transiciónesdeac3vidadfinalizada
unión
M.Abderrahim,A.Castro,J.C.Cas3llo/01.10.2017/Informá3caIndustrial
top related