Académique Documents
Professionnel Documents
Culture Documents
SISTEMA AUTOMATIZADO PARA LA GESTIN DE LOS PROCESOS ADMINISTRATIVOS ASOCIADOS A LAS ELECCIONES DE LA ASOCIACIN DE ESTUDIANTES DE INGENIERA DE COMPUTACIN Y SISTEMAS (ASECYS) DE LA UNIVERSIDAD DE ORIENTE, NCLEO ANZOTEGUI
En la actualidad, en el Departamento de Computacin y Sistemas de la Universidad de Oriente, Ncleo Anzotegui, lugar en el que circunscribe la accin de la Asociacin de Estudiantes de Ingeniera de Computacin y Sistemas (a la cual se har referencia por sus siglas ASECYS de ahora en adelante), se observa que los procesos pre-electorales (y electorales) que son necesarios para la legitimacin de las autoridades de dicha asociacin son realizados de manera manual, causando esto diversos problemas que finalmente llevan a que los cronogramas electorales no se cumplan a cabalidad por solicitudes extemporneas, extravos de postulaciones e impugnaciones y dificultades en la comprobacin de los recaudos de las postulaciones. Lo antes expuesto tambin origina un problema de sobretrabajo sobre los docentes coordinadores de la Junta Electoral, que adems de cumplir sus responsabilidades habituales, tienen que dedicarse a las gestiones anteriormente mencionadas.
El propsito de la presente investigacin es el de automatizar los procesos pre-electorales de las elecciones de ASECYS, mediante la implementacin de un sistema que permita gestionar fcil y
centralizadamente las tareas ms habituales concernientes a un proceso de este tipo, aliviando la carga de trabajo sobre los docentes responsables y acelerando las respuestas a todos los participantes (pasivos y activos) que son parte fundamental en el mbito del departamento.
Para que el desarrollo del sistema propuesto responda a las necesidades directas que se tienen, se realizarn entrevistas con los docentes encargados de la coordinacin de la Junta Electoral, como est establecido en el acta constitutiva y los estatutos de ASECYS, para consultarles acerca de las necesidades fundamentales, las funciones primordiales y tareas que debe desempear el sistema propuesto. El software se disear siguiendo el Proceso Unificado de Desarrollo Software, usando las herramientas del Lenguaje Unificado de Modelado, y se codificar en un lenguaje de programacin orientado a la Web, lo cual permitir que se acceda a este desde cualquier ubicacin. Cabe destacar que la totalidad del desarrollo del software se realizar con herramientas de software libre.
El alcance de la presente investigacin comprender la recopilacin de requisitos para el inicio del proyecto, el diseo documental del sistema, la construccin y codificacin de los mdulos del software, la implementacin del sistema en un entorno simulado y la realizacin de pruebas sobre el sistema ya implementado. La implementacin real del sistema en el ambiente para el que fue diseado queda fuera del alcance de la investigacin, por depender de factores institucionales y disposicin de materiales y equipos ajenas a esta.
Si bien la automatizacin de un sistema no es un proyecto original de por s, la especialidad del proyecto (procesos pre-electorales), si es original dentro de las investigaciones realizadas dentro del mbito de los proyectos de grado del departamento de Ingeniera en Computacin y de Sistemas. Tambin el proyecto se realizar como una aplicacin Web, lo que lo hace original debido a que no se va a limitar la capacidad de operar con el sistema a un espacio fsico determinado.
La importancia del proyecto reside en que este permitir la centralizacin y el manejo eficiente de las gestiones sobre los procesos preelectorales de ASECYS, minimizando as los problemas que se derivan de un manejo fsico ineficaz, y permitir a travs de esto un seguimiento inmediato sobre el estatus de cada una de los requerimientos de los actores que participan en dichos procesos.
Objetivos
Objetivo General
Desarrollar un sistema automatizado para la gestin de los procesos administrativos asociados a las elecciones de la Asociacin de Estudiantes de Ingeniera de Computacin y Sistemas (ASECYS) de la Universidad de Oriente, ncleo Anzotegui.
Objetivos Especficos
Determinar las diferentes condiciones y necesidades para la elaboracin del software. Identificar los requisitos funcionales y no funcionales del software. Disear los distintos mdulos del software. Codificar la totalidad de los mdulos del software. Realizar las pruebas de unidad e integracin en el software.
Hagob, J. (2010) desarroll un sistema de informacin bajo ambiente Web que permiti hacer seguimientos a equipos computacionales que se encontraban en estatus de reparacin y reclamo en talleres de servicio tcnico Hp; el sistema se identific con el nombre de RMA-WEB.
Guevara, L. (2009) desarroll un software en ambiente Web destinado a gestionar los procesos del departamento de administracin de una empresa encargada del mantenimiento de equipos dispensadores de combustible, cuyo objetivo principal fue el de ayudar en el control de los contenedores y la asignacin de estos para su mantenimiento; se utiliz el Proceso Unificado Racional de Desarrollo de Software (RUP) en combinacin con los lenguajes de modelado UML y WebML, para disear la aplicacin denominada SIADCON, por las siglas de Sistema Integral de Administracin para Contratistas.
Daz, J. y Tirado, N. (2009) desarrollaron un sistema automatizado como soporte de las tareas diarias de postgrado en el rea acadmica de la Universidad de Oriente, cuyas funciones principales fueron administrar todo lo referente a los Programas de Postgrado, lneas de investigacin, grupos de investigacin, datos y notas de estudiantes, datos de profesores, datos del personal administrativo, preinscripciones, generar los reportes de transacciones, emitir constancias y actas, y adems generar los archivos OPSU codificados.
Suniaga, J. (2009) desarroll una aplicacin Web para ofrecer servicios de soporte tcnico e inventario en la gerencia de informtica de la empresa C.A. Hidrolgica del Centro en Valencia, a travs del diseo de un Sistema de Administracin de Inventario y Mantenimiento de Equipos (SAIME) que apoy los procesos de realizacin de inventario, el cual est modelado y documentado bajo el Lenguaje Unificado de Modelado (UML), siguiendo la metodologa RUP, implantado bajo la plataforma Windows, programado con el lenguaje de programacin Java y cuyos datos son almacenados en una base de datos PostgreSQL.
Bases Tericas
Proceso Unificado Un proceso de desarrollo de software es el conjunto de actividades necesarias para a transformar los requisitos de un usuario en un sistema de software. Sin embargo el proceso unificado es ms que un simple proceso; es un marco de trabajo genrico que puede especializarse para una gran variedad de sistemas software, para diferentes reas de aplicacin, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaos de proyectos. El Proceso Unificado usa el Lenguaje de Modelado Unificado (UML) en la preparacin de todos los planos del sistema. De hecho, UML es una parte integral del Proceso Unificado, fueron desarrollados a la par. (Booch, Rumbaugh y Jacobson, 1999). Aspectos distintivos del Proceso Unificado Estn capturados en tres conceptos clave: dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental. Esto es lo que hace nico al Proceso Unificado. El Proceso Unificado es dirigido por casos de uso. Un caso de us o es una pieza en la funcionalidad del sistema que le da al usuario un resultado de valor. Los casos de uso capturan los requerimientos funcionales. El Proceso Unificado est centrado en la arquitectura. El papel del arquitecto de sistemas es similar en naturaleza al papel que el arquitecto desempea en la construccin de edificios. Similarmente, la arquitectura en
un sistema de software es descrita como diferentes vistas del sistema que est siendo construido. La arquitectura es la vista del diseo completo con las caractersticas ms importantes hechas ms visibles y dejando los detalles de lado. El Proceso Unificado es Iterativo e Incremental. Es prctico dividir el trabajo en pequeos pedazos o mini-proyectos. Cada mini-proyecto es una iteracin que finaliza en un incremento. Las iteraciones se refieren a pasos en el flujo de trabajo, los incrementos se refieren a crecimiento en el producto. Para ser ms efectivo, las iteraciones deben estar controladas, esto es, deben ser seleccionadas y llevadas a cabo de una manera planeada. (Booch, Rumbaugh y Jacobson, 1999).
Fases del Proceso Unificado de Desarrollo de Software Las iteraciones de cada fase se desarrollan a travs de las actividades de identificacin de requisitos, anlisis, diseo, implementacin, pruebas e integracin. Estas actividades son conocidas como flujos de trabajos fundamentales, y se describen a continuacin:
Requisitos: Flujo de trabajo fundamental cuyo propsito esencial es orientar el desarrollo hacia el sistema correcto. Esto se lleva a cabo mediante la descripcin de los requisitos del sistema de tal forma que se pueda llegar a un acuerdo entre el cliente (incluyendo usuarios) y los desarrolladores del sistema, acerca de lo que la aplicacin debe a hacer y lo que no.
Anlisis: Flujo de trabajo fundamental cuyo propsito principal es analizar refinar y estructurar los requisitos descritos en la actividad anterior (captura de requisitos). Diseo: Flujo de trabajo fundamental, en el cual, se formulan modelos que se centran en los requisitos no funcionales y el dominio de la solucin. Adems sirve de preparacin para la implementacin y pruebas del sistema. Implementacin: Flujo de trabajo fundamental donde se implementa el sistema en trminos de componentes, es decir, cdigo fuente, guiones, archivos ejecutables, etc. Pruebas: Flujo de trabajo fundamental cuyo propsito fundamental es comprobar el resultado de la implementacin mediante las pruebas de cada construccin, incluyendo, tanto construcciones internas como intermedias, as como, las versiones finales del sistema. (Booch, Rumbaugh y Jacobson, 1999).
Fase de Inicio Suele ser la fase ms corta del desarrollo, y no debera alargarse demasiado en el tiempo. En caso contrario, podramos encontrarnos en una situacin de excesiva especificacin inicial, yendo en contra del enfoque relativamente gil del Proceso Unificado. En esta fase se realizan las siguientes tareas: Desarrollar una descripcin del producto final y presentar el anlisis de negocio. Realizar una identificacin inicial de riesgos.
10
Establecen las principales funciones del sistema para los usuarios ms importantes, la arquitectura a grandes rasgos y un plan de proyecto. (Aquilino A, Fuente J, Cueva M, 2006). Fase de Elaboracin Durante esta fase deberan capturarse la mayora de requisitos del sistema, aunque los objetivos principales son tratar los riesgos ya identificados y establecer y validar la base de la arquitectura del sistema. Esta base se llevar a cabo a travs de varias iteraciones, y servir de punto de partida para la fase de construccin. La fase de elaboracin termina, por tanto, al alcanzar el hito de la arquitectura del sistema. (Aquilino A, Fuente J, Cueva M, 2006). Fase de Construccin Es la fase ms larga del proyecto, y completa la implementacin del sistema tomando como base la arquitectura obtenida durante la fase de elaboracin. A partir de ella, las distintas funcionalidades son incluidas en distintas iteraciones, al final de cada una de las cuales se obtendr una nueva versin ejecutable del producto. Por tanto, esta fase concluye con el hito de obtencin de una funcionalidad completa, que capacite al producto para funcionar en un entorno de produccin. (Aquilino A, Fuente J, Cueva M, 2006). Fase de Transicin En la fase final del proyecto se lleva a cabo el despliegue del producto en el entorno de los usuarios, lo que incluye la formacin de stos. En lo relativo a la evolucin del propio producto software:
11
Gracias a las opiniones obtenidas de versiones preliminares , evoluciona desde la fase beta a una versin final. Se resuelven incidencias en la implantacin e integracin, y si existen, se clasifican aquellas que podran justificar una nueva versin del producto. (Aquilino A, Fuente J, Cueva M, 2006).
Lenguaje de Modelado Unificado (UML) El Lenguaje Unificado de Modelado (UML Unified Modeling Language) es un lenguaje grfico para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos de negocio y funciones de sistema, adems de cosas concretas como lo son escribir clases en un lenguaje determinado, esquemas de base de datos y componentes de software reusables. (Salinas P, Histchfeld N, 2005).
Aplicacin Web En la ingeniera de software se denomina aplicacin Web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor Web a travs de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicacin software que se codifica en un lenguaje soportado por los navegadores web (HTML, JavaScript, Java, etc.) en la que se confa la ejecucin al navegador. Las aplicaciones Web son populares debido a lo prctico del navegador Web como cliente ligero, as como a la facilidad para actualizar y
12
mantener aplicaciones Web sin distribuir e instalar software a miles de usuarios potenciales. Una ventaja significativa es que las aplicaciones Web deberan funcionar igual independientemente de la versin del sistema operativo instalado en el cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas operativos, la aplicacin Web se escribe una vez y se ejecuta igual en todas partes. Aunque existen muchas variaciones posibles, una aplicacin Web est generalmente estructurada como una aplicacin de tres-capas. En su forma ms comn, el navegador Web ofrece la primera capa y un motor capaz de usar alguna tecnologa Web dinmica (PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion, etc.) constituye la capa de en medio. Por ltimo, una base de datos constituye la tercera y ltima capa. (Evjen B, Hanselman S. Y Rader D, 2006)
Lenguaje de creacin de pginas Web: HTML HTML es una implementacin del standard SGML (Standard Generalized Markup Language), estndar internacional para la definicin de texto electrnico independiente de dispositivos, sistemas y aplicaciones. Metalenguaje para definir lenguajes de diseo descriptivos; proporciona un medio de codificar documentos hipertexto cuyo destino sea el intercambio directo entre sistemas o aplicaciones.
Define una estructura de documentos jerrquica, con elementos y componentes interconectados. Proporciona una especificacin formal completa del documento. No tiene un conjunto implcito de convenciones de sealizacin. Soporta, por tanto, un conjunto flexible de juegos de etiquetas. Los documentos generados por l son legibles. (Martn P, 2006).
Lenguaje de Acceso a Base de Datos: SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del mtodo OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a travs para manipular bases de datos remotas cliente - servidor. El lenguaje SQL est compuesto por comandos, clusulas,
operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. SQL nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinacin con cualquier tipo de base de datos (MS Access, SQL Server, MySQL). (Casares C, 2004).
14
Lenguaje de Programacin para Pginas Web: PHP El lenguaje PHP es un lenguaje de programacin de estilo clsico, con esto quiero decir que es un lenguaje de programacin con variables, sentencias condicionales, bucles, funciones. A diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podra ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una pgina HTML pero igualmente podra ser una pgina WML. Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus pginas PHP funcionen, el servidor donde estn alojadas debe soportar PHP. (Gracia J, 2006).
15
Marco Metodolgico
Tipo de Investigacin
De acuerdo con Czares, Christen, Jaramillo, Villaseor y Zamudio (2000, p. 18), la investigacin documental depende fundamentalmente de la informacin que se recoge o consulta en documentos, entendindose este trmino, en sentido amplio, como todo material de ndole permanente, es decir, al que se puede acudir como fuente o referencia en cualquier momento o lugar, sin que se altere su naturaleza o sentido, para que aporte informacin o rinda cuentas de una realidad o acontecimiento. En este caso se realizar una investigacin documental, haciendo uso tanto de fuentes ubicadas en la Web como las impresas tales como libros, revistas etc., las cuales sern claves en el desarrollo del proyecto planteado aportando conocimientos y tcnicas actuales en cuanto al desarrollo de software. La investigacin subsiguiente ser tipo de campo, ya que se aplicar para comprender y resolver un problema en un contexto determinado, y se trabajar en el ambiente natural en que conviven las personas y las fuentes consultadas, de las que obtendrn los datos ms relevantes a ser analizados.
Nivel de la Investigacin
Para establecer el tipo de investigacin se usar como referencia la clasificacin de Hernndez, Fernndez y Baptista (2003) que sostienen la existencia de 4 tipos de nivel de investigacin: explorativos, descriptivos, correlacinales y explicativos.
16
Segn
los
autores
anteriormente
mencionados,
los
estudios
descriptivos detallan los hechos como son observados, con el objeto de aplicar ese conocimiento adquirido para la resolucin de un problema en concreto. Se efectuar una investigacin descriptiva para recolectar toda la informacin necesaria usada para representar las caractersticas que definen al sistema propuesto para as saber qu tipo de interfaces y contenidos se van a representar en el software.
Tcnicas a utilizar
Las tcnicas a emplear en el desarrollo del proyecto son: Tcnicas para la recoleccin de datos: Entrevista no estructurada o Informal: Esta tcnica ser utilizada para interactuar verbalmente con el personal docente ocupado de coordinar las acciones de la Junta electoral, en estas conversaciones se le formularn preguntas acerca de sus actividades dentro del contexto del sistema, para as determinar los factores clave y las necesidades fundamentales que deber cubrir el sistema a realizar. Este tipo de
Lenguaje Unificado de Modelado (UML) Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estndar para describir
17
un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes de software reutilizables.
Lenguaje de programacin Para realizar la codificacin de los componentes que conforman la aplicacin se usar el lenguaje de programacin PHP, montado en un servidor Apache. Tambin se utilizar el lenguaje de programacin Javascript y Ajax. El diseo de las pginas se har con HTML y hojas de estilo CCS. Adicionalmente, se utilizar PostgreSQL como manejador de bases de datos. Todas estas herramientas fueron seleccionadas por la robustez que ofrecen y por ser software libre.
La Metodologa RUP Se utilizar esta metodologa (El Proceso Unificado Racional, Rational Unified Process en ingls, y sus siglas RUP), para el proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos
18
19
Etapa 4. Fase de Construccin. Se proceder a codificar eficientemente los mdulos propuestos y descritos en las etapas anteriores, completando la funcionalidad y tambin la imagen final del sistema propuesto. Tambin, se realizarn pruebas preliminares de cohesin sobre el sistema. Duracin: 3 semanas. Etapa 5. Fase de Transicin y Pruebas. En esta etapa se realizarn pruebas sobre la aplicacin para identificar posibles errores de diseo y codificacin, y corregirlos. Tambin se identificarn los requisitos de hardware del programa. Duracin: 2 semanas. Etapa 6. Documentacin. Durante esta etapa se compilara la informacin necesaria para construir los manuales del sistema que permitirn al usuario final y al administrador usar y mantener el sistema de una manera correcta y eficiente. Duracin: 4 semanas. Etapa 7. Redaccin del Trabajo de Grado. En esta etapa se proceder a la redaccin y organizacin del trabajo de investigacin. Duracin: 8 semanas.
20
Cronograma de Actividades
Sistema automatizado para la gestin de los procesos administrativos asociados a las elecciones de la asociacin de estudiantes de ingeniera de computacin y sistemas (ASECYS) de la Universidad de Oriente, Ncleo Anzotegui.
Mes Actividades
Semana Cantidad de das Revisin Bibliogrfica Fase de Inicio Fase de Elaboracin Fase de Construccin Fase de Transicin y Pruebas Documentacin Redaccin del Trabajo de Grado
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Diciembre Enero Febrero Marzo Abril Mayo
20 4
Realizado por: Sergio Goschenko. Fecha de Inicio: 1 de diciembre de 2012. Fecha de Culminacin: 30 de mayo de 2013.
21
Bibliografa
Afonso., M. y Segnini, J. (2009). Desarrollo de un sistema automatizado bajo entorno web para el control de la programacin acadmica en la Universidad de Oriente Ncleo de Anzotegui. Trabajo de grado no publicado. Booch, G. y Rumbaugh, J. y Jacobson, I. Unificado De Modelado. ADDISON-WESLEY. Daz, J. y Tirado, N. (2009). Desarrollo de un software gerencial bajo plataforma Web para el control acadmico del rea de postgrado de la Universidad de Oriente. Trabajo de grado no publicado. Elmasri R y Navathe S. (1997). Sistemas de Bases de Datos AddisonWesley. Argentina. Gracia, J., (2006), Conceptos Bsicos de PHP, tomado de: (1999). UML El Lenguaje
http://www.webestilo. com /php/php00.phtml. En fecha: Junio, 2011. Guevara, L. (2009). Desarrollo de un software en ambiente Web destinado a gestionar los procesos del departamento de administracin de una empresa encargada del mantenimiento de equipos dispensadores de combustible, ubicada en Puerto La Cruz Estado Anzotegui. Trabajo de grado no publicado Hagob, J. (2010). Desarrollo de un Sistema bajo Ambiente Web que permita hacer seguimientos a equipos computacionales que se encuentran en estatus de Reparacin y Reclamo en talleres de Servicio Autorizados. Trabajo de grado no publicado. Hernndez, R. y Fernndez, C. y Baptista, P. (1999). Metodologa de la Investigacin .Editorial McGraw-Hill Interamericana, Mxico.
22
Martn,P.,
(2006),
HTML,
tomado
de:
http://www.asptutor.com/zip/cbhtml.pdf. En fecha: Junio, 2011. Perez, M., (2003), UML, tomado de:
http://www.monografias.com/trabajos7/bada. shtml. En fecha: Junio, 2011. Sommerville, I. y Wesley, Pearson Education. Suniaga, J. (2009). Desarrollo de una aplicacin Web basada en tecnologa HelpDesk para ofrecer servicios de soporte tcnico e inventario en la gerencia de informtica de la empresa C.A. Hidrolgica del Centro en Valencia, Estado Carabobo. Trabajo de grado no publicado. A. (2005). Ingeniera de Software. Mxico.
23