Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Contabilidad y finanzas, Apuntes de Contabilidad

Contabilidad y finanzas Contabilidad y finanzas Contabilidad y finanzas

Tipo: Apuntes

2021/2022

Subido el 23/01/2023

lorena-alejandra-castillejo-montoya
lorena-alejandra-castillejo-montoya 🇵🇪

6 documentos

Vista previa parcial del texto

¡Descarga Contabilidad y finanzas y más Apuntes en PDF de Contabilidad solo en Docsity! FACULTAD DE INGENIERÍA CICLO: 2022-11-12 CURSO: TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS NRC: 6918 DOCENTE DEL CURSO: DOCENTE: LENIN FROY ARCE HUAMÁN TEMA: INFORME DEL PROYECTO INTEGRADOR TÍTULO: DESARROLLO E IMPLEMENTACIÓN DE SOFTWARE PARA APUESTAS DEPORTIVAS “EASYBET” PRESENTADO POR: • Camila Stephanie Corzo Cabrejos • Adriana Ysabel Espinoza De la Cruz • Moisés Alejandro Echevarría Ibáñez • Juan Diego Flores De la Cruz • Jorge Francesco Elcorrobarrutia Chávez ÍNDICE I Alcance del proyecto integrador: ..................................................................... 1 II Marco teórico .................................................................................................. 1 III Definición de objetivos: .................................................................................... 2 A. Objetivo General: ...............................................................................................2 B. Objetivos Específicos: ....................................................................................... 2 IV Lista de requerimientos: .................................................................................... 2 V Diagrama de clases ............................................................................................ 4 VI Descripción detallada del diagrama: .................................................................4 VII Investigación sobre “Librerías en Java” ................................................................... 4 VIII Criterios de aceptación de los requerimientos .............................................. 15 IX Investigación sobre Archivos en Java ............................................................. 17 X Manual de almacenamiento de Clases Java utilizadas en el proyecto SADE ....20 XI Bibliografía ..................................................................................................... 21 3 11. Presentar una advertencia si no se completó el usuario al momento de ingresar. 12. Presentar una advertencia si no se completó la contraseña al momento de ingresar. 13. Presentar una advertencia si la contraseña ingresada es incorrecta. 14. Presentar una advertencia si el usuario ingresado es incorrecto. 15. Presentar una advertencia de cuantos intentos le quedan para ingresar. 16. Presentar una advertencia si en el partido de Alemania vs Perú, no hay ningún dato. 17. Presentar una advertencia si en el partido de Alemania vs Perú, no hay un monto apostado. 18. Presentar una advertencia si en el partido de Alemania vs Perú, no hay un resultado seleccionado. 19. Presentar una advertencia si en el partido de Ecuador vs Colombia, no hay ningún dato. 20. Presentar una advertencia si en el partido de Ecuador vs Colombia, no hay un monto apostado. 21. Presentar una advertencia si en el partido de Ecuador vs Colombia, no hay un resultado seleccionado. 22. Presentar una advertencia si en el partido de Chile vs Argentina, no hay ningún dato. 23. Presentar una advertencia si en el partido de Chile vs Argentina, no hay un monto apostado. 24. Presentar una advertencia si en el partido de Chile vs Argentina, no hay un resultado seleccionado. 25. Cuando el monto sea igual a 0, genere una restricción que solicite ingresar una cantidad para aumentar. 26. Cuando desee cerrar sesión, me pregunte 1 vez si la petición ingresada es correcta. 27. Presentar una advertencia si no se completó el Equipo favorito al momento de registrarse. 28. Presentar una advertencia si el usuario que quiere registrarse usa un usuario que ya existe. 29. Presentar una advertencia si el usuario buscado no se encuentra 30. Presentar una advertencia si faltan datos en mantenimiento. 4 V Diagrama de clases: VI Descripción detallada del diagrama: VII Investigación sobre “Librerías en Java” Según señala Deitel y Harvey (2008) con respecto a la definición de las colecciones: “Una colección es una estructura de datos (en realidad, un objeto) que puede guardar referencias a otros objetos”. Además, menciona que dichas referencias son 5 particularmente del mismo tipo. Asimismo, se enfatiza la gran utilidad que tienen las colecciones de Java para la programación, ya que se reutiliza el código de las estructuras de datos. Entre los beneficios se encuentra la rapidez, eficiencia, rendimiento, mejoras en tiempos de ejecución y optimizar el espacio en RAM. Las clases y las interfaces del marco de trabajo de colecciones son miembros del paquete java.util. Collection es una de las principales estructuras de este tema. Además, existen clases dentro de esta, que brindan nuevos usos y también, nuevas restricciones. Cabe mencionar las operaciones básicas: add(object), iterator(), size() y constains(t). Asimismo, Collection presenta una secuencia llamada List que se encuentra ordenado y que puede contener elementos duplicados. De igual manera que los índices de los arreglos, List presenta índices desde cero como primer elemento. Además, List brinda funciones para configurar elementos relacionados a sus índices para editar un rango de selección, búsqueda y obtener datos de objetos por ListIterator. Cabe mencionar que, la interfaz de esta secuencia está estructurada por clases, por ejemplo: ArrayList, LinkedList y Vector. “Las clases ArrayList y Vector son implementaciones de un objeto List como arreglos que pueden modificar su tamaño. List contiene 3 implementaciones: ArrayList, Vector y LinkedList” (Deitel y Harvey, 2008, p. 793). Por un lado, se encuentra ArrayList, dicha clase permite el almacenamiento de la información como un arreglo, con la principal diferencia que es dinámico, crece a medida que se ingresan nuevos elementos en vez de datos y/o tamaños fijos de un arreglo. Cabe resaltar loe métodos de ArrayList, los cuales son: add(x), get(x), size(), remove(x), set(), etc. Por otro lado, la segunda clase principal de la secuencia List es LinkedList o lista enlazada. En esta última clase, los nodos se enlazan por medio de punteros, que como bien se sabe estos hacen referencia a objetos en memoria, además, almacenan información sobre la posición del inmediato anterior y del superior para mantener un enlace del orden que deben presentar. Al respecto de la clase Arrays, esta “proporciona métodos static para manipular arreglos también proporciona métodos de alto nivel, como sort para ordenar un arreglo, binarySearch para buscar en un arreglo ordenado, equals para comparar arreglos y fill para colocar valores en un arreglo.” (Deitel y Harvey, 2008, p. 793) Finalmente, se concluye que el espacio de trabajo que se desarrolla con el paquete de Colecciones presentará a su vez algoritmos de alto rendimiento que permitirán el acceso, manipulación, entre otras funciones útiles, hacia los elementos que se encuentren programados y almacenados en una colección de Java. 4. Clases: Historial_Conexion(Creación de ArrayList): T package Conexiones; port Java.sql.Resultsez;[) public class Historial Conexicn ( public ArrayList<Usuaric> MostrarcorMatrizi) ( Conexion cn = new Cenexicr(); Arraylist<Usuaric> milista = new ArrayListeUsuario)(); Usuario apuesta; try! ] catch (Exception el ( retuzn milista; Statement 51 = cn.ccnectar() .createStatement (); Resultset 1s = s=.execzteQuery ("select * from registroapuestas") ; while (25.nexc())( apuesta=new Usuario(0,null, null, null, null, 0,mull, 0, mull,mull, 0,0,mull, mul. apuesta. serCodigo Apuesta (Integer. parseínt(rs.getString("Codigo_Apuesza")))5 apuesta. setEquipcBlecido(rs.cetStringi"opción Elegida") ); apuesta. setMontcApostado (Integer.parseínt(rs.getString("Monto Aposzado")))5 apuesta. se=Eszado(rs.cetitring("Estado Apuesta")); apuesta.seztanancia (Double. perseDoubie(rs.getsString["Ganancia"))); milista.add(apuesta); J 15.close(); st.close()5 Syster..out.prin=ln(e.cetMessagel)):; Jopticnzane.showkessegeDizlogínull, "Error al Consultar", "Error", JOpticnZane. ERROR MESSAGE) ; public Arraylist<Usuario> consultarápuesta [String est: ArraylistcUsuario> lista=new Arzaylist<Usuario> 1); try [ Ccnexion cn = new Conexicn(); Statement st = en.conectar () .createStatement (); Resultset rs=st.executeuery ("Select * fron registrcapuestas where Estado Apuesta like '*"+testadot"2""); Usuario apuesta; while (15.next()) ( apuestasnew Usuario(0,mull, mull,nulld, null, 0,null, 0, null,null,0,0,nu11,null, 0); apuesta.setCodico Acuesta (Integer. parsent(rs.gesScring("Codigo Apuesta")))5 apuesta. sstequiposlegido (1s.getstringi"opción slegida")]; apuesta.setMontoApostado (Integer. parseínt (rs. cez8cring("Monto Apostado"))); apuesta. setestedo(rs.gerString ("Estado Apuesta"); apuesta. setGanancia (Double. parseDouble(rs.cet3tring("canancia"))); lista add(apuesta); ? 15.close(); s=.close(); ) catch (Exception e) ( ) return lista; 5. Clases: Control de Datos: PACagE CONEMIOnES? [+ import java.sql.connection;(] public class Controlbatos [ private Conexion conexion: private Usuario registro; private Connection cn; private ResultSet Resultado; > public ControlDatos () (| conexion = new Conexion()7 registro = new Usuario(0,mull, mull,null,null, 0,mull, 0, null,mull,0,0,mull,null,0); ) o public void insertar(String nombre, String apellido, String correo, String equipo, ¿nt núnero_Tarj String fecha, int cvv, String usuario, String contraseña) ( PreparedStatement ps1; String sql; registro. setiombre (nombre) ; registro.setápellido (apellido); registro. setCorreo (correo) registro.setilímero Tarjeta (núnero Tarjeta); registro. setFecha (fecha) ; registro.setcWV(cwW); registro. setusuario(usuario); registro.setcontraseña (contraseña) ; registro. setequipo (equipo) ; ty en = conexion.conectar(); sql = "insert into datos (Nombre, Apellido, Correo, Número Tarjeta, Fecha, CVV, Equipo, Usuario, Contraseña) values (2, ps] = cn.prepareStatement (sql) psl.setString(1, registro.getNombre ()); psl.setString(2, registro.getapellido()); psl.setstring(3, registro.getcorreo()); psl.setInt(4, registro.getiúnero_Tarjeta()); psl.setstring(5, registro.getPecha()); psl.setint(6, registro.getcWW()); ps].setstring(7, registro.getEquipo()); psl.setstring(8, regiscro.getusuario()); ps1.setstring(9, registro.gercontraseña ()); int res = ps].executevpdate(); 1£(re9>0) Joptiontane. shotessageDialogímull, "Se ha Registrado con Éxito!1"); Jelse y 20 T Joptionrane.shouMessagepialogímull, "Error al Registrar!"); 1 Jcatch (SqLException e) (| JoptionPane.shomkessageDialog(mull, "Error de conexión:" + e.germessage()); 6 ? ) . public void modificar (1nt id, String nombre, String apellido, String correo, String equipo, int núnero Tarjeta, String fecha, int cVY, String usuario, String contraseña) ( PreparedStatement ps1; String sal; 6 registro.setld(id) 6 registro. setiombre (nombre) ; registro. setápellido (apellido) registro. setCorreo (correo); registro. setiúnero_Tarjeta (núnero_Tarje registro. setFecha (fecha) ; registro. setcwV(cvV) ; registro. setUsuario (usuario); registro. setcontraseña (contraseña) ; registro. setequipo (equipo); en = conexion.conectar (); sql = "UPDATE datos SET Nombre=2, Apellido=2, Corre 9 ps] = cn.prepareStatenent (sql); pol.setstring(l, registro.getombre () ps1.setstring(2, registro.getapellido()) 2 psl-setstring(3, registro.gercorreo())7 3 psL.setint(4, registro.getiúmero_tarjeta()); ps1.setstring(5, registro. getPecha (): 5 psl.setint(6, registro.getcwW()); 6 psl.setstring(7, registro. getEquipo() psl.setstringíó, registro.getUsuario()); psl.setstring(9, registro. getcontraseña()); ps1.setrnt (10, registro. getrd()); int res = psl.executeUpdate(); 1£ (20930) ( JOptionPane. shoxbessageDialog(mull, "Usuario Modificado! !") 3 else ( 9: JOptionBane.showiessageDielogímull, "Error al Modificar Usuario!!"); , Fecha=2,CUV- ,Equipo=2,Usuari 2 Py 7< Teaten(SQLException e) 1 3 JOptionBane. shouHessagenialogímull, "Error de conexión:" + e.getMessage()); , 2 , public votd eliminar(dnt 4) ( s PreparedStatement psi. String sal; registro. setid(id); tel en = conexion.conectar(); s Sql = "DELETE FROM datos Where 1d=2"; psi = cn.preparestatenent (=31) .setInt (1, registro.get1d()); Ant res = ps!.executeUpdate () Le (20930) 1 14 JOptionBane. shouWessagepialog(mull, "Usuario Eliminado! 1 jols JOptionBane. shouessageDialog(mull, "Error al Eliminar Usuario!1"); )catehísgLException e) 4 JOptionPane. shouHessagepialogímull, "Error de conexión:" + e.getMessage()); 4 , public votd RegistropuestaaP( ¿nt codigo,1nt monto, String equipoelegido, String estado, double ganancia) t Preparedstatenent 9937 String sql; registro. setcodigo Apuesta (codigo); registro, registro. a registro. registro. setcanancia (ganancia) 7 34 teyl en = conexion.conectar(); sql = "insert into registroapuestas (Codigo_Apuesta, Opción Elegida, Monto_Apostado, Estado_Apuesta, Ganancia) values(2,2,7,2,2)"% ps3 = cn.preparestatement (331); 3 ps3.setint(l, registro.getcodigo Apuesta ()); ps3.setstring(2, registro. getequipoBlegido()) + a ps3.setInt(3, registro. getmontoapostado()); 7 PST SeEStriOgTA, registro -getEstado())r laz ps3.setpouble(S, registro-getGanancia ()); Las Ps3.executeupdate () 48 catch (Exception e) ( 4 JOptionPane. showkessageDialog(mull, "Error de conexión:" + e.getMessage()); 46 , la , public void Registroapuestaca(dnt codigo, Ant monto, String equipoelegido, String estado, double ganancia) 1 t 2 Preparedstatenent pst .setcodigo Apuesta (codigo); registro. setaquipoBlegido (equipoelegi 6 registro. setmontoRpostado (monto) registro. setistado (estado) ; s registro.setGanancia (ganancia) 7 s En 6 en = conexion.conectar () 1 sql = "insert into registroapuestas (Codigo Apuesta, Opción Blegida,Monto_Apostado, Estado Apuesta, Ganancia) values(2,2,7,2,2)"; 6 pst = cn.preparestatement (Sql) 6 ps4.setInt(l, registro.getcodigo Apuesta()); Los pst.setstring(2, registro. getequipoBlegido()); E ps4.setímt(3, registro. getmontoApostado ()) 66 ps4.setstrángíA, registro.getEstado()); 7 pst-setnouble(S, registro-getcanancia ()); ho ps4-executeupdate () )eatehíSQLException e) JOptionpane. Showkessagenielog(mull, "Error de conexión:" + e.germessage (0): 1 3 1 4 public void RegistroApuestaEc( ánt codigo,Ant monto, String equipoelegido, String estado, double ganancia) 1 76 PreparedStatenent pe57 String sql registro. setcodigo Apuesta (codigo) ; registro. setaquipoBlegido (equipoelegido); registro. setmontoRpostado (monto) ; 1 registro. setístado (estado) 2 registro.setcanancia (ganancia) ; en = conexion.conectar(); sql = "insert into registroapuestas (Codigo Apuesta, Opción Blegida, Monto_Apostado, Estado_Apuesta, Ganancia) values (?, ps5 = cn.prepareStatenent (51) ; psS.setInt(l, registro.getcodigo Apuesta()); psS.setstring(2, registro.getEquipoBlegido ()); ps5.setint(3, registro.getMontoapostado ()); psS.setstring(4, registro.getEstado ()); ps5.setDouble(5, registro-gerGanancia())7 po5.executeupdate () 7 )cateh (SQLException e) (| JOptionPane. showMessagenialogímull, "Error de conexiór + e.getmessage()); ) 10 13 10. GUI de Partidos: 11. GUI de Chile vs Argentina: 14 12. GUI de Ecuador vs Colombia: 13. GUI de Alemania vs Perú: 15 14. GUI de Historial de apuestas: VIII Criterios de aceptación de los requerimientos 1. Sobre el requerimiento #1: El sistema le va a solicitar el usuario, y la contraseña, además del nombre, apellido, correo electrónico, número de tarjeta, fecha de vencimiento, cvv y equipo favorito. 2. Sobre el requerimiento #2: El sistema mostrara un mensaje si es que no se completó el usuario. 3. Sobre el requerimiento #3: El sistema mostrara un mensaje si es que no se completó el equipo favorito. 4. Sobre el requerimiento #4: El sistema mostrara un mensaje si es que no se completó el correo electrónico. 5. Sobre el requerimiento #5: El sistema mostrara un mensaje si es que no se completó el nombre. 6. Sobre el requerimiento #6: El sistema mostrara un mensaje si es que no se completó el apellido. 7. Sobre el requerimiento #7: El sistema mostrara un mensaje si es que no se completó el número de tarjeta. 8. Sobre el requerimiento #8: El sistema mostrara un mensaje si es que no se completó la fecha de caducidad. 18 Los archivos que se crean usando flujos basados en bytes se conocen como archivos binarios, mientras que los archivos que se crean usando flujos basados en caracteres se conocen como archivos de texto. Los archivos de texto se pueden leer con editores de texto, mientras que los archivos binarios se leen mediante un programa que convierte los datos en un formato que pueden leer los humanos. Un programa de Java abre un archivo creando un objeto y asociándole un flujo de bytes o de caracteres. Java crea tres objetos flujo que se asocian con dispositivos cuando un programa de Java empieza a ejecutarse: System.in, System.out y System.err El objeto System.in (el objeto flujo de entrada estándar) generalmente permite a un programa recibir bytes desde el teclado; el objeto System.out (el objeto flujo estándar de salida) generalmente permite a un programa mostrar datos en la pantalla; y el objeto System.err (el objeto flujo estándar de error) generalmente permite a un programa mostrar mensajes de error en la pantalla. Cada uno de estos flujos puede redirigirse. Para System.in, esta capacidad permite al programa leer bytes desde un origen distinto. Para System.out y System.err, esta capacidad permite que la salida se envíe a una ubicación distinta, como un archivo en disco. La clase System proporciona los métodos setIn, setOut y setErr para redirigir los flujos estándar de entrada, salida y error, respectivamente. Los programas de Java realizan el procesamiento de archivos utilizando clases del paquete java.io. Este paquete incluye definiciones para las clases de flujo como FileInputStream (para la entrada basada en bytes desde un archivo), FileOutputStream (para la salida basada en bytes hacia un archivo), FileReader (para la entrada basada en caracteres desde un archivo) y FileWriter (para la salida basada en caracteres hacia un archivo). Los archivos se abren creando objetos de estas clases de flujos, que heredan de las clases InputStream, OutputStream, Reader y Writer, respectivamente (más adelante en este capítulo hablaremos sobre estas clases). Por lo tanto, los métodos de estas clases de flujos pueden aplicarse a los flujos de archivos también. Java contiene clases que permiten al programador realizar operaciones de entrada y salida con objetos o variables de tipos de datos primitivos. Los datos se siguen 19 almacenando como bytes o caracteres tras bambalinas, lo cual permite al programador leer o escribir datos en forma de enteros, cadenas u otros tipos de datos, sin tener que preocuparse por los detalles acerca de convertir dichos valores al formato de bytes. Para realizar dichas operaciones de entrada y salida, pueden usarse objetos de las clases ObjectInputStream, y ObjectOutputStream junto con las clases de flujos de archivos basadas en bytes FileInputStream y FileOutputStream. Clase File: La clase File es especialmente útil para recuperar información acerca de un archivo o directorio de un disco. Los objetos de la clase File no abren archivos ni proporcionan herramientas para procesarlos. No obstante, los objetos File se utilizan frecuentemente con objetos de otras clases de java.io para especificar los archivos o directorios que van a manipularse. La clase File proporciona cuatro constructores. El constructor public File (String nombre) especifica el nombre de un archivo o directorio que se asociará con el objeto File. El nombre puede contener información sobre la ruta, así como el nombre de un archivo o directorio. La ruta de un archivo o directorio especifica su ubicación en el disco. La ruta incluye algunos o todos los directorios que conducen a ese archivo o directorio. Una ruta absoluta contiene todos los directorios, empezando con el directorio raíz, que conducen a un archivo o directorio específico. Cada archivo o directorio en un disco duro específico tiene el mismo directorio raíz en su ruta. Una ruta relativa normalmente empieza desde el directorio en el que la aplicación empezó a ejecutarse y es, por lo tanto, una ruta “relativa” al directorio actual. 20 1. Creación de Base de Datos con nombre “registro”: 2. Creación de Tabla dentro de la Base de Datos con nombre “datos”: 2.1. Dentro de la Tabla “datos”, se cuenta con datos ya almacenados. 23 3. Creación de Tabla dentro de la Base de Datos con nombre “registroapuestas”: 3.1. Dentro de la Tabla “registroapuestas”, se cuenta con datos ya almacenados. 24 3.2. Todos los datos ya almacenados de la tabla pasarán al Jtable de Eclipse. 3.3. Al agregar una parte de la palabra “PERDIDO” me va a imprimir toda la lista completa de apuestas perdidas. 25 3.4. Al agregar una parte de la palabra “GANADO” me va a imprimir toda la lista completa de apuestas ganadas.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved