Ejercicio del Elevador - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Ejercicio del Elevador

Description:

Ejercicio del Elevador – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 17
Provided by: usuario2
Category:

less

Transcript and Presenter's Notes

Title: Ejercicio del Elevador


1
Ejercicio del Elevador
2
Descripción
  • Se quiere desarrollar una aplicación para modelar
    el funcionamiento de un elevador. El elevador
    puede estar en un edificio de n pisos, dentro de
    un conducto que controla los mecanismos de cada
    piso. Estos mecanismos consisten en un botón para
    solicitar al elevador que vaya al piso, y una luz
    que se prende para indicar si el elevador sube o
    baja, así como una puerta que se cierra para
    evitar que los usuarios entren al conducto del
    elevador si el elevador no se encuentra en ese
    piso.
  • Cuando el usuario solicite que el elevador vaya a
    un determinado piso, el programa deberá indicar
    si el elevador va bajando o subiendo (simulando
    la luz), y mostrar el piso por el que el elevador
    va pasando. Una vez llegado al piso deseado, el
    elevador deberá abrir la puerta, tanto la del
    elevador como la del piso. El programa deberá
    indicar por medio de algún mensaje, que las
    puertas se están abriendo. Cada puerta tarda 5
    segundos en abrirse, y se abre primero la del
    piso, y luego la del elevador. El elevador espera
    10 segundos y automáticamente cierra las puertas,
    iniciando por la del elevador, y después la del
    piso. Una vez cerradas las puertas, el sistema
    preguntará al usuario a qué piso desea ir, y el
    programa deberá indicar el movimiento del
    elevador tal cual se indicó anteriormente.
  • Al llegar al piso especificado, el elevador
    abrirá las puertas, y se quedará esperando a que
    se le solicite ir a otro piso, indicando por
    medio de un mensaje que se presione el piso al
    que se quiere que el elevador vaya. Si el piso
    solicitado es el mismo en el que se encuentra el
    elevador, este esperará 10 segundos, y cerrará la
    puerta para después solicitar el piso al que se
    quiere ir.
  • Se deberá validar que el número de piso indicado
    no sobrepase los límites, es decir, que no sea
    menor a 0, el cual indicará la planta baja, ni
    mayor al total del número de pisos del edificio.

3
Identificación de objetos o clases potenciales
  • Se quiere desarrollar una aplicación para modelar
    el funcionamiento de un elevador. El elevador
    puede estar en un edificio de n pisos, dentro de
    un conducto que controla los mecanismos de cada
    piso. Estos mecanismos consisten en un botón para
    solicitar al elevador que vaya al piso, y una luz
    que se prende para indicar si el elevador sube o
    baja, así como una puerta que se cierra para
    evitar que los usuarios entren al conducto del
    elevador si el elevador no se encuentra en ese
    piso.
  • Cuando el usuario solicite que el elevador vaya a
    un determinado piso, el programa deberá indicar
    si el elevador va bajando o subiendo (simulando
    la luz), y mostrar el piso por el que el elevador
    va pasando. Una vez llegado al piso deseado, el
    elevador deberá abrir la puerta, tanto la del
    elevador como la del piso. El programa deberá
    indicar por medio de algún mensaje, que las
    puertas se están abriendo. Cada puerta tarda 5
    segundos en abrirse, y se abre primero la del
    piso, y luego la del elevador. El elevador espera
    10 segundos y automáticamente cierra las puertas,
    iniciando por la del elevador, y después la del
    piso. Una vez cerradas las puertas, el sistema
    preguntará al usuario a qué piso desea ir, y el
    programa deberá indicar el movimiento del
    elevador tal cual se indicó anteriormente.
  • Al llegar al piso especificado, el elevador
    abrirá las puertas, y se quedará esperando a que
    se le solicite ir a otro piso, indicando por
    medio de un mensaje que se presione el piso al
    que se quiere que el elevador vaya. Si el piso
    solicitado es el mismo en el que se encuentra el
    elevador, este esperará 10 segundos, y cerrará la
    puerta para después solicitar el piso al que se
    quiere ir.
  • Se deberá validar que el número de piso indicado
    no sobrepase los límites, es decir, que no sea
    menor a 0, el cual indicará la planta baja, ni
    mayor al total del número de pisos del edificio.

4
Identificación de objetos o clases potenciales
  • Elevador
  • Edificio de n pisos
  • Conducto del elevador
  • Mecanismos de piso
  • Botón
  • Luz
  • Puerta
  • Puerta del elevador

5
Identificación de objetos o clases potenciales
6
Identificación de operaciones
  • Se quiere desarrollar una aplicación para modelar
    el funcionamiento de un elevador. El elevador
    puede estar en un edificio de n pisos, dentro de
    un conducto que controla los mecanismos de cada
    piso. Estos mecanismos consisten en un botón para
    solicitar al elevador que vaya al piso, y una luz
    que se prende para indicar si el elevador sube o
    baja, así como una puerta que se cierra para
    evitar que los usuarios entren al conducto del
    elevador si el elevador no se encuentra en ese
    piso.
  • Cuando el usuario solicite que el elevador vaya a
    un determinado piso, el programa deberá indicar
    si el elevador va bajando o subiendo (simulando
    la luz), y mostrar el piso por el que el elevador
    va pasando. Una vez llegado al piso deseado, el
    elevador deberá abrir la puerta, tanto la del
    elevador como la del piso. El programa deberá
    indicar por medio de algún mensaje, que las
    puertas se están abriendo. Cada puerta tarda 5
    segundos en abrirse, y se abre primero la del
    piso, y luego la del elevador. El elevador espera
    10 segundos y automáticamente cierra las puertas,
    iniciando por la del elevador, y después la del
    piso. Una vez cerradas las puertas, el sistema
    preguntará al usuario a qué piso desea ir, y el
    programa deberá indicar el movimiento del
    elevador tal cual se indicó anteriormente.
  • Al llegar al piso especificado, el elevador
    abrirá las puertas, y se quedará esperando a que
    se le solicite ir a otro piso, indicando por
    medio de un mensaje que se presione el piso al
    que se quiere que el elevador vaya. Si el piso
    solicitado es el mismo en el que se encuentra el
    elevador, este esperará 10 segundos, y cerrará la
    puerta para después solicitar el piso al que se
    quiere ir.
  • Se deberá validar que el número de piso indicado
    no sobrepase los límites, es decir, que no sea
    menor a 0, el cual indicará la planta baja, ni
    mayor al total del número de pisos del edificio.

7
Identificando operaciones
8
Pasando del diseño al código
/ _at_()Puerta.java Clase que simula una
puerta en la simulación del elevador
_at_author Oscar M. Rodríguez _at_version 1.00
2007/2/19 / public class Puerta protected
final boolean ABIERTA true protected final
boolean CERRADA false protected String
nombre "" protected boolean abierta
protected final int espera 200
El nombre del archivo y el de la case deben ser
iguales
Inicio del programa Comentarios de descripción
Declaración de la clase Puerta
Inicio del programa Comentarios de descripción
Se debe buscar que los atributos de una
clase, sólo sean accesibles dentro de la
clase. (Ocultamiento de la información)
9
Pasando del diseño al código
public Puerta() abierta CERRADA
public Puerta(boolean opcion) if
(opcion ABIERTA) abierta ABIERTA
else abierta CERRADA public
Puerta(String nombre) this()
setNombre(nombre) public Puerta(String
nombre, boolean opcion) this(opcion)
setNombre(nombre) public
Puerta(boolean opcion, String nombre)
this(nombre, opcion)
Constructores
10
Pasando del diseño al código
public void setNombre(String nombre)
this.nombre nombre public String
getNombre() return nombre
public boolean estaAbierta() return
(abierta) public boolean
estaCerrada() return (!abierta)
public void esperar(int espera) try
Thread.sleep(espera) catch (Exception
ex) ex.printStackTrace()
Operaciones de acceso a las propiedades o
atributos de una clase
Operaciones para acceder al estado de la puerta
Operación para generar un retardo para simular el
tiempo que tarda la puerta en abrir o cerrar.
11
Pasando del diseño al código
public void abrir() System.out.println("Abri
endo puerta "nombre) int j 10
while (j gt 0) String cad ""
for (int i 0 i lt j i) cad
""
System.out.println(cad)
esperar(espera) --j
abierta ABIERTA System.out.println("Puert
a "nombre" abierta")
Simula la apertura de la puerta
12
Pasando del diseño al código
public void cerrar() System.out.println("Cer
rando puerta "nombre) int j 0
while (j lt 10) String cad ""
for (int i j i gt 0 i--) cad
"" System.out.println(cad)
esperar(espera) j
abierta CERRADA System.out.println("Puer
ta "nombre" abierta")
Simula el cerrado de la puerta
13
Prueba de la puerta
/ _at_()PruebaPuerta.java Programa para
probar el funcionamiento de la puerta.
_at_author _at_version 1.00 2007/2/19 / import
java.io. public class PruebaPuerta
static Puerta puerta / Creates a
new instance of ltcodegtPruebaPuertalt/codegt.
/ public PruebaPuerta() puerta new
Puerta() puerta.setNombre("Puerta del
elevador")
Programa que ejemplifica el uso de la clase
Puerta.
14
Prueba de la puerta
public static void abrir() if
(puerta.estaAbierta()) System.out.println("L
a puerta ya está abierta") else
puerta.abrir() public static void
cerrar() if (puerta.estaCerrada())
System.out.println("La puerta ya está
cerrada") else puerta.cerrar()
15
Prueba de la puerta
/ _at_param args the command line
arguments / public static void
main(String args) // TODO code
application logic here PruebaPuerta
prueba new PruebaPuerta() char op '
' while (op ! 's')
System.out.print("Oprima \na para abrir puerta,
\nc para cerrar, o
\ns para salir del programa ")
try op ((new
BufferedReader(
new InputStreamReader(System.in)
)).readLine()).charAt(
0) catch (Exception ex)
ex.printStackTrace() if
(op 'a') abrir() else if (op 'c')
cerrar()
16
Tarea
  • Modelar todas las clases del ejercicio en un
    programa de modelado en UML, incluyendo atributos
    y métodos.
  • Las clases deberán ser definidas con el mayor
    nivel de detalle posible
Write a Comment
User Comments (0)
About PowerShow.com