PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

Page 1

APLICACIÓN DE LA PROGRAMACIÓN ORIENTADA A OBJETOS PARA EL DESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS


Sumario Introducción CAPÍTULO I: GENERALIDADES - TERMINOLOGÍA 1. ¿Cómo surge el lenguaje de programación Java? 2. ¿Qué es Java? 3. PROGRAMACION ORIENTADA A OBJETOS 3.1. Ventajas de un Lenguaje Orientado a Objetos a. Objeto b. Clase c. Método d. Herencia e. Abstracción f. Polimorfismo 4. Variables 4.1. Nombres de Variables 4.2. Tipos Primitivos de Variables 5. Constructores 6. ARRAYS 6.1. Arrays bidimensionales 6.2. Métodos de la clase String 7. SENTENCIAS DE CONTROL DE FLUJO 7.1. Toma de decisiones a. Sentencia if b. Sentencia if else c. Sentencia if elseif else d. Sentencia switch 7.2 Bucles a. Bucle while b. Bucle for c. Bucle do while 8. SWING 8.1. Características de swing 8.2. ¿Que tienen de diferente los componentes Swing de los componentes AWT?


3 8.3. Componentes Swing 9. JDBC (Java DataBaseConectivity) 9.1. Conexión JDBC – ODBC 9.2. Pasos para hacer la conexión JDBC - ODBC CAPITULO II: EMPLEOS Y USOS – APLICACIONES Diseño de las pantallas preliminares CAPITULO III: MANUAL DE USUARIO CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO CONCLUSIONES BIBLIOGRAFÍA Y LINKGRAFÍA ÍNDICE


4 Introducción

En la actualidad, existen casas de alquiler de videos, las cuales brindan su servicio al cliente de una manera muy desordenada y deficiente, sin llevar un buen control tanto ya sea de los videos que alquila como de sus clientes que atiende. Ya que aún algunas de ellas conservan el viejo registro de uso manual para poder administrar su sistema. Con este presente trabajo de investigación y aplicación, se hará una simulación, de cómo se podría ahorrar tiempo al alquilar un video,

tener un registro de videos,

registro de clientes; para cuando vuelvan en otra ocasión a rentar un video, ya no se tenga que volver a registrar, sino con una búsqueda hallarlo si se encuentra en la base de datos o no. Y en otro caso si la casa o empresa de de alquiler de videos se podrá registrar a sus empleados.


5 CAPÍTULO I: GENERALIDADES - TERMINOLOGÍA 1. ¿Cómo surge el lenguaje de programación Java? Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de diseñar un nuevo lenguaje de programación destinado a electrodomésticos. La reducida potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un lenguaje sencillo capaz de generar código de tamaño muy reducido. Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era importante conseguir una herramienta independiente del tipo de CPU utilizada. Desarrollan un código “neutro” que no depende del tipo de electrodoméstico, el cual se ejecuta sobre una “máquina hipotética o virtual” denominada Java Virtual Machine (JVM). Es la JVM quien interpreta el código neutro convirtiéndolo a código particular de la CPU utilizada. Esto permitía lo que luego se ha convertido en el principal lema del lenguaje: “Write Once, Run Everywhere”. A pesar de los esfuerzos realizados por sus creadores, ninguna empresa de electrodomésticos se interesó por el nuevo lenguaje. Java, como lenguaje de programación para computadores, se introdujo a finales de 1995. La clave fue la incorporación de un intérprete Java en el programa Netscape Navigator, versión 2.0, produciendo una verdadera revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando sustancialmente la primera versión del lenguaje. [www.programacion.com/java/tutorial/java_basico/]

2. ¿Qué es java? Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras. Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. [www.desarrolloweb.com/articulos/497.php]


6 3. PROGRAMACION ORIENTADA A OBJETOS Es el paradigma de programación más utilizado en la actualidad. Su consistente base teórica y la amplia gama de herramientas que permiten crear código a través de diseños orientados a objetos la convierten en la alternativa más adecuada para el desarrollo de aplicaciones.

3.1. Ventajas de un Lenguaje Orientado a Objetos Fomenta la reutilización y extensión del código. Permite crear sistemas más complejos. Relacionar el sistema al mundo real. Facilita la creación de programas visuales. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo Facilita el mantenimiento del software

a.

Objeto.- Es un conjunto de variables y de los métodos, necesarios para manipular esa información. Los objetos se utilizan para modelar entidades reales o lógicas en el dominio del problema. Un objeto tiene 2 componentes: características (variables) y procedimientos (métodos), tal como se aprecia la siguiente figura.

Figura 1: Componentes de un Objeto Fuente: http://www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf


7 b.

Clase.- Es un conjunto de objetos, conocida como instancia de la clase. Una clase describe tanto las estructuras de datos del objeto como sus operaciones asociadas. Contiene miembros que pueden ser campos (variables que almacenan datos y objetos) y métodos (funciones que codifican operaciones, realizan cálculos y devuelven resultados). Algunas características importantes de las clases:

Todas las variables y funciones de Java deben pertenecer a una clase. No hay variables y funciones globales. Si una clase deriva de otra (extends), hereda todas sus variables y métodos. Java tiene una jerarquía de clases estándar de la que pueden derivar las clases que crean los usuarios. Una clase sólo puede heredar de una única clase (en Java no hay herencia múltiple). Si al definir una clase no se especifica de qué clase deriva, por defecto la clase deriva de Object. La clase Object es la base de toda la jerarquía de clases de Java. En un fichero se pueden definir varias clases, pero en un fichero no puede haber más que una clase public. Este fichero se debe llamar como la clase public que contiene con extensión *.java. Con algunas excepciones, lo habitual es escribir una sola clase por fichero. Si una clase contenida en un fichero no es public, no es necesario que el fichero se llame como la clase. Los métodos de una clase pueden referirse de modo global al objeto de esa clase al que se aplican por medio de la referencia this. Las clases se pueden agrupar en packages, introduciendo una línea al comienzo del fichero (package packageName;). Esta agrupación en packages está relacionada con la jerarquía de directorios y ficheros en la que se guardan las clases.

Declaración de una Clase Debe empezar por una letra mayúscula.

class NombredeClase { ...}


8 La declaración de una clase puede decir más cosas sobre ella como:

Declarar cual es la superclase de la clase. Listar los interfaces implementados por la clase. Declarar si la clase es pública, abstracta o final.

c.

Método.- Es una secuencia de instrucciones con nombre, que se definen dentro de una clase, y realiza una tarea específica. Un método toma un conjunto de información y lo utiliza para realizar un trabajo y, en algunos casos devolver información. Un método contiene un encabezado (define el nombre del método y el tipo de valor de regreso) y un cuerpo (incluye una secuencia de declaraciones e instrucciones encerrados entre llaves “{ }”).

d.

Herencia.- Consiste en definir nuevas clases con base a otras ya existentes. La clase derivada (la clase que proviene de otra clase) se llama Subclase y la clase de la que está derivada se denomina Superclase. Las subclases heredan de la superclase sus características y métodos, a los cuales pueden añadirle y/o modificarle nuevas características y métodos.

Figura 2: Jerarquía de clases Fuente: java.ciberaula.com/articulo/tecnologia_orientada_objetos/

Para indicar que una clase deriva de otra se utiliza la palabra extends. class CirculoGrafico extends Circulo { ...}


9 La herencia permite: La fácil modificación de código. La reutilización del código. La extracción de elementos comunes de clases diferentes. La organización de los objetos en jerarquías. e.

Abstracción.- Consiste en captar tanto las características principales de una clase como sus métodos, de este modo se podrá usar en otra clase similar que no posea dichos componentes.

f.

Polimorfismo.- Consiste en la relación que se establece entre la llamada a un método y el código que efectivamente se asocia con dicha llamada. El polimorfismo permite a los programadores separar las cosas que cambian de las que no cambian, y de esta manera hacer más fácil la ampliación, el mantenimiento y la reutilización de los programas. El polimorfismo puede hacerse con referencias de super-clases abstract, superclases normales e interfaces. Por su mayor flexibilidad y por su independencia de la jerarquía de clases estándar, las interfaces permiten ampliar muchísimo las posibilidades del polimorfismo.


10 4. Variables Una variable es un nombre que contiene un valor que puede cambiar a lo largo del programa. De acuerdo con el tipo de información que contienen, en Java hay dos tipos principales de variables: 1. Variables de tipos primitivos. Están definidas mediante un valor único. 2. Variables referencia. Las variables referencia son referencias o nombres de una información más compleja: arrays u objetos de una determinada clase. Desde el punto de vista de su papel en el programa, las variables pueden ser: 1. Variables miembro de una clase: Se definen en una clase, fuera de cualquier método; pueden ser tipos primitivos o referencias. 2. Variables locales: Se definen dentro de un método o más en general dentro de cualquier bloque entre llaves {}. Se crean en el interior del bloque y se destruyen al finalizar dicho bloque. Pueden ser también tipos primitivos o referencias.

4.1. Nombres de Variables Los nombres de variables en Java se pueden crear con mucha libertad. Pueden ser cualquier conjunto de caracteres numéricos y alfanuméricos, sin algunos caracteres especiales utilizados por Java como operadores o separadores (,.+-*/ etc.). Existe una serie de palabras reservadas las cuales tienen un significado especial para Java y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son:

Figura 3: Palabras reservadas en Java Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf


11 4.2. Tipos Primitivos de Variables Se llaman tipos primitivos de variables de Java a aquellas variables sencillas que contienen los tipos de información más habituales: valores boolean, caracteres y valores numéricos enteros o de punto flotante. Java dispone de ocho tipos primitivos de variables: un tipo para almacenar valores true y false (boolean); un tipo para almacenar caracteres (char), y 6 tipos para guardar valores numéricos, cuatro tipos para enteros (byte, short, int y long) y dos para valores reales de punto flotante (float y double).

Tabla 1: Tipos primitivos de variables Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf

5. Constructores Un constructor es un método que se llama automáticamente cada vez que se crea un objeto de una clase. La principal misión del constructor es reservar memoria e inicializar las variables miembro de la clase. Los constructores no tienen valor de retorno (ni siquiera void) y su nombre es el mismo que el de la clase. Su argumento implícito es el objeto que se está creando. De ordinario una clase tiene varios constructores, que se diferencian por el tipo y número de sus argumentos (son un ejemplo típico de métodos sobrecargados). Se llama constructor por defecto al constructor que no tiene argumentos. El programador debe proporcionar en el código valores iniciales adecuados para todas las variables miembro. Un constructor de una clase puede llamar a otro constructor previamente definido en la misma clase por medio de la palabra this. En este contexto, la palabra this sólo puede aparecer en la primera sentencia de un constructor.


12 El constructor de una sub-clase puede llamar al constructor de su super-clase por medio de la palabra super, seguida de los argumentos apropiados entre paréntesis. De esta forma, un constructor sólo tiene que inicializar por sí mismo las variables no heredadas. El constructor es tan importante que, si el programador no prepara ningún constructor para una clase, el compilador crea un constructor por defecto, inicializando las variables de los tipos primitivos a su valor por defecto, los Strings a la cadena vacía y las referencias a objetos a null. Si hace falta, se llama al constructor de la super-clase para que inicialice las variables heredadas.

6. ARRAYS Los arrays de Java (vectores, matrices, hiper-matrices de más de dos dimensiones) se tratan como objetos de una clase predefinida. Los arrays son objetos, pero con algunas características propias. Los arrays pueden ser asignados a objetos de la clase Object y los métodos de Object pueden ser utilizados con arrays. Algunas de sus características más importantes de los arrays son las siguientes: Los arrays se crean con el operador new seguido del tipo y número de elementos. Se puede acceder al número de elementos de un array con la variable miembro implícita length (por ejemplo, vect.length). Se accede a los elementos de un array con los corchetes [] y un índice que varía de 0 a length-1. Se pueden crear arrays de objetos de cualquier tipo. En principio un array de objetos es un array de referencias que hay que completar llamando al operador new. Los elementos de un array se inicializan al valor por defecto del tipo correspondiente (cero para valores numéricos, la cadena vacía para Strings, false para boolean, null para referencias). Como todos los objetos, los arrays se pasan como argumentos a los métodos por referencia. Se pueden crear arrays anónimos (por ejemplo, crear un nuevo array como argumento actual en la llamada a un método).


13 Inicialización de arrays: Los arrays se pueden inicializar con valores entre llaves {...} separados por comas. También los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves {...}. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo y único objeto. Creación de una referencia a un array. Son posibles dos formas: double[] x; // preferible double x[]; Creación del array con el operador new: x = new double[100]; Las dos etapas 4 y 5 se pueden unir en una sola: double[] x = new double[100];

Ejemplos de creación de arrays: // crear un array de 10 enteros, que por defecto se inicializan a cero int v[] = new int[10]; // crear arrays inicializando con determinados valores int v[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; String dias[] = {"lunes", "martes", "miercoles", "jueves", "viernes", "sabado", "domingo"}; // array de 5 objetos MiClase listaObj[] = new MiClase[5]; // de momento hay 5 referencias a null for ( i = 0 ; i < 5;i++) listaObj[i] = new MiClase(...); // array anónimo obj.metodo(new String[]={"uno", "dos", "tres"});

6.1. Arrays bidimensionales Los arrays bidimensionales de Java se crean de un modo muy similar al de C++ (con reserva dinámica de memoria). En Java una matriz es un vector de vectores fila, o más en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podría tener un número de elementos diferente. Una matriz se puede crear directamente en la forma, int [ ][ ] mat = new int[3][4]; o bien se puede crear de modo dinámico dando los siguientes pasos:


14

Crear la referencia indicando con un doble corchete que es una referencia a matriz, int[ ][ ] mat; Crear el vector de referencias a las filas, mat = new int[nfilas][ ]; Reservar memoria para los vectores correspondientes a las filas, for (int i=0; i<nfilas; i++); mat[i] = new int[ncols]; A continuaci贸n se presentan algunos ejemplos de creaci贸n de arrays bidimensionales: // crear una matriz 3x3 // se inicializan a cero double mat[ ][ ] = new double[3][3]; int [ ][ ] b = {{1, 2, 3}, {4, 5, 6}, // esta coma es permitida }; int c = new[3][]; // se crea el array de referencias a arrays c[0] = new int[5]; c[1] = new int[4]; c[2] = new int[8];

En el caso de una matriz b, b.length es el n煤mero de filas y b[0].length es el n煤mero de columnas (de la fila 0). Por supuesto, los arrays bidimensionales pueden contener tipos primitivos de cualquier tipo u objetos de cualquier clase.


15 6.2. Métodos de la clase String Los objetos de la clase String se pueden crear a partir de cadenas constantes o literals, definidas entre dobles comillas, como por ejemplo: "Hola". Java crea siempre un objeto String al encontrar una cadena entre comillas. A continuación se describen dos formas de crear objetos de la clase String:

String str1 = "Hola"; // el sistema más eficaz de crear Strings String str2 = new String("Hola"); // también se pueden crear con un constructor

El primero de los métodos expuestos es el más eficiente, porque como al encontrar un texto entre comillas se crea automáticamente un objeto String, en la práctica utilizando new se llama al constructor dos veces. También se pueden crear objetos de la clase String llamando a otros constructores de la clase, a partir de objetos StringBuffer, y de arrays de bytes o de chars.

Tabla 2: Métodos de la clase String Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf


16 7. SENTENCIAS DE CONTROL DE FLUJO Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo: Sentencias palabras clave Toma de decisiones: if-else, switch-case Bucles: for, while, do-while

7.1. Toma de decisiones a. Sentencia if Esta estructura permite ejecutar un conjunto de sentencias en función del valor que tenga la expresión de comparación (se ejecuta si la expresión de comparación tiene valor true). Tiene la forma siguiente:

if (booleanExpression) { statements; }

Las llaves {} sirven para agrupar en un bloque las sentencias que se han de ejecutar, y no son necesarias si sólo hay una sentencia dentro del if.

b. Sentencia if else Análoga a la anterior, de la cual es una ampliación. Las sentencias incluidas en el else se ejecutan en el caso de no cumplirse la expresión de comparación (false).

if (booleanExpression) { statements1; } else { statements2; }

c. Sentencia if elseif else Permite introducir más de una expresión de comparación. Si la primera condición no se cumple, se compara la segunda y así sucesivamente. En el caso de que no


17 se

cumpla

ninguna

de

las

comparaciones

se

ejecutan

las

sentencias

correspondientes al else. if (booleanExpression1) { statements1; } else if (booleanExpression2) { statements2; } else if (booleanExpression3) { statements3; } else { statements4; }

d. Sentencia switch Se trata de una alternativa a la bifurcación if elseif else cuando se compara la misma expresión con distintos valores. Su forma general es la siguiente: switch (expression) { case value1: statements1; break; case value2: statements2; break; case value3: statements3; break; case value4: statements4; break; case value5: statements5; break; case value6: statements6; break; [default: statements7;] }

Las características más relevantes de switch son las siguientes: 1. Cada sentencia case se corresponde con un único valor de expresión. No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos. 2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default, que es opcional. 3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan también todas las que van a continuación, hasta que se llega a un break o hasta que se termina el switch.


18 Ejemplo: char c = (char)(Math.random()*26+'a'); // Generación aleatoria de letras minúsculas System.out.println("La letra " + c ); switch (c) { case 'a': // Se compara con la letra a case 'e': // Se compara con la letra e case 'i': // Se compara con la letra i case 'o': // Se compara con la letra o case 'u': // Se compara con la letra u System.out.println(" Es una vocal "); break; default: System.out.println(" Es una consonante "); }

7.2. Bucles Un bucle se utiliza para realizar un proceso repetidas veces. Se denomina también lazo o loop. El código incluido entre las llaves {} (opcionales si el proceso repetitivo consta de una sola línea), se ejecutará mientras se cumpla unas determinadas condiciones. Hay que prestar especial atención a los bucles infinitos, hecho que ocurre cuando la condición de finalizar el bucle (booleanExpression) no se llega a cumplir nunca. Se trata de un fallo muy típico, habitual sobre todo entre programadores poco experimentados.

a. Bucle while Las sentencias statements se ejecutan mientras booleanExpression sea true. while (booleanExpression) { statements; }

b. Bucle for La forma general del bucle for es la siguiente: for (initialization; booleanExpression; increment) { statements; } que es equivalente a utilizar while en la siguiente forma:


19 while (booleanExpression) { statements; increment; }

c. Bucle do while Es similar al bucle while pero con la particularidad de que el control está al final del bucle (lo que hace que el bucle se ejecute al menos una vez, independientemente de que la condición se cumpla o no). Una vez ejecutados los statements, se evalúa la condición: si resulta true se vuelven a ejecutar las sentencias incluidas en el bucle, mientras que si la condición se evalúa a false finaliza el bucle. do { statements } while (booleanExpression);


20 8. SWING Swing es una parte de las JFC que permite incorporar en las aplicaciones elementos gráficos de una forma mucho más versátil y con más capacidades que utilizando el AWT básico de Java.

"Swing" era el nombre clave del proyecto que desarrolló los nuevos componentes. Aunque no es un nombre oficial, frecuentemente se usa para referirse a los nuevos componentes y al API relacionado. Está inmortalizado en los nombres de paquete del API Swing, que empiezan con "javax.swing." [www.mygnet.net/manuales/java/manual_de_javaswing_y_jfc.1530]

8.1. Características de swing Escrito totalmente en java. No reemplaza a AWT. Se apoya sobre AWT y añade JComponents. Selección de diferentes apariencias (Look & Feel). Utilización de componentes ligeros. Arquitectura Model-View-Controller (MVC). Nuevos componentes (árboles, tablas, frames internos, etc.). Otros: iconos, bordes, tooltips, beans, etc. Proporciona utilidades para facilitar creación de aplicaciones gráficas.

8.2. ¿Que

tienen

de

diferente

los

componentes

Swing

de

los

componentes AWT?

Los botones y las etiquetas Swing pueden mostrar imágenes en lugar de o además del texto. Se pueden añadir o modificar fácilmente los bordes dibujados alrededor de casi cualquier componente Swing. Por ejemplo, es fácil poner una caja alrededor de un contenedor o una etiqueta. Se puede modificar fácilmente el comportamiento o la apariencia de un componente Swing llamando a métodos o creando una subclase. Los componentes Swing no tienen porque ser rectangulares. Por ejemplo, los botones pueden ser redondos.


21 Las tecnologías asistivas como los lectores de pantallas pueden fácilmente obtener información desde los componentes Swing. Por ejemplo, una herramienta puede fácilmente obtener el texto mostrado en un botón o en una etiqueta.

Otra característica Swing es que se puede especificar el Aspecto y Comportamiento que utilice el GUI de nuestro programa. Por el contrario, los componentes AWT siempre tienen el aspecto y comportamiento de la plataforma nativa.

8.3. Componentes Swing

Figura 4: Componentes de Swing Fuente: www.usuarios.lycos.es/manualesjava/manuales/swing/swing.pdf


22

Componente

Descripción

JButton

Botón.

JCheckBox

Botón de comprobación.

JCheckBoxMenuItem

Botón de comprobación para usar en menús

JColorChooser

Selector de colores.

JComboBox

Entrada de texto con lista de valores.

JComponent

Raíz de la jerarquia de componentes Swing.

JEditorPane

Editor de texto. Normalmente HTML o RTF.

JFileChooser

Selector de ficheros.

JLabel

Etiqueta.

JList

Lista.

JMenu

Menú dentro de un JMenuBar o dentro de otro menú.

JMenuBar

Barra de Menús.

JMenuItem

Elemento seleccionable en un menú.

JOptionPane

Ventanas de dialogo.

JPasswordField

Entrada de passwords.

JPopupMenu

Ventana con un menú.

JProgressBar

Barra de progreso.

JRadioButton

Botón excluyente.

JRadioButtonMenuItem Botón excluyente para usar en menús JScrollBar

Barra de desplazamiento.

JSeparator

Líneas de separación.

JSlider

Deslizador.

JTable

Tabla.

JTextArea

Edición de múltiples líneas de texto plano.

JTextComponent

Raíz de los editores de texto.

JTextField

Edición de una línea de texto plano.

JTextPane

Subclase de JEditorPane para hacer procesadores de texto.

JToggleButton

Padre de JCheckBox y JRadioButton.

JToolBar

Barra de herramientas o acciones.

JToolTip

Ventana informativa.

JTree

Árboles.

Tabla 3: Descripción de los componentes de Swing Fuente: jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/index.htm


23 9. JDBC (Java DataBaseConectivity) Es un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice.

JDBC Utiliza drivers para conectarse a distintas base de datos: SQL Server Oracle mySQl posgreSQL Access, etc.

9.1. Conexión JDBC – ODBC Es el driver que convierte todas las llamadas JDBC a ODBC y realiza la conversión correspondiente de los resultados.

Figura 5: Conexión JDBC – ODBC Fuente:www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/Presentaci onesClases/DI_unidad5.ppt


24 9.2. Pasos para hacer la conexión JDBC – ODBC 1. Cargar Driver

Este Origen de datos permite indicar cuál es el driver a utilizar y cuál es el archivo.

Figura 6: Selección de Herramientas administrativas Fuente: Elaboración propia

Figura 7: Selección del Origen de datos (ODBC) Fuente: Elaboración propia


25 DSN (Data Source Name)

Figura 8: Administrador de orígenes de datos (ODBC) Fuente: Elaboración propia

Figura 9: Creación del origen de datos Fuente: Elaboración propia

Lo primero es hacer una llamada al Driver JDBC-ODBC para cargarlo. Eso se consigue con las siguientes líneas de código:


26 2. Pedir conexión a la base de datos

Donde: Acceso es: “jdbc:odbc:(nombre_DSN)” myLogin: Usuario de la base de datos myPassword: Contraseña de usuario

3. Crear Sentencias Para crear una sentencia se debe crear un objeto Statement:

y así poder manipular las base de datos.

4. Ejecutar sentencias El objeto Statement define los siguientes métodos: executeUpdate(String sql): el cual sirve para utilizar los comandos de creación, modificación y eliminación de tablas y registros de la base de datos.

executeQuery(String sql): el cual sirve para realizar consultas en la base de datos.


27 CAPITULO II: EMPLEOS Y USOS – APLICACIONES

Cliente cliId cliDni

Video

cliNombre

vidId

cliDirección

vidNombre

cliTeléfono

vidGenero

Registrar Alquiler

Mostrar cliId Mostrar cliDni

alqNumero

Mostrar cliNombre

alqFecha

Mostrar cliApellidos

cliDni

Mostrar cliDirección

cliNombre

Modificar

empNombre

Buscar

vidNombre

Eliminar

Cantidad PrecioUnit Registrar

Empleado

Mostrar alqNumero

empId

Mostrar alqFecha

empDni

Mostrar cliDni

empNombre

Mostrar cliNombre

empDireccion

Mostrar empNombre

empTelefono

Mostrar vidNombre

Registrar

Mostrar Cantidad

Mostrar empId

Mostrar PrecioUnit

Mostrar empDni

Modificar

Mostrar empNombre

Eliminar

Mostrar empDireccion Modificar Buscar Eliminar Figura 10: Diagrama de clases de Sistema de Alquiler de Videos Fuente: Elaboración propia

vidStock Registrar Mostrar vidId Mostrar vidNombre Mostrar vidGenero Mostrar vidStock Modificar Buscar Eliminar


28 Dise帽o de las pantallas preliminares

Figura 11: Pantalla preliminar de registro de clientes Fuente: Elaboraci贸n propia

Figura 12: Pantalla preliminar de registro de videos Fuente: Elaboraci贸n propia


29

Figura 13: Pantalla preliminar para realizar alquiler de videos Fuente: Elaboraci贸n propia


30 CAPITULO III: MANUAL DE USUARIO El sistema está pensado para simular el alquiler de videos. Además posee una característica, que es la de mostrar cada video, cliente y empleado de acuerdo a su código a buscar. El sistema no tiene límite de títulos ni de clientes, ni tampoco está limitado en la cantidad de alquileres de videos.

Clientes Para poder acceder al registro de un cliente, lo primero que se tiene que hacer es, ir al menú del programa de alquiler de videos, hacer click en la opción de Mantenimiento, y luego en Registrar Cliente.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Cliente.

Que Podremos acceder a las siguientes operaciones: Agregar clientes nuevos haciendo click sobre "Grabar".


31

Buscar un cliente determinado presionando "Buscar".


32 Borrar clientes con el botón " Eliminar�.


33 Grabar cambios efectuados en los datos del cliente con el botón " Modificar�.


34 Videos Para poder acceder al registro de un video, lo primero que se tiene que hacer es, ir al menú del programa de alquiler de videos, hacer click en la opción de Mantenimiento, y luego en Registrar Video.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Video.

Que Podremos acceder a las siguientes operaciones: Agregar videos nuevos haciendo click sobre " Grabar”.


35

Buscar un video determinado presionando "Buscar".


36 Borrar videos con el botón "Eliminar�.


37 Grabar cambios efectuados en los datos del video con el botón "Modificar�.


38 Empleados Para poder acceder al registro de un empleado, lo primero que se tiene que hacer es, ir al menú del programa de alquiler de videos, hacer click en la opción de Mantenimiento, y luego en Registrar Empleado.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Empleado.

Que Podremos acceder a las siguientes operaciones: Agregar empleados nuevos haciendo click sobre "Grabar”.


39 Buscar un empleado determinado presionando "Buscar".

Borrar empleados con el botón "Eliminar�.


40 Grabar cambios efectuados en los datos del video con el botón "Modificar�.


41 Alquiler de Videos Para poder acceder al respectivo alquiler de un video, lo primero que se tiene que hacer es, ir al menú del programa de alquiler de videos, hacer click en la opción de Movimientos, y luego en Registrar Alquileres.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Alquiler de

Videos. Que Podremos acceder a las siguientes operaciones: Guardar el alquiler de videos haciendo click sobre "Grabar”.


42

Grabar cambios efectuados en los datos del alquiler de un video con el botón "Modificar�.


43 CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO Descripción: Esta pantalla va a mostrar el menú del sistema, el cual tiene 2 opciones; Mantenimiento (ya sea para ingresar un cliente, video, empleado), y Movimientos (para el registro del alquiler del video).

Figura 14: Pantalla del Menú de opciones Fuente: Elaboración propia


44 Descripción: Esta pantalla va a registrar un video (Id, Nombre, Genero y su Stock), en caso sea nuevo; sino se hará una búsqueda para comprobar si está registrado en la base de datos del sistema. Asi también va a modificar los datos del video en caso haya algún error en el momento de ingresar sus datos por parte de algún encargado del sistema, y el Eliminar en caso dicho video se encuentre dañado.

Figura 15: Pantalla para registrar un video Fuente: Elaboración propia


45 Descripción: Esta pantalla va a registrar a un cliente (Id, Dni, Nombre, Dirección y su Teléfono), en caso sea nuevo; sino se hará una búsqueda para comprobar si está registrado en la base de datos del sistema. Asi también va a modificar los datos del cliente en caso haya algún error en el momento de ingresar sus datos por parte de algún encargado del sistema, y el Eliminar.

Figura 16: Pantalla para registrar un cliente Fuente: Elaboración propia


46 Descripción: Esta pantalla va a registrar a un empleado de la empresa de alquiler de videos (Id, Dni, Nombre, Dirección y su Teléfono), en caso sea nuevo; sino se hará una búsqueda para comprobar si está registrado en la base de datos del sistema. Asi también va a modificar los datos del empleado en caso haya algún error en el momento de ingresar su datos por parte de algún encargado del sistema, y el Eliminar en caso ya no trabaje en la empresa dicho trabajador.

Figura 17: Pantalla para registrar un empleado Fuente: Elaboración propia


47 Descripciรณn: Esta es la pantalla principal del sistema, la cual va a registrar el alquiler ya sea de 1 o mรกs videos, que tendrรก la funciรณn de llevar un control de los alquileres que se realizan por parte de la empresa de alquiler de videos hacia sus clientes. Con la finalidad de llevar la contabilidad de ellos (alquileres).

Figura 18: Pantalla para realizar un alquiler de video Fuente: Elaboraciรณn propia


48 CONCLUSIONES Es un lenguaje de programación, creado por Sun microsystems con el que se puede realizar cualquier tipo de programa es un lenguaje independiente de la plataforma. Si se hace un programa en Java podrá funcionar en cualquier ordenador, por ello su lema principal es: “Write Once, Run Everywhere” (Escríbelo una vez, y lo ejecutarás en todas partes).

La herencia permite crear nuevas clases en base a otras ya existentes. La clase que proviene de otra clase se llama Subclase y la clase de la que está derivada se denomina Superclase.

Swing es una superclase que permite desarrollar Interfaces Graficas de Usuarios, de una forma mucho más versátil, sencilla y con más capacidades que utilizando el AWT básico de Java.

El JDBC (Java DatabaseConectivity) facilita la conexión de bases de datos (SQL Server, Oracle, Access, etc.) desde el lenguaje de programación Java, realizando los siguientes pasos: 1. Cargar Driver desde Java. 2. Pedir conexión a la base de datos 3. Crear Sentencias 4. Ejecutar sentencias


49 BIBLIOGRAFÍA Y LINKGRAFÍA Libros: Decaer, Rick; Hirshfield, Stuart: Programación con Java – Introducción a la programación con Java. 2da Edición. Edit. Thomsom Learning. México, 618 páginas. Wang, Paúl S.: Java con Programación Orientada a Objetos y Aplicaciones en la WWW. Edit. Thomsom editores. México, 446 páginas. García de Jalón, Javier; Rodríguez, José Ignacio; Mingo, Iñigo; Imaz, Aitor; Brazales, Alfonso; Larzabal, Alberto; Calleja, Jesús; García, Jon: Aprenda Java como si estuviera en primero. San Sebastián - España. 1999 Bobadilla S, Jesús; Sancho H., Adela: Comunicaciones y base de datos con Java a través de ejemplos. Edit. Alfaomega. México, 233 páginas.

Sitios Web:

java.ciberaula.com/articulo/tecnologia_orientada_objetos/ es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos java.sun.com/books/Series/Tutorial/index.html www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte14/cap14-1.html www.programacion.com/java/tutorial/java_basico/ www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf java.sun.com/docs/books/tutorial/uiswing/components/index.html jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/index.htm www.mygnet.net/manuales/java/manual_de_javaswing_y_jfc.1530 www.ciberaula.com/curso/prog2/ www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf www.desarrolloweb.com/articulos/497.php www.usuarios.lycos.es/manualesjava/manuales/swing/swing.pdf www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/PresentacionesCl ases/DI_unidad4a.ppt www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/PresentacionesCl ases/DI_unidad5.ppt


50 ÍNDICE Sumario…………………………………………………………………………………3 Introducción…………………………………………………………………………….5 CAPÍTULO I: GENERALIDADES – TERMINOLOGÍA……………………………6 1. ¿Cómo surge el lenguaje de programación Java?..........................................6 2. ¿Qué es Java?.................................................................................................6 3. PROGRAMACION ORIENTADA A OBJETOS………………………………….7 3.1. Ventajas de un Lenguaje Orientado a Objetos………………………..7 a. Objeto………………………………………………………………………...7 b. Clase…………………………………………………………………………8 c. Método……………………………………………………………………….9 d. Herencia……………………………………………………………………..9 e. Abstracción………………………………………………………………...10 f. Polimorfismo………………………………………………………………..10 4. Variables…………………………………………………………………………...11 4.1. Nombres de Variables………………………………………………….11 4.2. Tipos Primitivos de Variables………………………………………….12 5. Constructores……………………………………………………………………...12 6. ARRAYS……………………………………………………………………………13 6.1. Arrays bidimensionales……………………………………………......14 6.2. Métodos de la clase String………………………………………….....16 7. SENTENCIAS DE CONTROL DE FLUJO……………………………………..17 7.1. Toma de decisiones…………………………………………………….17 a. Sentencia if………………………………………………………………...17 b. Sentencia if else…………………………………………………………..17 c. Sentencia if elseif else……………………………………………………17 d. Sentencia switch…………………………………………………………..18 7.2 Bucles…………………………………………………………………….19 a. Bucle while…………………………………………………………………19 b. Bucle for……………………………………………………………………19 c. Bucle do while……………………………………………………………..20 8. SWING……………………………………………………………………………..21 8.1. Características de swing……………………………………………….21


51 8.2. ¿Que tienen de diferente los componentes Swing de los componentes AWT?...............................................................................21 8.3. Componentes Swing……………………………………………………22 9. JDBC (Java DataBaseConectivity)……………………………………………..24 9.1. Conexión JDBC – ODBC……………………………………………...24 9.2. Pasos para hacer la conexión JDBC – ODBC………………………25 CAPITULO II: EMPLEOS Y USOS – APLICACIONES………………………...28 Diseño de las pantallas preliminares………………………………………………29 CAPITULO III: MANUAL DE USUARIO………………………………………….31 CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO………………………..44 CONCLUSIONES……………………………………………………………………49 BIBLIOGRAFÍA Y LINKGRAFÍA…………………………………………………...50 ÍNDICE………………………………………………………………………………..51


52 Lista de Figuras Figura 1: Componentes de un Objeto……………………………………………….7 Figura 2: Jerarquía de clases………………………………………………………..9 Figura 3: Palabras reservadas en Java…………………………………………...11 Figura 4: Componentes de Swing………………………………………………....22 Figura 5: Conexión JDBC – ODBC………………………………………………..24 Figura 6: Selección de Herramientas administrativas…………………………...25 Figura 7: Selección del Origen de datos (ODBC)………………………………..25 Figura 8: Administrador de orígenes de datos (ODBC)…………………………26 Figura 9: Creación del origen de datos……………………………………………26 Figura 10: Diagrama de clases de Sistema de Alquiler de Videos…………….28 Figura 11: Pantalla preliminar de registro de clientes…………………………...29 Figura 12: Pantalla preliminar de registro de videos…………………………….29 Figura 13: Pantalla preliminar para realizar alquiler de videos…………………30 Figura 14: Pantalla del Menú de opciones………………………………………..44 Figura 15: Pantalla para registrar un video……………………………………….45 Figura 16: Pantalla para registrar un cliente……………………………………...46 Figura 17: Pantalla para registrar un empleado………………………………….47 Figura 18: Pantalla para realizar un alquiler de video…………………………...48

Lista de Tablas Tabla 1: Tipos primitivos de variables………………………………………….....12 Tabla 2: Métodos de la clase String……………………………………………….16 Tabla 3: Descripción de los componentes de Swing…………………………….23


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.