Está en la página 1de 5

Algoritmos y Programación I (75.

40)
Trabajo Práctico No2

Primer cuatrimestre 2014

1. Introducción
El departamento de contabilidad de una importante droguerı́a requiere de
una actualización al programa que utilizan. Necesitan que les permita hacer
consultas sobre su nueva base de datos, en la que almacenan información de
las compras de medicamentos que realizaron sus clientes en el perı́odo de un
mes.
Considerando que la información está almacenada en archivos csv, su
influenciable gerencia ha aceptado que parte de la aplicación sea desarrollada
por un grupo de estudiantes de ingenierı́a que se encuentra estudiando el uso
de archivos. Para abaratar costos planean reutilizar la interfaz del sistema
anterior, casualmente programado en el lenguaje usado por el curso.
También se incluye un conjunto de pruebas realizadas en base a algunos
archivos con información ficticia, con el objetivo de agilizar el proceso de
desarrollo.

2. Consultas
2.1. Archivo de entrada
El programa deberá permitir procesar información referida a las ventas
de la droguerı́a desde un archivo csv. En el fichero, cada lı́nea representa una
venta y tiene los campos:

CLIENTE, CODIGO, PRODUCTO, CANTIDAD, PRECIO

en donde “cantidad” es la cantidad de unidades vendidas en la compra y


“precio” es el precio unitario del producto.

1
Sin embargo, aún no se sabe si el orden de los campos será ese, por lo que
el programa deberá identificarlos de acuerdo a la cabecera del archivo.

Un ejemplo válido, entonces, podrı́a ser:

CODIGO,PRODUCTO,CLIENTE,CANTIDAD,PRECIO
00001,ALIVIOL 3000,FARMACIA NUEVA CHINGOLO,1.00,24.500
00042,CLONAPLEX 400 X12,LONGCHAMPS MEDICAL CENTER,1.00,34.132
020102,PARAMITOL 2MG FRASX20,CLIENTE PARTICULAR 00,4.00,12.00
31100,RESACAL X2,CENTRO DE CUIDADOS VILLA URQUIZA,2.00,15.00

Es necesario que se contemplen, también, los siguientes casos:

Que el archivo de datos de entrada sea inexistente.

Que algún registro tenga una cantidad inválida de campos.

Que algún campo de “código” no sea vacı́o.

Que algún campo de “cantidad” no contenga un número entero.

Que algún campo de “precio” no contenga un valor decimal.

en dónde se espera que el programa imprima un mensaje informando el error


correspondiente.

2.2. Consultas
El programa deberá poder realizar las siguientes consultas:

Listar todos los productos que compró un cliente.

Listar todos los clientes que compraron un determinado producto.

Listar los n productos más vendidos.

Listar los n clientes que más plata gastaron.

Además, para facilitarle el trabajo a los usuarios de la aplicación, la


búsqueda por producto o por cliente debe poder permitir el ingreso del nom-
bre parcial; de esta manera no es necesario que los empleados del departa-
mento de contabilidad recuerden los nombres completos de los medicamentos
ni de los clientes.

2
Por ejemplo, si se ingresa como nombre de cliente:

FARMA

se le mostrará un menú para que seleccione entre todas los clientes cuyo
nombre contenga la cadena ingresada:

FARMACIAS MUNRO.

FARMACIA DEL SUR.

FARMACIA NUEVA CHINGOLO.

FARMACENTER GLEW.

2.3. Archivo de salida


Finalmente, es necesario que el resultado de todas las consultas sea ex-
portado a un archivo de texto. El formato del archivo será libre, siempre y
cuando se muestre la totalidad del resultado obtenido y una descripción de
la consulta realizada.
El nombre del archivo tendrá el siguiente formato:

resultados <MMDD> <HHmmSS>.txt

siendo:

MMDD: el mes y dı́a del año en qué se realizó la consulta.

HHmmSS: la hora en la que se realizó la consulta.

3. Consigna
Como se desea reutilizar parte de un sistema ya existente, se encuentra a
nuestra disposición la interfaz con la que va a interactuar el usuario final del
producto.
La aplicación se divide en cuatro módulos: farmasoft, que es el punto de
entrada de la aplicación; interaccion usuario, que maneja la entrada de
texto por parte de los usuarios, realizando las validaciones correspondientes;
consultas, que es dónde deberán estar implementadas la lectura del archivo
y las consultas a la base de datos; y salida resultados, que es en dónde se
realizará la exportación de resultados a un archivo de texto.

3
Como las funciones más importantes del trabajo están separadas de la
interacción con el usuario fue posible realizar un conjunto de pruebas. De
esta manera se puede verificar que los resultados obtenidos son correctos
mientras se desarrollan las funciones. Se incluyen dichas pruebas en el módulo
pruebas consultas.
La tarea de los alumnos es la de implementar la totalidad de los módulos
de consultas y de salida resultados, teniendo en cuenta que se pueden
agregar todas las funciones auxiliares que crean necesarias. Como algunas
consultas fueron añadidas recientemente y no están siendo probadas, además
es necesario que se agreguen pruebas para las funciones que no tienen. Los
archivos de farmasoft e interaccion usuario no deben ser modifica-
dos.

4. Criterios de aprobación
A continuación describimos criterios y lineamientos que deben respetarse
en el desarrollo del trabajo:

4.1. Informe
El informe deberá consistir en una descripción del diseño del programa.
Recordar que la etapa de diseño es anterior a la implementación,
por lo tanto lo que debe estar explicado en esta sección, utilizando texto
y/o diagramas, es cómo se va a estructurar el código para cumplir con las
especificaciones de la consigna.
Algunas preguntas que deberı́an responderse:

A grandes rasgos, ¿cómo será el flujo del programa?

¿Qué estructura se utilizará para representar la información del archi-


vo?

4.2. Programa
Además de satisfacer la especificación de la consigna, el programa debe
cumplir con los siguientes requerimientos:

No debe fallar ninguna prueba.

Debe estar adecuadamente estructurado y modularizado, utilizando


funciones definidas en forma lo más genérica posible.

4
El código debe ser claro y legible.

Todas las funciones deben estar adecuadamente documentadas, y donde


sea necesario el código debe estar acompañado de comentarios.

5. Entrega
La entrega del trabajo consiste en:

El informe y código fuente impresos. Para el código fuente utilizar una


tipografı́a monoespaciada.

El informe digital, en formato .pdf

Una versión digital de todos archivos de código fuente, separados del


informe. En el caso de ser más de un archivo, comprimidos en un .zip.

El informe impreso debe entregarse en clase. Los dos últimos (PDF y códi-
go fuente) deben enviarse a la dirección electrónica tps.7540rw@gmail.com
con el asunto “TP2 - <Padrón>”.
Este trabajo práctico se desarrolla en forma individual. El plazo de
entrega vence el lunes 12 de mayo de 2014.

También podría gustarte