Professional Documents
Culture Documents
INTRODUCCIN AL LENGUAJE
DE MODELADO UNIFICADO (UML)
1.
INTRODUCCIN A UML
2.
DIAGRAMAS INICIALES
2.1.
Casos de Uso
2.1.1.
Componentes
2.1.2.
Representacin grfica
10
2.1.3.
Tipo de relaciones
10
2.1.4.
Documentacin
11
2.2.
Diagrama de Secuencia
13
2.2.1.
Representacin grfica
13
2.2.2.
Tipos de mensajes
15
2.3.
2.3.1.
2.4.
Representacin grfica
Diagrama de Actividades
18
18
20
2.4.1.
Componentes grficos
20
2.4.2.
Rutas Concurrentes
22
2.5.
Diagrama de Clases
24
2.5.1.
Clases
24
2.5.2.
Relaciones
26
2.6.
2.6.1
Diagrama de Objetos
2.7.
Representacin grfica
2.7.1.
Diagrama de Estados
Representacin grfica.
28
28
29
29
Mapa conceptual
Introduccin al Lenguaje de
Modelado Unificado (UML)
2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
INTRODUCCIN AL LENGUAJE
DE MODELADO UNIFICADO (UML)
INTRODUCCIN
Imaginemos si tuviramos que crear una obra de teatro con un Alemn,
un Chino, un rabe y un Ruso y cada uno solo hablara en su lenguaje
nativo sin traductor alguno?. Sera un poco complicado no?, ahora,
pensemos que somos los lectores de la obra de teatro y no dominamos
bien esos lenguajes, seguramente sera muy difcil entender dicha obra.
Pues cuando surgi la Programacin Orientada a Objetos, se crearon
diferentes tipos de modelos, smbolos y lenguajes para representar los
sistemas que se desarrollaban. Sin lugar a dudas esto origin una
anarqua en los desarrolladores de software en su momento; buscando
solucionar este problema nace el UML (Unified Modeling Language
Lenguaje de Modelado Unificado).
UML es un conjunto de herramientas que permite modelar (analizar y
disear) sistemas orientados a objetos. As mismo proporciona de alguna
manera muy particular a los programadores, desarrolladores, analistas y
diseadores de aplicaciones informticas, las reglas
tcnicas que
permiten representar de forma grfica el comportamiento y las
estructuras que forman parte de un determinado sistema.
El UML (Lenguaje Unificado de Modelado) es una de las herramientas ms
emocionantes en el mundo actual del desarrollo de sistemas. Esto se debe
a que permite a los creadores de sistemas generar diseos que capturen
sus ideas en una forma convencional y fcil de comprender para
comunicarlas a otras personas.
(Joseph Schmuller. Aprendiendo UML en 24 horas pag.24)
3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
1. INTRODUCCIN A UML
El lenguaje de modelado (UML) permite a travs de sus elementos grficos
representar flujos de trabajo diversos para proyectos de tecnologa
informtica, hardware, electrnica, robtica, hidrulica, procesos
industriales, empresariales y gerenciales de cualquier nivel en una
organizacin sin importar su tamao o naturaleza.
UML es un lenguaje para visualizar los elementos
software, facilitando:
-
de un gran sistema
4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Diagrama
Descripcin
Diagrama de Clases
Alta
Alta
Alta
Nombre Clase
Atributos
Operaciones
Mtodos
Nombre Clase
Nombre Clase
Atributos
Atributos
Atributos
Operaciones
Mtodos
Operaciones
Mtodos
Operaciones
Mtodos
Prioridad
Nombre Clase
Diagrama de Actividades
Elegir menu
Elegir elemento
del menu
Confirmar
Pedido
Diagrama de Secuencias
Objeto 1
Objeto 2
Objeto n
mensaje 1
mensaje 2
mensaje 3
5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Diagrama
Descripcin
Prioridad
Diagrama de
Casos de Uso
Media
Diagrama de
Componentes
Media
Diagrama de
Mquinas de
Estado
Media
Diagrama de
Despliegue
Fsico
Media
Diagrama de
Objetos
Baja
6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Diagrama
Descripcin
Prioridad
Diagrama de
Estructura de
Composicin
Baja
Diagrama de
Paquetes
Baja
Diagrama de
Comunicaciones
(anteriormente:
Diagrama de
Colaboraciones)
Baja
Diagrama
de Tiempos
Baja
7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Centro Mdico
I
EH
IQ
R
7MWX
GM{
E
SV Q
-RJ
8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
2.1.1. Componentes.
Sistema: Se representa mediante un rectngulo. Este se emplea para
delimitar grficamente lo que se encuentra por dentro del sistema (los
casos de uso) y lo que est por fuera del sistema (los actores).
System
Actor
Caso de Uso: Se representa mediante un valo e indica una funcin que
el sistema debe proveer.
Caso de Uso
Para ejemplificar un proceso se puede emplear un verbo conjugado en
infinitivo y que represente la funcin a realizar (Administrar, Gestionar,
Registrar, entre otros).
Gestionar citas.
Generar Reportes.
9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Gestionar Citas
Empleado
Generar Reportes
10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Validar Datos
Empleado
El ejemplo anterior indica que para Gestionar una cita se debe validar
datos, es decir, el caso de uso Gestionar cita usa al caso de uso validar
datos.
Extendido <<extend>>: relacin que se da entre casos de uso donde
se evidencia que un caso de uso es la generalizacin o especializacin de
otro.
System
<<extend>>
Examinar Paciente
Formular Paciente
Documentacin.
11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Casos de Uso
Descripcin
Precondicin
El paciente no se encuentra ingresado al sistema y tiene la documentacin necesaria para poder ser ingresado al sistema.
Secuencia
Normal
Paso Accin
1
El sistema carga formulario para registro de datos del paciente as: identificacin, nombre(s), apellido(s), direccin, telfono, estrato, tipo de
RH, sexo, acudiente.
Post Condicin
Excepciones
12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Objeto 1
Objeto 2
Objeto n
13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Objeto 1
Objeto 2
Objeto n
mensaje 1
mensaje 2
mensaje 3
14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Objeto 2
Objeto n
15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Estos objetos
existen antes
ob4:C4
de la primera
operacin y siguen
existiendo despus
de la ltima
ob3:C3
op()
ob1:C1
divisin
de control
concurrente
[x>0]crear(x)
[x<0]llamarC(x)
bifurcacin
de control
ob2:C2
hacer(w)
hacer(z)
llamada
retorno
unin
de control
concurrente
llamada
recursiva
El objeto
se destruye a s mismo
en este punto
El objeto
se destruye a s
mismo
en este punto
y vuelve
al emisor
unin
de control
la lnea de vida
concluye
la lnea de vida
prosigue
16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Gestionar Citas
Empleado
Generar Reportes
Cita
Mdico
Consultorio
Empleado
1: solicitarDatos()
2: asignar()
3: disponibilidad()
4: datosCita()
5: citaAsignada()
17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Paciente
Cita
Mdico
Consultorio
Empleado
1: solicitarDatos()
2: asignar()
3: disponibilidad()
4: datosCita()
5: citaAsignada()
Cita
5: citaAsignada
4: datosCita()
Consultorio
:Empleado
3: disponibilidad()
1: citaAsignada()
Paciente
2: asignar()
Mdico
19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Se representa mediante un
20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Actividad 1
Actividad 2
Despertar
[hambriento]
Desayunar
Despertar
[inapetente]
Volver a dormir
[hambriento]
Desayunar
[inapetente]
Volver a dormir
21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Fin de la
jornada
Bao
Descanso
cambiar (canal)
cambiar (canal)
Ver
22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Gestionar Citas
Empleado
Generar Reportes
Ingresar cdula
Registrado
No Registrado
Ingresar cdula
Registrar nombre
Registrar direccin
23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
24
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Ejemplos de clases:
InstrumentoMusical
+nombre
+origen
+referencia
-precio
+afinar()
+sonar()
+calibrar()
Vehculo
+modelo
+marca
+cilindraje
+nro matricula
+color
+arrancar()
+acelerar()
+frenar()
+detener()
Figurageomtrica
+nombre
+referencia
+area
+volumen
+calcularArea()
+calcularVolumen()
Atributos:
Los atributos o caractersticas de una Clase pueden ser de tres tipos,
definen la visibilidad:
Public (+): Indica que el atributo ser visible tanto dentro como
fuera de la clase, es decir, es accesible desde todos lados.
Private(-): Indica que el atributo slo ser accesible desde dentro
de la clase (slo sus mtodos lo pueden acceder).
Protected (#): Indica que el atributo no ser accesible desde fuera
de la clase, pero si podr ser accedido por mtodos de la clase
adems de las subclases que se deriven (ver herencia).
Sin modificador de acceso ( ): Indica que el atributo ser
accesible desde cualquier clase que se encuentre en el mismo
paquete de la clase que contiene al atributo sin modificador de
acceso.
Mtodos:
Los mtodos u operaciones de una clase son la forma en cmo sta
interacta con su entorno, stos pueden tener las caractersticas:
Public (+): Indica que el mtodo ser visible tanto dentro como
fuera de la clase, es decir, es accesible desde todos lados.
Private (-): Indica que el mtodo slo ser accesible desde dentro
de la clase (slo otros mtodos de la clase lo pueden acceder).
Protected (#): Indica que el mtodo no ser accesible desde fuera
de la clase, pero si podr ser accedido por mtodos de la clase
adems de mtodos de las subclases que se deriven (ver herencia).
Sin modificador de acceso ( ): Indica que el mtodo ser
accesible desde cualquier clase que se encuentre en el mismo
paquete de la clase que contiene al mtodo sin modificador de
acceso.
25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
2.5.2 Relaciones.
Las relaciones entre las clases se dan por Herencia, Asociacin,
Agregacin, Composicin y Dependencia (uso).
Herencia (Especializacin/Generalizacin)
Muebles
+nombre
+peso
+color
+diseo
+contener()
+sostener()
+adornar()
+recibir()
Silla
+nro_patas
-tipo
+decorar()
Mesa
+nro_patas
-forma
-material
+reunir()
Sofa
-capacidad
-estilo
+agrupar()
+descansar()
En el ejemplo anterior se ilustra que un Mueble puede ser una Silla, una
Mesa o un Sof.
Agregacin y composicin:
Relacin esttica, donde el tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. Este tipo de relacin es
comnmente llamada Composicin (el Objeto base se construye a partir
del objeto incluido, es decir, es "parte/todo").
26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Restaurante
Pedidos
Clientes
Asociacin:
Productos
0..*
Dependencia:
Representa un tipo de relacin muy particular, en la que una clase es
instanciada (su instanciacin es dependiente de otro objeto/clase).
Restaurante
Servicio
27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Cine
asiste
1
-numero
-fecha
1..* +cambiarFecha()
Medico
atiende
*
-numero
-especialidad
+consultarPerfil()
Tratamiento
-descripcion
+verTratamiento()
Cirugia
Medicamento
28
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
juan:Alumno
matematicas:Asignatura
estudia
estudia
idiomas:Asignatura
arte:Asignatura
Estado 1
Estado 2
29
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Estado 1
Estado 1
estado
final
estado
inicial
30
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Desempleado
contratar
perder empleo
jubilarse
Activo
jubilarse
Activo
31
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
GLOSARIO
#(Protected):
-(Private):
+(Public):
Actividades:
Actor:
Asociacin:
Relacin que se da entre elementos de los diagramas, por ejemplo entre los actores y el caso de uso
o entre las clases.
Atributos:
Cardinalidad:
Caso de Uso:
Clases:
Entidad:
Extend:
Mtodos:
32
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
GLOSARIO
Relaciones:
Transicin:
UML:
33
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
RECURSOS BIBLIOGRFICOS
Andrew S. Tanenbaum and David J. Wetherall.(2003).
Computer Networks (5th Edition). Prentice Hall.
Craig Larman(2007), UML y patrones (2da. Edicin).
Editorial Prentice Hall.
G. Booch, J. Rumbaugh, I. Jacobson (2007). El lenguaje unificado
de modelado: manual de referencia (2da. Edicin). Addison-Wesley.
James Rumbaugh (2002). Object Oriented Modeling and Design.
Pearson Education.
Schmuller, Joseph. Aprendiendo UML en 24 horas. Prentice Hall
Scott W. Ambler (2005). Introduccin a los Objetos. Cambridge
University Press.
Gutierrez Cosio, Celia (2011). Casos prcticos de UML.
Editorial Complutense. Disponible en:
http://site.ebrary.com/lib/senavirtualsp/docDetail.action?docID=
10536104&p00=uml
Vlez Serrano, Jos Pea Abril, Alberto Gortazar Bellas, Patxi (2011).
Disear y programar, todo es empezar: una introduccin a la
Programacin Orientada a Objetos usando UML y Java.
Editorial: Dykinson. Disponible en:
http://site.ebrary.com/lib/senavirtualsp/docDetail.action?docID=
10559590&p00=uml
Kimmel, Paul (2010). Manual de UML. Editorial McGraw-Hill
Professional Publishing. Disponible en:
http://site.ebrary.com/lib/senavirtualsp/docDetail.action?docID=
10433806&p00=uml
34
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
OBJETO DE
APRENDIZAJE
Introduccin al Lenguaje
de Modelado Unificado UML
Desarrollador de contenido
Experto temtico
Asesor Pedaggico
Productor Multimedia
Programadores
35
FAVA - Formacin en Ambientes Virtuales de Aprendizaje