Вы находитесь на странице: 1из 12

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 1.Facturació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 (JOptionPane.showInputDialog) 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 (JOptionPane.showMessageDialog) 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

(JOptionPane.showInputDialog) 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 (JOptionPane.showInputDialog) 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 (JOptionPane.showMessageDialog) 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 2.Control 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 3.Salir: 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

https://mediacionvirtual.ucr.ac.cr/pluginfile.php/627785/mod_assign/intro/Proyecto%20Progr

amado%202019.pdf

Вам также может понравиться