View
223
Download
0
Category
Preview:
DESCRIPTION
programa que simula el alquiler de videos
Citation preview
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, super-
clases 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
Figura 10: Diagrama de clases de Sistema de Alquiler de Videos
Fuente: Elaboración propia
Cliente
cliId
cliDni
cliNombre
cliDirección
cliTeléfono
Registrar
Mostrar cliId
Mostrar cliDni
Mostrar cliNombre
Mostrar cliApellidos
Mostrar cliDirección
Modificar
Buscar
Eliminar
Video
vidId
vidNombre
vidGenero
vidStock
Registrar
Mostrar vidId
Mostrar vidNombre
Mostrar vidGenero
Mostrar vidStock
Modificar
Buscar
Eliminar
Empleado
empId
empDni
empNombre
empDireccion
empTelefono
Registrar
Mostrar empId
Mostrar empDni
Mostrar empNombre
Mostrar empDireccion
Modificar
Buscar
Eliminar
Alquiler
alqNumero
alqFecha
cliDni
cliNombre
empNombre
vidNombre
Cantidad
PrecioUnit
Registrar
Mostrar alqNumero
Mostrar alqFecha
Mostrar cliDni
Mostrar cliNombre
Mostrar empNombre
Mostrar vidNombre
Mostrar Cantidad
Mostrar PrecioUnit
Modificar
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
Recommended