Practica de programacion
Enviado por monirojasa • 23 de Febrero de 2020 • Trabajo • 1.032 Palabras (5 Páginas) • 153 Visitas
Universidad Técnica Nacional Curso: Programación I
Profesor: Mainor Alonso Morales González. Proyecto #1.
Fecha de entrega: 16/03/2020. Valor: 25%
- Objetivo:
Dominar la sintaxis y conceptos básicos de prograación en Java, adquirir familiaridad con el entorno de desarrollo Netbeans, aplicar los conceptos de orientación a objetos estudiados en clase, utilizar estructuras de datos tipo array y practicar el acceso y manipulación de archivos de texto.
Problema:
Se desea implementar un sistema que sirva para analizar las ventas de un negocio tipo retail, para ello se provee un archivo con extensión .csv separado por punto y coma con la información de ventas de un mes, cada columna de datos separada en el archivo tiene el siguiente significado:
- Id: numeral de documento de venta
- Fecha documento: fecha de la transacción
- Cliente: identificador del cliente que compró (pueden haber transacciones sin cliente)
- Tipo de documento: factura o nota de crédito
- Artículo: código del producto vendido
- Descripción de artículo: descripción del producto vendido
- Cantidad: unidades vendidas del producto
- Costo unitario
- Utilidad: monto de ganancia por el producto vendido
- Precio sin impuestos
- Porcentaje de descuento
- Monto de descuento
- Porcentaje de impuesto
- Monto de impuesto
- Precio final: precio del producto con descuentos e impuestos aplicados
- Total: monto total de la línea de venta con descuentos e impuestos aplicados
Una transacción ya sea de tipo factura o nota de crédito esta compuesta por una o varias líneas del archivo, el dato unificador de la información es el campo Id al que pertenecen, que al pertenecer al mismo documento tendrán el mismo valor.
La información se encuentra dispersa en ese archivo de texto con formato y se requiere que el estudiante diseñe y desarrolle una solución de software que permita generar la carga del archivo y poder realizar las siguientes acciones:
- Cargar el archivo de texto al sistema.
- El dato de fecha debe ser separado en 3 campos: día, mes y año
- Poder consultar y visualizar en pantalla como un tiquete de caja de un documento completo con base en un Id solicitado al usuario.
- Consulta resumen del monto total de venta, impuestos, descuentos, costos y utilidades de:
- un día en específico (se solicita el número de día, el archivo tiene datos de un mes completo, si se desea evaluar todo el mes se suministra un valor en blanco)
- documentos de preferencia: solo facturas, solo notas de crédito o ambos (en la última opción las notas de crédito suman con valor negativo)
- artículo de preferencia: se ingresa un código, si se sumistra en blanco esto quiere decir que se desea incluir a todos.
- cliente de preferencia: se ingresa un código, si se sumistra en blanco esto quiere decir que se desea incluir a todos.
- salida de la consulta: pantalla, archivo de texto o ambas.
- Consultas top 10 en pantalla:
- Top 10 de clientes de mayor facturación
- Top 10 de artículos de mayor venta
- Top 10 de artículos de mayor utilidad
Las opciones 2, 3 y 4 del sistema no deberán funcionar si no se ha cargado previamente el archivo al sistema.
Detalles adicionales:
- Deberá hacer una aplicación java orientada a objetos con clases de lógica separadas de las clases de manejo del flujo de interacción con el usuario (como se ha visto en clase).
- El sistema está para desarrollarse en modo consola, queda a gusto del estudiante si lo implementa con interfaz de escritorio (no hay puntos extra).
- Se deberá validar la entrada de datos (datos numéricos, letras mayúsculas y minúsculas) para minimizar las caídas del sistema.
- Debe respetar los estándares de programación, documentación e identación estudiados en clase.
- Si el programa no corre o no cumple con algunos de los aspectos mencionados en este enunciado la nota queda a criterio del profesor.
- Los grupos pueden ser de máximo 2 integrantes.
- El día de la entrega se hará una defensa del proyecto, donde los estudiantes deberán responder todas las dudas tanto del funcionamiento como de la implementación del código que tenga el profesor.
Esta revisión se hará tipo exposición frente a todos los demás compañeros. Si no hace defensa del proyecto el estudiante perderá la totalidad de los puntos del proyecto.
- Se utilizará para la defensa otro archivo como base para revisar, el profesor lo traerá ese día, por tanto debe respetarse la estructura del archivo suministrado.
Entregables:
- Aplicación Java desarrollada en Netbeans
- Reporte en forma digital siguiendo el siguiente formato:
- Portada.
- Tabla de contenidos.
- Diagrama(s) de clases, diagramas de flujo de los algoritmos de carga y consulta de datos y cualquier otro material de diseño que explique como diseño su solución.
- Discusión de resultados.
- Referencias bibliográficas.
- Presentación ppt con el contenido del reporte digital para el día de la defensa
- Todo debe empacarse en un archivo compreso en formato ZIP con el nombre Proyecto1_ Nombre1Apellido1_ Nombre2Apellido2
Criterios de evaluación del codigo:
La evaluación se hace basada en “defectos”, los tipos de defectos a revisar son los siguientes:
- Ausencia de documentación interna (comentarios en el código).
- Mala identación del código.
- Irrespeto a estándares de codificación.
- Faltas ortográficas.
- Mal diseño y mala aplicación de conceptos de orientación a objetos.
- Ausencia de validaciones mínimas.
- Problemas de lógica.
La calificación se hace basada en el número de defectos detectados en la revisión:
- Bueno (1 a 4 defectos): obtiene el 100% de los puntos.
- Aceptable (5 a 7 defectos): obtiene el 75% de los puntos.
- Regular (8 a 10 defectos): obtiene el 50% de los puntos.
- Malo (11 o más defectos): obtiene 0% de los puntos.
6. Tabla de evaluación del proyecto:
Item a evaluar | Puntaje |
Aplicativo Java evaluado según criterios de sección 5 de este documento | 85 |
Documentación y ppt | 5 |
Exposición y defensa (sujeto a punto 3.g) | 10 |
Total | 100 |
...