Вы находитесь на странице: 1из 10

EJERCICIOS

DE UML
Ingeniera de Software

Tabla de Contenido.
1. Diagramas de casos de uso ......................................................................................................... 1
1.1. Cajero automtico .................................................................................................................. 1
1.2. Mquina de caf inteligente ............................................................................................... 2
1.3. Betting Machine (Mquina apostadora) ...................................................................... 2
1.4. Video game ............................................................................................................................... 2
1.5. Agencia de viaje Vamos+all ............................................................................................. 2
1.6. Futbol Online ........................................................................................................................... 3
1.7. Sistema de control de salida de buses .......................................................................... 3
2. Diagramas de Secuencia .............................................................................................................. 4
2.1. Proceso de reserva de billete de Avin ........................................................................ 4
2.2. Modelamiento de llamada telefnica ............................................................................ 4
2.3. Proceso de Ingreso de llegada de un autobs ........................................................... 4
2.4. Operacin crearLaberinto .............................................................................................. 4
2.5. Juego del PARCHS (parqus) ....................................................................................... 5
2.6. Llamada desde un telfono mvil ................................................................................... 5
3. Diagrama de clases ........................................................................................................................ 5
3.1. Damas chinas ........................................................................................................................... 5
3.2. Carrito de compras ................................................................................................................ 6
3.3. Base de Datos Proyecto Integrador ................................................................................ 7
3.4. Biblioteca LEER ....................................................................................................................... 7
3.5. Redes de computadores ...................................................................................................... 7
3.6. Gestin de Pedidos ................................................................................................................ 7
3.7. Llamada desde un telfono mvil ................... Error! Marcador no definido.
4. Diagrama de estados ..................................................................................................................... 8
4.1. Damas chinas ........................................................................................................................... 8
4.2. Biblioteca LEER ....................................................................................................................... 8
5. Implementar cdigo en JAVA .................................................................................................... 9
5.1. El ascensor ..................................................................................................................................... 9

1. Diagramas de casos de uso



Dibuje los diagramas de casos de uso para los siguientes ejercicios.

1.1. Cajero automtico



El banco MyBank 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.

1.2.

No se puede retirar ms fondos de los que realmente hay, notificando de


esta situacin al usuario.

Mquina de caf inteligente


La empresa Dame+caf tiene planes para instalar una nueva mquina inteligente
en la facultad de ingeniera. 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
mquina inteligente, debe dar vuelto y no dejar que la hagan tranpa pagando
menos del precio de lo que est vendiendo.

1.3.

Betting Machine (Mquina apostadora)


Esta es la ltima mquina revolucionaria para los apostadores empedernidos: una
mquina que les permite obtener informacin de caballos/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). Para ello ten en consideracin que:

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
redebank mediante una conexin.
Tanto la obtencin de informacin como el pago de apuestas utilizan la
impresora incluida en la mquina apostadora.
La informacin de carreras/caballos/apuestas se mantiene en un computador
con la base de datos de Apuestas_BD

1.4.

Video game

1.5.

Agencia de viaje Vamos+all


Esto es una invencin de los aos 70, que para ser revividos dentro de un
computador debe utilizarse un emulador. 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.


Se desea desarrollar un software que permita realizar la reserva de boletos de
avin en una agencia turstica llamada Vamos+all, 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.

1.6.

Futbol Online


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.

1.7.

Sistema de control de salida de buses


Dado el siguiente sistema de control de salidas de buses, en su especificacin de
casos de uso, realice el diagrama de casos de uso respectivo.

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.

2. Diagramas de Secuencia


Dibuje los diagramas de secuencia para los siguientes ejercicios.

2.1.

Proceso de reserva de billete de Avin


Para el proceso de reserva de billetes de avin considere lo siguiente:
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.

2.2.

Modelamiento de llamada 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.

2.3.

Proceso de Ingreso de llegada de un autobs


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

2.4.

Operacin crearLaberinto


Dibujar el diagrama de secuencia para el siguiente cdigo JAVA.
public class JuegoLaberinto {
public Laberinto crearLaberinto () {
Laberinto lab = new Laberinto();
Habitacion h1 = new Habitacion();
Habitacion h2 = new Habitacion();
Puerta puerta = new Puerta(h1, h2);
lab.aadeHabitacion(h1);
lab.aadeHabitacion(h2); h1.aadePuerta(puerta);

return lab; }
}

2.5.

Juego del PARCHS (parqus)


Especificar el diagrama de secuencia de la operacin realizarJugada definida en
la clase Jugador, para el juego del parchs.

2.6.

Llamada desde un telfono mvil


Identificar las clases relevantes y dibujar el diagrama de secuencia para el
siguiente caso de uso, que corresponde a la realizacin de una llamada desde un
telfono mvil.
- El usuario pulsa los dgitos del nmero de telfono.
- Para cada dgito:
o La pantalla se actualiza para aadir el dgito marcado se emite un
tono por el receptor
o El usuario pulsa el botn Enviar
- El indicador en uso se ilumina en pantalla
- El mvil establece conexin con la red
Los
dgitos
acumulados
se
mandan
a
la
red
Se establece la conexin con el nmero marcado.

3. Diagrama de clases


Dibuje los diagramas de clases para los siguientes ejercicios.

3.1.

Damas chinas

El tablero de damas est compuesto de 64 celdas en una grilla de 8x8. El objetivo


del juego es capturar todas las piezas de tu oponente. Los contendientes usan su
turno para mover una de sus piezas del tablero a una celda vaca. Una movida
vlida es una movida diagonal hacia adelante en una celda hacia una vaca o una
movida hacia delante saltando sobre una pieza del oponente hasta una celda vaca.
La ltima movida captura la pieza saltada. La pieza saltada es removida del tablero.
Despus de capturar la pieza del oponente, se puede repetir el mismo
procedimiento de captura mientras sea posible capturar otra pieza.

Si un jugador logra mover una de sus piezas hasta el borde del tablero del
oponente, entonces esta pieza es promovida a Dama. Una Dama tiene poderes
especiales: adems de poder moverse diagonalmente hacia adelante, puede
tambin hacerlo hacia atrs.

El juego se gana cuando el jugador ha capturado todas las piezas de su oponente
(se puede empatar si un jugador no puede moverse ms o ninguno pude comer
piezas del otro).

Dado que el juego ocurre en una simulacin en el computador, se necesitar un
controlador del juego que le pregunta a cada jugador de turno su movida. Cuando
se reciba una movida de un jugador, se solicita al tablero que valide la movida. Si
sta es vlida entonces la pieza del jugador actual es movida en el tablero. Si se
captura alguna pieza sta es removida del tablero. El tablero es desplegado y se
evala el nuevo estado del juego. Este proceso se repite hasta que un jugador gane
al dejar a su ponente sin piezas o se llegue a una posicin de bloqueo.

Qu hacer para que el sistema permita jugar varias veces ?

3.2.

Carrito de compras

Amazon.com ha decidido que su sistema de compras esta obsoleto, por lo que


desea implementarlo utilizando java. Ustedes voluntariosamente se ofrecen para
programarlo, (y de paso ganar mucho $$$). Pero antes de contratarlos Amazon
desea ver los diagramas de UML, mas epecificamente hablando el Diagrama de
Clase, para determinar si es que los contrata o no.

Amazon desea que su sistema tenga las siguientes funcionalidades:

- Un cliente puede tener varios carrito de compras, cuando desea comprar
algo lo sube a algun carrito, y cuando cambia de opinin lo puede sacar,
puediendo comprar ms de un item del mismo producto.
- Una vez que el carrito contiene todo lo que el cliente desea, este puede
solicitar la compra de los productos.
- Los clientes pagan el contenido de un carrito utilizando su tarjeta de
credito, la cual es verificada previamente.
Cada cliente tiene que especificar su nombre, direccin de envo, direccin de
cobro, email. Algunos clientes son preferenciales, a quienes se les hace un
porcentaje de descuento.

3.3.

Base de Datos Proyecto Integrador

3.4.

Biblioteca LEER

Representa mediante un diagrama de clases la siguiente especificacin:


- Una aplicacin necesita almacenar informacin sobre empresas, sus
empleados y sus clientes.
- Ambos se caracterizan por su nombre y edad.
- Los empleados tienen un sueldo bruto, los empleados que son directivos
tienen una categora, as como un conjunto de empleados subordinados.
- De los clientes adems se necesita conocer su telfono de contacto.
- La aplicacin necesita mostrar los datos de empleados y clientes.

-
-
-
-
-
-

3.5.
-
-
-
-
-
-

-
-

3.6.

Una biblioteca tiene copias de libros. Estos ltimos se caracterizan por su


nombre, tipo (novela, teatro, poesa, ensayo), editorial, ao y autor.
Los autores se caracterizan por su nombre, nacionalidad y fecha de
nacimiento.
Cada copia tiene un identificador, y puede estar en la biblioteca, prestada,
con retraso o en reparacin.
Los lectores pueden tener un mximo de 3 libros en prstamo.
Cada libro se presta un mximo de 30 das, por cada da de retraso, se
impone una multa de dos das sin posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y aade los mtodos necesarios para realizar
el prestamo y devolucin de libros.

Redes de computadores
Especificar un diagrama de clases que describa redes de computadores.
Los elementos que se pueden incluir en la red son: Servidor, PC, Impresora.
Hub, Cable de red.
Los PCs pueden conectarse con un nico Hub, los servidores con uno o
varios.
Los Servidores y PCs pueden generar mensajes, con una cierta longitud.
Los Hubs tienen un nmero de puertos, algunos de los cuales puede usarse
para conectar con otros Hubs. Tienen cierta probabilidad de perder
mensajes.
Las impresoras pueden averiarse, con cierta.
probabilidad, durante cierto tiempo.

Gestin de Pedidos


Realiza el diseo de una aplicacin para la gestin de pedidos. La aplicacin
deber:
- Manejar clientes (se guarda su nombre, direccin, telfono y e-mail), que
pueden realizar pedidos de productos, de los cuales se anota la cantidad en
stock. Un cliente puede tener una o varias cuentas para el pago de los
pedidos. Cada cuenta est asociada a una tarjeta de crdito, y tiene una
cierta cantidad disponible de dinero, que el cliente debe aumentar
peridicamente para poder realizar nuevos pedidos.

Un cliente puede empezar a realizar un pedido slo si tiene alguna cuenta


con dinero disponible. Al realizar un pedido, un cliente puede agruparlos en
pedidos simples o compuestos. Los pedidos simples estn asociados a una
sola cuenta de pago y (por restricciones en la distribucin) contienen un
mximo de 20 unidades del mismo o distinto tipo de producto. A su vez, un
pedido compuesto contiene dos o ms pedidos, que pueden ser simples o
compuestos. Como es de esperar, el sistema debe garantizar que todos los
pedidos simples que componen un pedido compuesto se paguen con
cuentas del mismo cliente. Adems, slo es posible realizar peticiones de
productos en stock.
Existe una clase (de la cual debe haber una nica instancia en la aplicacin)
responsable del cobro, orden de distribucin y confirmacin de los pedidos.
El cobro de los pedidos se hace una vez al da, y el proceso consiste en
comprobar todos los pedidos pendientes de cobro, y cobrarlos de la cuenta
de pago correspondiente. Si una cuenta no tiene suficiente dinero, el pedido
se rechaza (si es parte de un pedido compuesto, se rechaza el pedido
entero). Una vez que el pedido est listo para servirse, se ordena su
distribucin, y una vez entregado, pasa a estar confirmado.

4. Diagrama de estados


Dibuje los diagramas de estado para los siguientes ejercicios.

4.1.

Damas chinas


Dibujar el diagrama de estados del sistema del ejercicio 3.2 considerando que:
Comienza el jugador 1
La movida entregada por el jugador pasa por una validacin: en caso de
ser anulada se vuelve a esperar la movida del mismo jugador; si no, se
ejecuta.
Despus de cada ejecucin, se analiza si el juego puede continuar o si
alguno de los jugadores gan (o sea, no le quedan fichas a su oponente).

4.2.

-
-
-
-
-
-

Biblioteca LEER
Una biblioteca tiene copias de libros. Estos ltimos se caracterizan por su
nombre, tipo (novela, teatro, poesa, ensayo), editorial, ao y autor.
Los autores se caracterizan por su nombre, nacionalidad y fecha de
nacimiento.
Cada copia tiene un identificador, y puede estar en la biblioteca, prestada,
reservada, con retraso o en reparacin.
Los lectores pueden tener un mximo de 3 libros en prstamo.
Cada libro se presta un mximo de 30 das, por cada da de retraso, se
impone una multa de dos das sin posibilidad de coger un libro.
Realiza el diagrama de estados de la clase copia.

5. Implementar cdigo en JAVA



Genere el cdigo JAVA de los siguientes ejercicios.

5.1. El ascensor


Para el problema del ascensor se han dibujado los diagramas de estado y clase que
se muestran a continuacin. Se le pide a usted implementar el cdigo en java.

n
1 Control_Ascensor
Ascensor

direccion: boolean
piso_actual
mover()
detener()
status()

Puerta

piso_id: int
posicin: int
direccion: boolean

cerrada: boolean=true
cerrar()
abrir()

Boton
iluminar: boolean=false

Boton_Ascensor
piso_num:int

Boton_Piso

iluminar()
cancelar_iluminar()
status()

piso num: int


direccion: boolean


Notas importantes:

En JAVA una especializacin es un extends, y la cabecera se escribe de la
siguiente manera:


public class Class3 extends Class2 {

/**
*
*/
public Class3() {
}
}


Bibliografa
Gua de estudio, Juan Alvarez, Nelson Baloian, Kurt Schwarze, Erich Reimberg y
Andrs Muoz.

Вам также может понравиться