You are on page 1of 18

Tabla de Contenidos

Tabla de Contenidos

1. CAJERO

AUTOMTICO

2. VENDOMTICA

3. APUESTAMTICO

4. VIDEOJUEGO

5. EJERCICIO UML AO 2001

6. CENTRAL TELEFNICA

11

7. LA BIBLIOTECA

12

8. EL VUELO

14

9. FUTBOL ON-LINE

15

10. EJERCICIO UML AO 2002

18

11. JUEGO

21

DE

DAMAS

12. EL ASCENSOR (PARTE 2)

25

13. CARRITO

28

DE

COMPRAS

1. Cajero automtico
El banco EstafaBank necesita ayuda para modelar el sistema que har funcionar sus nuevos
cajeros automticos porttiles. stos, del porte de un telfono pblico, le permitirn al usuario
realizar slo las operaciones ms simples: retirar, depositar y consultar saldo (ni soar con
movimientos entre cuentas o compras de tarjetas de prepago telefnico). Para ello ten en
consideracin que:

Se pide ingresar la clave del usuario posteriormente al paso de la tarjeta por la ranura.
No se puede retirar ms fondos de los que realmente hay, notificando de esta situacin al
usuario.

In g r e s a r
c la v e

R e tir a r

< < e x te n d s > >

C la v e n o
v lid a

< < e x te n d s > >

S a ld o
n o a lc a n z a

<<u s e s >>

C o n s u lt a r
S a ld o
<<u s e s >>

D e p o s it a r

2. Vendomtica
La empresa Nerdcaf tiene planes para instalar una nueva mquina vendomtica inteligente
en la facultad. Inteligente porque cuando detecte que un cliente intenta comprar un producto
agotado, se conectar automticamente a la central de abastecimiento y dar aviso para
realizar la reposicin. Adems, como buena vendomtica, debe dar vuelto y no dejar que la
hagan lesa pagando menos del precio de lo que est vendiendo.
In g re s a r
d in e r o / r e t ir a r
v u e lt o

S e le c c i o n a r
p ro d u c to
C lie n te

< <e x te n d s >>

M o n to n o
a lc a n z a

< < e x te n d s > >

P ro d u c to
s in s to c k
<<u s e s >>

C o n e x i n

C e n tr a l d e
a b a s te c im ie n t o

3. Apuestamtico
Esta es la ltima papita para los apostadores empedernidos: una mquina que les permite
obtener informacin de caballosc / carreras / premios, cargar crdito de dinero desde su
cuenta corriente (accesible va RedBanc), realizar apuestas y hasta imprimir un boleto que es
cambiable por efectivo en la caja del local de apuestas (ya que volver a depositarla es incentivo
para que no la gaste).

No se aceptan apuestas que involucren ms dinero que el del crdito actual


El crdito que el apostador desee cargar debe solicitarse al servidor de redbanc mediante
una conexin.
Tanto la obtencin de informacin como el pago de apuestas utilizan la impresora incluida
en el apuestamtico.
La informacin de carreras/caballos/apuestas se mantiene en un computador con la base
de datos de Teletrak

O b te n e r
r e s u lta d o s
c a rre ra s

< <u s e s >>

C o n s u lt a

<<u s e s >>

P a g a rs e

C a rg a r
c r d it o
A p o s ta d o r
e m p e d e r n id o
A p o s ta r

< <u s e s >>

< <u s e s >>

< < e x te n d s >>

Im p r e s i n

B D T e le tr a k

T r a n s a c c i n

C r d ito
n o a lc a n z a

Redbanc

4. Videojuego
Esto es una invencin de los aos 70, que para ser revividos dentro de un computador hogareo
deben utilizarse los llamados emuladores. Para construir uno se te pide comenzar por disear
los casos de uso del sistema (suponiendo que es una mquina arcade original) en que el jugador
puede escoger un personaje, una misin, jugar la misin y, si logra un buen desempeo, ingresar
su top-score. Tambin se pide incluir los casos en que el jugador conoce del tema y activa las
claves para acceder a los personajes y misiones ocultas del juego.

E scoger
p e r s o n a je

< < e x te n d s > >

E scoger
m is i n

< < e x te n d s > >

<<u s e s >>

J ugar
m is i n
J ugador

<<u s e s >>

G u a rd a r
T o p -s c o r e

E scoger
p e r s o n a je s
o c u lto s

E scoger
m is i o n e s
o c u lta s

5. Ejercicio UML
1. Indique si la afirmacin es (V)erdadera o (F)alsa
UML es una metodologa de desarrollo de software que posee pequeos ciclos iterativos
iguales. (1 punto)
Los Casos de Uso ayudan a definir las componentes del sistema como las ve el
programador, dejando la perspectiva del usuario en segundo plano. (1 punto)
Los Diagramas de Estado muestran las distintas etapas que un objeto del sistema va
pasando mientras se ejecuta el software. (1 punto)
De los Diagramas de Interaccin se pueden obtener los principales mtodos de las
clases. (1 punto)
UML sirve para dibujar diagramas ms bonitos. (1 punto)
El lenguaje de The Three Amigos (Jacobson, Boosh y Rumbaugh) sirve para apoyar el
desarrollo de software. (1 punto)
Los Diagramas de Clases detallan el sentido de la ejecucion del programa, indicando que
componentes se ejecutan despues de otra. (1 punto)

2. Diagrama de Casos de Uso


Identifique los actores (2 puntos) y dibuje el Diagrama de C.U. (5 puntos) que represente un
software que permita realizar la reserva de boletos de avin en una agencia turstica,
considerando los siguientes procesos del negocio (especificacin de C.U.):
(a) Todo cliente debe registrarse en el software antes de reservar. (usuario)
(b) El cliente puede hacer una reserva con un da y hora, para que el sistema se comunique con
el software de la aerolnea deseada a verificar el estado del vuelo. Si no hay disponibilidad,
el cliente puede seleccionar otro vuelo.
(c) El cliente puede cancelar una reserva con 48 horas de anticipacin mnimo al sistema. Si es
as, la reserva se cancela en la aerolnea que se hizo dejando disponibilidad para otro
cliente.
(d) Un agente de viajes puede realizar la funcin del cliente en caso de que sea desde una
oficina fsica, registrando al mismo cliente y le entrega una clave para que se comunique l
con el sistema.

Este diagrama es solo una solucin gua. No es la nica.


Regis
tro

Usuar
io

<<uses

Reali
zar
Rese
rva

Verif
icar

Aeroln
ea

Canc
elar
Rese
rva

Client
e
Algunas pautas para corregir:
-

Solo hay 3 actores. Si no reconocen los 3 actores, descontar 0.5 por cada actor
que no vean o 0.5 por actor de ms. Es cruel, pero no reconocern ms de 4
actores.
Los procesos base representables en casos de uso son: Registro (1 punto y obvio),
Reserva (2 puntos) y Cancelar (2 puntos). El caso de uso Verificar es solo un caso
especial en el caso de realizar reserva. Tambin es posible que Cancelar sea un
<<extends>> de Reserva.
No es necesario que usen <<uses>> o <<extends>>

Respuesta de la Pregunta 2

3. Diagrama de Interaccin
Identifique los objetos (2 puntos) y dibuje el Diagrama de Secuencia (5 puntos) para el
proceso de reserva de avin del problema anterior, considerando que:
(a) Se debe verificar si el usuario es cliente.
(b) Se debe verificar la disponibilidad en la aerolnea deseada para la fecha y hora sealada.
(c) Una vez que se verifica todo, se cursa la Reserva.

Al igual que en la Preg 2, esta es solo una solucin (aunque es ms facil que la lgica sea obvia de revisar):

una

un

un Vuelo

cliente :=

[cliente] disponibilidad :=
ver_aerolin

[cliente && disponibilidad] nuevo

un

compra(

Ese funcionamiento tambin se basa en:


-

Los objetos base son: Reserva (1 punto), Pasaje (1 punto). Cliente y Vuelo son
objetos que pueden ser creados para que cada uno verifique las condiciones.
Los importante es que en el diagrama aparezcan las verificaciones y condiciones (a)
de 1 punto (b) de 1 punto y (c) de 1 punto.
Los puntos restantes son por darse cuenta que Pasaje se crea solo cuando todo es
verdadero y ste debe comprar fsicamente la reserva (2 puntos).
ver_aerolnea() y compra() son autodelegaciones para llamar al software externo.

Respuesta de la Pregunta 3

4. Diagramas de Estado
Elija uno de los objetos dibujados en el problema 3 y dibuje su Diagrama de Estados (7
puntos). Si no hizo la pregunta 3, suponga que tiene la clase Reserva y piense qu estados
posee.

Al igual que en la Preg 2 y 3, esta es solo una solucin de otras alternativas:


Ingreso

validar

Verificaci
n
do/ver
cliente
do/ver
vuelo

[falla]

Canelada
do/devolve
r pasaje

[se realiza]

[pasa]
[se cancela]

Programad
a
do/cancela
r
do/realiza
r vuelo

completar

Proceso
do/compra
r pasaje

Esta pauta es ms compleja y hay que considerar que:


-

Los estados no sean acciones condicionadas, sino que verdaderos estados. Aqu
estn todos los estados de una Reserva (3 puntos).
Las actividades corresponden a las acciones que puede realizar la reserva en cada
estado y no a condiciones o una secuencia de llamadas a mtodos (2 puntos).
Las transiciones son acciones condicionadas o no. Solo son condiciones si tienen ms
de una salida. Las otras son transiciones con o sin etiqueta. (2 puntos)
Recuerden que pueden hacer cualquier objeto (pasaje por ejemplo) que es ms
facil.
Respuesta de la Pregunta 4

6. Central Telefnica
Se quiere modelar una llamada a travs de una central telefnica.
Para esto se tienen cuatro objetos involucrados: dos interlocutores (s y r), una central y una
conversacin. La secuencia empieza cuando un interlocutor enva un mensaje a la central al
descolgar al auricular. La central da el tono de llamada, y el interlocutor marca el numero al
que desea llamar. El tiempo de marcado debe ser menor que 30 segundos.
Se pide dibujar el diagrama de interaccin (solo el de secuencia) para esta situacin.

10

7. La Biblioteca
Se quiere modelar el comportamiento de una biblioteca con diagramas de clases. Este
comportamiento se puede modelar de la siguiente forma:

En donde los diamantes indican los conceptos de Agregacin y Composicin.


La agregacin es simple de leer, puesto que en el caso de la clase Biblioteca y la clase Lector se
puede decir que biblioteca tiene como integrantes a los lectores, sin embargo ambos pueden
vivir por separado (rombos sin rellenar).
La composicin es una agregacin ms fuerte y quiere encarecer la necesidad de una clase de
la otra, en el caso del diagrama, tenemos que si el Libro desaparece, sus Pginas tambin son
destruidas con l (rombo negro).
Estas son las clases que son generadas. Para agregar funcionalidades a los metodos de las
clases, es necesario ver el diagrama de estado correspondiente a cada clase.

11

8. El Vuelo
Se desea modelar con un diagrama de estados un Vuelo. Esto es, desde que se toma el taxi
hasta que despega el avin.

Vemos que el diagrama puede poseer cero o ms puntos de salida, pero solo un punto de
partida.

12

9. Futbol On-Line
La ANFP quiere comprar un software para mantener en lnea los resultados de los partidos de
ftbol en un servidor web existente. Este software debe ser operado por unos especialistas
que se encuentran en la caseta de transmisin del estadio, y sera alimentado con los siguientes
datos:

Al inicio del software, ingresa los nombres de los equipos y la nmina de jugadores.
Durante el partido se van almacenando los goles indicando el minuto, el jugador y equipo
que convirti el equipo.
Tambin se pueden ingresar casualidades como tarjetas amarillas, tarjetas rojas,
lesiones y cambios en la formacin del equipo.

Considere que el servidor web est fuera del sistema a modelar.


(a)

Identifique los casos de uso y los actores que permitan dibujar un diagrama bsico del
sistema.
Operad
or

Ingres
ar
Equipo
Ingres
ar
Gol

<<exten
ds>>
Ingres
ar
Amone
<<exten
stacin
ds>>
Ingres
ar
Lesin

Ingres
ar
Casuali
dad <<exten <<uses
ds>>
>>
Ingres
ar
<<uses
Cambio
>>

<<uses
>>
<<uses
>>
Publica
r
Result
ados

13

Servid
or
Web

(b)

Escoja el proceso Ingresar Equipo del sistema y escriba un diagrama de Interaccin,


identificando los objetos que participan en ese proceso.

(c)

Propuesto: Elija otro proceso y haga el diagrama de interaccin.

(d)

Para el objeto Jugador, dibuje un diagrama de estados.

(e)

Propuesto: Escoja otro objeto y haga el diagrama de estados.

14

(f)

Dibuje el diagrama de clases que representa la mayor parte del sistema.

15

10. Ejercicio UML


Problema 1
Responda (V)erdadero o (F)also:
1.

Los diagramas de estado son para analizar el estado del sistema a lo largo de la
ejecucin.
2. Los diagramas de secuencia son para saber en qu orden se ejecutan las acciones
dentro de un proceso.
3. Las clases Java del sistema son representadas en un diagrama de clase.
4. Al disear el sistema es importante siempre dibujar diagramas con el enfoque de
implementacin, porque es ms facil de construir.
5. Los diagramas de colaboracin son para mostrar cmo se comunican los actores del
sistema.
6. Si un programador tiene que escribir un mdulo del sistema, debe usar el diagrama
de estados para obtener las clases.
7. Las especificacin de un proceso (en un diagrama de Casos de Uso) sirve para
describir cmo se comporta ste.

Problema 2
Dado el siguiente sistema de control de salidas de buses, en su especificacin de casos de uso:
Proceso de Inscripcin de Mquina: En este proceso, el operador ingresa un bus identificado
por su patente, chofer, sobrecargo, capacidad de pasajeros y distribucin de asientos y queda
guardado en la base de datos del sistema.
Proceso de Ingreso de Planilla: En este proceso, el operador indica las patentes de los buses
que deben salir, andn y el horario de salida de ste. Esto se hace 1 vez al da y se planifican
todas las salidas del da.
Proceso de Ingreso de Salida: En este proceso, el operador ingresa la patente del bus que va
saliendo y el sistema guarda la hora de llegada. Adems, el sistema actualiza que el andn en el
cul estaba ahora est vaco.
Proceso de Ingreso de Llegada: En este proceso, el operador ingresa la patente del bus que
viene llegando y el sistema guarda la hora de llegada. Adems, el sistema devuelve el andn en
el cul debe estacionarse el bus (andn vaco).
Proceso de Consulta de Salida y Llegadas: En este proceso, el usuario ve una planilla obtenida
desde la base de datos con todas las prximas salidas (prxima hora) y las llegadas que han
ocurrido en esa ltima media hora.

16

El diagrama de casos de uso sera el siguiente:


Ingre
so
Planill
Ingre
as
so
Planill
Ingre
as
so
Salid
Ingre
a
so
Llega
da
Consulta
Salidas
y
Llegadas

Operad
or

Usuari
o

(a) Dibuje el diagrama de Secuencia para el proceso de Ingreso de Llegada. Recuerde que si no
hay andn vaco, el bus debe quedar en espera hasta que lo haga.
una

un bus

un

consulta()
ex := falso

*[no ex]
*[cada
anden]

asignar_a_bu

17

(b) Dibuje el diagrama de Estados del objeto Bus durante todo el sistema, es decir, desde que
es ingresado hasta que sale y llega al terminal de buses.

inscribir
INSCRIT
O
patente,
chofer,
sobrec,
cap

asignar en

ASIGNAD
O
anden
hora_salid
a

iniciar

salir del

VIAJAND
O
destino

ESTACIO
NADO
anden,
destino
hora_salid
a
enter/indi
car()
exit/indic
ar()
llegar a

llegar a

LLEGAND
O
origen
hora_llega
da
do/buscan
den()

18

You might also like