Vous êtes sur la page 1sur 9

Pontificia Universidad Javeriana

Departamento de Ingeniera de Sistemas


Programacin Orientada a Objetos
Proyecto Semestre 2016-1

Sistema Empresa de Ambulancias: entrega 3


Objetivos para la entrega 3
Desarrollar en los estudiantes las habilidades de la programacin orientada a objetos bsica incluyendo la
aplicacin de los conceptos de interfaces, enumeraciones, persistencia mediante archivos, manejo de
excepciones, GUI: interfaz grfica de usuario con Swing.
Todo lo establecido para la entrega anterior aplica excepto que se indique lo contrario en este documento. Lo
que se detalla en esta entrega hace referencia slo a las funcionalidades que deben cambiarse o agregarse.

Diagrama de clases

Pgina 1 de 9

Cambios en el diagrama respecto a la entrega 2


1. Enumerados:
Ahora los servicios tienen un atributo tipoServicio que indica su modalidad: DOMICILIO,
URGENCIA o EMERGENCIA , lo cual se modela mediante la enumeracin TipoServicio.
Ahora los servicios tienen un atributo estadoServicio con los siguientes valores posibles:
NO_ASIGNADO, ASIGNADO o FINALIZADOS lo cual se modela mediante la enumeracin
EstadoServicio.
Ahora cada direccin tiene un atributo tipoDireccion que indica si es CALLE o CARRERA lo
cual se modela mediante la enumeracin TipoDireccion.
Ahora las ambulancias UCI tienen un atributo tipoUCI con los siguientes valores:
CARDIOVASCULAR y PEDIATRICA, lo cual se modela mediante una enumeracin TipoUCI.
2. El nivel de Presentacin est constituido principalmente por la clase TestGUIAmbulancias que es un
JFrame (ventana grfica) que interacta con el usuario obteniendo sus pedidos e invocando mtodos de
negocio sobre una variable de tipo IServiciosAmbulancias.
3. La distribucin en paquetes es la siguiente:
paquete co.edu.javeriana.ambulancias.presentacion: comprende las clases TestGUIAmbulancias y
Utils
paquete co.edu.javeriana. ambulancias.persistencia: comprende la clase ManejoArchivos
paquete co.edu.javeriana. ambulancias.negocio: comprende las dems clases (IServiciosAmbulancias,
EmpresaAmbulancias y sus componentes).
4. Se deben leer datos en la presentacin y procesarlos en la lgica de negocio.
5. Toda la creacin y procesamiento de objetos debe realizarse en la lgica de negocio pasando los
parmetros necesarios desde la GUI (presentacin).
6. La interfaz IServiciosAmbulancias es el punto de comunicacin entre el paquete de presentacin y el de
lgica de negocio.
7. Para cada servicio ofrecido, en caso de que se presente una excepcin, sta debe mostrarse en una
ventana emergente (por ejemplo, un JDialog).
8. Todas las tablas (JTable) deben mostrarse dentro de un panel con scroll para hacer ms fcil su
visualizacin.

Se pide implementar la siguiente funcionalidad utilizando el


TestGUIAmbulancias:
(Entre [] se muestra el valor en puntos para la evaluacin)
0. Mostrar al usuario en un tarjetero, el siguiente men de opciones del sistema:

[5]

Pgina 2 de 9

1. Ingresar IPS y ambulancias:


[10]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta " Ingresar IPS y
ambulancias " con una interfaz grfica similar a la siguiente:

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

Cuando el usuario oprime el botn Seleccionar archivo de IPS, se despliega un elemento


JFileChooser que permite indicar el nombre y localizacin del archivo texto en el que se encuentran
los datos de las IPS; este archivo tiene el mismo formato utilizado para la entrega 2 del proyecto.
Debe agregar al sistema cada IPS. No debe permitir agregar IPS repetidas. A travs de una caja de
Dilogo (JDialog) debe informar si pudo cargar el archivo o el motivo por el cual no lo pudo hacer.

Similarmente implemente la reaccin al botn Seleccionar archivo de ambulancias, para ingresar


al sistema los datos del archivo de ambulancias.
Pgina 3 de 9

2. Registrar la posicin actual de una ambulancia


[10]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Registrar la
posicin actual de una ambulancia " con una interfaz grfica similar a la siguiente:

El sistema sigue los siguientes pasos:


Inicialmente las ambulancias aparecen, ordenadas por cdigo, sin datos de posicin pero al
seleccionar una ambulancia y oprimir el botn "registrar posicin de ambulancia seleccionada" el
usuario podr indicar la calle y la carrera de la nueva posicin de la ambulancia seleccionada.

Al oprimir el botn "actualizar" la tabla de las ambulancias se actualizar con la nueva posicin
de la ambulancia seleccionada.

En una caja de Dilogo (JDialog) se debe mostrar un mensaje de error cuando el usuario
introduce una calle o carrera invlidas (no enteros).

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

3. Registrar un servicio
[10]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Registrar un
servicio" con una interfaz grfica similar a la siguiente:

Pgina 4 de 9

El usuario podr suministrar los datos del nuevo servicio y confirmar mediante el botn "registrar". En
una caja de Dilogo (JDialog) se deben mostrar un mensaje de error cuando el usuario introduce datos
invlidos.
El botn Regresar sirve para regresar a la tarjeta de Men de servicios.
4. Asignar a un servicio una ambulancia y una IPS
[20]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Asignar a
servicio una ambulancia y una IPS" con una interfaz grfica similar a la siguiente:

El sistema sigue los siguientes pasos:

Como se muestra en el diagrama anterior, se incluyen 3 tablas: informacin de las IPS (ordenadas
por nombre), informacin de las ambulancias (ordenadas por cdigo), e informacin de los
servicios (ordenados por hora de solicitud) en estado NO_ASIGNADO o ASIGNADO.

El usuario selecciona un servicio NO_ASIGNADO

Al oprimir el botn "asignar servicio seleccionado" el sistema realizar una asignacin ptima
(de acuerdo a las reglas de negocio descritas en la entrega 1) de IPS y de ambulancia al servicio
seleccionado. Debe aparecer actualizada la tabla de servicios, incluyendo la asignacin realizada,
por ejemplo:

Pgina 5 de 9

En una caja de Dilogo (JDialog) se debe mostrar un mensaje cuando el sistema no puede asignar
el servicio, indicando la razn.

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

5. Finalizar un servicio
[10]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Finalizar
servicio" con una interfaz grfica similar a la siguiente:

El sistema sigue los siguientes pasos:

Como se muestra en el diagrama anterior, se incluyen una tabla de los servicios (ordenados por
hora de solicitud) en estado NO_ASIGNADO o ASIGNADO.
Pgina 6 de 9

El usuario selecciona un servicio ASIGNADO

Al oprimir el botn "finalizar servicio seleccionado" el sistema cambia el estado del servicio
seleccionado a FINALIZADO. Debe aparecer actualizada la tabla de servicios, por ejemplo:

En una caja de Dilogo (JDialog) se debe mostrar un mensaje cuando el sistema no puede
finalizar el servicio, indicando la razn.

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

6. Reporte de servicios con IPS y ambulancias asignados


[15]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Reporte servicios
con IPS y ambulancias asignados" con una interfaz grfica similar a la siguiente:

Pgina 7 de 9

El sistema sigue los siguientes pasos:

Se muestra la tabla de todos los servicios (ordenados por hora de solicitud).

El usuario selecciona un servicio.

Al oprimir el botn "mostrar IPS y ambulancia asignadas" el sistema muestras los datos de la IPS
asignada al servicio seleccionado, y los datos de la ambulancia asignada a ese servicio (estos
datos se muestran en labels o cajas de texto pero no en JTables).

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

7. Reporte IPS con servicios asociados


[10]
Si el usuario escoge esta opcin en el Men de servicios, el sistema muestra la tarjeta "Reporte de IPS
con servicios asociados" con una interfaz grfica similar a la siguiente:

El sistema sigue los siguientes pasos:

Se muestra un combo de todas las IPS.

El usuario selecciona una IPS

Al oprimir el botn "mostrar servicios asociados" el sistema muestra una tabla con datos de los
servicios asociados a la IPS seleccionada

El botn Regresar sirve para regresar a la tarjeta de Men de servicios.

8. Salvar los datos del sistema


[5]
El botn "Salvar los datos del sistema", en el Men de servicios, debe permitir grabar la variable que
representa todo el sistema como un objeto serializado. Se solicita al usuario que indique la localizacin y
el nombre del archivo (a travs de un elemento JFileChooser). Debe haber manejo de excepciones
mostrando los posibles errores. Los errores deben ser mostrados en cajas de dilogo (JDialog).
Pgina 8 de 9

9. Cargar los datos del sistema


[5]
El botn "Cargar los datos del sistema" en el Men de servicios, debe permitir cargar un objeto
serializado contenido en el archivo indicado por el usuario: se descarta entonces la versin de la variable
que representa el sistema y se le asigna el objeto cargado. El archivo del que se quiere cargar el objeto
debe ser seleccionado a travs de un elemento JFileChooser. Debe haber manejo de excepciones
mostrando los posibles errores. Los errores deben ser mostrados en cajas de dilogo (JDialog).
Total de puntos: 100
Bonos adicionales: usar imgenes en los botones o poner fondos en las pestaas [5] o usar Men [5]

Condiciones de la Entrega
1. Fecha
La entrega se hace a travs de la Actividad establecida para tal fin del sistema de aprendizaje UVirtual (BlackBoard) a
ms tardar el martes 24 de mayo de 2016 a las 8 am

Entregas posteriores a esta fecha no sern tenidas en cuenta.


Si realiza varias entregas en el sistema, slo se tendr en cuenta aquella con fecha ms reciente.

2. Grupos
La entrega se realizar en grupos de trabajo de mximo 2 personas. Los grupos no podrn cambiar su conformacin y
desde el comienzo dichos grupos estarn identificados plenamente.

3. Entregables
Un solo archivo .zip nombrado de la siguiente manera: proy3-Nombre1Apellido1-Nombre2Apellido2.zip en donde
Nombre1Apellido1 es el nombre y apellido del primer integrante del grupo, y Nombre2Apellido2 es el nombre y
apellido del segundo integrante del grupo. Dentro de este archivo comprimido deben ir los siguientes cuatro archivos:

Archivo fuentes.zip con el cdigo fuente de las clases (archivos .java)


Archivo test.jar con el cdigo ejecutable que invoca el TestGUIAmbulancias (archivos .class)
Archivo ejecutarTest.bat que ejecuta el jar anterior
Archivo doc.zip con la documentacin javadoc del sistema

4. No es necesario entregar los archivos de datos (texto). La revisin se har con archivos consistentes
colocados en la raz del proyecto.
5. Observaciones

Si no se entregan los archivos enumerados previamente, no se calificar la entrega.


Se reducirn puntos por malas prcticas de programacin:
o
Cdigo quemado no autorizado. Por ejemplo, usar valores constantes en donde no se deba.
o
No utilizacin de los criterios de asignacin de responsabilidades a las clases
o
No respetar la organizacin en paquetes
El diagrama de clases y la implementacin deben ser concordantes.
SUSTENTACION INDIVIDUAL: en caso de no ser exitosa la sustentacin, se reconocer slo el 30% del total
de puntos obtenidos en la entrega.
El aplicativo debe funcionar en las mquinas de la Universidad.
Se deben cumplir las Reglas de Juego del curso.

Sustentacin: Martes 24 de Mayo de 2016 a las 10 am

Pgina 9 de 9

Vous aimerez peut-être aussi