Sunteți pe pagina 1din 44

Anlisis Orientado a Objetos Aplicando UML

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

Diagrama de Casos de Uso


Diagrama de Clases
Diagrama de Objetos

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

... Diagramas de UML


Los diagramas expresan grficamente partes de un modelo

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

En esta seccin se presenta en forma resumida lo que significa e incluye UML:

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

Clase: atributos, mtodos y visibilidad.


Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.

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

Superior: Contiene el nombre de la Clase


Intermedio: Contiene los atributos (o variables de instancia) que
caracterizan a la Clase (pueden ser private, protected o public).
Inferior: Contiene los mtodos u operaciones, los cuales son la forma como
interacta el objeto con su entorno (dependiendo de la visibilidad: private,
protected o public).

Ejemplo:
Una Cuenta Corriente que posee como caracterstica:
o

Balance

Puede realizar las operaciones de:


o
o
o

Depositar
Girar
y Balance

El diseo asociado es:

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:

Los mtodos u operaciones de una clase son la forma en como 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 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:

Ahora ya definido el concepto de Clase, es necesario explicar como se pueden


interrelacionar dos o ms clases (cada uno con caractersticas y objetivos
diferentes).
Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la
cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en
cada extremo de la relacin y stas pueden ser:
o
o
o

uno o muchos: 1..* (1..n)


0 o muchos: 0..* (0..n)
nmero fijo: m (m denota el nmero).

1). Herencia (Especializacin/Generalizacin):


Indica que una subclase hereda los mtodos y atributos especificados por
una Super Clase, por ende la Subclase adems de poseer sus propios
mtodos y atributos, poseer las caractersticas y atributos visibles de la
Super Clase (public y protected), ejemplo:

Pgina 4 de 44

En la figura se especifica que Auto y Camin heredan de Vehculo, es decir,


Auto posee las Caractersticas de Vehculo (Precio, VelMax, etc) adems
posee algo particular que es Descapotable, en cambio Camin tambin
hereda las caractersticas de Vehiculo (Precio, VelMax, etc) pero posee
como particularidad propia Acoplado, Tara y Carga.
Cabe destacar que fuera de este entorno, lo nico "visible" es el mtodo
Caracteristicas aplicable a instancias de Vehculo, Auto y Camin, pues tiene
definicin publica, en cambio atributos como Descapotable no son visibles
por ser privados.
2). Agregacin:
Para modelar objetos complejos, n bastan los tipos de datos bsicos que
proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando
se requiere componer objetos que son instancias de clases definidas por el
desarrollador de la aplicacin, tenemos dos posibilidades:

Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida


del objeto incluido esta condicionado por el tiempo de vida del que lo
incluye. Este tipo de relacin es comunmente llamada Composicin
(el Objeto base se contruye a partir del objeto incluido, es decir, es
"parte/todo").
Por Referencia: Es un tipo de relacin dinmica, en donde el tiempo
de vida del objeto incluido es independiente del que lo incluye. Este
tipo de relacin es comunmente llamada Agregacin (el objeto base
utiliza al incluido para su funcionamiento).

Un Ejemplo es el siguiente:

Pgina 5 de 44

En donde se destaca que:

Un Almacen posee Clientes y Cuentas (los rombos van en el objeto


que posee las referencias).
Cuando se destruye el Objeto Almacen tambin son destruidos los
objetos Cuenta asociados, en cambio no son afectados los objetos
Cliente asociados.
La composicin (por Valor) se destaca por un rombo relleno.
La agregacin (por Referencia) se destaca por un rombo
transparente.

La flecha en este tipo de relacin indica la navegabilidad del objeto


refereniado. Cuando no existe este tipo de particularidad la flecha se
elimina.
3). Asociacin:
La relacin entre clases conocida como Asociacin, permite asociar objetos
que colaboran entre si. Cabe destacar que no es una relacin fuerte, es
decir, el tiempo de vida de un objeto no depende del otro.
Ejemplo:

Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio


una orden de compra solo puede tener asociado un cliente.
4). Dependencia o Instanciacin (uso):
Representa un tipo de relacin muy particular, en la que una clase es
instanciada (su instanciacin es dependiente de otro objeto/clase). Se
denota por una flecha punteada.
El uso ms particular de este tipo de relacin es para denotar la
dependencia que tiene una clase de otra, como por ejemplo una aplicacin
grafica que instancia una ventana (la creacin del Objeto Ventana esta
condicionado a la instanciacin proveniente desde el objeto Aplicacion):

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:

Una clase parametrizada se denota con un subcuadro en el extremo superior de la


clase, en donde se especifican los parmetros que deben ser pasados a la clase para
que esta pueda ser instanciada. El ejemplo ms tpico es el caso de un Diccionario en
donde una llave o palabra tiene asociado un significado, pero en este caso las llaves y
elementos pueden ser genricos. La genericidad puede venir dada de un Template
(como en el caso de C++) o bien de alguna estructura predefinida (especializacin a
travs de clases).
En el ejemplo no se especificaron los atributos del Diccionario, pues ellos dependern
exclusivamente de la implementacin que se le quiera dar.
Ejemplo:
Supongamos que tenemos tenemos un el caso del Diccionario implementado mediante un
rbol binario, en donde cada nodo posee:
Pgina 7 de 44

key: Variable por la cual se realiza la bsqueda, puede ser generica.


item: Contenido a almacenar en el diccionario asociado a "key", cuyo tipo tambin
puede ser genrico.

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

Casos de Uso (Use Case)


Introduccin
El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el
sistema en desarrollo, adems de la forma, tipo y orden en como los elementos
interactan (operaciones o casos de uso).
Un diagrama de casos de uso consta de los siguientes elementos:

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:

Registrar el nmero de temes ingresados.


Imprimir un recibo cuando el usuario lo solicita:
a. Describe lo depositado
b. El valor de cada item
c. Total
El usuario/cliente presiona el botn de comienzo
Existe un operador que desea saber lo siguiente:
a. Cuantos temes han sido retornados en el da.
b. Al final de cada da el operador solicita un resumen de todo lo depositado en
el da.
El operador debe adems poder cambiar:
a. Informacin asociada a temes.
b. Dar una alarma en el caso de que:
i. Item se atora.
ii. No hay ms papel.

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.

Otro aspecto es la impresin de comprobantes, que puede ser realizada despus de


depositar algn item por un cliente o bien puede ser realizada a peticin de un operador.

Pgina 11 de 44

Entonces, el diseo completo del diagrama Use Case es:

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

El rectngulo representa una instancia de un Objeto en particular, y la lnea


punteada representa las llamadas a mtodos del objeto.

Mensaje a Otro Objeto:

Se representa por una flecha entre un objeto y otro, representa la llamada de un


mtodo (operacin) de un objeto en particular.

Mensaje al Mismo Objeto:

No solo llamadas a mtodos de objetos externos pueden realizarse, tambin es


posible visualizar llamadas a mtodos desde el mismo objeto en estudio.
Ejemplo
En el presente ejemplo, tenemos el diagrama de interaccin proveniente del siguiente
modelo estatico:

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.

Ejemplo1: Caso de un "Hotel"


El dueo de un hotel le pide a usted desarrollar un programa para consultar sobre las piezas
disponibles y reservar piezas de su hotel.
El hotel posee tres tipos de piezas: simple, doble y matrimonial, y dos tipos de clientes: habituales
y espordicos. Una reservacin almacena datos del cliente, de la pieza reservada, la fecha de
comienzo y el nmero de das que ser ocupada la pieza.
El recepcionista del hotel debe poder hacer las siguientes operaciones:

Obtener un listado de las piezas disponible de acuerdo a su tipo


Preguntar por el precio de una pieza de acuerdo a su tipo
Preguntar por el descuento ofrecido a los clientes habituales
Preguntar por el precio total para un cliente dado, especificando su numero de RUC, tipo
de pieza y nmero de noches.
Dibujar en pantalla la foto de un pieza de acuerdo a su tipo
Reservar una pieza especificando el nmero de la pieza, ruc y nombre del cliente.
Eliminar una reserva especificando el nmero de la pieza

El administrador puede usar el programa para:

Cambiar el precio de una pieza de acuerdo a su tipo


Cambiar el valor del descuento ofrecido a los clientes habituales
Calcular las ganancias que tendrn en un mes especificado (considere que todos los
meses tienen treinta das).

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

El diseo a desarrollar debe facilitar la extensibilidad de nuevos tipos de pieza o clientes y


a su vez permitir agregar nuevas consultas.

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

Ejemplo2: Sistema de Registro de Nacimientos


Elaboracin de los Diagramas de Casos de Uso.
CASO DE USO DEL SISTEMA
<<include>>

<<extend>>
JefeRegistroCivil
AutentificarUsuario

ValidarPassword

<<extend>>
<<include>>
PersonaInteresada

ValidarCodigo

<<include>>

Sistema
ProcesarConsulta

<<include>> RealizarBusqueda

ProcesarDuplicadoDePart
ida

RegistarPersona
<<extend>>
ParaIdentidad
ImprimirPartida

<<extend>>
PersonaInteresada

CASO DE USO: REGISTRAR PARTIDA

IngresarCodigo

<<extend>>

DePadres
Usuario

IngresarDatos

<<extend>>

DelNacido

<<extend>>

ConsultarPartida

SolicitarDuplicado

Pgina 19 de 44

CASO DE USO: ADMINISTRAR SISTEMA


<<include>>

ValidarPassword

ProporcionarPassword

<<extend>>

JefeDeRegistroCiv
il

Mensuales

GenerarReportes
<<extend>>

Anuales

Descripcin de los casos de Uso y Escenarios


CASO DE USO CU0001
VERSIN
AUTOR
FUENTES
OBJETIVOS ASOCIADOS
DESCRIPCIN
PRECONDICIN
SECUENCIA NORMAL

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

CASO DE USO CU0002 REGISTRAR PARTIDA


VERSIN

Versin 1.0

AUTOR

Grupo De Trabajo

FUENTES

Sistema

OBJETIVOS
ASOCIADOS
DESCRIPCIN

Describir los pasos para registrar una partida de nacimiento

PRECONDICIN
SECUENCIA NORMAL

Ninguna
Paso
1

Registrar una persona


Accin
El sistema pide el cdigo proporcionado en el certificado
que emite el hospital donde naci el nio.

2
3

El sistema valido el cdigo ingresados por el usuario.


Si el cdigo ingresado es correcto el sistema habilita al
usuario para trabajar en el sistema, muestra un mensaje
de xito, da la bienvenida al sistema de Partidas.

El sistema controla los permisos del usuario y presenta


un men de opciones apropiado y termina el caso de
uso.
El usuario ingresa la informacion necesaria requerida
por el sistema.

5
6

El sistema valida la informacion ingresada por el sistema

El sistema imprime la firma del jefe de registros en la


partida.

El Sistema almacena los datos de la persona en la base


de datos e imprime la partida si el usuario lo desea.

POSTCONDICIONES

Haber ingresado correctamente en sistema

EXCEPCIONES

Paso

Accin

RENDIMIENTO
FRECUENCIA
ESPERADA
IMPORTANCIA

3 vez por da

URGENCIA

Puede esperar

COMENTARIOS

Ninguno

Vital

Escenario #1 del Caso de Uso: Registrar Persona


Rosa y Jos van a una cabina pblica de Internet ms cercana a su domicilio a
registrar a su hijo de quince das de nacido.
Rosa o Jos

proceden a ingresar el cdigo que figura en la constancia

entregada por el hospital donde naci su pequeo hijo. El sistema valida el


Pgina 21 de 44

cdigo ingresado por este y si es correcto ingresa al sistema de registro de


partidas proporcionando los datos requeridos por el sistema y se verifica que
los datos estn completos y que est en la fecha requerida para ser registrado.
Ingresar la firma de los padres por cualquier medio electrnico lpiz ptico o
firmas escaneadas proporcionadas al sistema por cualquier medio de
almacenamiento magntico (CDS, Diskettes) u electrnico (Memorias USB).
Luego el Sistema valida las firmas de los padres realizando una bsqueda en la
base de datos de la RENIEC.
Si las firmas son correctas el sistema procede a imprimir la firma del jefe de
registro civil.
El sistema imprime la Partida de Nacimiento previa orden de Rosa o Jos.
Elaboracin de los diagramas de secuencia y colaboracin.
Diagrama de Secuencia: Administrar sistema

:
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

Diagrama de Colaboracin: Administrar Sistema


1: Ingresar Password
6: Ge nerar Re portes
8: Salir Del Siste ma

: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

Diagrama de Secuencia: Registrar Partida

: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

Ingresar DNI de Padre


Verificar DNI de Pa dre

Buscar DNI De Padre

Si Existe DNI de Padre


Ingresar Datos de Padre

Registrar Datos Del Padre

Ingresar DNI de Madre


Verifica r DNI de Ma dre
Buscar DNI de Madre

Si Ex iste DNI de Madre

Ingresar Datos De Madre

Re gistrar Datos De Madre

Ingresar Datos Del Nacido

Registrar Datos De Partida

Imprimir Partida

Enviar Partida

Salir Del Sistema

Pgina 24 de 44

Diagrama de Colaboracin: Registrar Sistema

1: Ingresar Codigo del Nacido


6: Ingresar DNI de Padre
10: Ingresar Datos de Padre
12: Ingresar DNI de Madre
16: Ingresar Datos De Madre
18: Ingresar Datos Del Nacido
20: Imprimir Partida
22: Salir Del Sistema

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

7: Verificar DNI de Padre


13: Verificar DNI de Madre
8: Buscar DNI De Padre
14: Buscar DNI de Madre
19: Registrar Datos De Partida

Padre
Base_Reniec

Partida

Pgina 25 de 44

Diagrama de Secuencia: Consultar Partida

: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

Salir Del Sistema

Pgina 26 de 44

Diagrama de Colaboracin: Consultar Partida


1: Ingresar Codigo Nacido
6: Solicitar Consulta
8: Imprimir Partida
10: Salir Del Sistema

:Win
Sistema
: Usuario

5: Habilitar Funciones De Usuario


7: Visualizar Partida
9: Env iar Partida
4: Si Existe Codigo

3: Buscar Codigo
2: VerificarCodigo

:Base_R
eniec

Elaboracin de los Diagramas de Estado y Actividad.

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

Elaboracin de los Diagramas de clase.

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

Ejemplo 3: Desarrollo de Otro Ejemplo en forma detallada


Diagramas de UML: Par uso de Sw. Rational Rose o Argo UML
o Star UML
Actividad 1
a) Cree un nuevo proyecto.
b) En el nodo raz del navegador presione el botn derecho del ratn y seleccione Create
Package para crear un paquete denominado Actividad 1.
c) Estando sobre el paquete recin creado haga clic con el botn derecho y cree nuevos
paquetes que se llaman Editor, Controlador, Elementos de Diagrama, Elementos de Dominio,
Ncleo Grfico, Ncleo Motif, MS Windows, Motif y Sistema de Ventanas.
d) Con el botn derecho sobre el paquete Actividad 1 seleccione Diagrama de Clases y cree
el diagrama Actividad 1.
e) Arrastre desde el navegador al diagrama todos los paquetes. Establezca relaciones de
generalizacin ( ) entre paquetes, tal como lo muestra la Figura 1.1. Para representar
que un paquete est contenido en otro se puede reflejar dicha relacin en el diagrama
o modificando la propiedad Espacio de Nombres. Observe cmo se refleja en el
navegador cuando un paquete est contenido en otro.

Figura 1.1: Relaciones de composicin y generalizacin entre paquetes


Observacin: Constate que al seleccionar un elemento (ya sea en el navegador o en el
diagrama) y presionar la tecla Suprimir dicho elemento es borrado del modelo/proyecto.
Esto es equivalente a elegir la opcin Borrar del Modelo del men de edicin o del men del
elemento. Para eliminar un elemento slo de un diagrama debe seleccionarse y presionar
Ctrl-Suprimir o seleccionar la opcin Remove from Diagram. Adems, presionando Ctrl en un
elemento seleccionado del diagrama aparecen ambas opciones de borrado.
f) Establezca relaciones de dependencia ( ) entre paquetes completando el diagrama
hasta obtener el resultado mostrado en la Figura 1.2. Observacin: haga clic en el
smbolo de dependencia para establecer el nombre del estereotipo.
Pgina 29 de 44

Figura 1.2: Diagrama resultante de la Actividad 1

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 >>

<< import >>


Elementos
de Dominio

<< access >>

<< access >>


MS Windows

Ncleo Grfico
<< import >>

Motif

<< import >>

Ncleo Windows

Ncleo Motif

Figura 1.3: Fichero grfico generado

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.

Figura 2.1: Diagrama Actividad 2

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.

Figura 3.1: Diagrama Actividad 3

c) Seleccione en el navegador el paquete Actividad 3 y cree un diagrama de secuencia


(desde el men diagramas o desde la barra de men. Se insertar un nodo de tipo
colaboracin, denomnelo Reintegro. Al nuevo diagrama llmelo Reintegro con saldo
insuficiente.
d) Seleccione el diagrama Reintegro con saldo insuficiente e introduzca el diagrama
mostrado en la Figura 3.2

Figura 3.2: Diagrama Reintegro con saldo insuficiente

Pgina 32 de 44

e) Seleccione el paquete Actividad 3 y cree un diagrama de colaboracin llamado


Reintegro con saldo insuficiente. Introduzca el diagrama que se muestra en la Figura 3.3.
Uno a uno, seleccione en el navegador los objetos ya creados y con botn derecho
elija la opcin Aadir al diagrama. Observacin: aunque se esperara que existiera una
funcin para elaborar un diagrama de colaboracin a partir de un diagrama de
secuencia o viceversa, en Poseidn dicha funcionalidad no se proporciona. Adems,
los diagramas de colaboracin en Poseidn no ofrecen toda la notacin que especifica
UML.

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.

Figura 4.1: Diagrama Actividad 4

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.

Figura 5.1: Diagrama Actividad 5

Figura 5.2: Diagrama de Estados para la clase Socio

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.

Figura 6.1 Diagrama de componentes

Figura 6.2 Diagrama de despliegue

Pgina 36 de 44

Actividad 7
a)

Cree un nuevo proyecto. En l reproduciremos parte de una especificacin de


requisitos para el proyecto denominado ACME.

b)

Cree un paquete denominado Modelo de requisitos. A continuacin, agruparemos los


Casos de Uso segn el departamento involucrado, creando paquetes para cada uno
de ellos; Contabilidad, Inventario, Publicidad y Ventas.

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.

Figura 7.1: Diagrama ACME


d)

En el diagrama Requisitos vendedor introduzca el diagrama que muestra la Figura 7.2.

Figura 7.2: Diagrama Requisitos vendedor

Pgina 37 de 44

e)

En el diagrama Requisitos administrativo introduzca el diagrama que muestra la Figura


7.3.

Figura 7.1: Diagrama ACME


f)

Utilizando las especificaciones proporcionadas a continuacin, complete el apartado


Documentacin de los Casos de Uso del diagrama Requisitos vendedor.

Caso de Uso: Venta a cliente de tienda


Precondicin:
El cliente se identifica mostrando su tarjeta y el DNI
Pasos:
1. El vendedor introduce el cdigo del cliente
2. El sistema verifica si se trata de un cliente moroso
3. INCLUIR Realizar venta
Caso de Uso: Venta a no cliente
Precondicin:
El cliente debe pagar en efectivo o con tarjeta de crdito (mostrando su identificacin)
Pasos:
1. INCLUIR Realizar venta
Caso de Uso: Realizar venta
Pasos:
1. El vendedor introduce su cdigo de vendedor
2. El sistema muestra la pantalla para introducir los datos de la venta
3. El vendedor introduce los artculos mediante un lector de cdigo de barras o
directamente por teclado. Pueden ser incluidos varios artculos en una misma venta.
Para cada artculo:
a. El sistema confirma que el artculo tiene suficiente stock para satisfacer la venta
b. El sistema calcula el plazo estimado de entrega
c. El vendedor confirma con el cliente el plazo de entrega
4. El vendedor registra el pago en efectivo o a crdito segn el tipo de venta
5. El sistema emite el recibo de compra

Caso de Uso: Solicitar autorizacin


Pasos:
1. El vendedor introduce solicita un cdigo de autorizacin por telfono y lo introduce en
el sistema
2. El sistema muestra las condiciones de recargo o de advertencia al cliente
3. El vendedor introduce la confirmacin por parte del cliente

Pgina 38 de 44

Actividad 8
a) Elabore una lista de posibles escenarios para el caso de uso Realizar venta de la
Actividad 7.

b) Cree un diagrama de secuencia para cada escenario describiendo grficamente la


interaccin entre el actor y un objeto denominado sistema. Denomine Realizar venta al
nodo colaboracin que se crear automticamente con el primer diagrama de
secuencia y cree el resto de diagramas bajo dicho nodo.
c) Bajo el nodo raz cree un paquete que se denomine Modelo de anlisis/diseo.
Seleccione un par de escenarios entre los especificados en el punto a) y realice su
anlisis para establecer posibles objetos/clases que colaboraran para ofrecer el
comportamiento esperado del sistema. Bajo el paquete Modelo de anlisis/diseo
elabore diagramas de secuencia adicionales con los correspondientes nombres de los
escenarios de los cuales provienen. As, en estos nuevos diagramas en lugar de
aparecer el objeto sistema, ste sera reemplazado por objetos que colaboran mediante
mensajes.

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.

Figura 9.1: Diagrama Actividad 9

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.

Figura 10.1: Diagrama Actividad 10

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.

Figura 11.1: Diagrama Actividad 11

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.

Figura 12.1: Diagrama Actividad 12.1

Figura 12.2: Diagrama Actividad 12.2

Pgina 43 de 44

Figura 12.3: Diagrama Actividad 12.3

Pgina 44 de 44

S-ar putea să vă placă și