Documente Academic
Documente Profesional
Documente Cultură
Modelos y Diagramas
Un modelo captura una vista de un sistema del mundo real. Es
una abstraccin de dicho sistema, considerando un cierto
propsito. As, el modelo describe completa-mente aquellos
aspectos del sistema que son relevantes al propsito del
modelo, y a un apropiado nivel de detalle.
Diagrama: una representacin grfica de una coleccin de
elementos de modelado, a menudo dibujada como un grafo con
vrtices conectados por arcos
Diagramas de UML
Diagramas de Comportamiento
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interaccin
Diagrama de Secuencia
Diagrama de Colaboracin
Diagramas de implementacin
Diagrama de Componentes
Diagrama de Despliegue
Pgina 1 de 44
Use Case
Use Case
Diagrams
Diagramas de
Diagrams
Secuencia
Use Case
Use Case
Diagrams
Diagramas de
Diagrams
Casos de Uso
Scenario
Scenario
Diagrams
Diagramas de
Diagrams
Colaboracin
Scenario
Scenario
Diagrams
Diagramas de
Diagrams
Estados
State
State
Diagrams
Diagramas de
Diagrams
Clases
Modelos
Diagramas de
Actividad
State
State
Diagrams
Diagramas de
Diagrams
Objetos
State
State
Diagrams
Diagramas de
Diagrams
Componentes
Component
Component
Diagrams
Diagramas de
Diagrams
Distribucin
UML
Introduccin:
El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un
lenguaje grfico para visualizar, especificar y documentar cada una de las partes que
comprende el desarrollo de software. UML entrega una forma de modelar cosas
conceptuales como lo son procesos de negocio y funciones de sistema, adems de cosas
concretas como lo son escribir clases en un lenguaje determinado, esquemas de base de
datos y componentes de software reusables.
En este repaso terico prctico estudiaremos tres diagramas:
Modelamiento de Clases
Casos de Uso
Diagrama de Interaccin
Modelo de Clases
Introduccin
Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran
el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento.
Un diagrama de clases esta compuesto por los siguientes elementos:
Pgina 2 de 44
Elementos
Clase
Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es
una instancia de una clase). A travs de ella podemos modelar el entorno en
estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
En UML, una clase es representada por un rectngulo que posee tres divisiones:
En donde:
o
o
o
Ejemplo:
Una Cuenta Corriente que posee como caracterstica:
o
Balance
Depositar
Girar
y Balance
Atributos y Mtodos:
Pgina 3 de 44
Atributos:
Los atributos o caractersticas de una Clase pueden ser de tres tipos, los
que definen el grado de comunicacin y visibilidad de ellos con el entorno,
estos son:
public (+,
): Indica que el atributo ser visible tanto dentro como
fuera de la clase, es decir, es accsesible desde todos lados.
private (-,
): Indica que el atributo slo ser accesible desde
dentro de la clase (slo sus mtodos lo pueden accesar).
protected (#,
): Indica que el atributo no ser accesible desde
fuera de la clase, pero si podr ser accesado por mtodos de la clase
adems de las subclases que se deriven (ver herencia).
Mtodos:
public (+, ): Indica que el mtodo ser visible tanto dentro como
fuera de la clase, es decir, es accsesible desde todos lados.
private (-,
): Indica que el mtodo slo ser accesible desde
dentro de la clase (slo otros mtodos de la clase lo pueden accesar).
protected (#,
): Indica que el mtodo no ser accesible desde
fuera de la clase, pero si podr ser accesado por mtodos de la clase
adems de mtodos de las subclases que se deriven (ver herencia).
Relaciones entre Clases:
Pgina 4 de 44
Un Ejemplo es el siguiente:
Pgina 5 de 44
Pgina 6 de 44
Cabe destacar que el objeto creado (en este caso la Ventana grfica) no se
almacena dentro del objeto que lo crea (en este caso la Aplicacin).
Casos Particulares:
o
Clase Abstracta:
Una clase abstracta se denota con el nombre de la clase y de los mtodos con letra
"itlica". Esto indica que la clase definida no puede ser instanciada pues posee
mtodos abstractos (an no han sido definidos, es decir, sin implementacin). La nica
forma de utilizarla es definiendo subclases, que implementan los mtodos abstractos
definidos.
o
Clase parametrizada:
Para este caso particular hemos definido un Diccionario para almacenar String y
Personas, las cuales pueden funcionar como llaves o como item, solo se mostrarn las
relaciones para la implementacin del Diccionario:
Pgina 8 de 44
Actor.
Casos de Uso.
Relaciones de Uso, Herencia y Comunicacin.
Elementos
Actor:
Una definicin previa, es que un Actor es un rol que un usuario juega con respecto
al sistema. Es importante destacar el uso de la palabra rol, pues con esto se
especifica que un Actor no necesariamente representa a una persona en particular,
sino ms bien la labor que realiza frente al sistema.
Como ejemplo a la definicin anterior, tenemos el caso de un sistema de ventas en
que el rol de Vendedor con respecto al sistema puede ser realizado por un
Vendedor o bien por el Jefe de Local.
Caso de Uso:
Es una operacin/tarea especfica que se realiza tras una orden de algn agente
externo, sea desde una peticin de un actor o bien desde la invocacin desde otro
caso de uso.
Relaciones:
o
Asociacin
Es el tipo de relacin ms bsica que indica la invocacin desde un actor o
caso de uso a otra operacin (caso de uso). Dicha relacin se denota con
una flecha simple.
Dependencia o Instanciacin
Pgina 9 de 44
Es una forma muy particular de relacin entre clases, en la cual una clase
depende de otra, es decir, se instancia (se crea). Dicha relacin se denota
con una flecha punteada.
o
Generalizacin
Este tipo de relacin es uno de los ms utilizados, cumple una doble funcin
dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o de
Herencia (<<extends>>).
Este tipo de relacin esta orientado exclusivamente para casos de uso (y no
para actores).
extends: Se recomienda utilizar cuando un caso de uso es similar a otro
(caractersticas).
uses: Se recomienda utilizar cuando se tiene un conjunto de caractersticas
que son similares en ms de un caso de uso y no se desea mantener
copiada la descripcin de la caracterstica.
De lo anterior cabe mencionar que tiene el mismo paradigma en diseo y
modelamiento de clases, en donde esta la duda clsica de usar o heredar.
Ejemplo:
Como ejemplo esta el caso de una Mquina Recicladora:
Sistema que controla una mquina de reciclamiento de botellas, tarros y jabas. El sistema
debe controlar y/o aceptar:
Como una primera aproximacin identificamos a los actores que interactuan con el
sistema:
Pgina 10 de 44
Luego, tenemos que un Cliente puede Depositar Itemes y un Operador puede cambiar la
informacin de un Item o bien puede Imprimir un informe:
Adems podemos notar que un tem puede ser una Botella, un Tarro o una Jaba.
Pgina 11 de 44
Diagrama de Interaccin
Introduccin
El diagrama de interaccin, representa la forma en como un Cliente (Actor) u Objetos
(Clases) se comunican entre si en peticin a un evento. Esto implica recorrer toda la
secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Esttico de Clases
o el de Casos de Uso (son diferentes).
Los componentes de un digrama de interaccin son:
Un Objeto o Actor.
Mensaje de un objeto a otro objeto.
Mensaje de un objeto a si mismo.
Elementos
Objeto/Actor:
Pgina 12 de 44
Aqu se representa una aplicacin que posee una Ventana grfica, y sta a su vez posee
internamente un botn.
Entonces el diagrama de interaccin para dicho modelo es:
Pgina 13 de 44
En donde se hacen notar las sucesivas llamadas a Draw() (entre objetos) y la llamada a
Paint() por el objeto Botn.
El hotel posee informacin sobre cuales clientes son habituales. Esta estructura puede manejarla
con un diccionario, cuya clave sea el nmero de RUC y como significado tenga los datos
personales del cliente.
Pgina 14 de 44
Pgina 15 de 44
Casos de USO
Pgina 16 de 44
Diagrama de Clases
Pgina 17 de 44
Diagrama de Interaccin
Pgina 18 de 44
<<extend>>
JefeRegistroCivil
AutentificarUsuario
ValidarPassword
<<extend>>
<<include>>
PersonaInteresada
ValidarCodigo
<<include>>
Sistema
ProcesarConsulta
<<include>> RealizarBusqueda
ProcesarDuplicadoDePart
ida
RegistarPersona
<<extend>>
ParaIdentidad
ImprimirPartida
<<extend>>
PersonaInteresada
IngresarCodigo
<<extend>>
DePadres
Usuario
IngresarDatos
<<extend>>
DelNacido
<<extend>>
ConsultarPartida
SolicitarDuplicado
Pgina 19 de 44
ValidarPassword
ProporcionarPassword
<<extend>>
JefeDeRegistroCiv
il
Mensuales
GenerarReportes
<<extend>>
Anuales
POSTCONDICIONES
EXCEPCIONES
RENDIMIENTO
FRECUENCIA ESPERADA
IMPORTANCIA
URGENCIA
COMENTARIOS
AUTENTIFICAR USUARIO
Versin 1.0
Grupo De Trabajo
Sistema
Describir los pasos de iniciar una sesin en el sistema
El usuario o jefe de registro ingresa al sistema ingresando el
cdigo u password.
Ninguna
Paso
Accin
1
El sistema pide el nombre del usuario y la contrasea.
2
El sistema valido los datos ingresados por el usuario.
3
Si la autenticacin es correcta el sistema habilita al
usuario para trabajar en el sistema, muestra un
mensaje de xito, da la bienvenida al sistema de
Partidas.
4
El sistema controla los permisos del usuario y presenta
un men de opciones apropiado y termina el caso de
uso
El sistema habilita al usuario a trabajar en el sistema con los
permisos apropiados.
Paso
Accin
1
El usuario puede borrar su nombre y/o contrasea
antes de validar los datos.
2
Si no se validan los datos no se permite ingresar al
sistema pudiendo en usuario volver a digitar los datos
hasta por tres veces, despus se bloquear el sistema
por 30 segundos.
3 vez por da
Vital
Puede esperar
Ninguno
Pgina 20 de 44
Versin 1.0
AUTOR
Grupo De Trabajo
FUENTES
Sistema
OBJETIVOS
ASOCIADOS
DESCRIPCIN
PRECONDICIN
SECUENCIA NORMAL
Ninguna
Paso
1
2
3
5
6
POSTCONDICIONES
EXCEPCIONES
Paso
Accin
RENDIMIENTO
FRECUENCIA
ESPERADA
IMPORTANCIA
3 vez por da
URGENCIA
Puede esperar
COMENTARIOS
Ninguno
Vital
:
JefeDeRegistr
:Win Principal
:Jefe_Registro
Ingresar Password
Vereficar Password
Buscar Password
Si Existe Password
Habilitar Funcione s De Administrador
Generar Reportes
Visualizar Reportes
Salir Del Sistema
Pgina 22 de 44
:Win
Principal
5: Habilitar Funcione s De Administrador
:
7: Visualizar Reportes
JefeDeRegistro
4: Si Existe Password
3: Buscar Password
2: Vereficar Password
:Jefe_Registro
Pgina 23 de 44
:Win Principa l
Base_Hospital
Ba se_Re niec
Padre
Madre
Partida
: Usuario
Ingresar Codigo del Nacido
Verificar Codigo
Buscar Codigo
Si Existe Codigo
Habilita r Usuario
Imprimir Partida
Enviar Partida
Pgina 24 de 44
3: Buscar Codigo
2: Verificar Codigo
Base_Hospital
:Win
Principal
5: Habilitar Usuario
: Usuario 21: Enviar Partida
9: Si Existe DNI de Padre
15: Si Existe DNI de Madre
4: Si Existe Codigo
17: Registrar Datos De Madre
11: Registrar Datos Del Padre
Madre
Padre
Base_Reniec
Partida
Pgina 25 de 44
:Win Sistema
:Base_Reniec
: Usuario
Ingresar Codigo Nacido
VerificarCodigo
Buscar Codigo
Si Existe Codigo
Habilitar Funciones De Usuario
Solicitar Consulta
Visualizar Partida
Imprimir Partida
Enviar Partida
Pgina 26 de 44
:Win
Sistema
: Usuario
3: Buscar Codigo
2: VerificarCodigo
:Base_R
eniec
Ingresar
Codigo
[ No Existe Codigo ]
[ Existe Codigo ]
Habilitar
Usuario
Registra
Partida
Consulta
r Partida
Ingresar
_Datos
Ingresar
Parametros
Solicitar
Duplicado
Procesar
Informacion
Registrar
Informacion
Enviar
Partida
Pgina 27 de 44
Base_Reniec
1
1
Jefe_Registro
Padre
Id_padre
Ap_Paterno
Ap_materno
Nombre_Padre
Fecha_Nacimiento_Padre
Edad_Padre
Nacionalidad_Padre
Dni_Padre
Ciudad_Padre
1..*
1..*
1..*
Partida
1
1..*
Id_Partida
Nombre_Nacido
Sexo_Nacido
Fecha_Inscripcion
1..*
1..*
1..*
1 Madre
1..*
1
Base_Hospital
1
Departamento
Id_Departamento
Descripcion_Depa
Pgina 28 de 44
g) Imprimir el diagrama. En la versin Poseidn for UML Community Edition las funciones
de impresin estn deshabilitadas. Sin embargo, esto puede suplirse de la siguiente
manera:
Opcin A: Con la opcin de men Ficheros|Guardar grficos puede guardarse el
diagrama en algn formato grficos de los ofrecidos (entre ellos wmf, gif, jpg) y luego
imprimirlo o insertarlo, por ejemplo, en un fichero MS Word. Sin embargo en este caso
se aade el logotipo de Poseidn como fondo del diagrama. El resultado en nuestro
ejempo sera el que se muestra en la Figura 1.3.
Opcin B: Visualizar completamente el diagrama. Para esto, si es necesario, se
pueden reducir otros paneles y/o ajustar el zoom. A continuacin, presionar la tecla
Impr-PetSis (tecla de impresin) para capturar la imagen. Abrir el programa Paint u otro
editor grfico compatible. Pegar la pantalla capturada y cortar slo el rea del
diagrama. Finalmente, pegar el rea del diagrama en el fichero destino, por ejemplo,
un documento MS Word. Est es la opcin que se ha utilizado para elaborar esta gua.
Editor
Controlador
<< import >>
<< import >>
Sistema de Ventanas
Elementos de Diagrama
<< import >>
Ncleo Grfico
<< import >>
Motif
Ncleo Windows
Ncleo Motif
Pgina 30 de 44
Actividad 2
a) En el mismo proyecto cree un nuevo paquete bajo el nodo raz, denominado Actividad
2.
b) Seleccione el paquete recin creado y con el botn derecho elija la opcin Diagrama de
caso de uso para crear el diagrama Actividad 2.
c) Seleccione el diagrama Actividad 2 y dibuje lo mostrado en la figura 2.1.
Pgina 31 de 44
Actividad 3
a) En el mismo proyecto cree un nuevo paquete bajo el nodo raz, denominado Actividad
3.
b) Seleccione el paquete recin creado y con el botn derecho elija la opcin Diagrama de
caso de uso para crear el diagrama Actividad 3. Observacin: Puede arrastrar el actor
Cliente desde el paquete Actividad 2.
Pgina 32 de 44
Pgina 33 de 44
Actividad 4
a) En el mismo proyecto cree un nuevo paquete bajo el nodo raz, denominado Actividad
4.
b) Seleccione el paquete Actividad 4 y cree un diagrama de clases. Introduzca el diagrama
de la Figura 4.1. Observacin: Para dibujar varios smbolos del mismo tipo (clases,
asociaciones o generalizaciones en este ejemplo) haga doble clic en el icono
correspondiente en la barra de herramientas del diagrama.
Pgina 34 de 44
Actividad 5
a) En el mismo proyecto cree un paquete bajo el nodo raz, denominado Actividad 5.
b) Seleccione el paquete Actividad 5 y cree un diagrama de clases. Introduzca la clase
Socio con los detalles que aparecen en la Figura 5.1.
c) Seleccione la clase Socio en el navegador y cree un Diagrama de Estados
conteniendo el diagrama mostrado en la Figura 5.2.
Pgina 35 de 44
Actividad 6
a) En el mismo proyecto cree un paquete bajo el nodo raz, denominado Actividad 6.
b) Seleccione el paquete Actividad 6 y cree un diagrama de despliegue denominado
Actividad 6.1. Introduzca el diagrama de componentes que se muestra en la Figura
6.1. Observacin: en Poseidn el diagrama de despliegue incluye tambin la
notacin para el diagrama de componentes, con lo cual en l se pueden elaborar
ambos tipos de diagramas, posibilitando la mezcla de elementos.
c) Seleccione el paquete Actividad 6 y cree un diagrama de despliegue denominado
Actividad 6.2. Introduzca el diagrama de despliegue que se muestra en la Figura 6.2.
Pgina 36 de 44
Actividad 7
a)
b)
c)
Dentro del paquete Ventas agruparemos los requisitos segn actor, mediante los
paquetes Requisitos administrativo y Requisitos vendedor. Cada uno de estos paquetes
tendr un diagrama de Casos de Uso con el mismo nombre del paquete. La Figura 7.1
muestra el estado del navegador al final de esta actividad. Observacin: de momento
slo establezca la estructura de paquetes.
Pgina 37 de 44
e)
Pgina 38 de 44
Actividad 8
a) Elabore una lista de posibles escenarios para el caso de uso Realizar venta de la
Actividad 7.
Pgina 39 de 44
Actividad 9
a) Cree un nuevo proyecto y denomnelo Actividades 9-12. Cree el paquete Actividad 9 y
aada bajo este paquete un diagrama de clases con el mismo nombre.
b) Introduzca el diagrama que se muestra en la Figura 9.1. Observacin: intente
obtener la misma visualizacin de la figura, consulte al profesor si no lo consigue.
c) Seleccione la clase Alumno y haga clic en la pestaa Previsualizacin del cdigo en el
panel de propiedades del elemento. Analice las correspondencias entre la clase
UML y el cdigo. Compruebe las modificaciones posibles de realizar en el cdigo y
cmo se reflejan en el cdigo los cambios del diagrama.
Pgina 40 de 44
Actividad 10
a) Aada el paquete Actividad 10 y cree bajo este paquete un diagrama de clases con
el mismo nombre.
b) Introduzca el diagrama que se muestra en la Figura 10.1.
c) Seleccione una clase y haga clic en la pestaa Previsualizacin del cdigo en el panel
de propiedades del elemento. Analice las correspondencias entre el diagrama UML
y el cdigo.
Pgina 41 de 44
Actividad 11
a) Cree el paquete Actividad 11 y aada bajo este paquete un diagrama de clases con
el mismo nombre.
b) Introduzca el diagrama que se muestra en la Figura 11.1.
c) Seleccione una clase y haga clic en la pestaa Previsualizacin del cdigo en el panel
de propiedades del elemento. Analice las correspondencias entre el diagrama UML
y el cdigo.
Pgina 42 de 44
Actividad 12
a) Cree el paquete Actividad 12 y aada bajo este paquete los diagramas de clases
Actividad 12.1, Actividad 12.2 y Actividad 12.3.
b) Introduzca los diagramas que se muestra en la Figuras 12.1, 12.2 y 12.3, cada uno
en su respectivo diagrama de clases.
c) Seleccione clases en los diferentes diagramas, haciendo clic en la pestaa
Previsualizacin del cdigo para analizar las correspondencias entre el diagrama UML
y el cdigo.
Pgina 43 de 44
Pgina 44 de 44