Universidad de Costa Rica Sede regional del pacífico
Documentación Externa (Proyecto Programado)
Edualter Fernández Jiménez
Dagoberto Salas Cordero
Andrey Ramírez Vargas
Prof. Susan Chen.
Bach. Informática Empresarial
2019
Documentación Externa
Descripción del problema
-Primer problema según lo estipulado en el documento, Proyecto Programado I Ciclo
(2019), que solicita lo siguiente:
Desarrolle una aplicación en java para una Ferretería llamada “FerrePuerto”. El sistema debe
permitir realizar la facturación de productos y el control de caja. Y luego mostrar el siguiente
menú (p.1):
Menú principal:
1. Facturación de productos
2. Control de caja
3. Salir
El cual ha sido realizado con el ciclo (do while o haga mientras) donde la opción debe ser
igual o diferente de 3 ya que como especifica el problema tiene tres opciones y la última es la
tercera que es donde acaba este ciclo también para hacer el menú se grado en una variable
llamada (opcionMenuPrincipal) donde se guarda la opción escogida esto en el código fuente.
-Segundo problema es el siguiente:
“En la opción [Link]ón de productos, se debe pedir los datos del cliente que va a realizar
la compra: nombre, dirección, cédula y teléfono” (p.1).
Que se hizo una variable para cada uno de los datos solicitados por la aplicación y mediante el
comando ([Link]) se solicitaron la información para cada una de las
variables que luego serán utilizadas para entregar mediante un mensaje cuando se necesario
dentro del programa y con esto se llega solución de este problema.
-El tercer problema es el siguiente:
“Luego, debe presentar un menú que contenga:
a- Compra de madera: donde se le debe solicitar al comprador cuantos metros cuadrados de
madera desea (cada metro cuadrado tienen un monto de 25 mil colones)” (p.1).Que lo que se
utilizo fue un ciclo llamado (do while) donde dentro de este se hizo un menú con una variable
(opcionSegundoMenu) Para guardar la opción escogida que en este caso tiene que ser
diferente de (f) ya que esta es la última opción que el usuario puede elegir para volver al menú
principal entonces el programa debe leer que una opción que sea diferente a esta manda un
mensaje en pantalla con el comando ([Link]) diciendo “error digito
incorrecto” esto según el código fuente en su primera parte.
-Con este mismo método se resolvió el cuarto problema de este mismo menú el cual
despliega la siguiente información:
b- Compra de pintura: el cual arroja otro menú que presente las opción de:
1- Roja (donde se le debe solicitar al comprador cuantos galones desea comprar).
2- Verde (donde se le debe solicitar al comprador cuantos galones desea comprar).
3- Amarilla (donde se le debe solicitar al comprador cuantos galones desea comprar) (p.1-2)).
Donde en cada una de estas opciones se desarrolló con el método mencionado anteriormente para
el menú y luego en cada uno de estas opciones se le solicito una información al usuario para ser
procesada por el código fuente que a su vez la almacena esta fue pedida con un comando
([Link]) que guarda la información solicitada y se hizo una variable para
cada opción del (opcionTercerMenu) donde se guarda la opción elegida.
-En el quinto problema que dice:
“c- Compra de cemento: donde se le debe solicitar al comprador cuantos metros cuadrados de
cemento desea (cada metro cuadrado tiene un monto de 50 mil colones)” (p.2).
Que se abarco con el comando también ([Link]) se guardó en la variable
(cemento) y también se conservó el dato del precio del cemento para hacer el cálculo más
adelante:
-El sexto problema dice:
“d- Compra de zinc: donde se le debe solicitar al comprador cuantas láminas desea (cada una
tiene un monto de 10 mil colones)” (p.2). Se resolvió al igual que la opción (c) con la diferencia
que se guardó en una variable llamada (zinc) y también se guardó el precio para el cálculo.
-El séptimo problema dice:
e- Ver facturación final: debe mostrar cada uno de los productos que se han comprado,
especificando la cantidad y los montos respectivamente, subtotal, descuento y el monto total
de la compra, además, la información del cliente, todo en un solo mensaje. Tenga presente
que el monto total de la compra debe tener un descuento de la siguiente manera, si el subtotal
(suma de los precios de los productos comprados) es menor a 100.000 colones se aplica un
descuento de 5%, si es mayor o igual a 100.000 pero menor que 300.000 un 10% y si es
mayor o igual a 300.000 un 20% (p.2).
Que con un mensaje en pantalla con el comando ([Link]) se
especifica cada uno de los detalles que el código fuente proceso, en este mensaje se
concatenaron las variables necesarias para que el mensaje de la información que el problema
propone todo el cálculo se realizara en el código fuente.
En el octavo problema:
“f- Salir del menú de facturación, que debe regresarlos al menú principal” (p.2)
Cuando el usuario digite esta opción toma importancia el (do while) mencionado
anteriormente ya que este realiza todo el proceso anterior hasta que el usuario digite la opción (f)
Luego de esto es traslado mediante el código fuente hasta el menú principal donde volvemos a
otro problema que es el siguiente:
“En la opción [Link] de caja: se debe mostrar un mensaje indicando el monto total que se
encuentra en caja como resultado de todas las compras” (p.2).
Se resolvió al igual que el problema el séptimo problema cambiando algunas variables a la
hora de concatenarlas.
En la última opción del menú principal que dice:
“En la opción [Link]: es aquí donde se debe cerrar el sistema, mientras no se seleccione esta
opción el usuario puede seguir realizando facturas y cierres de caja para ver el total que se ha
vendido” (p.2).
Está resuelta similar al primer problema donde entra en función el (do while) especificado en
este, el ciclo termina en esta opción ya que es igual a tres como se especificó también se utiliza el
método utilizado en el séptimo problema pero esta vez concatenando el total vendido.
En el caso de las clases que él, Proyecto Programado I Ciclo 2019,dice que hay que tomar en
cuenta se explicara más en descripción de las clases utilizadas.
Descripción de las clases utilizadas
En la clase u objeto llamado (Cliente) se utilizó un método constructor el cual contiene los
atributos de tipo “String o cadena” y “int o entero” donde se almacena los datos que el usuario
digite cuando el código fuente los solicite los cuales son:
“Atributos: nombre, cédula, número de teléfono y dirección” (p.2).
Luego de esto se utilizó los métodos “set y get” que el set lo que hace es almacenar la
información y el get obtener esta para la hora que se ocupe en el la clase principal se pueda
extraer de esta. Todo este proceso digitado por medio del código fuente donde cada uno de estos
atributos tiene su método get y set respectivo para ser utilizado en diferentes clases y que sea
reutilizable.
En la clase u objeto llamado (Pintura) al igual que el objeto anterior se consideraron los
atributos en el método constructor los cuales son: “Atributos: color, precio y unidades” (p.2).
Color una variable de tipo String para guardar la información del color de pintura que el
usuario desea, precio y unidades de tipo entero ya que serán utilizadas de cálculo en la clase
principal FerrePuerto, luego de esto cada atributo también posee su respectivo método set y get
especificados en el código fuente.
Como necesidad a la hora de llevar el control de la información se decidió ampliar las clases u
objetos que son las siguientes.
En la clase u objeto llamado (Madera) se consideran los atributos en el método constructor de
tipo String que es el nombre y el precio de tipo entero ya también el precio de la madera debe ser
guardado para el cálculo en la clase principal FerrePuerto.
En la clase u objeto llamado (Cemento) tiene atributos de tipo String que es el nombre y de
tipo entero que es el precio al igual que en el objeto o clase Madera estas a su vez consideradas
en el método constructor. Como en todos los objetos también tiene cada atributo un método set y
get respectivo.
En la clase u objeto llamado (Zinc) es lo mismo que en los objetos anteriores.
Y por último en la clase llamada (FerrePuerto) se procede a llamar todas estas clases u objetos
que algunas serán “llenadas” o cagadas con la información que provee el usuario o las variables
ya estipuladas por él, Proyecto Programado I Ciclo 2019. También esta contiene el método
(main) que es donde el código fuente realiza todas la operaciones necesarias que serán brindadas
al usuario como también la utilización de los objetos que serán llenados con variables necesarias
dentro de este método principal y donde se almacenara la información hasta que otro cliente le
provea al programa nuevos datos.
Representación UML de cada clase
Primer objeto (Cliente).
Cliente
-Nombre
-Cedula
-Número de teléfono
-Dirección
+Método Contructor(String nombre, String cedula, String
dirección ,int numeroTelefono):public
+Método setNombre(String)
+ Método setCedula(String)
+ Método setDireccion(String)
+Método setNumeroTelefono(integer)
+Método getNombre(integer):String
+ Método getCedula(integer):String
+ Método getDireccion(integer):String
+Método getNumeroTelefono(integer):integer
Pintura
-Nombre
-Color
-Precio
-Unidades
+Método Contructor (String color, int precio ,int
unidades):public
+Método setColor(String)
+ Método setPrecio(integer)
+ Método setUnidades(integer)
+Método getColor(integer):String
+ Método getPrecio(integer):integer
+ Método getUnidades(integer):integer
Madera
-Nombre
-Precio
+Método Contructor (String nombre, int):public
+Método setNombre(String)
+ Método setPrecio(integer)
+ Método getNombre(integer):String
+Método getPrecio(integer):integer
Cemento
-Nombre
-Precio
+Método Contructor (String nombre, int precio):public
+Método setNombre(String)
+ Método setPrecio(integer)
+ Método getNombre(integer):String
+ Método getPrecio(integer):integer
+ Método getUnidades(integer):integer
Zinc
-Nombre
-Precio
+Método Contructor (String nombre, int precio):public
+Método setNombre(String)
+ Método setPrecio(integer)
+ Método getNombre(integer):String
+ Método getPrecio(integer):integer
+ Método getUnidades(integer):integer
FerrePuerto
//Los siguientes atributos fueron puestos de esta manera ya que poner todos hacia el Uml muy grande
entonces se pusieron los comentarios hechos en las variables del código fuente.
-Opciones de los menús y numero de teléfono para método cliente.
- Cantidad de unidades por comprar.
- Total general de cada tipo de material, total facturas= subtotal.
- Total a pagar final, grn total variable acumulativa para cierre de caja.
- Nombre
-Cedula
-Dirección;
-Detalle="";
+Método main (String args[]):void
Limitaciones de la aplicación
Las limitaciones de la aplicación fue cuando en algunas veces se tuvo que consular algunas
cosas que no habíamos visto en el curso o no se practicaron, que dieron una limitación a la hora
del código fuente, otra es que si no se lleva un buen orden o buenos hábitos de programación
puede llegar a causar confusión debido a la cantidad de líneas que lleva el programa en fin una
buen orden, practica y búsqueda de información se puede reducir estas limitaciones a la hora de
programar.
Referencias bibliográficas
Introducción a la computación e Informática (2019).Proyecto Programado I Ciclo 2019.
BACHILLERATO EN INFOMÁTICA EMPRESARIAL. Universidad de Costa Rica Sede del
Pacifico. Recuperado de
[Link]
amado%[Link]