0 calificaciones0% encontró este documento útil (0 votos)
199 vistas4 páginas
Un documento describe un caso de estudio para un sistema de puntos de fidelización para clientes de un supermercado. El sistema gestionará cuentas de puntos para clientes, registrando datos de compras y canjes de premios. Las cuentas se ordenarán por atributo y las operaciones por fecha. Se requiere modelar el sistema usando programación orientada a objetos en Smalltalk para llevar a cabo funciones como abrir/cerrar cuentas, realizar compras/canjes, y consultar saldos y estadísticas.
Descripción original:
Título original
[Nicolás] Trabajo Práctico Integrador nro. 1 - Programación Orientada a Objetos.pdf
Un documento describe un caso de estudio para un sistema de puntos de fidelización para clientes de un supermercado. El sistema gestionará cuentas de puntos para clientes, registrando datos de compras y canjes de premios. Las cuentas se ordenarán por atributo y las operaciones por fecha. Se requiere modelar el sistema usando programación orientada a objetos en Smalltalk para llevar a cabo funciones como abrir/cerrar cuentas, realizar compras/canjes, y consultar saldos y estadísticas.
Un documento describe un caso de estudio para un sistema de puntos de fidelización para clientes de un supermercado. El sistema gestionará cuentas de puntos para clientes, registrando datos de compras y canjes de premios. Las cuentas se ordenarán por atributo y las operaciones por fecha. Se requiere modelar el sistema usando programación orientada a objetos en Smalltalk para llevar a cabo funciones como abrir/cerrar cuentas, realizar compras/canjes, y consultar saldos y estadísticas.
Universidad Tecnolgica Nacional FRC Ingeniera en Sistemas de Informacin
Paradigmas de Programacin Curso: 2k3 Ciclo: 2014
Autor: Ing. Nicols Colacioppo Pgina 1 de 4
Trabajo Prctico Integrador Nro 1.
Unidad 4: Paradigma orientado a objetos.
Temas: Objetos y mensajes en Smalltalk. Uso de ventanas en Smalltalk. Mensajes unarios, binarios y de palabras claves. Bloques. Composicin de clases. Abstraccin. Encapsulamiento. Herencia. Polimorfismo. Colecciones. Objetivos: Integrar los contenidos prcticos correspondientes a la programacin orientada a objetos. Reforzar las destrezas necesarias para resolver una situacin problemtica utilizando la programacin orientada a objetos en Smalltalk. Modelar una solucin de un problema mediante el paradigma orientado a objetos.
Caso de Estudio: Una importante cadena de supermercados necesita implementar un sistema de cuentas de puntos para cada uno de los clientes que deseen su cuenta de puntos, la cual le posibilitar ir sumando puntos con sus compras y luego poder canjearlos por premios segn la cantidad de puntos acumulados en el saldo de la tarjeta de puntos. Por tal motivo, la firma de este supermercado requiere un sistema orientado a objetos que permita gestionar informacin referente a las cuentas de puntos que administra para sus clientes. A la empresa le interesa registrar de los clientes los siguientes datos: nmero de D.N.I., apellido, nombre y la cuenta de puntos que le perteneciera. Cada cliente, slo podr tener una nica cuenta de puntos como mximo. De cada cuenta le interesa registrar: nmero de cuenta de puntos, fecha y hora de apertura, fecha y hora de finalizacin (se asigna cuando se da de baja la cuenta de puntos), saldo de puntos disponibles, y todas las operaciones realizadas. Cada cuenta de puntos tiene un nmero nico, el cual no deber repetirse en ninguna otra cuenta de puntos de esta empresa. Las operaciones que se registran en cada cuenta de puntos pueden ser: compras o canjes por premios. Si es una compra se registran: fecha y hora de la compra, importe total facturado en dicha compra, tipo de cobro (1: contado efectivo, 2: dbito automtico, 3: tarjeta de crdito). En caso de haberse cobrado mediante alguna tarjeta de crdito se deber registrar el nmero de tarjeta de crdito y la cantidad de cuotas. De los canjes por premios se registran: fecha y hora del canje, importe en pesos [$] del premio, forma de entrega del premio (1: entrega en el propio supermercado, 2: entrega a domicilio). En el caso de los canjes de premios con entrega a domicilio se deber registrar el importe en pesos [$] del viaje de entrega al domicilio. El supermercado necesita gestionar las cuentas de puntos de sus clientes, las cuales debern estar ordenadas ascendientemente por el o los atributos que considere ms apropiado a su criterio (se deber justificar la eleccin). Universidad Tecnolgica Nacional FRC Ingeniera en Sistemas de Informacin Paradigmas de Programacin Curso: 2k3 Ciclo: 2014
Autor: Ing. Nicols Colacioppo Pgina 2 de 4
Las operaciones debern estar ordenadas segn su realizacin (desde la ms reciente hasta la ms antigua).
Consideraciones: Al realizarse cada operacin, se deber actualizar el saldo de puntos disponibles, siempre y cuando la operacin solicitada sea vlida. El clculo del puntaje a actualizar sobre el saldo de la cuenta de puntos, depender de la clase de operacin, y de las caractersticas propias de cada una, tal como se detalla a continuacin: En el caso de las compras, el puntaje a actualizar ser positivo, sumndose de esta forma al saldo de la cuenta de puntos correspondiente (aumentar el puntaje del saldo de puntos), y depender del importe facturado y del tipo de cobro con el que se haya realizado: Compra con cobro contado efectivo, el puntaje a actualizar ser igual al 20% del importe en pesos [$] facturado en dicha compra. Compra con cobro dbito automtico, el puntaje a actualizar ser igual al 15% del importe en pesos [$] facturado en dicha compra. Compra con cobro tarjeta de crdito, el puntaje a actualizar ser igual al 12% del importe en pesos [$] facturado en dicha compra en caso de pagarse en 6 cuotas o menos; o ser igual al 10% del importe en pesos [$] facturado en dicha compra en caso de pagarse en ms de 6 cuotas. En el caso de los canjes por premios, el puntaje a actualizar ser negativo, sumndose de esta forma al saldo de la cuenta de puntos correspondiente (disminuir el puntaje del saldo de puntos), y depender del valor en puntos del premio y de la forma de entrega del premio al cliente: Canje de premio con entrega en el propio supermercado: simplemente el puntaje a actualizar es igual al importe en pesos [$] del premio. Canje de premio con entrega a domicilio del cliente: el puntaje a actualizar es igual al importe en pesos [$] del premio ms el importe en pesos [$] del envo del premio al domicilio.
Recuerde que la operacin de canje del premio slo podr efectuarse si el saldo de puntos de dicha cuenta es mayor a igual total de puntos que se descontarn por tal canje. Tenga en cuenta que es condicin necesaria para realizar cualquier operacin, que la cuenta de puntos del cliente est abierta (no deber estar cerrada).
Se deber poder realizar mnimamente lo siguiente: Dar de alta un nuevo cliente del supermercado. Abrirle a un cierto cliente una cuenta de puntos (recuerde que no se podrn crear ms de una cuenta con el mismo nmero). Cerrar una cuenta de puntos. En este caso, la cuenta de puntos sigue existiendo (no se elimina), pero se encuentra cerrada (no se puede utilizar ms). Se deber especificar el DNI del cliente y el nmero de cuenta de puntos a cerrar, debiendo existir y corresponderse ambos objetos (si bien cada cuenta es nica, pero se deber corresponder con la que tenga abierta, un determinado cliente). Dar de baja una cuenta de puntos. En este caso, se deber eliminar definitivamente la cuenta de puntos. Se deber especificar el DNI del cliente y el nmero de cuenta de puntos a eliminar, debiendo existir y corresponderse ambos objetos (si bien cada cuenta de puntos es nica, pero se deber corresponder con la que tenga abierta, un determinado cliente). Comprar cierto importe en pesos [$] asociado a una determinada cuenta de puntos, realizando las validaciones pertinentes. Se deber especificar el DNI del cliente, el nmero de cuenta de puntos en cuestin y la operacin completa correspondiente. Universidad Tecnolgica Nacional FRC Ingeniera en Sistemas de Informacin Paradigmas de Programacin Curso: 2k3 Ciclo: 2014
Autor: Ing. Nicols Colacioppo Pgina 3 de 4
Canjear un premio de cierto importe en pesos [$] de una determinada cuenta de puntos, realizando las validaciones pertinentes. Se deber especificar el DNI del cliente, el nmero de cuenta de puntos en cuestin y la operacin completa correspondiente. Conocer el saldo promedio de puntos de todas las cuentas de puntos. Conocer los datos las operaciones (especificando adems el nombre de la clase de operacin de la cual se trate), ordenadas descendentemente por fecha y hora de realizacin, pertenecientes a una determinada cuenta de puntos durante un periodo de tiempo especificado (fecha desde y fecha hasta). Se deber especificar el DNI del cliente, el nmero de cuenta de puntos en cuestin, la fecha desde y la fecha hasta. Conocer la cantidad de compras realizadas por un determinado cliente. Se deber especificar el DNI del cliente y el nmero de cuenta de puntos en cuestin. Conocer el importe total en pesos [$] de todas las compras que realiz un determinado cliente. Se deber especificar el DNI del cliente y el nmero de cuenta de puntos en cuestin. Conocer el porcentaje de clientes cuya cuenta se encuentre cerrada. Conocer la cantidad de canjes de premios realizados efectivamente por un determinado cliente. Se deber especificar el DNI del cliente y el nmero de cuenta de puntos en cuestin. Conocer el saldo total de puntos entre todas las cuentas de puntos cuya cantidad de operaciones sea superior a x. Se deber especificar la cantidad x de referencia. Conocer los datos de las operaciones de una determinada cuenta de puntos cuyo puntaje a actualizar sea superior a cierto valor x. Se deber especificar el DNI del cliente, el nmero de cuenta de puntos en cuestin, y el puntaje x de referencia. Mostrar los datos de todos los clientes del supermercado, ordenados ascendentemente por apellido y nombre, que tengan un saldo de puntos superior a cierto valor x. Se deber especificar el saldo de puntos x de referencia. Dar de baja un cliente del supermercado. Se deber especificar el DNI del cliente. Sera recomendable que en caso de tener una cuenta de puntos abierta, advertir la situacin y pedir confirmacin antes de proceder con la baja definitiva del cliente.
Consignas generales: Define adecuadamente la jerarqua de clases, y asigna en cada clase los atributos y mtodos que correspondan segn el criterio del grupo. Realizar el diagrama de clases completo correspondiente a la solucin de la situacin problemtica anterior. Realiza la codificacin completa en Smalltalk de todas las clases involucradas en el diseo de la solucin problemtica. Escribe las lneas de cdigo necesarias en la ventana Workspace para hacer funcionar el programa y verifica en la ventana Transcript todas las salidas de informacin generadas. Ten presente de realizar SIEMPRE las validaciones de los objetos que se ingresan por teclado o que se reciben como colaboradores en los mtodos modificadores y de negocio. Realiza comentarios pertinentes en cada mtodo. Para cada mtodo que implementes especifica, adems, a modo de comentario si es un mtodo unario, binario o de palabra clave (en este ltimo caso, indica de cuntas palabras claves es el mtodo).
Universidad Tecnolgica Nacional FRC Ingeniera en Sistemas de Informacin Paradigmas de Programacin Curso: 2k3 Ciclo: 2014
Autor: Ing. Nicols Colacioppo Pgina 4 de 4
Criterios de evaluacin: Identificacin de todas las clases involucradas, y asignacin correcta de atributos y responsabilidades de cada una. Adecuado diseo del diagrama de clases: jerarqua de clases y dems relaciones bien especificadas y representadas, etc. Claridad y completitud del diagrama de clases. Prolijidad en la codificacin en Smalltalk: identificadores, comentarios, envo de mensajes, etc. Manejo adecuado de TODAS las propiedades esenciales de la programacin orientada a objetos en la resolucin propuesta. Delegacin apropiada de responsabilidades en las clases involucradas. Validaciones. Correcta utilizacin de mtodos: unarios; binarios; de palabras clave: de una, dos, y ms palabras claves. Se debern utilizar todos estos tipos de mensajes en la resolucin propuesta en forma adecuada. Eleccin y uso apropiado de las colecciones en cada caso. Variedad de mensajes utilizados de las diferentes colecciones utilizadas, y de otros objetos. Uso de mensajes especficos tanto de colecciones como de otros objetos, para cada caso. Correcta identificacin y usos de mtodos polimrficos. Generacin y visualizacin correcta de todas las salidas de informacin. Cumplimiento de todas las responsabilidades solicitadas.
Condiciones generales de entrega: Este trabajo se deber realizar en grupos. Cada integrante deber subir el trabajo, conforme el reglamento trabajos prcticos, explicado en clases. Todos los integrantes del grupo debern nombrar el archivo comprimido de la misma forma. Ejemplo: TP1_NroLeg1erIntegranteApellido1erIntegrante_NroLeg2doIntegranteApellido2doIntegrente_NroLeg3erI ntegranteApellido3erIntegrante. El orden en el cual debern colocar los legajos y apellidos cada integrante en el nombre del archivo comprimido ser de acuerdo al orden alfabtico de los apellidos de los integrantes, desde la A hasta la Z. El hecho de no cumplir con esta especificacin podr implicar que se descuenten hasta 2 puntos sobre 10 en la nota del presente trabajo. Se deber subir una carpeta comprimida que contenga en su interior el archivo .ST correspondiente a la codificacin en Smalltalk; un archivo de texto con el cdigo necesario a colocar en la ventana WorkSpace para hacer funcionar el programa; y el diagrama de clases completo correspondiente a la solucin de la situacin problemtica anteriormente explicada. Plazo mximo de entrega de este trabajo: HASTA el 10/09/2014 hasta las 23:55 hs. Todas las consultas de este TP1 pueden realizarlas a travs del foro del aula virtual. xito a todos!