Implementación de las funciones básicas de un cajero automático PDF

Title Implementación de las funciones básicas de un cajero automático
Course Programacion Orientada a Objetos
Institution Tecnológico Argos
Pages 13
File Size 389.4 KB
File Type PDF
Total Downloads 262
Total Views 310

Summary

Tecnológico Universitario ArgosFranklin Raúl Espinoza ContrerasFabrizio Giovanni Zurita MalavéFranklin Freddy Gamboa BedorJosé Luis Mejía PlúasLeonardo Francisco Sánchez MendozaMiller Van Morales TigreroImplementación de las funciones básicas de un cajero automático.ARGOS_2021F3_COM395_29 de noviemb...


Description

Tecnológico Universitario Argos

Franklin Raúl Espinoza Contreras Fabrizio Giovanni Zurita Malavé Franklin Freddy Gamboa Bedor José Luis Mejía Plúas Leonardo Francisco Sánchez Mendoza Miller Van Morales Tigrero

Implementación de las funciones básicas de un cajero automático. ARGOS_2021F3_COM395_55

29 de noviembre del 2021

Introducción En el Presente ensayo es plasmamos mediante código, podemos cubrir necesidades o crear soluciones a problemas mediante la programación orientada a objeto (POO), empleando como base principal el lenguaje Java para el desarrollo de programas, sistemas, aplicaciones móviles o cualquier herramienta de software en respuestas a las problemáticas que surgen durante nuestras actividades cotidianas. La POO surge de las limitaciones y desventajas existentes en la programación estructurada como: líneas de códigos secuenciales difíciles de analizar, entender o corregir, también nos libra del muy conocido código espagueti es decir la poca legibilidad ocasionada por el montón de condicionales anidadas unas con otras. En concreto la programación orientada a objeto es una guía, plantilla o molde denominada clase de donde se crearán objetos. Los objetos tienen atributos (datos o propiedades) y métodos (funciones, comportamientos o acciones). La POO posee 4 características principales que trazan la ruta hacia suplir alguna necesidad o problema empezando con el proceso de abstracción donde el programador deberá invertir tiempo en analizar, entender y darle una correcta lectura a la situación del problema para lograr identificar los objetos y también definir los atributos y métodos de una clase. Delante de cada atributo o método se asigna un símbolo para especificar su visibilidad estos son: (-) para privado, (+) para público, (#) para protegido, (~) para paquete o defecto, este sería el proceso de encapsulamiento. Reutilización de código sería nuestra tercera característica, tiene como finalidad evitar la duplicación de bloques de código que incrementan la dificultad para realizar algún cambio, luego de nuestro proceso inicial de abstracción podemos detectar todos los atributos y métodos que tienen en común los objetos, permitiéndonos generar una superclase (clase padre) con ellos, esto nos permite establecer una relación con una subclase(clase hijo) donde todos los atributos y métodos contenidos en la superclase se heredan, traspasan a la subclase, todo este proceso se define como herencia. Nuestra última característica es el Polimorfismo definición ligada a la herencia, en resumen, varios objetos pueden contener un mismo método, pero cada uno ejecutar la acción a su manera. Después de abordar los conceptos básicos y detallar las características de la POO nuestro proyecto tiene como objetivo específico aplicar todo el conocimiento adquirido sobre POO para crear un programa que simule las operaciones básicas de un cajero automático. Empezaremos resumiendo todo lo relacionado con cajeros automáticos y operaciones básicas que realiza. Además, realizaremos una comprobación del manejo del usuario mediante el manejo de excepciones. Diseñaremos un diagrama de clase UML. El proyecto final será una mezcla del trabajo individual de cada integrante del equipo para lograr el enriquecimiento de este.

Desarrollo

Historia del cajero automático La historia de los cajeros automáticos no es tan obsoleta como las tarjetas bancarias. Al inicio las tarjetas de crédito se captaron en los Estados Unidos en la década del siglo XX. Luther George Simjiam era un armario que nació en Armenia, Su pasión era el funcionamiento de las cosas por ende pasó toda su vida inventando, entre unos de sus inventos fue el cajero automático. En 1939 este invento fabricó 20 nuevos prototipos. Para entonces era residente de New York por lo que persuadió a Citicorp para que probara su ingenio. Desafortunadamente esto fue muy anticipado a su tiempo, esto solo fue usado por usuarios que no querían ser vistos por trabajadores del banco por lo tanto el banco se dispuso a cerrarlo (BBVA,2020). En los años 60 fue el hito que marcó la generación de cajeros, nace el primer cajero en 1967 el cual fue instalado por. Jhon Shepherd Barrón quien trabajaba para una empresa que contaba monedas, una vez fue al banco a cambiar un billete, y por un minuto que llego tarde no lo atendieron, regreso a casa con la idea de que como hacer algo parecido a las máquinas dispensadoras de caramelos y esté disponible las 24 horas, y de ahí nace la idea del cajero. Un cajero automático, es una máquina con tecnología computarizada, la cual ejecuta un proceso mediante una solicitud de un usuario, cumpliendo así su funcionabilidad, el cliente de un banco disponga de su dinero las 24 horas, en la actualidad se puede manejar diferentes modalidades para hacer una transacción ya sea tarjetas de débito y crédito, incluso hoy en día se puede hacer sin tarjetas. Actualmente no existe una definición única para el concepto de arquitectura de software, el término ha sido abordado por un gran número de autores,1 no obstante, se reconoce como la definición más completa la dada por la IEEE Std 1471-2000: "La arquitectura de software es la organización fundamental de un sistema enmarcada en sus componentes, las relaciones entre ellos, y el ambiente, y los principios que orientan su diseño y evolución" (Dolores. A, Guillermo.L,2016).

En la actualidad la arquitectura de software se sobreentiende que es una forma de organización de manera prioritaria para crear componentes y así representarlos de manera conjunta y lograr una interacción entre ambos. Las formas de representación se las puede denominar en estilos, diseños y patrones arquitectónicos. Java en la actualidad nos permite desarrollar miles de tipos de aplicaciones y con la gran ventaja que todo desarrollo es multiplataforma, puede ser utilizado casi en todo SO, todo ejecutable de java es interpretado por la máquina virtual java, gracias a ello se ahorra muchos recursos en la programación del mismo, ya que no es necesario incluir las librerías en los paquetes creados IDE, entorno de desarrollo integrado, su funcionalidad es permitir el desarrollo de aplicaciones partiendo de un conjunto de componentes llamados módulos. En Java un archivo manifest file lo identificamos como módulo, toda aplicación que hayan sido desarrolladas a partir de módulos tienen la gran ventaja de ser extendidas agregando más módulos, debido que puede tener independencia al momento de su desarrollo el NetBeans, Eclipse, IntelliJ Idea, BlueJ, entre otros.

NetBeans, siendo un entorno de programación para escritorios el cual podemos desarrollar aplicaciones orientada a objetos, java el lenguaje que nos permite partir de un conjunto, uno de los ide con más soporte al nivel mundial, gracias a su gran uso por la comunidad de desarrolladores, podemos destacar que también es un IDE de código abierto dando sus primeras apariciones en el año 2000. Para programar en Java, comandos básicos ● ●

System.out.println, mostrar mensaje en pantalla. scanner, Capturar datos.

● ● ●

Equales, método string función comparar cadenas. for, verifica una o distintas líneas del código. input,lee datos del usuario por teclas.

● ●

if, se usa para declarar el si o no expresión lógica. else, se usa para declarar el caso contrario del si o no expresión lógica.



Swift case, ejecución de diferentes partes del código en función del valor de la expresión. ● break, sale de un bucle de forma inmediata.

Definir las operaciones básicas de un cajero automático: La principal función de un cajero automático es liberar tiempo y consumo de recursos para la agencia bancaria que brinda el servicio, para cada uno de sus usuarios y el mismo tenga las facilidades de disponer de un servicio que optimiza su tiempo. De manera que el usuario sin la necesidad de asistir a la entidad financiera mediante el cajero podrá realizar las siguientes operaciones como: ●



● ●

El usuario previo a realizar alguna operación en el cajero deberá pasar por un proceso de verificación mediante el ingreso de su tarjeta de débito o crédito más la digitación de su clave, si la verificación es exitosa el usuario queda habilitado para efectuar la operación que necesite. El cajero brinda permiso de acceso a su cuenta bancaria para realizar retiros de dinero en efectivo y también impresión de comprobante del movimiento si lo desea. El usuario podrá obtener un reporte de movimientos y consulta de su saldo actual. Para los que gustan del uso de tarjetas de crédito el cajero les permitirá realizar avances en efectivo.

● ●

El cliente tiene la posibilidad de realizar el cambio de su clave. En la actualidad un cajero brinda la opción de retiro sin tarjeta mediante el envío de un código temporal desde la aplicación móvil del usuario hacia un número telefónico seleccionado por él.



Todo usuario desde el cajero podrá bloquear su tarjeta en casos de sentirse vulnerada su seguridad por algún robo.



Existen cajeros automáticos que proporcionan la opción para realizar depósitos de cheques o dinero en efectivo.

Imagen 1

Autoría Propia Imagen 2

Autoría Propia

Clases ● ● ● ● ● ● ●

AccesoUsuario, ListarTransaccion Transacciones, clase padre para las clases siguientes Depósito Retiro Transferencia Cambio clave, solicita parámetros para actualiza la clave

Métodos ● ● ● ● ● ● ● ● ● ● ●

Verificausuario() , verifica el usuario receptarDinero(), ambiente de captura el depósito retirarDinero(), ambiente de retiro de dinero para el usuario tranferirDinero() ambiente transfiere a otras cuenta de usuarios informeCuenta(), estado de cuenta y historial cambiarClave(), cambia de clave depositar(), ejecuta la transacción de crédito en la cuenta transferir() ejecuta la transacción de transferencia retirar() ejecuta la transacción de débito en la cuenta regresar(), regreso a la venta anterior salir(), sale del sistema

Ciertamente, unos de los principales problemas que existen en codificaciones extensas donde el número de objetos e interacciones entre ellos es que se generan diversos conflictos en que cualquier método pueda tener acceso. Por lo tanto, es importante conocer el programa de encapsulamiento ya que una de sus características es poder limitar el acceso de datos con un manejo controlado y con validación para su acceso (Styde, 2016). A su vez, por medio de clases como plantillas el encapsulamiento logra que los atributos y métodos sean de uso privados usando la palabra “prívate” donde su función es ocultar del estado una clase. Por último, la implementación de estos métodos se basa de la siguiente forma donde se identifica el comienzo por get o set con mayúscula. Es necesario describir el uso del programa basado en características como herencia y polimorfismo y el ámbito de variable ya que estas son importantes en la programación. Ciertamente, el programa basado en la característica de herencia permite definir nuevas clases basada en ya existentes a fin de reutilizar el código donde este genera una jerarquía de clase donde está hereda sus métodos y atributos para así añadir o redefinir a los nuevos métodos y atributos. A su vez, una de las mayores ventajas que ofrece la herencia es el ahorro de tiempo, ya que al heredar métodos y atributos resulta más rápido crear un programa. En el lenguaje de programación Java la herencia se deriva de otra clase llamada superclase y la clase derivada sería subclase (geek , 2019). Por lo tanto, la palabra clave extends se usa para extender su subclase donde el objeto es la raíz jerárquica de herencia y es la única que no se va a otro tipo de clase. Por último, en el programa la característica del polimorfismo se denomina al objeto donde posee la capacidad de poder responder al evento en función de parámetros en su invocación

ya que puede contener valores diferentes en su ejecución. Es decir, este consigue que un objeto se comporte como cualesquiera subclases mediante el uso de los punteros a la superclase (Cevallos, 2019). Por último, en java se usa de la siguiente forma Superclase sup = new (Subclase).



Definir la funcionalidad de cada clase (Métodos y atributos creados para el proyecto

A continuación se da a conocer los métodos y atributos creado para el proyecto. Es necesario, describir su funcionamiento por lo tanto una clase en primer lugar se deberá instanciar o definir su llamado al programar como “class”, continuando con el ejemplo de auto al definir su clase podría basarse en características tales como el modelo, color, marca después se deberá establecer las diversas funciones o métodos get () y set () en los atributos establecido, el cual permita recuperar o modificar la información del parámetro establecido (Perpiñan, 2020). Por lo tanto, el funcionamiento de la clase y métodos que se establecerá dentro de la implementación del cajero automático (Ver Anexos – Tabla 2), se basará en: Tabla 2 Clase y método del cajero automático Características AccesoUsuario, ListarTransaccion (Depósito, Retiro, Transferencias, cambio clave)

Funciones o métodos       



Verificausuario() , verifica el usuario receptarDinero(), ambiente de captura el depósito retirarDinero(), ambiente de retiro de dinero para el usuario tranferirDinero() ambiente transfiere a otras cuenta de usuarios informeCuenta(), estado de cuenta e historial cambiarClave(), cambia de clave depositar(), ejecuta la transacción de crédito en la cuenta

Describir como se implementa

Ciertamente, unos de los principales problemas que existen en codificaciones extensas donde el número de objetos e interacciones entre ellos es que se generan diversos conflictos en que cualquier método pueda tener acceso. Por lo tanto, es importante conocer el programa de encapsulamiento ya que una de sus características es poder limitar el acceso de datos con un manejo controlado y con validación para su acceso (Styde, 2016). A su vez, por medio de clases como plantillas el encapsulamiento logra que los atributos y métodos sean de uso privados usando la palabra “prívate” donde su función es ocultar del estado una clase. Por

último, la implementación de estos métodos se basa de la siguiente forma donde se identifica el comienzo por get o set con mayúscula. Es necesario describir el uso del programa basado en características como herencia y polimorfismo y el ámbito de variable ya que estas son importantes en la programación. Ciertamente, el programa basado en la característica de herencia permite definir nuevas clases basada en ya existentes a fin de reutilizar el código donde este genera una jerarquía de clase donde esta hereda sus métodos y atributos para así añadir o redefinir a los nuevos métodos y atributos. A su vez, una de las mayores ventajas que ofrecen la herencia es el ahorro de tiempo, ya que al heredar métodos y atributos resulta más rápido crear un programa. Por último, se da a conocer como se implementará el programa del cajero automático por medio de la programación de JAVA (Tabla 2- Anexos). Tabla 2 Implementación de cada segmento en el “Cajero Automático” Características o clase principal del Cajero Automático 1. AccesoUsuario, 2. ListarTransaccion (Depósito, Retiro,

Transferencias, cambio clave)

Funciones o métodos

     



Verificausuario() , verifica el usuario receptarDinero(), ambiente de captura el depósito retirarDinero(), ambiente de retiro de dinero para el usuario tranferirDinero() ambiente transfiere a otras cuenta de usuarios informeCuenta(), estado de cuenta y historial cambiarClave(), cambia de clave depositar(), ejecuta la transacción de crédito en la cuenta

3. Transacciones, clase padre para las

clases siguientes Depósit

    

Verificausuario() , verifica el usuario transferir() ejecuta la transacción de transferencia retirar() ejecuta la transacción de débito en la cuenta regresar(), regreso a la venta anterior salir(), sale del sistema

4. Transacciones, clase padre para las

clases siguientes Retiro

  

Verificausuario() , verifica el usuario retirar() ejecuta la transacción de débito en la cuenta regresar(), regreso a la venta anterior



salir(), sale del sistema

 

Verificausuario() , verifica el usuario transferir() ejecuta la transacción de transferencia retirar() ejecuta la transacción de débito en la cuenta regresar(), regreso a la venta anterior salir(), sale del sistema

5. Transacciones, clase padre para las

clases siguientes Transferencia

  

6. Cambio clave, solicita parámetros

para actualiza la clave

   

Interfaz gráfica

Autoría propia.

Verificausuario() , verifica el usuario CambiarClave(), cambia de clave regresar(), regreso a la venta anterior salir(), sale del sistema

Conclusión Nuestro equipo se enfocó en aplicar procedimientos, técnicas para buscar y examinar fuentes de información verificables que sustenten nuestra investigación, logrando recolectar información confiable sobre la programación orientada a objetos. Así pues, la base de la POO inicialmente nos guía hacia un proceso de abstracción previo a ir directamente a generar código, donde el programador deberá tomarse un tiempo para observar, entender y pensar en todo lo que está ocurriendo dentro de un problema e identificar todos los elementos que intervienen en él, en POO todos estos elementos serán objetos de ahí el término orientación a objeto. Es decir, habitualmente el programador deberá practicar tres actividades de forma recurrente empezando con el análisis donde deberá observar los problemas en forma de objetos, para luego plasmarlo en un diagrama UML y luego para finalizar pasar el diagrama a lenguaje de programación. Entonces la programación orientada a objeto es una guía, plantilla o molde denominada clase de donde se crearán objetos. Los objetos tienen atributos (datos o propiedades) y métodos (funciones, comportamientos o acciones). En resumen, la POO posee 4 propiedades clave estas son la abstracción, el encapsulamiento, el polimorfismo y la herencia, todo este conjunto de propiedades permiten simplificar la generación de código mediante un diseño modular ósea subdividir en pequeñas partes nuestro programa o módulos para que cada uno funcione de manera independiente. De manera que el programador evitará crear líneas de código secuencial a cambio podrá reutilizar código, en consecuencia, puede crear códigos cortos, legibles fáciles de entender, analizar y corregir obviamente esto permitirá que el programa sea extremadamente sencillo de mantener y depurar errores, esto evitará el colapso del programa, por su estructura modular provocando una respuesta inmediata a los problemas durante el proceso de programación. En conclusión, nuestro equipo después del proceso de investigación y análisis de información se esforzó para aplicar cada conocimiento adquirido referente a POO para crear un programa que simule las operaciones básicas de un cajero automático. El siguiente proyecto se basó en la Implementación de un cajero automático con operaciones básicas tales como consultar, retiro, deposito, transferencia y clave del usuario. Ciertamente, durante el proyecto se dio a conocer en que se basa la programación orientada a objetos y su debida aplicación del mismo. Por otro lado, dentro del desarrollo y definición de las operaciones básica del cajero automática se desarrolló el diagrama de clases el cual es una herramienta para comunicar el diseño del programa representado rectángulos que poseen tres divisiones tales como es la clase, atributo y su mensaje y este diagrama permitiendo las diversas relaciones. El implementar las funciones básicas del siguiente programa es necesario conocer que es clase y métodos. Por lo tanto, una clase ...


Similar Free PDFs