Diseño y Programación Orientada a Objetos

ELO329

Proyecto:

ENCICLOPEDIA DEL VINO

        

        Ferran Cancio Pujols         François Bontemps.

Descripción del problema:

Nuestra idea era crear una aplicación de escritorio, la cual fuera el incio de una enciclopedia de vinos, es decir si se sigue ampliando el número de elementos podría acabar como tal, por el momento solo se han desorrallado pocas clases representativas de distintos vinos.

Un pequeño análisis del problema:

El problema base se encuentra entre como consultar dicha enciclopédia, es decir como interactuan el usuario y el sistema acerca de la información que el usuario quiere obtener de ella y como seguir contruyendola. Como se ha mencionado anteriormente, esta enciclopedia restara en construcción continua, es por esto que tendremos como participantes del problema tanto el usuario o actor como el sistema consigo mismo almacenando nuevos datos. Es claro que no se dispone de servidor para almazenar los vinos en nuevas ejecuciones sino tendriamos otra interacción entre nuestro sistema y otro sistema externo(el servidor)

Caso de Uso arranque de la aplicación.

                        

Actor

                

                        

Sistema

                

                        

1. El usuario ejecuta la aplicación

                

                        

2. El sistema responde abriendo una ventana con: un mapa del                         mundo y botones para los continentes

                

                        

3. El usuario elige a que continente quiere acceder pulsando el                         botón

                

                        

4. El sistema abre una nueva ventana donde da varias elecciones                         al usuario

                

                        

5. El usuario elige que prefiere hacer.

                

                        

                        

                

Caso de Uso añadir un nuevo vino.

                        

Actor

                

                        

Sistema

                

                        

5.1. El usuario elige añadir otro vino.

                

                        

6. El sistema responde con una ventana con:                         

                        

varios cuadros de texto, donde requiere: nombre, uva, productor                         etc

                

                        

7. El usuario responde en los cuadros de textos del sistema y                         pulsa “add wine”

                

                        

                        8.                         El sistema limpia los campos de texto ocupados por el usuario para                         que pueda añadir otro vino o bien ver los vinos que dispone.                                                  

                        

                        

                

                        

9. El usuario elige que prefiere hacer.

                

                        

                        

                

Caso de Uso consultar vino.

                        

Actor

                

                        

Sistema

                

                        

5.2. El usuario elige pulsar la pestaña “wine del                         continente” .

                

                        

6. El sistema responde con una ventana donde se muestran los                         vinos entrados en el sistema

                

                        

7. El usuario elige sobre que vino quiere conocer                         caracteristicas

                

                        

8. El sistema abre una nueva ventana donde muestra las                         caracteristicas del vino y que se desea hacer a continuación,                         agregar otro vino o bien consultar acerca de uno de los                         existentes.

                

                        

9. El usuario elige que prefiere hacer.

                

                        

                        

                

Diagramas de alto nivel:

Diagrama de clases:

Diagrama de secuencia para el caso de uso añadir un nuevo vino:

Pruebas y Resultados:

Add Wine:

Consultar vino:

Como se ha mencionado anteriormente sería ideal tener un servidor para que los vinos añadidos en ejecuciones anteriores se conservaran en la aplicación pero ahora mismo no es posible, así que lo dejamos como una idea para el futuro.

Se presento el problema de que queríamos que los botones fueran dinámicos en el entorno de la ventana, es decir que se mantubieran en una posición fija, esto se soluciono aplicando “border-layouts” para que quedaran fijos en la pantalla siempre.

De manera inicial teníamos la idea crear un constructor para todas las ventanas de continente pero al principio no pudímos así que se creo un constructor para cada continente de manera individual, no contentos con esto se siguio trabajando ya que es la base de la programación orientada a objetos resolver este tipo de problemas, finalmente se logro solventar dicho problema.

Como se ha mencionado en el tercer caso de uso la idea inicial era poder consultar los vinos uno a uno, pero no se eliminaba la información del vino mostrada anteriormente es decir cuando pulsamos consultar un vino este aparece con sus caracteristicas en el listado, cuando volvemos a pulsar sobre otro vino sigue apareciendo el anterior, al fin del trabajo se pudo solucionar este problema y el solo se mostraba el vino seleccionado.

Al añadir algunos objetos de vino para que ya estubieran presentes en nuestra aplicación no se logro separar estos en continentes sino que por la implementación pensada hasta el momento todos aparecen en todos los continentes la idea era que solo apareciesen en algun continente pero no se le dio muchas vueltas ya que no es una solución que sirva para un futuro, vease que si en un futuro se quisiera desarrollar esta aplicación se usaría un servidor para poder ir guardando todos los vinos allí envez de la aplicación misma.