lunes, 11 de abril de 2022

Curso Práctico de Java - Capítulo Nº 3





Capítulo Nº 3 

Su primer proyecto en Java 

 

3.1. UNSIR 3.0 

Este Curso Práctico de Java tiene como objetivo aprender a desarrollar una verdadera aplicación en Java. Aunque el resultado final no sea una complicadísima aplicación con muchos detalles, sí logrará el practicante al final, desarrollar una aplicación de escritorio con menús, cuadros de diálogos para ingresar datos, procesar los requisitos que dan funcionalidad a la aplicación, accesar con usuario y contraseña, conectar y manejar una base de datos, imprimir resultados, trabajar con imágenes e iconos, en fin, como se dijo anteriormente, lograr desarrollar al final una "Aplicación de verdad" y no quedar solamente en conceptos teóricos y ejemplos. 

En este curso se va a trabajar en una aplicación, que simula  la inscripción regular de estudiantes de una universidad denominada "Universidad Nacional". Esta aplicación fue parte del Trabajo de Grado: IMPLEMENTACIÓN DE REQUISITOS NO FUNCIONALES A TRAVÉS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS (Carlos Córdova, UNA 2007). Aplicación que sirvió de base, para demostrar que se pueden implementar requisitos no funcionales en un sistema de software (Aplicación), haciendo uso de un nuevo paradigma de programación: Programación Orientada a Aspectos (POA). 

La aplicación se denominará UNSIR (Universidad Nacional Sistema de Inscripción Regular) en su nueva versión 3.0, ya que incorporará otros elementos y optimización del código con respecto a la versión original. 

Entre las funciones principales que el sistema debe abarcar están las siguientes: 

1.- Registrar las asignaturas que conforman los pensum de las carreras que ofrece la universidad y que estos datos queden almacenados en una base de datos, donde se especifique código, nombre y unidades crédito de la asignatura. Debe contemplarse que el sistema no permita la creación de asignaturas con código repetido. 

2.- Registrar las matrices curriculares de los pensum de las carreras que ofrece la universidad y que estos datos queden almacenados en una base de datos, donde se especifique código de la carrera, nombre de la carrera, código de la asignatura, nombre de la asignatura, unidades crédito de la asignatura, semestre a la cual pertenece la asignatura y pre-requisitos. 

4.- Registrar los datos personales de los estudiantes de la universidad, tomando en cuenta que no exista duplicidad. Estos datos deben quedar almacenados en una base de datos, donde se especifique cédula de identidad, nombre del estudiante, carrera, dirección, teléfono, correo electrónico, fecha de nacimiento, centro local, etc. 

3.- Registrar las calificaciones del histórico de notas de los estudiantes de la universidad y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, asignatura, calificación, lapso, etc. 

4.- Realizar el proceso de selección de asignaturas de los estudiantes para la inscripción y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, asignatura, lapso, etc. La oferta de asignaturas se debe ofrecer de acuerdo al pensum de estudio de la carrera en la cual está inscrito el estudiante y de acuerdo al cumplimiento de los prerrequisitos exigidos en los pensum previa comparación con el histórico de notas del estudiante. 

5.- Realizar el proceso de registro de inscripción de los estudiantes y que estos datos queden almacenados en una base de datos, donde se especifique entidad bancaria donde se deposita el arancel de inscripción, número del baucher, monto del depósito y fecha del depósito. 

6.- Imprimir la planilla de inscripción de los estudiantes para su posterior conformación. 

7.- Realizar el proceso de validación de inscripción de los estudiantes y que estos datos queden almacenados en una base de datos, donde se especifique la conformación por parte del administrador del sistema de entidad bancaria donde se deposita el arancel de inscripción, número del baucher, monto del depósito y fecha del depósito. 

8.- Registrar los usuarios del sistema y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, nombre usuario, nombre completo del usuario, contraseña y nivel de acceso. 

 

3.2. DISEÑO DEL PROYECTO 

Para la construcción del proyecto, se tomarán como punto de partida algunas consideraciones acerca del análisis y diseño de sistemas, para aplicar la programación orientada a objetos, usando UML. Algunas de las fases a tomar en cuenta son:

·       Investigación preliminar.

·       Determinación de los requerimientos del sistema.

·       Diseño del sistema.

·       Desarrollo del software.

·       Prueba del sistema.

·       Implantación y evaluación. 

 

3.2.1. Investigación preliminar: 

La investigación preliminar de este proyecto consiste en conocer las etapas que se llevan a cabo en el proceso de inscripción regular de una universidad. Con este propósito basta con la experiencia genérica que se tiene de las oficinas de control de estudio de las universidades e institutos de educación superior, donde básicamente el proceso de inscripción consiste de tres etapas: La selección de las asignaturas por parte del estudiante, previa oferta hecha por la universidad de acuerdo a los pensum de estudio y al histórico o record de calificaciones del estudiante. El registro de la inscripción por parte del estudiante que consta de la carga académica a cursar y el cumplimiento de los requisitos exigidos por la universidad. Por último está la etapa de validación de la inscripción del estudiante por parte de la universidad con la finalidad de cerrar el proceso de manera formal. 

 

3.2.2. Requerimientos del sistema 

Los requisitos funcionales comprende la funcionalidad básica del sistema, que está integrada por todos los procesos derivados de las necesidades de los usuarios: 

1.- Registrar las asignaturas que conforman los pensum de las carreras que ofrece la universidad. 

2.- Registrar las matrices curriculares de los pensum de las carreras que ofrece la universidad. 

4.- Registrar los datos personales de los estudiantes de la universidad. 

3.- Registrar las calificaciones del histórico de notas de los estudiantes de la universidad. 

4.- Realizar el proceso de selección de asignaturas de los estudiantes para la inscripción. 

5.- Realizar el proceso de registro de inscripción de los estudiantes. 

6.- Imprimir la planilla de inscripción de los estudiantes para su posterior conformación. 

7.- Realizar el proceso de validación de inscripción de los estudiantes. 

8.- Registrar los usuarios del sistema. 

 

3.2.3. Diseño del sistema 

Para tener una idea en general, a través de un modelo de caso de uso se describe lo que hace el sistema sin describir cómo lo hace, es decir, es el modelo lógico del sistema. Refleja la vista del sistema desde la perspectiva de un usuario fuera del mismo (requerimientos). Este diagrama de caso de uso está compuesto por dos actores (administrador y estudiante) quienes inician el evento, el evento que activa cada caso y las acciones activadas por el evento para cada actor. 

 

Modelo de caso de uso: 

Cada actor, previa verificación de la identidad, ejecutará una actividad de acuerdo a su nivel de usuario. En este caso un usuario con nivel Administrador tendrá acceso a todos los procesos del sistema. Por otro lado un usuario con nivel Estudiante tendrá un uso limitado.

  



Diagrama de clases: 

Como todo código en Java se representa en forma de clases. En este proyecto se aplicará una arquitectura de software por capas, en este caso serán clases definidas por el usuario. Una primera capa que estará formada por las clases que van a servir de GUI o interfaz de usuario. Una segunda capa formada por las clases encargadas del procesamiento de datos y almacenamiento en una base de datos. Y por último, una tercera capa formada por una clase que cuya función es hacer el puente o conexión con la base de datos.

 

 


Clases de interfaz:

Password: Para  crear el diálogo que sirve para ingresar usuario y contraseña de acceso. 

MenuAdministrador: Para  crear el menú nivel administrador con todas las opciones de la aplicación. 

MenuEstudiante: Para  crear el menú nivel estudiante con sólo las opciones de inscripción. 

Asignaturas: Crea un diálogo que sirve para ingresar datos de asignaturas. 

Pensum: Crea un diálogo que sirve ingresar datos de los pensum de estudio. 

Estudiantes: Crea un diálogo que sirve para ingresar o mostrar los datos de los estudiantes. 

Historico: Crea un diálogo que sirve para ingresar, cambiar, eliminar o mostrar las calificaciones del  histórico de los estudiantes. 

Inscripciones: Crea un diálogo que sirve para ingresar, eliminar o mostrar las asignaturas seleccionadas  por el estudiante para la inscripción. 

Validaciones: Crea un diálogo que sirve para validar la inscripción del estudiante. 

Usuarios: Crea un diálogo que sirve para ingresar o mostrar los datos de usuario y contraseña. 

 

Clases de control 

ControlPassword: Para trabajar con las funciones que hacen la comprobación de usuario y contraseña a la base de datos. 

ControlAsignaturas: Para trabajar con las funciones que hacen transacciones de los datos de asignaturas a la base de datos. 

ControlPensum: Para trabajar con las funciones que hacen transacciones de los datos de los pensum de estudio a la base de datos. 

ControlEstudiantes: Para trabajar con las funciones que hacen transacciones de los datos personales de los estudiantes a la base de datos. 

ControlHistorico: Para trabajar con las funciones que hacen transacciones de los datos del histórico de notas de los estudiantes a la base de datos. 

ControlInscripciones: Para trabajar con las funciones que hacen transacciones de las asignaturas seleccionadas por los estudiantes a la base de datos. 

ControlValidaciones: Para trabajar con las funciones que hacen transacciones de las validaciones y registros de inscripción de los estudiantes a la base de datos. 

ControlUsuarios: Para trabajar con las funciones que hacen transacciones de los datos de los usuarios a la base de datos. 

ConexionODBC: Para hacer la conexión entre las clases de control y el origen de datos.

  

Clases abstractas 

Java.awt.JFrame: Clase del paquete de librerías estándar de Java para crear Frames o ventanas de interfaz. 

Java.awt.JDialog: Clase del paquete de librerías estándar de Java para crear Cajas de Diálogos de interfaz. 

 

3.3. Herramientas para el desarrollo del software 

Para desarrollar el código base de la aplicación se debe utilizar el siguiente hardware, software y herramientas de programación: 

·       Microcomputador con suficiente capacidad de memoria RAM y almacenamiento.

·       Sistema operativo Windows.

·       Microsoft Access.

·       Java JDK versión 7.

·       Impresora. 

 

3.4. Construcción de la base de datos 

Para construir la base de datos se utilizará Microsoft Office Access de Microsoft Corporation. 

Base de datos: UNSIR300.mdb       Archivo: UNSIR300.mdb


Lista de entidades de la base de datos

El inventario de entidades muestra los nombres de las tablas que conforman la base de datos que usará el sistema para hacer las transacciones propias de un  proceso de inscripción. 

USUARIOS: Tabla que contiene los nombres de usuarios y contraseñas. 

ESTUDIANTES: Tabla (maestro) que contiene los datos de los estudiantes: cédula, nombre y apellido, dirección, carrera, sexo, fecha de nacimiento, etc. 

HISTORICO: Tabla que contiene los datos del histórico de calificaciones del estudiante. 

INSCRIPCIONES: Tabla que almacena los datos de las asignaturas seleccionadas por el estudiante para la inscripción. 

VALIDACIONES: Tabla que almacena los datos del registro de la inscripción del estudiante, como número del depósito bancario por concepto de aranceles, nombre del banco, fecha de depósito, monto, etc. 

ASIGNATURAS: Tabla para almacenar los datos de todas las asignaturas: código, nombre de la asignatura y número de créditos. 

PENSUM: Tabla que almacena los datos de la matriz curricular de todas las carreras que ofrece la universidad: código carrera, código asignatura, semestre, pre-requisitos, etc.


Para descargar el capítulo completo pulse el botón DESCARGAR:



martes, 29 de marzo de 2022

Curso Práctico de Java - Capítulo Nº 2

 


Capítulo Nº 2


Su primer programa en Java


2.1. EL SEMPITERNO ¡HOLA MUNDO! 

Como se mencionó antes, hacer (desarrollar) un programa en Java significa construir una Clase o un conjunto de Clases que se relacionen entre sí. Para codificar el siempre eterno ¡Hola Mundo! en Java, se tiene que construir una Clase. En este caso sería una Clase definida por el usuario. 

NOTA:  Como el objetivo de este Curso Práctico de Java es brindarle al usuario una vía rápida para desarrollar una aplicación de escritorio sencilla, pero que al final obtenga un producto que se pueda ver, manejar, trabajar con menús, captura y procesamiento de datos, imprimir, etc., en fin desarrollar una aplicación de "verdad", no se abordarán fundamentos teóricos que bien están lo suficiente descritos en mucha bibliografía de Java. Claro está, en la medida que avance el curso, se explicará cada paso y el tema que corresponda.  

A continuación, se codificará el programa Hola Mundo, se explicará cada línea del código, se compilará y se ejecutará para ver por pantalla a nivel de consola. Como se describió en el capítulo anterior se utilizará el NotePad de Windows para codificar la Clase HolaMundo: 

 

///*** Programa ¡Hola Mundo!

public class HolaMundo

{

   ///*** El método "main" inicia la ejecución de la aplicación en Java

   public static void main(String args[])

   {

      System.out.println("¡Hola Mundo!");  

   }

   ///*** Fin del método "main"

}

///*** Fin de la clase "HolaMundo" 

 

Para ejecutar este programa, se debe abrir el NotePad de Windows y copiar/pegar el código. Luego guardar el archivo con el nombre HolaMundo.java. 

Como se explicó en el capítulo anterior, se debe trabajar en la carpeta Curso Práctico De Java y con el archivo Símbolo del sistema (cmd).bat, para trabajar a nivel de consola y llevar un orden en el curso.

 

2.1.1. Explicación de cada línea de código: 

1. La línea ///*** Programa ¡Hola Mundo! es un comentario en Java. 

Los comentarios en Java deben comenzar con / para que el compilador lo reconozca como tal. Queda de parte de cada usuario personalizar los comentarios. Para efecto de este curso los comentarios se resaltan en color púrpura y comienzan con ///***. 

2. La línea public class HolaMundo comienza la declaración de la clase. 

Los nombres de las clases en Java deben ir todo pegado sin espacios, no pueden comenzar con números, se debe respetar mayúsculas y minúsculas, y al guardar el archivo se debe guardar con el nombre de la clase, en este caso el archivo de texto (la clase misma) se debe guardar con el nombre HolaMundo.java. 

3. La línea public static void main(String args[])es el punto de inicio de toda aplicación en Java. 

El bloque que inicia con main( ) significa que es el método principal. En una declaración de clase en Java puede haber varios métodos, pero sólo un método principal. 

4. La línea System.out.println("¡Hola Mundo!");le indica a la computadora que realice una acción. 

En este caso que muestre por pantalla la frase entre comillas, en Java cada línea de instrucción debe terminar en ";". 

Las llaves {} indican el principio y final de un método en Java. La combinación de las llaves y las sangrías, ayudan a leer el código de manera más cómoda. 

 

2.1.2. Compilación del programa: 

Para compilar el programa se debe abrir la ventana de comandos usando el archivo Símbolo del sistema (cmd).bat, para facilitar las cosas. Si todo se hizo correctamente debemos ver por pantalla lo siguiente:

 



 

  Para descargar el capítulo completo pulse el botón DESCARGAR:

 


lunes, 21 de marzo de 2022

Curso Práctico de Java - Capítulo Nº 1

 


Capítulo Nº 1


Presentación a Java


1.1. PRESENTACIÓN Y UTILIDAD DE JAVA

Java es un lenguaje de programación de alto nivel de propósito general, multiplataforma y orientado a objetos. Es de propósito general ya que sirve para implementar aplicaciones para PC, software para el funcionamiento de dispositivos electrónicos, aplicaciones web y más. Java es multiplataforma porque es independiente de la máquina y del Sistema Operativo lo que permite ejecutar un programa hecho en Java, por ejemplo, en una computadora con Linux o Windows, en una tableta, o en un teléfono móvil. Java es orientado a objetos porque la base fundamental para el desarrollo de aplicaciones en este entorno de programación es un elemento denominado clase (class). 

Para conseguir esto el código fuente se compila a un lenguaje que no es específico de la plataforma, sino que es un código intermedio denominado "bytecode". Este código no es ejecutado directamente, ya que no es comprendido por la máquina, sino que es interpretado por un programa denominado Máquina Virtual o más específicamente JVM (Java Virtual Machine/Máquina Virtual de Java). La JVM es específica de la plataforma. De esta forma para ejecutar un programa Java sólo se necesita la máquina virtual de la plataforma que se esté usando. Así por ejemplo, existen máquinas virtuales para Sistemas Operativos Windows, Linux, Apple y Android. 

Es un lenguaje de propósito general ya que con él se pueden hacer multitud de cosas: crear tanto programas simples de consola hasta grandes programas en entorno gráfico, hacer los applets que lucen en las páginas web, los servlets (programas cliente-servidor más potentes que los clásicos CGI), las JSP (Java Server Pages, similares a las páginas PHP o ASP), los sockets (programas para redes de ordenadores), etc. 

Es un lenguaje orientado a objeto ya que no es un lenguaje adaptado como C++ que desciende de C, sino que es un lenguaje que desde el principio ha sido de objetos: casi ó todo en él son objetos. Gracias a la orientación a objetos y la máquina virtual de Java es posible descargar un programa de la red en pocos segundos ya que los programas que se crean en Java, en general, se basan todos en las clases que incorpora la máquina virtual de Java (algo así como los archivos de librerías). Es decir, todos los archivos necesarios para que el programa funcione ya los incorpora la máquina de destino, los posee la JVM. De esta forma los programas en Java son robustos y potentes. 


1.2. TÓPICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS (POO) 

En su definición formal La Programación Orientada a Objetos (POO u OOP según siglas en inglés) es un paradigma de programación que define los programas en términos de "clases de objetos", "objetos" que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar. 

A partir de esta definición, un poco abstracta, trataremos en este curso de abordar estos conceptos de manera sencilla y con ejemplos para lograr el objetivo de desarrollar una aplicación de escritorio en Java. Comenzaremos por describir de manera informal dos elementos fundamentales para trabajar en Java, y que son la base de la Programación Orientada a Objetos, como El Objeto y La Clase. 


1.3. ¿QUÉ ES UN OBJETO? 

Los objetos en POO son o representan cosas, y pueden ser simples o complejos. Si hacemos una analogía con el mundo físico, un objeto puede ser una bicicleta, con un color, diseño y función específica. Y aún, si dos bicicletas son idénticas con el mismo color, diseño y función, estamos frente a dos objetos diferentes. Cada objeto, en este caso las bicicletas, sean del mismo color o no, se crean o provienen de un patrón común BICICLETA. Así como, por ejemplo, en un grupo de personas los integrantes José, María y Pablo serían OBJETOS provenientes de PERSONA. Si en una familia el padre de llama José y el hijo se llama José, los dos son dos OBJETOS diferentes provenientes de una instancia mayor PERSONA. 

En POO los objetos tienen valores o características (Atributos) que permiten definir su estado u otras cualidades. En la comparación que se hace con las bicicletas, estas tienen color, velocidad, marca, etc. Los objetos se comunican e interaccionan entre sí (Mensaje), pueden realizar acciones (Métodos), que en el caso de las bicicletas serían arrancar, cambiar, frenar o girar a la izquierda o la derecha. Los métodos pueden devolver un valor al terminar su ejecución (Valor de retorno). 

En Java, un objeto puede ser un botón, un formulario, una etiqueta, etc., que se crea a partir de un patrón prediseñado llamado Clase. Por ejemplo: 

JLabel EtiquetaDireccion = new JLabel("Dirección :"); 

En esta línea de código se crea el objeto "EtiquetaDireccion", que es una etiqueta formada a partir de la clase "JLabel".


1.4. ¿QUÉ ES UNA CLASE? 

De manera informal una Clase es como una plantilla o patrón para crear un tipo particular de objeto. Objeto con diversas características. Cada clase tiene asociado un código, que determina los atributos, métodos y cómo se van a ejecutar los objetos de esta clase y cómo lo hacen. La Programación orientada a objetos consiste en escribir código de clases, programar librería de clases, que sería algo similar a las librerías DLL. 

Volviendo al caso del ejemplo de la etiqueta. La clase JLabel nos permite crear objetos etiquetas, tantos como queramos, por ejemplo: 

JLabel EtiquetaNombre = new JLabel("Nombre :");

JLabel EtiquetaDireccion = new JLabel("Dirección :");

JLabel EtiquetaTelefono = new JLabel("Teléfono :"); 

… y así sucesivamente 

Una representación gráfica (UML), de una Clase y Objetos sería la siguiente:


 

 


 Viéndolo de otro modo:

 



1.5. CARACTERÍSTICAS DE LA POO 

Algunas definiciones formales de la POO: 

Abstracción: cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. 

Encapsulamiento: cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que específica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. 

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. 

Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles que reflejan un comportamiento común. 


1.6. ACERCA DE JAVA, LA CLASE Y EL OBJETO 

Cuando se programa en Java, ya sea para construir una librería de clases para ser usada por terceros, para desarrollar una aplicación de escritorio, una app para móviles, etc., siempre se define una clase. En el caso de este Curso Práctico de Java, tanto la interfaz de captura de datos, la conexión con la base de datos y los procesos con requisitos, se definirán a través de la construcción de Clases. 

Desarrollar un programa en Java, por más sencillo y complejo que sea, requiere codificar Clases e instanciar éstas en Objetos. Una clase en Java está formada por tres elementos principales: un nombre único que las diferencie de las otras clases, los atributos que representan alguna propiedad de la clase y que se encuentra en todas las instancias de la clase y los métodos que son la implementación de un servicio de la clase, muestran un comportamiento común a todos los objetos. En resumen es una función que le indica a las instancias de la clase que hacer. La sintaxis típica de una clase en Java es: 


//Inicio de la clase

class NombreClase

{

   //Lista de atributos  

   atributo_1;    

   atributo_2;

   ...;

   // Función principal

   public static void main(String args[])

   {

      ...;

   }

   // Fin función principal

 

   // Métodos

   public void método1()

   {

      ...;

   }

   public void método2()

   {

      ...;

   }

}

//Fin de la clase 


Las clases en Java se codifican utilizando cualquier editor de texto como el NotePad de Windows, u otro de su preferencia. Luego de codificar una clase en Java, se necesita compilarla y ejecutarla para poder ver los resultados por pantalla, según sea el caso. Las clases creadas para Java (archivo de texto) se deben guardar con el nombre de la clase y con la extensión (.java). Por ejemplo, si se creó una clase llamada MiPrograma, el archivo de texto donde se definió esta clase se debe guardar como MiPrograma.java. 


1.7. QUÉ SE NECESITA PARA TRABAJAR CON JAVA 

Para desarrollar, compilar y ejecutar las clases (archivos con extensión *.java) es necesario instalar Java Development Kit (kit de desarrollo de Java) o JDK, hoy propiedad de ORACLE. El jdk tiene diferentes versiones, identificadas por una secuencia de números x.y.z. Para el desarrollo de la aplicación de este Curso Práctico, se puede instalar cualquier versión de Java. En este caso se utilizará Java JDK SE Development Kit 7 Update 15 (Java Versión 7.0) por cuestiones prácticas. Java JDK Standard Edition es una herramienta de uso libre que se puede descargar del sitio web de ORACLE. Cabe destacar que es recomendable instalar el JDK que incluye, además de las herramientas para desarrollar en Java, el JRE (Java Runtime Environment) y la JVM (Java Virtual Machine). 

NOTA: En este curso se utilizará Java JDK 1.7.0.150 (x86) para Windows por las siguientes razones: 

1.- El JDK 1.7.0.150 es una versión de uso libre. 

2.- Hasta la versión 7, Java incorporó el driver JDBC para conectar con base de datos Microsoft Access (*.mdb), que es la que usa la aplicación a desarrollar en este curso. 

3.- Hasta la elaboración de este curso ORACLE lanzó la versión Java JDK17, que es la última versión. La aplicación puede desarrollarse y ejecutarse perfectamente en esta versión, sólo que se necesita de aplicaciones de terceros para conectar con JDBC Microsoft Access, como UCanAccess 5.0.1.


1.7.1. Instalación del JDK 

Aunque se pueden tener instaladas en el PC diferentes versiones de Java, y trabajar con cualquiera de ellas. En este caso, para la instalación del JDK SE Development Kit 7 Update 15, Se debe desinstalar cualquier versión de Java del equipo y limpiar las variables de entorno que tengan que ver con Java. Para instalar el JDK, se ejecuta el programa de instalación del JDK: jdk-7u15-windows-i586.exe. 

Este archivo se puede descargar del sitio web oficial de ORACLE. 

También del siguiente link: jdk-7u15-windows-i586. 


Para descargar el capítulo completo pulse el botón DESCARGAR: 



lunes, 14 de marzo de 2022

Curso Práctico de Java - Introducción












Introducción

Ya es mucha la bibliografía que hace referencia a Java. Libros, cursos y tutoriales muy completos, que definen todo acerca de este Entorno de Programación. Es bien conocido, para los que han tenido la oportunidad de estudiar y ensayar con este lenguaje de programación, que Java está enfocado en el desarrollo de aplicaciones para electrodomésticos, smartphones, televisores, computadoras, tabletas... en fin, como se aprecia en la descripción de la página web de ORACLE, son millones de dispositivos móviles y de escritorio que hacen uso de este lenguaje de programación para su funcionamiento.

Java es un lenguaje amigable, orientado a objetos. Es un lenguaje independiente de la plataforma o sistema operativo, por lo que un programa desarrollado en Java se ejecutará (en teoría, sin ningún problema) igual en un PC con Windows que en una tableta con Android o dispositivo Mac. Como lo plantearon sus creadores al inicio: codificar la aplicación una vez y ejecutarla en cualquier sistema operativo

Este curso pretende servir como material de instrucción a estudiantes y profesionales que se inician, o ya han tenido cierta experiencia en el mundo JAVA. A diferencia de otros cursos o tutoriales, este Curso Práctico de Java pretende ir un poco más allá de los fundamentos teóricos y ejercicios, y guiar al lector a desarrollar una verdadera aplicación de escritorio en Java. En este caso una aplicación sencilla pero completa, donde se aprenda a diseñar una interfaz para captar los datos, conectar y manejar una base de datos, codificar algoritmos con los típicos procesos de añadir, editar y eliminar registros, rutinas para imprimir, etc.

La aplicación que se pretende desarrollar con este curso fue parte del Trabajo de Grado: IMPLEMENTACIÓN DE REQUISITOS NO FUNCIONALES A TRAVÉS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS. Aplicación que sirvió de base, para demostrar que se pueden implementar requisitos no funcionales en un sistema de software (Aplicación), haciendo uso de este nuevo paradigma (POA).

El objetivo de este curso es acondicionar al practicante en el uso de las herramientas básicas de programación en Java, y proporcionarles los recursos y habilidades necesarias para poder adaptar las ventajas de este lenguaje a su área específica de trabajo.