Reingeniería del software aplicada al sistema WorldClic

Ana Leticia Delvalle Bogado1, Eligio Ariel Escobar Oviedo1, Cinthia Carolina Roa Gauto1

1Carrera de Ingeniería Informática, Facultad Comunitaria de Caacupé, Universidad del Norte

 

Introducción

Las técnicas de realización del software, han evolucionado con el tiempo, para mejorar el mantenimiento y reducir los costos de producción de software. La reingeniería de Sistemas, se refiere a todos los aspectos del desarrollo del sistema informático, incluyendo hardware, software e ingeniería de procesos, la ingeniera del software, es parte de ese proceso. Con la reingeniería, fue aplicada la arquitectura de Modelo – Vista – Controlador para mejorar el mantenimiento y ampliar tiempo de uso del software.

Con este trabajo, fue mejorada la documentación del sistema, ofreciendo documentación técnica de calidad, donde facilitará el mantenimiento del software. Con el avance de la ingeniería del software, existen diversas maneras de producir software de calidad, aplicando la reingeniería del software, permite mayor vida útil al software producido. Este proyecto de software, permite la aplicación de las técnicas de reingeniería al software WorldClic, mejorando su rendimiento y eficacia en tiempos de respuesta del usuario. WorldClic lnstitute es una iniciativa empresarial que ofrece servicios de enseñanza personalizada de las herramientas informáticas más utilizadas en el mercado. Con el uso diario del sistema realizado, surgen nuevos requerimientos que son necesarios para el correcto funcionamiento del instituto informático, y una forma segura es la Reingeniería del Software, respetando su ciclo de vida.

Entre los problemas encontrados se observa que el registro de las asistencias se torna lento, ya que se acumula gran cantidad de registros de asistencias de los alumnos en papel, que luego deben ser ingresados al sistema solo una vez por semana.

Situación Anterior

La enseñanza en el instituto es personalizada, por esta razón el control asistencia se toma muy tediosa, ya que se acumula gran cantidad de registros de asistencias de los alumnos en papel.

Situación Posterior

Implementando mejoras en el sistema WorldClic se optimiza su desempeño en cuanto a tiempo de respuesta, en el instituto informático se realizó el control de la asistencia del alumno de una manera más segura e instantánea, mediante el lector biométrico.

Arquitectura MVC (Modelo – Vista – Controlador)

Fue creada en 1979 por Trygve Reenskaug. Es un patrón que permite separar la GUI, de los datos y de la lógica apoyándose en tres componentes a saber: 1) Modelo: Esta es la representación de los datos y reglas de negocio (mundo del problema). Es el encargado de manejar un registro de las vistas y de los controladores que existen en el sistema. 2) Vista: Permite mostrar la información del modelo en un formato adecuado que permita que se dé la interacción. Además de poseer un registro acerca del controlador asociado y brinda el servicio de Update que puede ser usado tanto por el controlador como por el modelo. 3) Controlador: Responde a los eventos provocados por el usuario (se da un clic, se digita un texto, etc.) que implican cambios en el modelo y la vista, dando una correcta gestión a las entradas del usuario.

Está bien sabido que en aplicaciones a gran escala lo que cambia con mayor frecuencia es la lógica, por ello un diseño incorrecto en la cual se fusionen la interfaz de usuario con el mundo conllevaría a que fuera necesario modificar varios elementos del negocio en el caso en que se presentase una necesidad de transformación, conllevando a mayores gastos y riesgos. Por ello se requiere que se desacople la vista, logrando mayor usabilidad.

Herramientas informáticas utilizadas

Java Swing

Swing es un toolkit para Java. Es parte de Sun Microsystems’ Java Foundation Classes (JFC), un API para proporcionar una interfaz gráfica de usuario (GUI) para programas de Java. Swing fue desarrollado para proporcionar un sofisticado conjunto más del GUI componentes que el anterior Window Toolkit Resumen. Incluye widgets para interfaz gráfica de usuario tales como cajas de texto, botones, desplegables y tablas. Algunas de sus ventajas son: 1) El diseño en Java puro posee menos limitaciones de plataforma. 2) El desarrollo de componentes Swing es más activo. 3) Los componentes de Swing soportan más características.

NetBeans IDE

NetBeans IDE es un entorno de desarrollo integrado (IDE), modular, de base estándar (normalizado), escrito en el lenguaje de programación Java. El proyecto NetBeans consiste en un IDE de código abierto y una plataforma de aplicación, las cuales pueden ser usadas como una estructura de soporte general (framework) para compilar cualquier tipo de aplicación.

Arduino

Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, disertadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Para profesores, está convenientemente basado en el entorno de programación Processing, de manera que estudiantes aprendiendo a programar en ese entorno estarán familiarizados con el aspecto y la imagen de Arduino.

Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto, disponible para extensión por programadores experimentados. El lenguaje puede ser expandido mediante librerías C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la programación en lenguaje AVR e en el cual está basado. De forma similar, puedes añadir código AVR-C directamente en tus programas Arduino si quieres.

Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGAB y ATMEGA168 de Atmel. Los planos para los módulos están publicados bajo licencia Creativa Commons, por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender cómo funciona y ahorrar dinero.

MySQL

MySQL es la base de datos de código abierto más popular del mercado. Gracias a su rendimiento probado, a su fiabilidad y a su facilidad de uso. MySQL se ha convertido en la base de datos líder elegida para las aplicaciones basadas en web y utilizada por propiedades web de perfil alto,como Facebook, Twitter, YouTube y los cinco sitios web principales. Además, es una elección muy popular como base de datos integrada, distribuida por miles de ISV y OEM.

SQLyog

SQLyog es un excelente “front-end” (es decir, una interfaz gráfica) diseñada especialmente para trabajar de forma más rápida y cómoda con el servidor de base de datos MySQL. El programa está orientado a usuarios que ya tienen ciertos conocimientos de SQL y necesitan un intérprete gráfico sin excesivas florituras, ágil y funcional. SQLyog te permite administrar usuarios y permisos, y realizar múltiples peticiones a base de datos. También puedes insertar fácilmente, mediante plantillas, peticiones que realices con frecuencia, como por ejemplo creación de tablas. Otras opciones son la exportación de datos en formato CSV, HTML y XML, la optimización de bases de datos, la posibilidad de guardar scripts de SQL como favoritos y más.

MySQL Workbench

MySQL Workbench es una herramienta visual unificado para los arquitectos de bases de datos, desarrolladores y administradores de bases. MySQL Workbench ofrece modelado de datos, desarrollo de SQL y herramientas de administración integral para la configuración del servidor, administrador usuarios, copia de seguridad, y mucho más. MySQL Workbench está disponible en Windows, Linux y Mac OS X.

Diseño: MySQL Workbench permite un DBA, desarrollador o arquitecto de datos para diseñar visualmente, modelar, generar y gestionar bases de datos. Incluye todo lo que un modelador de datos necesarios para la creación de modelos ER complejos, hacia y la ingeniería inversa, y también proporciona características para llevar a cabo las tareas de gestión del cambio y documento requieren mucho tiempo y esfuerzo.

iReport

La herramienta iReport es un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar para JasperReports escrito en Java. Este instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imágenes, subinformes, etc. iReport está además integrado con JFreeChart, una de las bibliotecas gráficas OpenSource más difundida para java. Los datos para imprimir pueden ser recuperados por varios caminos incluso incluso múltiples uniones JDBC, TableModels, JavaBeans, XML, etc.

Esta es la vista principal en donde se accede a todos los módulos que contiene el sistema, previa autenticación y verificación de usuarios.

Menú principal

Figura 1. Pantallazo de la vista del Menú Principal del sistema.
Figura 2. Vista del módulo de autenticación del sistema.
Figura 3. Captura del formulario para el registro de usuarios del sistema.

Se debe tener en cuenta que existen varios formularios más que permiten y facilita la correcta funcionalidad del sistema WorldClic, los recién citados corresponde solo a una pequeña parte de todo el sistema para tener un panorama del aspecto visual y funcional del sistema.

Deja un comentario