0% encontró este documento útil (0 votos)
188 vistas12 páginas

Practica UNED DAOO 2018-2019

Este documento presenta las instrucciones para la realización de la práctica de Diseño de Aplicaciones Orientadas a Objetos. La práctica consiste en diseñar e implementar un sistema de gestión para una tienda de electrodomésticos utilizando patrones de diseño como MVC y Factory. Se dividen las tareas en cuatro partes obligatorias que cubren el análisis MVC inicial, el uso de Factory para la creación de objetos, el diseño de patrones adicionales y la implementación del sistema. Se ofrece una tarea opcional para integr

Cargado por

hgarnacho
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
188 vistas12 páginas

Practica UNED DAOO 2018-2019

Este documento presenta las instrucciones para la realización de la práctica de Diseño de Aplicaciones Orientadas a Objetos. La práctica consiste en diseñar e implementar un sistema de gestión para una tienda de electrodomésticos utilizando patrones de diseño como MVC y Factory. Se dividen las tareas en cuatro partes obligatorias que cubren el análisis MVC inicial, el uso de Factory para la creación de objetos, el diseño de patrones adicionales y la implementación del sistema. Se ofrece una tarea opcional para integr

Cargado por

hgarnacho
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

PRÁCTICA

Diseño de Aplicaciones Orientadas a


Objetos. Curso 2018-2019

Timothy Read, Juan M. Cigarrán

V 1.0
Diseño de Aplicaciones Orientadas a Objetos

Contenido
1. INTRODUCCIÓN ........................................................................................................ 2

2. PLANTEAMIENTO INICIAL ......................................................................................... 2

3. TAREAS OBLIGATORIAS (7 puntos) ........................................................................... 4

3.1. PRIMERA PARTE ............................................................................................... 4

3.2. SEGUNDA PARTE .............................................................................................. 4 1

3.3. TERCERA PARTE ................................................................................................ 5

3.4. CUARTA PARTE ................................................................................................. 5

4. TAREA OPCIONAL (3 puntos) .................................................................................... 6

4.1. INTEGRACIÓN ................................................................................................... 6

5. NORMAS Y ORIENTACIONES .................................................................................... 7

6. MATERIAL QUE ENTREGAR ...................................................................................... 8

7. TEMAS ORGANIZATIVOS .......................................................................................... 9

8. NORMAS PARA LOS TUTORES ................................................................................ 10

9. CENTROS ASOCIADOS VS PRÁCTICAS EN ASIGNATURAS OBLIGATORIAS .............. 11

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

1. INTRODUCCIÓN
Para la realización de la práctica de Diseño de Aplicaciones Orientadas a Objetos (DAOO)
vamos a tomar como punto de partida la práctica realizada el curso pasado en la
asignatura de Programación Orientada a Objetos (POO).

Tal y como se indica en la guía del curso, el propósito de DAOO es profundiza en la


aplicación de POO en escenarios más complejos. Las asignaturas han sido diseñadas así
con ese objetivo. Por este motivo, en la primera parte de DAOO se plantea un repaso de
los contenidos teóricos de POO, incidiendo en los aspectos gráficos y de interfaz de
usuario, con el fin de aplicar dichos conocimientos sobre una práctica con una cierta
complejidad gráfica. De hecho, uno de los capítulos de la guía de estudio hace referencia 2
a los aspectos relacionados con diseño de interfaces en Java, por lo que el apartado
gráfico no debería suponer un problema. No obstante, y con el fin de hacer accesible el
desarrollo de la práctica a todos los estudiantes, hemos decidido hacer OPCIONAL la
parte final de ésta, es decir, la parte donde se integran los patrones de diseño realizados
por el estudiante dentro de la aplicación real.

Esto significa que si sólo realizáis la parte de la práctica que hace referencia a los
patrones podréis aprobar la práctica, pero con una nota máxima de 7 puntos sobre 10.
Si, por el contrario, decidís llevar a cabo la integración final podríais obtener una nota
máxima de 10 sobre 10.

El Equipo Docente recomienda, evidentemente, que el estudiante curse POO antes de


DAOO. No obstante, los estudiantes que no pasen por POO, por el motivo que sea,
pueden cursar DAOO, pero el Equipo Docente no proporcionará resúmenes de la parte
teórica de POO ni tampoco una solución a la práctica de dicha asignatura. Aunque el
enunciado de la práctica de DAOO esté basado en la práctica de POO del año anterior,
el estudiante debe tener claro que el enfoque es totalmente diferente ya que, en esta
asignatura, se pretenden aplicar los conocimientos de patrones de diseño para su
rediseño completo.

El objetivo principal de la práctica fue diseñar e implementar un sistema integrado de


gestión de un taller de reparación de vehículos. Dicho trabajo supuso una aproximación
genérica a los conceptos de la programación orientada a objetos, sin profundizar en
aspectos más relacionados con el diseño a alto nivel de la aplicación. Más
concretamente, no se incidió en el uso de patrones de diseño o en la aplicación del
Modelo Vista Controlador para organizar el conjunto de clases que formaban parte de
la aplicación. En la práctica de la asignatura Diseño de Aplicaciones Orientadas a Objetos
pretendemos revisitar dicho trabajo aplicando los nuevos conceptos aprendidos en la
asignatura.

2. PLANTEAMIENTO INICIAL
La Práctica del presente curso va a consistir en diseñar e implementar un sistema
integrado de gestión de una tienda de electrodomésticos. Hoy en día las tiendas de
electrodomésticos además de disponer de una gran cantidad de productos en sus
tiendas disponen de diferentes perfiles de empleados (técnicos, cajeros, financiación y

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos
postventa) para atender de la mejor manera posible a sus clientes. Además, los clientes
disponen de un perfil que además de sus datos personales incluyen un historial de
compras, generación de facturas, descarga de manuales, comprobación de estado de
garantía y promociones. De esta forma, la práctica consiste en desarrollar un sistema de
gestión que englobe todas estas características teniendo en cuenta un diseño orientado
a objetos.

En general, las funciones que tienen un sistema de gestión de una tienda de


electrodomésticos son varias:

• Venta de un electrodoméstico (cajero): cuando un cliente pasa por la línea de


cajas es necesario generar una ficha de cliente en el caso de que no disponga de 3
ella. El identificador principal es el DNI y los datos más importantes son el
nombre, apellidos, DNI, domicilio y número de teléfono. Esta ficha tendrá
disponible un histórico de los productos comprados y su fecha de adquisición. En
el caso de solicitar financiación, deberá constar en la ficha y el cliente debería
pasar por la oficina de financiación para obtener el visto bueno.
• Financiación (financiación): El empleado de la oficina de financiación recibirá
clientes que previamente hayan pasado por la línea de cajas para comprar
productos y analizará la ficha de financiación. Solicitará la última nómina al
cliente, dejando constancia de la cantidad en la ficha del cliente y en caso de que
el cargo mensual no supere el 15% de la nómina en un máximo de financiación
de 60 meses, la financiación se aprobará.
• Reparación de Electrodomésticos (técnico): Los clientes podrán llevar sus
productos comprados en la tienda a reparar. Las condiciones de reparación serán
las siguientes: reparación gratuita en los dos primeros años. A partir de esa fecha,
se cargará un importe al cliente dependiendo de la reparación efectuada.
• Devolución de electrodoméstico (postventa): Un cliente, presentando su DNI,
podrá devolver uno o varios electrodomésticos en el caso de que el periodo de
compra no supera los 3 meses.
• Gestión comercial (comercial): Este empleado generará una serie de
comunicaciones con el cliente ofreciendo diferentes posibilidades de compra.
• Gestión de usuarios: altas, bajas, modificaciones de las personas que figuran en
el sistema (empleados, técnicos, cajeros, financiación, postventa y comerciales y
clientes). La primera vez que acude un cliente a la tienda hay que darle de alta
en el sistema.
• Gestión de clientes: Cada uno de los empleados tendrán un tipo de relación con
el cliente teniendo que dejar constancia en la ficha del cliente la operación
realizada y sus detalles (cliente, empleado que atiende, tipo de operación,
productos involucrados, fecha, etc.)

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

3. TAREAS OBLIGATORIAS (7 puntos)


El estudiante deberá proceder a realizar la práctica aplicando los conceptos aprendidos
en la asignatura Diseño de Aplicaciones Orientadas a Objetos. Más concretamente, se
pide que el estudiante realice las siguientes subtareas para llevar a buen término la
realización de la práctica.

3.1. PRIMERA PARTE


El estudiante deberá plantear el desarrollo completo de la práctica basándose en una
aproximación basada en Modelo Vista Controlador. De este modo, deberá definir
claramente qué clases van a definir su modelo, cuáles serán las tareas del controlador 4
para gestionar el flujo entre la vista y el modelo, así como el modo en el que los
diferentes elementos de la aplicación se mostrarán en pantalla e interactuarán entre
ellos.

Responda a estas preguntas por escrito en su memoria de práctica antes de pasar a la


siguiente parte:

1- ¿Es útil aplicar el Modelo Vista Controlador en esta situación? Razone la


respuesta.
2- Haga un pequeño esquema donde se pueda ver claramente de que tareas
específicas es responsable cada componente del MVC.
3- ¿Será necesario implementar un patrón Observer para recoger los eventos
producidos en la interfaz? Razone la respuesta.
4- Realice un diagrama de clases inicial donde modele los distintos actores de la
aplicación, lo que definiría el modelo, e identifique propiedades compartidas
entre estos.

3.2. SEGUNDA PARTE


Dado que el taller dispone de diversos tipos de electrodomésticos similares entre sí,
lavadoras, frigoríficos, televisores (LED, OLED), microondas, vitrocerámicas, etc. Se pide
hacer uso de un patrón factoría para la instanciación de dichos objetos.

Responda a estas preguntas por escrito en su memoria de práctica antes de pasar a la


siguiente parte:

1- ¿Resulta adecuado aplicar Abstract Factory o Factory Method para instanciar los
diferentes electrodomésticos de la tienda? ¿Cuál de los dos patrones sería más
adecuado utilizar? Razone su respuesta.
2- Haga un diagrama de clases genérico aplicando el patrón y adáptelo a las
condiciones específicas de la práctica.
3- Implemente el modelo en Java y realice una sencilla clase main donde se vea el
patrón funcionando.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

3.3. TERCERA PARTE


Podemos entender los sistemas de financiación, reparación y devolución de las compras
como unas sencillas máquinas de estados. Se pide hacer uso del patrón estado para
modelar la secuencia de pasos que deben seguirse para llevar a cabo estas tareas.

Responda a estas preguntas por escrito en su memoria de práctica antes de pasar a la


siguiente parte:

1- ¿Resulta adecuado aplicar Estado para la gestión de las tareas descritas? Razone
su respuesta.
2- Haga un diagrama de clases genérico aplicando el patrón y adáptelo a las 5
condiciones específicas de la práctica.
3- Implemente el modelo en Java y realice una sencilla clase main donde se vea el
patrón funcionando.

3.4. CUARTA PARTE


Finalmente, se pide hacer uso del patrón observador para notificar a los usuarios que
su electrodoméstico ha sido reparado y está disponible para recoger.

Responda a estas preguntas por escrito en su memoria de práctica antes de pasar a la


siguiente parte:

1- ¿Resulta adecuado aplicar Observador para llevar a cabo estas notificaciones?


Razone su respuesta.
2- Haga un diagrama de clases genérico aplicando el patrón y adáptelo a las
condiciones específicas de la práctica.
3- Implemente el modelo en Java y realice una sencilla clase main donde se vea el
patrón funcionando.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

4. TAREA OPCIONAL (3 puntos)

4.1. INTEGRACIÓN
Finalmente, el estudiante podrá integrar las decisiones de diseño tomadas en los puntos
anteriores en la arquitectura Modelo Vista Controlador que se ha definido en la primera
parte de la práctica. Como resultado de esta integración, se obtendrá un proyecto Java
completo que, al ser ejecutado, permitirá ejecutar el sistema de acuerdo a las
especificaciones dadas en el enunciado de esta práctica.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

5. NORMAS Y ORIENTACIONES
Para realizar la práctica se seguirá el siguiente método de trabajo:

§ En primer lugar, deberá leerse detenidamente el enunciado de esta práctica.


§ Realice cada uno de los pasos propuestos y no pase al siguiente hasta no haber
resuelto los anteriores. Tenga en cuenta que el apartado de integración requiere de
la implementación de TODOS los patrones propuestos en los pasos primero,
segundo y tercero.
§ Por cada apartado deberá responder a TODAS las preguntas propuestas que deberá
documentar en la memoria de la práctica.
§ Todo el código que escriba deberá estar convenientemente documentado (i.e. 7
incluyendo JavaDocs y comentarios).
§ Especifique claramente en la documentación cuales son las clases de Prueba para
cada uno de los pasos propuestos.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

6. MATERIAL QUE ENTREGAR


Memoria: La memoria constará de los siguientes apartados:

§ Portada con título “Práctica de Diseño de Aplicaciones Orientada a Objetos –


Junio 2019” y los datos del estudiante: Nombre, Apellidos, dirección de correo
electrónico y teléfono.
§ Cada sección de la memoria se corresponderá con cada uno de los apartados
propuestos en este enunciado.
§ Por cada sección se deberán responder a TODAS las preguntas propuestas
incluyendo de manera clara los diagramas de clases propuestos.
§ Los códigos asociados a cada sección deberán incluirse al final de la memoria en 8
una sección de ANEXOS donde se identifique claramente a que sección se
corresponden cada uno de los códigos.

Código: incluyendo todos los ficheros *.java y *.class de los distintos proyectos
realizados en la práctica (Un proyecto Eclipse por apartado), así como la memoria en
formato electrónico (preferiblemente html o pdf). El soporte estará libre de virus. No se
corregirá ni se tendrá en cuenta ninguna práctica que esté infectada por un virus.

Una vez terminada la práctica el estudiante tiene que hacer un archivo comprimido (rar
o zip) de la memoria y el código y, en el apartado de “Entrega de trabajos”, subir una
copia a la plataforma aLF según las instrucciones puestas en el curso virtual.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

7. TEMAS ORGANIZATIVOS
1- La realización de la práctica es obligatoria. Sólo se podrá aprobar la asignatura si
la práctica ha sido previamente aprobada.
2- La detección de prácticas copiadas implica su suspenso en las dos convocatorias
del curso.
3- La práctica deberá realizarse utilizando como IDE Eclipse.
4- Después de un trabajo inicial de diseño, las prácticas se hacen en los centros
asociados supervisadas por el tutor de la asignatura.
5- El trabajo a realizar con la práctica tiene dos partes: el diseño y la
implementación. Cada estudiante deberá llevar su diseño el día en que se
realicen las prácticas para que el tutor lo supervise y el estudiante pueda realizar 9
la implementación.
6- La práctica es individual. Las prácticas cuyo código coincida total o parcialmente
con el de otro estudiante serán motivo de suspenso para todos los implicados
(copiadores y copiados), no pudiéndose examinar ninguno de ellos en el
presente curso académico.
7- Cada tutor establecerá unas fechas para la realización de la práctica. El tutor
puede organizar las sesiones que considere necesarias para la práctica pero tiene
que haber al menos una sesión presencial obligatoria. El tutor entrará en el
espacio virtual de la asignatura dentro de aLF, antes del 1 de junio, para meter
las notas para sus estudiantes.
8- No habrá sesión extraordinaria de prácticas ya que la asignatura ya debe estar
implantada en todos los centros asociados. En caso de que algún estudiante no
tuviera tutor, deberá dirigirse a cualquier otro centro asociado donde se imparta
la asignatura.
9- El estudiante debería dirigirse a su tutor para cualquier duda que tenga sobre su
práctica y solamente al equipo docente (por correo electrónico) en el caso de
que su tutor no pueda resolver su problema. En este caso pedimos al estudiante
que, además de sus datos personales, nos envíe el nombre del centro asociado
en el que está matriculado y el de su tutor.
10- Evidentemente se puede usar los foros para realizar consultas a los compañeros,
pero nunca para intercambiar código.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

8. NORMAS PARA LOS TUTORES


Como se puede apreciar, el papel del tutor es fundamental en todos los aspectos de la
práctica tanto en el planteamiento de los problemas, su desarrollo y su integración final.
Tratándose de una asignatura obligatoria, cada estudiante debería tener acceso a un
tutor.

Los tutores deben seguir los siguientes pasos:

§ Ayudar a los estudiantes al principio del curso con el planteamiento de la


práctica.
§ Indicar a los estudiantes que habrá al menos una sesión obligatoria de 10
seguimiento de la práctica.
§ Una vez terminada y entregada la práctica, el tutor tiene que entrar en el espacio
virtual de la asignatura dentro de aLF, antes del 1 de junio, para meter las notas
para sus estudiantes.
§ Comunicar la calificación a sus estudiantes.

Práctica 2018-2019
Diseño de Aplicaciones Orientadas a Objetos

9. CENTROS ASOCIADOS VS PRÁCTICAS EN ASIGNATURAS


OBLIGATORIAS
Las prácticas son esenciales en las titulaciones de Informática porque, entre otras cosas,
permiten a los estudiantes adquirir conocimientos importantes sobre los aspectos más
aplicados de ciertas asignaturas, lo cual resulta de gran relevancia e interés a la hora de
acceder a un puesto laboral relacionado con la Informática. Para orientar y ayudar a los
estudiantes, así como para comprobar que realmente un estudiante ha realizado su
práctica de forma satisfactoria, ésta se debe realizar en un Centro Asociado bajo la
supervisión de un tutor, quien decide, en última instancia, la forma en la cual se organiza
el desarrollo de la misma en su Centro Asociado (número de sesiones presenciales
obligatorias, forma de entrega, etc.) 11

De vez en cuando sucede que un estudiante se pone en contacto con un Equipo Docente
del Departamento de Lenguajes y Sistemas Informáticos (L.S.I.) porque se ha
matriculado en una asignatura obligatoria en un Centro Asociado que no le proporciona
un tutor para supervisar la práctica, aun cuando se le ha permitido matricularse. El
estudiante busca en el Equipo Docente que se le proporcione una solución a este
problema, como por ejemplo, la posibilidad de asistir a unas sesiones extraordinarias de
prácticas en la Sede Central de la U.N.E.D. en Madrid o la posibilidad de realizar la
práctica por su cuenta en casa, enviándola a continuación al Equipo Docente para su
corrección. Sin embargo, los Equipos Docentes de L.S.I. no disponen de recursos para
poder llevar a cabo ninguna de estas dos alternativas.

Un Centro Asociado que ha permitido a un estudiante matricularse en una asignatura


obligatoria de una carrera de Informática debería ayudarle a encontrar una solución al
problema de la realización de las prácticas. Si se trata de una asignatura donde no se
han matriculado muchos estudiantes, quizás el centro no cuente con recursos para
proporcionar un tutor específicamente para la asignatura. Si hay otro Centro Asociado
cerca que dispone de tutor, quizás el estudiante pueda realizar la práctica allí. Pero si no
es así, el Centro Asociado debería proporcionar un tutor para supervisar y corregir las
prácticas de sus estudiantes. Lo más razonable sería que fuera un tutor de otra
asignatura de Informática en el mismo Centro el que hiciera la sesión de prácticas para
los estudiantes de la asignatura en cuestión, y al final de la sesión evaluara los trabajos
de los estudiantes, según las pautas marcadas por el Equipo Docente, haciendo llegar a
éste las calificaciones otorgadas.

Por lo tanto, un estudiante que, tras haberse matriculado en una asignatura obligatoria
en un Centro Asociado, se encuentre con que el centro no tiene tutor para dicha
asignatura, debería dirigirse al Director del Centro Asociado, para solicitar de él una
solución, tal como se ha presentado aquí, es decir, alguien que pueda supervisar y
corregir su práctica con plenas garantías. En el caso de que el director no le proporcione
una solución, el estudiante debería comunicárselo, por escrito, lo antes posible, al
Director del Departamento de L.S.I., Dra. Dª. Lourdes Araujo.

Práctica 2018-2019

También podría gustarte