lunes, 11 de abril de 2022





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:




No hay comentarios:

Publicar un comentario