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.
Para descargar el capítulo completo pulse el botón DESCARGAR: