• No se han encontrado resultados

Sistema automatizado para el proceso de caracterizacion de los estudiantes

N/A
N/A
Protected

Academic year: 2023

Share "Sistema automatizado para el proceso de caracterizacion de los estudiantes"

Copied!
214
0
0

Texto completo

(1)

Título: Sistema automatizado para el proceso de caracterización de los estudiantes.

Trabajo de Diploma para optar por el título de Ingeniero en ciencias Informáticas

Autores:

Anileidy Basso Mesa Dayaima Gómez Almaguer

Tutores:

Ing. Yunia Reyes González Ing. Edgar González Blanco

Co-tutor:

Yanio García Vidal

“Ciudad de la Habana, 2009”

(2)

Ernesto Che Guevara

(3)

Para que así conste firmo la presente a los ____ días del mes de ________ del año ________.

Dayaima Gómez Almaguer Anileidy Basso Mesa

___________________ __________________

Firma del Autor Firma del Autor

Edgar González Blanco Yunia Reyes González

______________ ______________

Firma del Tutor Firma del Tutor

(4)

Facultad 2 – Universidad de las Ciencias Informáticas

Página I

(5)

Facultad 2 – Universidad de las Ciencias Informáticas

Página II

(6)

Facultad 2 – Universidad de las Ciencias Informáticas

Página III

formación en la rama específica que estudian, sino que lo vinculan también a otras esferas como son el arte, la literatura, el deporte, entre otras. Estas actividades abarcan la formación docente, científica, pro- ductiva y extracurricular y son la base para realizar el proceso de caracterización.

El proceso de caracterización dentro de la vida estudiantil es de suma importancia, debido a que recoge la trayectoria de las tareas realizadas como miembro de la FEU en el curso escolar.

La amplia matrícula con que se cuenta y los métodos que se utilizan para el desarrollo de la gestión de la información hace difícil realizar de forma eficiente el proceso de caracterización. En la Facultad 2 surge la necesidad de implementar un sistema que gestione la información que genera la caracterización de cada estudiante. El trabajo titulado: Sistema automatizado para el proceso de caracterización de los estudian- tes, permite dar solución a dicha problemática.

En el presente documento se exponen las principales características de las herramientas, tecnologías y metodología empleadas, todo el estudio y modelado del negocio, el estudio y definición de las característi- cas del sistema, así como el análisis y el diseño de la aplicación Web a desarrollar. Finalmente se dejan algunas recomendaciones para próximas versiones del mismo.

PALABRAS CLAVE

Proceso de Caracterización, FEU.

(7)

Facultad 2 – Universidad de las Ciencias Informáticas

Página IV branch specific training in that study, but it also linked to other areas of life such as art, literature, sports, among others. These activities run the teacher training, scientific, productive, and extracur- ricular and are the basis for the process of characterization.

The process of characterization in the student life is very important because it reflects the trajecto- ry of the work as a member of the FEU in the school year.

The large group of students and the methods used to develop information management makes it difficult to carry out efficiently the process of characterization. In the School 2 there is a need to implement a system to manage information generated by the characterization of each student.

The work entitled: Automated system for the characterization of students allowed resolving this problem.

The present document describes the main features of the tools, technology and methodology e m- ployed throughout the study and modeling of the business, studying and defining the characteri s- tics of the system, as well as analysis and design of Web application development. Finally we do unit test of the system, and give some recommendations for future versions of it.

KEYWORDS

(8)

Facultad 2 – Universidad de las Ciencias Informáticas

Página V

(9)

Facultad 2 – Universidad de las Ciencias Informáticas

Página VI

RESUMEN ... III ABSTRACT ... IV

INTRODUCCIÓN ... 9

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA ... 13

1.1INTRODUCCIÓN ... 13

1.2ESTADO DEL ARTE ... 13

1.2.1 Gestión de la Información ... 13

1.2.3 ¿Qué es un Sistema de Gestión de Información (SGI)? ... 14

1.3MARCO TEÓRICO ... 18

1.4APLICACIÓN A REALIZAR:SOLUCIÓN A TRAVÉS DE UN SISTEMA DE GESTIÓN WEB. ... 19

1.4.1 Ventajas del entorno Web... 19

1.5.METODOLOGÍA A UTILIZAR ... 21

1.6NOTACIÓN PARA EL MODELADO DEL NEGOCIO ... 23

1.7LENGUAJE A UTILIZAR ... 25

1.7.1 Lenguaje Unificado de Modelado UML. ... 25

1.7.2 Lenguajes de programación ... 26

1.8HERRAMIENTAS Y TECNOLOGÍAS A UTILIZAR ... 30

1.8.1 Herramientas CASE ... 30

1.8.1.1 Visual Paradigm... 30

1.8.1.2 Office Visio 2003 ... 31

1.8.2 Herramienta de desarrollo: Zend Studio for Eclipse ... 32

1.8.3 Servidor Web: Apache ... 33

1.8.4 Framework: CodeIgniter ... 34

1.8.5 Sistema Gestor de Base de Datos (SGBD): PostgreSQL ... 36

1.8.6 Servicios Web ... 37

1.9PATRONES APLICADOS ... 38

(10)

Facultad 2 – Universidad de las Ciencias Informáticas

Página VII

CAPÍTULO 2: CARACTERÍSTICAS DEL SISTEMA... 42

2.1INTRODUCCIÓN ... 42

2.2MODELO DE NEGOCIO ... 42

2.2.1 Descripciones Textual del Proceso de Negocio. ... 43

2.3SUJETOS DEL NEGOCIO. ... 44

2.4REQUERIMIENTOS FUNCIONALES. ... 45

2.5REQUERIMIENTO NO FUNCIONALES ... 60

2.6PROPUESTA DEL SISTEMA ... 63

2.7MODELO DE CASOS DE USO DEL SISTEMA ... 64

2.7.1 Definición de los Actores del Sistema... 64

2.7.2 Diagrama de Caso de Uso del Sistema ... 65

2.6.3 Descripción de los Casos de Uso del Sistema ... 69

2.7CONCLUSIONES DEL CAPÍTULO ...105

CAPÍTULO 3: ANÁLISIS Y DISEÑO DEL SISTEMA ...106

3.1INTRODUCCIÓN ...106

3.2MODELO DE ANÁLISIS ...106

Clases del Análisis ...106

3.2.1 Diagramas de Clases del Análisis ...106

3.3.DISEÑO DEL SISTEMA ...110

3.3.1 Diagramas de Clases de Diseño ...110

3.3.2 Diagramas de Interacción ...117

3.4DISEÑO DE LA BASE DE DATOS ...117

3.4.1 Modelo Lógico de Datos...117

3.4.1.1 Descripción de las tablas del Modelo Lógico de Datos ...118

3.4.2 Modelo Físico de Datos ...123

3.4.2.1 Descripción de las tablas del Modelo Físico de Datos ...123

(11)

Facultad 2 – Universidad de las Ciencias Informáticas

Página VIII

4.3DIAGRAMA DE COMPONENTES ...130

4.4MÉTODO DE PRUEBA ...137

CAJA NEGRA ...137

4.5CONCLUSIONES ...141

CAPÍTULO 5: ESTUDIO DE FACTIBILIDAD...142

5.1INTRODUCCIÓN. ...142

5.2ESTIMACIÓN DE ESFUERZO BASADA EN CASOS DE USO. ...142

5.3CONCLUSIONES. ...150

CONCLUSIONES...152

RECOMENDACIONES ...153

BIBLIOGRAFÍA ... ¡ERROR! MARCADOR NO DEFINIDO. ANEXOS ...157

(12)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 9

INTRODUCCIÓN

Hoy en día, nadie pone en duda la importancia que tienen las nuevas tecnologías en la sociedad actual, prácticamente está presente en todos los ámbitos. Ya es común hablar de trabajo en red, Intranet, Inter- net, uso de correos electrónicos para la transferencia digital de información y sistemas de gestión. Todas estas herramientas permiten que los trabajadores de una entidad compartan e intercambien información, pero todas ellas, deben estar sistematizadas y normalizadas para que tengan un uso eficiente. Las exi- gencias del mundo actual hacen de la tecnología Web, una línea a seguir, en cuanto a la necesidad de acceder a gran cantidad de información y la posibilidad amplia de acceso global a la misma.

Cuba no se ha quedado al margen de esta revolución tecnológica, la necesidad de introducir y dominar la nueva tecnología facilitaría acercarse a un desarrollo de las diferentes áreas. Se hace indispensable la creación de Sistemas de Gestión de Información que aceleren de alguna forma el proceso de informatiza- ción en las diferentes empresas cubanas de manera que la sociedad pueda ir logrando insertarse en la era de la información y el conocimiento. Para alcanzar la meta de la informatización se necesita una cultu- ra básica informática, y el desarrollo de un punto referencial capacitado para la producción de software y de servicios informáticos. Inmersa en esta tarea se encuentra la Universidad de las Ciencias Informática (UCI) donde lleva a cabo el desarrollo de proyectos conjuntos con múltiples organismos.

La UCI, cuenta con una de las principales redes del país, el desarrollo de los sistemas Web dentro de ella se utilizan en diversidad de tareas, por ejemplo: elaboración de documentos, reportes y un sinnúmero de control de procesos. El objetivo de estas aplicaciones es lograr la automatización de los procesos internos de la universidad, logrando con ello una mayor organización, y por tanto una mayor eficiencia en la gestión y control de los mismos.

La Universidad cuenta con una matrícula de alrededor de 10 000 estudiantes, lo que hace difícil tener un control en sus tareas como miembros de la Federación Estudiantil Universitaria (FEU). El proceso de ca- racterización dentro de la vida estudiantil es de suma importancia, debido a que recoge la trayectoria de los estudiantes en las diferentes actividades del curso escolar. Estas actividades manejan la formación docente, científica, productiva y extracurricular y son la base para una evaluación al terminar un período.

(13)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 10

La UCI es una universidad surgida en el marco de la Batalla de Ideas donde se realiza específicas activi- dades y tareas, se hace necesario tener una base y un control del comportamiento de los estudiantes para desarrollar exitosamente una selección para el cumplimiento de misiones. Además, a cada estudiante cuando concluye sus estudios para incorporarse a la vida profesional se le realiza una caracterización y partiendo del proceso se genera el aval, esto no es del todo factible puesto que no se tienen controlados los datos suficientes de las actividades fundamentales que se realizan en la carrera.

Cuando se estudia la vía en la que actualmente se realiza el proceso de caracterización, surgen una serie de problemas que imposibilitan el buen funcionamiento de este, el hecho de que todo el trabajo es realiza- do de forma manual y cada día la cantidad de información a guardar es mucho mayor provoca pérdida de la información y demora en el proceso. Los métodos utilizados no permiten generar cualquier tipo de in- formación, pues el desarrollo del proceso con herramientas como el Word o el Excel provoca que la búsqueda de datos se tarde más debido a la poca flexibilidad que estos ofrecen. Este proceso de caracte- rización en la actualidad se realiza al culminar el curso escolar, trayendo consigo la dificulta d de no poder realizar una consulta del comportamiento de un estudiante en un momento intermedio del curso, con posi- bilidades de no tener datos precisos de la realización de actividades, además de no permitir que varios usuarios puedan acceder de forma simultánea a la información y con rapidez lo que sin dudas traerá co n- sigo un atraso a la hora de actualizar o entregar la misma debido a que esta última se realiza con dispos i- tivos de almacenamiento como disquetes, memorias o vía correo electrónico lo que pudiera provocar la pérdida o el acceso a la misma de personas que no están autorizadas a hacerlo.

El proceso de caracterización se hace muy complejo, difícil de realizar y con poca calidad por la cantidad de información existente debido a la amplia matrícula de estudiantes con la que cuenta hoy la facu ltad. Es necesario que la facultad posea un sistema que garantice el proceso de caracterización de los estudian- tes.

Dada la situación problemática detallada se plantea entonces el siguiente problema científico ¿Cómo facilitar el Proceso de Caracterización de los Estudiantes de la Facultad 2?

Se propone como objetivo general de la investigación implementar un sistema capaz de permitir la ges- tión de la información para el proceso de caracterización de los estudiantes.

(14)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 11

Se definió como objeto de estudio los sistemas de gestión de información, derivándose como campo de acción el proceso de control, chequeo y seguimiento de la Caracterización de los Estudiantes de la Facul- tad 2.

Se plantearon tareas a realizar para una mejor comprensión y organización del trabajo:

Entrevistar personal calificado y con experiencia en procesos evaluativos y de caracterización para comprender a profundidad cómo se desarrollan dichos procesos.

Realizar un estudio del funcionamiento del proceso de caracterización de la Federación Estudiantil Universitaria en la facultad 2 para comprender y modelar detalladamente las actividades que tienen lugar durante dicho proceso.

Analizar documentación digital, en formato duro o web sobre sistemas para gestionar procesos de evaluación con el propósito de conocer cómo funcionan e identificar mejoras a la propuesta que se expone.

Realizar un estudio detallado de las herramientas y tecnologías existentes, establecer un diagnos- tico de las tendencias actuales y tomar posición al respecto.

Analizar los procesos que se desarrollan dentro del sistema para modelarlos y comprender su funcionamiento.

El documento está estructurado en cinco capítulos, a continuación se resumen los aspectos contenidos en cada uno de ellos.

Capítulo 1. Fundamentación teórica: En el Capítulo 1 se aborda la formalización de todos los concep- tos asociados al tema de los sistemas de gestión de la información que son necesarios para la compren- sión del trabajo, además de analizar las tendencias, técnicas, tecnologías, metodologías y software que se usan en la actualidad, disponibles para el desarrollo.

Capítulo 2. Características del sistema: El propósito del capítulo es enunciar y describir las característi- cas que presentará el sistema, se detalla el objeto de automatización así como la propuesta de solución a los problemas que dan paso a la investigación del presente trabajo. Se definen los requisitos funcionales y no funcionales que presentará el sistema, se realiza la descripción de los casos de usos que los confor- man. Se describe el modelamiento del negocio y se confecciona el diagrama de casos de uso del sistema.

(15)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 12

Capítulo 3. Análisis y Diseño: En el Capítulo 3 se realiza el análisis y diseño de la solución planteada en el Capítulo 2 como artefactos resultantes de estas actividades se obtienen, los diagramas de clases del análisis y los diagramas de interacción del diseño para aquellos casos de usos significativos para la arqu i- tectura, además del diagrama de clases del diseño.

Capítulo 4. Implementación y Prueba: El propósito del Capítulo 4 es realizar la etapa de implementación y prueba del sistema desarrollado. Se elabora el diagrama de despliegue y el de componentes. Se co n- feccionan los casos de pruebas de aquellos casos de uso considerados significativos desde el punto de vista arquitectónico.

Capitulo 5. Estudio de Factibilidad: Se describe la aplicación de la técnica de estimación del esfuerzo.

(16)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 13

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA

1.1 Introducción

En el presente capítulo se brinda una visión general de los aspectos relacionados con el proceso de ges- tión de la información. Se incluirá además una explicación de importantes conceptos de necesario dominio para la creación de una aplicación Web y para entender correctamente en qué consiste la misma. Así co- mo la descripción de los principales conceptos asociados al problema y que son necesarios para entender la propuesta de solución. Además se pretende un acercamiento a las tendencias y tecnologías actuales, fundamentando las razones que impulsaron a la selección de la metodología, lenguaje de programación, servidor y gestor de base de datos a utilizar para el desarrollo del sistema que se propone.

1.2 Estado del Arte

En los últimos años el desarrollo de la informática a nivel mundial ha acelerado el proceso de gestión de la información. A medida que la tecnología avanza, las organizaciones la aprovechan para adoptarla en to- dos sus procesos y obtener ventajas competitivas. En la actualidad se han concebido sistemas para el manejo de información, que almacena el conocimiento según al área de interés de cada organización.

1.2.1 Gestión de la Información

Se considera que la información es un recurso que se encuentra al mismo nivel que los recursos financie- ros, materiales y humanos, que hasta el momento habían constituido los ejes sobre los que había girado la gestión empresarial. La información como un soporte de transmisión de conocimientos se convierte en algo casi vital. La gestión de la información constituyó un nuevo concepto dentro del campo de la ciencia de la información, es el proceso de analizar y utilizar la información necesaria que se ha recabado y regis- trado para permitir a los administradores de todos los niveles tomar medidas documentadas sobre esa gestión.

La gestión de la información implica:

Determinar la información necesaria que se precisa.

Recoger y analizar la información.

(17)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 14

Registrarla y recuperarla cuando sea necesaria.

Utilizarla y divulgarla

.

El impacto que ha provocado el impresionante desarrollo de las tecnologías de la información, que englo- ba tanto a la tecnología informática como la de comunicación, ha evidenciado la necesidad de usar la in- formación de forma efectiva, abriendo paso a una nueva cultura: la de la sociedad de la información o del conocimiento; adquiriendo paulatinamente una mayor complejidad. La aparición de herramientas moder- nas que originan nuevas formas de utilizar la información y la velocidad de los cambios que trae consigo, obliga a modificar los esquemas mentales de grupos de trabajos para expresar su contenido.

1.2.3 ¿Qué es un Sistema de Gestión de Información (SGI)?

Un Sistema de Información (SI) se define como un conjunto de elementos que procesan y distribuyen la información para apoyar la toma de decisiones, el control, análisis y visión en una institución. La capaci- dad para el acceso inmediato a los datos comprensivos es crítica en el proceso de toma de decisiones y requiere la recolección, almacenamiento y análisis de grandes cantidades de información.

Los SI se han vuelto esenciales para las organizaciones provocando un cambio en la forma en que las entidades hacen sus negocios, exigiendo mayores niveles de eficiencia en las operaciones y procesos. La gestión y control de la información de los medios permite agilizar el trabajo cotidiano, evitando realizar tareas repetitivas. Además, cada usuario puede disponer de la información que necesita para realizar su trabajo justo en el momento en el que realmente la precisa.

Los sistemas de gestión de información están compuestos por un conjunto de herramientas, apoyado por una base de datos y redes internas, que consisten en una serie de programas en un servidor web, y op- cionalmente, una serie de programas cliente que te permitan acceder a esos programas del servidor, o r- ganizados de manera tal que estén relacionados entre sí, dentro de una estructura, que brinden informa- ción y faciliten el proceso de la toma de decisiones en determinada situación.

Desde el punto de vista del usuario del sistema, se trata de gestionar, de forma uniforme, accesible, y cómoda, con actualizaciones periódicas, y sobre el que pueden trabajar una o más personas, cada una de las cuales tiene una función determinada; desde el punto de vista del cliente, se trata de un sitio web dinámico, con apariencia e interfaz uniforme, con un diseño centrado en el usuario, y que permite llevar a

(18)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 15

cabo fácilmente las tareas para las que ha sido diseñado. El sistema de información debe ser flexible e interactivo, de forma que permita a los gerentes y directivos obtener y manipular información.

En la actualidad es necesario establecer que el manejo de la información para una organización es el líquido vital para que ésta se mantenga en franca competencia.

Sistema de Gestión de personal

Los métodos tradicionales manuales para mantener la información del personal no son viables en una organización relativamente grande. En la actualidad el desarrollo que existe implica un mayor control del personal en una entidad, se hace necesario nuevas variantes que hagan de este proceso un manejo fácil, muchas personas se encuentran en un puesto, en el que necesitan información sobre la gestión de sus empleados a medida que avanzan en su carrera, las aplicaciones web se han convertido en una fuente de manejo y control de la información siendo muy útil para las organizaciones.

1.2.3.1 Sistemas automatizados de Gestión de la Información existentes en el mundo.

En el mundo existen varios sistemas informáticos que se enmarcan en el campo de acción de la investiga- ción. Algunos de los encontrados podrán servir para obtener experiencias de cómo otros le han dado s o- lución a la problemática a la que hoy se enfrenta la facultad. Más adelante se exponen algunos, así como una breve descripción de cada uno de ellos que permite arribar a conclusiones y guiar la propuesta de solución hacia el cumplimiento de los objetivos propuestos.

SGP (Sistema de Gestión de Personal)

Producto desarrollado específicamente para satisfacer la gestión de personal, se actualiza en forma pe r- manente para cubrir los nuevos requerimientos. 1

Algunas de las características:

 Incluye tablas de historia laboral y de planilla de trabajo.

 Ficha de cada funcionario.

 Diferentes modalidades de ingreso de movimientos variables.

1 Prosis. [En línea] [Citado el: 21 de febrero de 2009.] http://www.prosis.com.uy/sgp.htm.

(19)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 16

 Definición por parte del usuario de los diferentes códigos de haberes y de descuentos según sus necesidades.

 Posibilidad de anular o eliminar liquidaciones.

El SIU-Pampa

El SIU-Pampa es un sistema que lleva adelante la gestión de personal de manera integrada. Mantiene el expediente del empleado actualizado y constituye una base para obtener información útil para la organiza- ción. Es la fuente de información para la gestión de personal y para la liquidación de haberes. El sistema se actualiza incorporando las modificaciones de la legislación vigente. 2

1.2.3.2 Sistemas automatizados existentes en nuestro país.

A continuación se hará referencia a algunos sistemas de gestión de información encontrados en nuestro país que se encargan de investigar y desarrollar algún tipo de información en específico.

Información de medicamentos en Cuba: realidad y perspectivas de los sistemas automatizados En Cuba, varias instituciones científicas especializadas disponen de gran cantidad de información médico- farmacéutica bien organizada y actualizada de los medicamentos aprobados en el país; de modo que en el caso cubano la problemática no se enmarca en la carencia de información sobre los productos, sino en cómo diseminarla a todo el sistema de salud para que los más de 90 000 profesionales del sector (méd i- cos, estomatólogos, personal de enfermería, entre otros) puedan disponer de ella, mantenerse actualiza- dos y hacerse un uso efectivo de esta en el proceso de toma de decisiones en las diferentes entidades de salud y en todo el territorio nacional.

Se dispone de una importante infraestructura en hospitales, centros de investigaciones, policlínicos, fa r- macias principales, municipales y otros, la presencia de un sistema automatizado de información sobre medicamentos sería de mucha utilidad como complemento del Formulario Nacional de Medicamentos por lo que fue necesario el desarrollo e implementación del sistema automatizado de información sobre medi- camentos, la nueva herramienta informática en la Biblioteca Virtual en Salud.

2 SIU. [En línea] [Citado el: 2 de febrero de 2009.] http://www.siu.edu.ar/documentos/Pampa.pdf.

(20)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 17

Con la implementación de un sistema informativo con estas características, se ha logrado la disponibilidad de información actualizada sobre los productos farmacéuticos utilizados en el país, la incorporación en línea de nuevos medicamentos a disposición de los usuarios se convierte en una operación sencilla y dinámica, por las propias características del soporte electrónico es posible incorporar otros elementos que le añadan valor a la información, y las posibilidades de realizar búsquedas y consultas a partir de diferen- tes criterios, y mediante la combinación de estos, constituye una herramienta de gran valor.

Centro de Información de ETECSA

Babel es un Sistema Automatizado de Gestión de Información para los servicios de traducción e interpre- tación es una aplicación programada en PHP. Esta aplicación tiene tres módulos: usuarios, traductores, administradores. Para la gestión de los datos se utilizan las bases de datos relacionales de MySQL, aloja- das en un Servidor Web Apache http Server. 3

Babel es un sistema automatizado para la gestión de las solicitudes de servicios de traducción e interpre- tación que integra las nuevas tecnologías y cuyo uso agiliza el trabajo de la Unidad, Centro y Dirección. Es una poderosa herramienta que integra y facilita la utilización de los servicios a través de la red. En la In- tranet de ETECSA provee un considerable ahorro de llamadas y transportación entre Entidades geográfi- camente distantes y que requieran de los servicios, permite informatizar y optimizar el proceso de traduc- ción. Esta aplicación reduce de manera importante los tiempos de respuesta a los clientes, además que les ofrece la posibilidad de consultar en qué estado se encuentra la solicitud realizada a través de una interface Web muy amigable.

1.2.3.3 Sistemas automatizados existentes en la UCI.

Sistema de Gestión Académica: Akademos

Akademos es un sistema de gestión de información de los estudiantes una vez matriculados en la univer- sidad. Manipula una hoja de matrícula en la que se guardan todos los datos personales del estudiante.

3 info 2010 . [En línea] [Citado el: 22 de febrero de 2009.] http://www.congreso- info.cu/UserFiles/File/Info/Info2006/Ponencias/37.pdf.

(21)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 18

Incluye una herramienta que mantiene informado a los estudiantes sobre su desempeño académico. Tiene un sistema para el control del proceso docente. Define una sesión para gestionar el claustro universitario.

Se especifica un área de verificación del plan de estudio y cuenta con un sector administrativo para asi g- nar permisos y generar reportes.

KAINOS.

KAINOS es un proyecto que se está desarrollando en la Universidad de las Ciencias Informáticas (UCI) con el objetivo de implementar un sistema para la gestión de los procesos de la Unión de Jóvenes Comu- nistas (UJC). La idea es que maneje y controle información de los estudiantes que ya son militantes y de todo el universo juvenil, pues si en algún momento se desea realizar el crecimiento a algún estudiante que no sea militante ya se contaría con los datos necesarios. De los no militantes se maneja información gene- ral del estudiante como: si en algún momento lo fue y de ser así el motivo de la baja, entre otras cosas. De los militantes se manejan un mayor número de elementos. Este proyecto surge por la necesidad de aut o- matizar todos los procesos de la vida juvenil del estudiante aspirante o militante de UJC.

1.3 Marco Teórico

Los sistemas antes expuestos permiten la gestión de información pero no se relacionan a la gestión de la información referente a las actividades y tareas que desempeña un estudiante de la UCI en el transcurso de la carrera, por ser la UCI una universidad atípica donde se desarrollan específicas tareas las cuales dificultan la adaptación a sistemas generados para otro tipo de problemáticas aún cuando estas sean simi- lares a las que hoy se presentan en los locales destinados para gestión de personal. Los sistemas estu- diados utilizados en la UCI no abarcan el control de los estudiantes como miembros de la FEU, se centran en diferentes áreas pero no de manera generalizada, ejemplo Akademos refiere el seguimiento de los es- tudiantes en sus resultados docentes, Kainos es otro de los sistemas que se estudia, el mismo refiere al control de los estudiantes dentro de la UJC con sus características propias además que es adaptado a todas las universidades, las mismas tienen mucha diferencia en las actividades que se desarrollan en la UCI . Se alejan de la gestión propia del objetivo de investigación, el proceso de gestión de caracterización de los estudiantes de la facultad 2 que enmarca todas las tareas, responsabilidades y actividades que desarrolla el estudiante en su transcurso por la carrera. Todos manejan de una forma u otra la posibilidad

(22)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 19

de publicar y proveer a sus usuarios de una información lo más actualizada posible, sin embargo, ninguno de los sistemas encontrados cumplen con los requerimientos del cliente.

Es por esto que se propone un sistema que gestione específicamente las actividades de los estudiantes, en este caso el control dentro de la vida FEU en la UCI.

Luego de estos análisis, se concluye que es vital la elaboración de una aplicación Web, con arquitectura cliente-servidor que garantice la gestión de las actividades de los estudiantes en la facultad y que cubra las necesidades de la misma, brindando los reportes indispensables para la correcta ubicación y el buen control en el desarrollo de los mismos como profesionales, además de garantizar un ingreso seguro a la información manejada en el sistema estableciendo para ello niveles de acceso.

1.4 Aplicación a realizar: Solución a través de un sistema de gestión Web.

Uno de los medios y formas más potentes de ofrecer información lo constituyen las aplicaciones web. Una Aplicación Web es un sistema informático que los usuarios utilizan accediendo a un servidor Web a través de internet o de una intranet.

Las aplicaciones web son una especialización y concreción de las aplicaciones cliente-servidor, o sea, su arquitectura general es la de un sistema cliente/servidor, donde tanto el cliente (el navegador) como el servidor (el servidor Web), y el protocolo mediante el que se comunican (el HTTP: HyperText Transfer Protocol) son estándar, y no han de ser creados por el desarrollador. 4

1.4.1 Ventajas del entorno Web

Las aplicaciones web son populares debido a la practicidad del navegador como cliente ligero (como un navegador de Internet), contiene elementos que permiten una comunicación activa entre el usuario y la información lo cual posibilita un modo interactivo con el cliente. La habilidad para actualizar y mantener aplicaciones Web sin distribuir e instalar software es otra razón de su popularidad.

Presenta una facilidad de manejo ya que la interacción con el usuario se establece en base a elementos a los que está cada vez más acostumbrado, páginas Web, que le permiten conocer la funcionalidad del sis-

4 Arsys. [En línea] [Citado el: 22 de febrero de 2009.] http://www.arsys.es/soporte/programacion/windows.htm.

(23)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 20

tema con poco esfuerzo. Son accesibles desde cualquier punto de la red, lo cual significa que un usuario autorizado puede utilizarla si dispone de la conexión. Presenta gran portabilidad, debido a que los nave- gadores Web se han desarrollado para todo tipo de hardware, por lo que cualquier usuario de internet, dispone de la herramienta básica para lanzar la aplicación.

La creciente popularidad de las aplicaciones Web se debe a sus múltiples ventajas, entre las cuales se pueden citar:

 Multiplataforma: Con un solo programa, un único ejecutable, las aplicaciones pueden ser utilizada a través de múltiples plataformas, tanto de hardware como de software.

 Actualización instantánea: Debido que todos los usuarios de la aplicación hacen uso de un sólo programa que radica en el servidor, los usuarios siempre utilizarán la versión más actualizada del sistema.

 Suave curva de aprendizaje: Los usuarios, como utilizan la aplicación a través de un navegador, hacen uso del sistema tal como si estuvieran navegando por Internet, por lo cual su acceso es más intuitivo.

 Acceso móvil: El usuario puede acceder a la aplicación con la única restricción de que cuente con un acceso a la red privada de la organización o a Internet, dependiendo de las políticas de dicha organización; puede hacerlo desde una computadora de escritorio, una laptop o desde una agenda electrónica; desde su oficina, hogar u otra parte del mundo.

Se decide que la aplicación a implementar para dar solución a la problemática planteada ha de ser una aplicación WEB pues en la Universidad, existe todo el soporte tecnológico necesario para llevar a cabo tal proyecto, una aplicación web proporciona un rápido acceso a la información de forma actualizada e inme- diata, sin necesidad de instalación en las máquinas clientes de algún software. Lo que se hace necesario a la solución de la problemática debido a que los estudiantes y directivos de la facultad 2 necesitan una constante vinculación con la información que se maneja desde la máquina que desee acceder de manera que pueda haber varios usuarios conectados al sistema simultáneamente desde diferentes ordenadores y todos utilizar la aplicación con normalidad, solo es requisito un navegador web estándar, sin necesidad en cada equipo ningún otro programa específico y con la ventaja de conectarse con el software desde cual-

(24)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 21

quier sistema operativo. Todas estas ventajas hacen de la aplicación web una solución ideal a la pro- blemática planteada.

1.5. Metodología a utilizar

Una metodología es necesaria para el proceso de desarrollo del software; conlleva a construir software de calidad, en el tiempo esperado y con el coste esperado. Todo desarrollo de software es riesgoso y difícil de controlar, si no se lleva una metodología de por medio, se obtienen clientes insatisfechos con el resul- tado y desarrolladores aún más insatisfechos.

Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a la documentación para el desarrollo de productos, indica cómo hay que obtener los distintos productos par- ciales y finales. El éxito de un producto de software está aparejado con el uso de una correcta metodolog- ía, que permita generar y garantizar todos los requisitos de dicho producto.

El Proceso Unificado de Modelado (RUP).

RUP es una metodología de desarrollo que proporciona un enfoque disciplinado para la asignación de tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es garantizar la produ c- ción de alta calidad del software que satisfaga las necesidades de sus usuarios finales, dentro de un ca- lendario y el presupuesto previsible.

RUP “se repite a lo largo de una serie de ciclos que constituyen la vida de un sistema. Cada ciclo concluye con una versión del producto para los clientes”. 5

Sus principales características son:

 Proceso dirigido por casos de uso.

 Proceso centrado en la arquitectura.

 Proceso Iterativo o incremental.

 Utiliza el UML como lenguaje de representación visual.

 Verificación continúa de Calidad.

5 Jacobson y Grady y Rumbauch, James. EL Proceso Unificado de Desarrollo de Software. La Habana: Félix Varela, 2000.

(25)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 22

 Gestión de los cambios.

 Administración de Riesgos.

RUP divide el proceso de desarrollo en ciclos, donde se obtiene un producto al final de cada ciclo. Cada ciclo se divide en cuatro fases: inicio, elaboración, construcción y transición. 6

 Inicio: Se hace un plan de fases, se identifican los principales casos de uso y se identifican los riesgos.

 Elaboración: se hace un plan de proyecto, se completan los casos de uso y se eliminan los ries- gos.

 Construcción: se concentra en la elaboración de un producto totalmente operativo y eficiente y el manual de usuario.

 Transición: se implementa el producto en el cliente y se entrena a los usuarios. Como consecuen- cia de esto suelen surgir nuevos requisitos a ser analizados.

Los elementos del RUP son:

 Actividades: Son los procesos que se llegan a determinar en cada iteración.

 Trabajadores: Son las personas o gentes involucradas en cada proceso.

 Artefactos: Puede ser un documento, un modelo, o un elemento de modelo.

Beneficios de la iteración:

 Reduce el coste del riesgo al coste de un solo incremento.

 Menos riesgo de no sacar el producto al mercado en fecha.

 Acelera el ritmo de desarrollo.

 Las necesidades del usuario y correspondientes requisitos no pueden definirse completamente al principio. Se requieren iteraciones sucesivas.

Fundamentación de la selección de la metodología a utilizar.

6 Dpto. de Sistemas Informáticos y Computación, Universidad Politécnica de Valencia. “Introducción a RUP”, 2006. Disponible en https://pid.dsic.upv.es/C1/Material/default.aspx ( 23/3/2009)

(26)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 23

El desarrollo de este sistema, dado sus características, siendo una primera versión y realizado por estu- diantes de quinto año necesita una documentación profunda, que sirva de base para futuros cambios, una mitigación de riesgos a tiempo y una buena organización. Una particularidad de esta metodología es que, en cada ciclo de iteración, se hace exigente el uso de artefactos, siendo por este motivo, una de las meto- dologías más importantes para alcanzar un grado de certificación en el desarrollo del software.

RUP define en cada momento del ciclo de vida del proyecto, qué artefactos, con qué nivel de detalle y por qué rol, se deben crear.

1.6 Notación para el modelado del negocio

IDEF (de sus siglas en inglés Integrated Definition for Function Modeling) es una notación para represen- tar flujos de trabajo, se usa para representar diseños de circuitos eléctricos, procesos, bases de datos y un sin número de problemas. Permite modelar gráficamente sistemas con diferentes propósitos y a cualquier nivel de detalle que se desee y la consistencia de uso e interpretación es basada en un estándar con es- pecificaciones precisas y rigurosas.

Se utilizará la notación IDEF para la modelación de los procesos del negocio. Esta notación permite orde- nar los procesos de un nivel más alto de abstracción hasta el nivel de detalle que sea necesario, gracias a la estructura jerárquica que tiene para representar un proceso. Además permite analizar, documentar y mejorar los procesos de producción y facilitar la comunicación y la captura de información.

Explicando la notación a seguir, los empleados de la organización pueden dibujar los procesos del neg o- cio y hacer disminuir el tiempo en que la modelación se lleva a cabo.

El IDEF0 guía en la descripción de cada proceso (o actividad) se conforma de actividades, entradas, sali- das, mecanismos de control y sujetos que ejecutan las actividades.

“Cada actividad se representa con un rectángulo cerrado. Las actividades deben tener de manera obliga- toria Entradas y Salidas y de manera opcional Mecanismos de Control y Sujetos que realizan la actividad.

Una entrada se representa como una conexión que entra a la actividad por la izquierda. Una salida se representa como una conexión que sale de la actividad por la derecha. Un mecanismo de control es una

(27)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 24

onexión que entra a la actividad por la parte superior. Un sujeto se representa por una conexión que entra a la actividad por la parte inferior.” 7

Figura 1. 1: Unidades básicas de IDEF0

Se presenta un resumen de la notación. Las entradas y salidas son datos o elementos de información.

Una entrada a una actividad es cualquier dato necesario a la misma. Una salida es un dato que la activ i- dad tiene como responsabilidad producir. Un mecanismo de control es la información que regula la reali- zación de la actividad. A diferencia de una entrada, cuyo contenido es dinámico, un mecanismo es una colección de información que tiene una estabilidad relativa. Los sujetos son quienes realizan las activid a- des en el proceso.

Entre las principales ventajas de esta forma de modelado se encuentran:

 Mayor conocimiento y análisis de los procesos, permitiendo de esta forma identificar redundancias y defectos en el negocio.

 Mayor organización de los recursos humanos y materiales.

 Mayor flexibilidad ante cambios debido a su facilidad de modelado.

7 Garcías, Dr. Ana María Pérez. “Modelado de Procesos de Negocio y su Relación con la Concepción de Sistemas Informáticos”.

Octubre 2004. Curso de Postgrado.

(28)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 25

 Facilita un análisis profundo de las entradas y salidas de cada actividad dentro de un proceso, así como los elementos de control y recursos de cada nivel.

Es muy útil utilizar IDEF cuando hay que preparar un modelo de procesos que facilite exactitud, detalle, y claridad en la descripción y el tiempo del que se dispone es limitado. A través de IDEF se delimita con una mayor facilidad problemas en los procesos de negocio y presentar posibles mejoras. Se utilizará la notación IDEF para la modelación de los procesos del negocio para entender mejor el contexto y lograr una mayor col a- boración de los clientes por la facilidad de uso y modelado.

1.7 Lenguaje a utilizar

1.7.1 Lenguaje Unificado de Modelado UML.

UML8 (Unified Modeling Language) es un lenguaje para visualizar, especificar, construir y documentar los artefactos de un sistema que involucra una gran cantidad de software, desde una perspectiva Orientado a (OO).

Características

 Divide cada proyecto en un número de diagramas que representan las distintas vistas del proyecto y juntos representan la arquitectura del mismo.

 Permite describir un sistema en diferentes niveles de abstracción.

 Se quiere convertir en un lenguaje estándar con el que sea posible modelar todos los componentes del desarrollo de una aplicación, sin definir un modelo de desarrollo.

UML centra el desarrollo en tres modelos diferentes:

 Modelo funcional: diagramas de casos de uso, describen el sistema desde la perspectiva del usuario.

 Modelo objeto: diagrama de clases, describen la estructura de un sistema en términos de objetos, atributos, asociaciones y operaciones.

8 Booch, G., Rumbaugh, J., Jacobson, I. “El Lenguaje Unificado de Modelado”, Addison-Wesley, 2000

(29)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 26

 Modelo dinámico: diagramas de secuencia y de estados, describen el comportamiento del siste- ma.

Presenta varias ventajas:

 Diseño y documentación.

 Descubrimiento de fallas.

 Ahorro de tiempo en el desarrollo del software.

 Mucho más fáciles las modificaciones.

 Más fácil comunicación entre programadores.

El UML representa una colección de las mejores prácticas de ingeniería que tienen una probación exitosa en la modelación de sistemas largos y complejos.

1.7.2 Lenguajes de programación

Para desarrollar un software es necesario una serie de requisitos, entre ellos se encuentra el conjunto de símbolos y de reglas tanto sintácticas como semánticas que indican al ordenador que acciones desarro- llar, a esta aglomeración de instrucciones se le llama lenguaje de programación.

La programación Web permite la creación de sitios dinámicos en Internet. Esto se consigue generando los contenidos del sitio a través de una base de datos mediante lenguajes de script como pueden ser PHP, ASP o ASP.NET. Dominando la programación Web podrá crear sitios dinámicos como periódicos digitales o tiendas virtuales.

En la tecnología Web se destacan, entre otros, los siguientes lenguajes de programación.

Lenguajes del lado del cliente

Las técnicas y tecnologías del lado del cliente son aquellas que se utilizan para desarrollar los programas que se ejecutaran en los mismos, entiéndase por cliente a los navegadores como: Firefox, Internet Explo- rer, Safari, Konqueror, Opera, Netscape Navigator etc. Estos clientes son los encargados de visualizar la información que han solicitado las personas, dicha información el navegador es capaz de leerla debido a que este interpreta código HTML, y algunos lenguajes script como son VBScript, Java Script.

(30)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 27

El Cliente es un ordenador que accede a recursos y servicios brindados por otro llamado Servidor. El cliente recibe los servicios que ofrece un servidor.

 HTML

El HTML, (Hyper Text Markup Language) es el lenguaje de marcas de texto indicando al navegador donde colocar cada texto, cada imagen o cada video y la forma que tendrán estos al ser colocados en la página.

No presenta ningún compilador, por lo tanto algún error de sintaxis que se presente no lo detectará y se visualizará en la forma como éste lo entienda. HTML es el lenguaje con el que se construyen las páginas Web y es utilizado también como un lenguaje de descripción, controlando el aspecto de documento (tip o- grafía, posicionado, etc.). Es admitido por todos los exploradores, posee archivos pequeños y despliegue rápido. No es un Lenguaje de Programación, sin embargo, permite incluirle código en

lenguaje de pro- gramación

, bajo ciertos criterios, extendiendo así su capacidad y funcionalidad.

 JavaScript

Es un lenguaje interpretado, es decir, que no requiere compilación, multiplataforma, permite incluir macros en páginas Web. Estas macros se ejecutan en el ordenador del visitante de nuestras páginas, y no en el servidor. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es uno de los lengua- jes de programación del lado del cliente más utilizado. Su uso se basa fundamentalmente en la creación de efectos especiales en las páginas y la definición de interactividades con el usuario. Se trata de un len- guaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesa- miento.

JavaScript proporciona los medios para:

Controlar las ventanas del navegador y el contenido que muestran.

Programar páginas dinámicas simples.

Comprobar los datos que el usuario introduce en un formulario antes de enviarlos.

Es el lenguaje que permite interactuar con el navegador de manera dinámica y eficaz, proporcionando a las páginas Web un gran dinamismo. Se trata de un lenguaje de tipo script compacto, basado en objetos y

(31)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 28

guiado por eventos diseñado específicamente para el desarrollo de aplicaciones cliente-servidor dentro del ámbito de Internet.

 Librería YUI

La Yahoo UI Library, conocida como YUI, y que se puede traducir como "Librería de componentes de in- terfaz de usuario de Yahoo" es un conjunto de utilidades y controles escritos en JavaScript para el desa- rrollo rápido y sencillo de aplicaciones web complejas.

Entre las utilidades disponibles se encuentran calendarios, cuadros que autocompletan el texto, árboles jerárquicos, etc. Además de esas utilidades, la YUI incluye un completo módulo de menús que permite realizar decenas de tipos de menús diferentes: horizontales, verticales, desplegables, estáticos, menús contextuales, menús de aplicación, menús realizados con XHTML o con JavaScript, etc.

Yahoo! distribuye gratuitamente la librería YUI en forma de software libre y bajo la licencia BSD, cuenta con una gran documentación que incluye cientos de ejemplos de uso.

Hojas de Estilo en Cascada (Cascading Style Sheets).

Son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). La virtud del desarrollo de CSS es separar la estructura de un docu- mento de su presentación. La información de estilo puede ser adjuntada tanto como un documento sep a- rado o en el mismo documento HTML. En este último podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "style".

Lenguaje del lado del Servidor

Las tecnologías del lado del servidor son aquellos programas o servicios que corren en un servidor remoto y que brindan funcionalidades al sistema.

 PHP 5

Es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. PHP es un acrónimo recurrente que significa "PHP Hypertext Pre-processor" (inicialmente PHP Tools, o, Per-

(32)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 29

sonal Home Page Tools), y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios web.

Es un lenguaje de programación del lado del servidor que se utiliza para complementar el HTML, para hacer la Web más interactiva y funcional.

Dispone de una gran cantidad de ventajas que lo convierten en una herramienta útil para la creación de páginas Web dinámicas.

 Multiplataforma.

 Licencia de software libre. Es un lenguaje basado en herramientas con licencia de software libre, es decir, no hay que pagar licencias, ni se está limitado en su distribución y, es posible ampliarlo con nuevas funcionalidades si así se desea.

 Soporta objetos y herencia, es decir tiene soporte para la programación orientada a objetos, permi- tiendo crear clases para la construcción de objetos, con sus constructores, etc. Además de sopor- tar herencia, aunque no múltiple.

 Contiene una excelente biblioteca de funciones que permite realizar cualquier labor (acceso a base de datos, encriptación, envío de correo, XML, creación de PDF).

 Tiene una gran capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad como son: InterBase, mSQL, MySQL, Oracle, Informix, PosgreSQL.

 Gran seguridad, muy poca probabilidad de corromper los datos.

 Rapidez. PHP generalmente es utilizado como modulo de Apache, lo que lo hace extremadamente veloz. Esta completamente escrito en C, así que se ejecuta rápidamente utilizando poca memoria.

Fundamentación de la selección del lenguaje a utilizar

Como solución al desarrollo de la aplicación Web se selecciona como lenguaje de programación PHP5 teniendo en cuenta las ventajas mencionadas, se utiliza además HTML, CSS y JavaScript principalmente en el diseño ya que posibilita la inclusión de ambos en su declaración de código.

Para el desarrollo de la aplicación Web se debe tener en cuenta cuestiones esenciales como: garantizar que el sistema sea multiplataforma y que pueda ser desarrollado en software libre por las características del país. Analizando esto el más adecuado es el PHP por ser libre, multiplataforma, su flexibilidad de co-

(33)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 30

municación con los principales gestores de bases de datos y por su potencialidad en funcionalidades y rapidez. Todo esto brinda la posibilidad de realizar un producto de acuerdo a las necesidades del cliente.

1.8 Herramientas y Tecnologías a utilizar

Existe gran de variedad de tecnologías a considerar a la hora de realizar un sistema que gestione y con- trole información, es por eso que se debe hacer un análisis e investigación profundo de ellas y escoger la más conveniente que cumpla con los requisitos del sistema propuesto. La selección constituye un paso de vital importancia durante el proceso de desarrollo de cualquier sistema informático, pues debe garantizar un óptimo desempeño del sistema.

1.8.1 Herramientas CASE

1.8.1.1 Visual Paradigm

Las herramientas CASE (Computer Aided Software Engineering) permiten incrementar la productividad y el control de calidad en cualquier proceso de elaboración de software, ya que transforman la actividad de desarrollar software en un proceso automatizado. A medida que los sistemas que hoy se construyen se tornan más complejos, las herramientas de modelado con UML ofrecen muchos beneficios para todos los involucrados en un proyecto.

Es un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y des- arrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.

“Los objetivos fundamentales de estas herramientas son:

 Permitir la aplicación práctica de metodologías, lo que resulta muy difícil sin emplear herramientas.

 Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.

 Simplificar el mantenimiento del software.

 Mejorar y estandarizar la documentación.

 Aumentar la portabilidad de las aplicaciones.

(34)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 31

 Facilitar la reutilización de componentes de software.”9

Visual Paradigm es una herramienta CASE que utiliza “UML” como lenguaje de modelado, de forma muy completa y fácil de usar, con soporte multiplataforma y que proporciona excelentes facilidades de interope- rabilidad con otras aplicaciones, es un producto que facilita la organización, la visualización, diseño, inte- gración y despliegue mediante diagramas.

Incorpora el soporte para trabajo en equipo, que permite que varios desarrolladores trabajen a la vez en el mismo diagrama y vean en tiempo real los cambios hechos, lo que contribuye a mejorar la construcción del modelo del proceso de desarrollo de software, maximizando y acelerando la producción del equipo y las contribuciones individuales. Su misión es diseñar, integrar y desplegar las aplicaciones de un proyecto y sus bases de datos subyacentes.

Soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientado a objetos, cons- trucción, pruebas y despliegue. El software de modelado UML ayuda a una más rápida construcción de aplicaciones de calidad, mejores y a un menor coste. Permite dibujar todos los tipos de diagramas de cla- ses, código inverso, generar código desde diagramas y generar documentación.

1.8.1.2 Office Visio 2003

Office Visio 2003 es un programa que ayuda a los usuarios a diseñar y transmitir procesos y sistemas complejos de una manera clara. Facilita la creación de diagramas de diversas categorías con tan solo arrastrar los símbolos prediseñados. La creación de diagramas técnicos y de negocios permiten reflexio- nar, organizar y entender los procesos, ideas y sistemas demasiado complejos.

Visio 2003 permite:

Comprender fácilmente conceptos, procesos y relaciones:

o Crear de forma sencilla diagramas empresariales y técnicos que permitan considerar, organizar y describir mejor ideas, procesos y sistemas complejos.

o Componer diagramas fácilmente arrastrando símbolos predefinidos.

9 LONDOÑO, M. Y. O. Herramientas C.A.S.E. Disponible en: http://personales.com/cuba/cardenas/internet/case.html.

(35)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 32

o Utilizar herramientas diseñadas para disciplinas profesionales específicas que cubren los requi-

sitos de creación de diagramas empresariales y técnicos en toda la organización.

o Generar tipos de diagramas comunes a partir de datos existentes.

o Obtener acceso a ayuda contextual y plantillas específicas de tareas que se actualizan periódi- camente en el Web.

Comunicarse con claridad y eficacia:

o Visualizar y comunicar ideas, información y sistemas.

o Crear diagramas visualmente avanzados para lograr el máximo impacto en los destinatarios.

Fundamentación de la herramienta seleccionada

Se decidió utilizar como herramienta CASE para el modelado del diseño de la aplicación el Visual Para- digm, debido fundamentalmente a que es multiplataforma, además de ser intuitivo y fácil de utilizar. Permi- te documentar cada artefacto generado sin necesidad de utilizar una herramienta externa e integrarse con el ambiente IDE de Zend Studio, que permite disminuir el tiempo de desarrollo. También se utilizará la herramienta CASE Microsoft Office Visio 2003 para realizar el modelado de los negocios con la notación IDEF. Gracias a Office Visio 2003 se pueden crear gráficos y diagramas con tan solo arrastrar los símbo- los prediseñados.

1.8.2 Herramienta de desarrollo: Zend Studio for Eclipse

Un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) es una aplicación informática, que in- cluye a todos los programas necesarios para realizar todas las fases de puesta a punto de un programa, compuesto por un conjunto de herramientas útiles para un programador.

Un IDE suele proporcionar otras herramientas de software muy útil para los programadores, tales como:

editor de código, compilador, depuradores de código, constructor de interfaz gráfica, ayuda en línea de uso del lenguaje, etc. Todo ello, con el fin de ayudar y facilitar el trabajo al programador.

Zend brinda la posibilidad de utilizar el Zend Studio for Eclipse para mejorar la calidad de los proyectos en PHP, agilizar los ciclos de desarrollos y simplificar la complejidad de los proyectos. Es libre. El plugin incluye herramientas de edición de texto para páginas PHP, depuración de código, análisis, optimización y

(36)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 33

bases de datos. Es un completo entorno de desarrollo para PHP y uno de los más usados por los profe- sionales en el mundo, permitiendo agilizar el desarrollo de las aplicaciones.

Zend Studio for Eclipse fue seleccionado como IDE para el desarrollo del sistema, debido a todas las ven- tajas que ofrece y que anteriormente fueron explicadas. Sin dudas este IDE junto a Zend Framework, son la propuesta ideal de la compañía Zend Technologies para el desarrollo de aplicaciones Web utilizando PHP.

1.8.3 Servidor Web: Apache

Un servidor de páginas web es un programa que permite acceder a páginas web alojadas en un orden a- dor. Apache es un programa que permite crear un servidor http de forma rápida y sencilla, su configurabi- lidad, robustez y estabilidad hacen que cada vez millones de servidores reiteren su confianza en este pro- grama. Tiene capacidad para servir páginas tanto de contenido estático, como de contenido dinámico a través de otras herramientas soportadas que facilitan la actualización de los contenidos mediante bases de datos, ficheros u otras fuentes de información, es muy potente y altamente configurable. El servidor Apache es un software que está estructurado en módulos. La configuración de cada módulo se hace me- diante la configuración de las directivas que están contenidas dentro del módulo.

Los módulos del Apache se pueden clasificar en tres categorías:

Módulos Base: Módulo con las funciones básicas del Apache.

Módulos Multiproceso: son los responsables de la unión con los puertos de la máquina, acepando las peticiones y enviando a los hijos a atender a las peticiones.

Módulos Adicionales: Cualquier otro módulo que le añada una funcionalidad al servidor.

Las funcionalidades elementales se encuentran en el módulo base. El Servidor Apache HTTP es un servi- dor Web de tecnología Open Source sólido y para uso comercial desarrollado por la Apache Software Foundation. La licencia Apache es una descendiente de la licencias BSD. Esta licencia te permite hacer lo que quieras con el código fuente siempre que les reconozcas su trabajo.

Las principales características que se tuvieron en cuenta para su elección fueron:

 Funcionalidad en múltiples plataformas.

(37)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 34

 Mensajes de error altamente configurables.

 Bases de datos de autenticación y negociado de contenido.

 Apache trabaja con PHP y otros lenguajes de script.

 Apache te permite personalizar la respuesta ante los posibles errores que se puedan dar en el se r- vidor. Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto.

Todo lo antes expuesto hace de Apache el Web-Server ideal para la utilización en la aplicación WEB en la automatización del proceso de gestión de caracterización de los estudiantes en la facultad 2, por su com- paginación con la tecnología de software libre que se quiere seguir en este trabajo.

1.8.4 Framework: CodeIgniter

Un framework es una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación, se puede considerar como una aplicación genérica incompleta y con- figurable a la que se le puede añadir las últimas piezas para construir una aplicación concreta.

Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar códi- go ya existente y promover buenas prácticas, además, un framework proporciona estructura al código fuente, forzando al desarrollador a crear código más legible y más fácil de mantener. Por último, un fra- mework facilita la programación de aplicaciones, ya que encapsula operaciones complejas en instruccio- nes sencillas.

El framework se ocupa de muchas de las tareas comunes, como forma de validación, manejo de errores, la base de datos (Crear, Leer, Actualizar, Borrar), período de sesiones, las cookies, la reescritura de URL, correo electrónico, y así sucesivamente. Una gran cantidad de funcionalidad que se utiliza en muchos de los proyectos y que todos, básicamente, hace lo mismo.

CodeIgniter es un poderoso marco de desarrollo para PHP, con una muy pequeña huella, construido para los codificadores de PHP que necesitan un sencillo y elegante conjunto de herramientas para crear todo lo que ofrecen las aplicaciones web. 10

10 Web oficial de Code Igniter. Disponible en: http://codeigniter.com (24/03/2009)

(38)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 35

Su objetivo es permitir desarrollar proyectos mucho más rápido de lo que podría si estuviera escribiendo código desde cero, mediante la aportación de un rico conjunto de bibliotecas necesarias para tareas co- munes, así como una interfaz simple y estructura lógica para acceder a estas bibliotecas que evita reali- zan tareas comunes y te permiten configurar rápidamente una plataforma sobre la cual usted puede cons- truir sitios web.

Facilidades de CodeIgniter

 Se encuentra bajo una licencia open source Apache/BSD-style.

 Verdaderamente Liviano. El núcleo del sistema sólo requiere unas pocas pequeñas librerías. Esto es en duro contraste a muchos entornos de trabajo que requieren significativamente más recursos.

Las librerías adicionales son cargadas dinámicamente a pedido, basado en sus necesidades para un proceso dado, así que el sistema base es muy delgado y bastante rápido.

 Realmente rápido.

 Contiene librerías que le permiten realizar las tareas de desarrollo web más comúnmente necesa- rias, como acceder a una base de datos, mandar un email, validar datos de un formulario, mante- ner sesiones, manipular imágenes, entre otras.

 Es extensible. El sistema puede ser fácilmente extendido a través del uso de plugins y librerías asistentes, o a través de extensión de clases o ganchos del sistema.

 Posee una amplia y completa documentación.

 Baja curva de aprendizaje para empezar a usarlo.

Se selecciona este framework pues está pensado para ofrecer un alto rendimiento, ser ligero y fácilmente instalable. Viene con varias librerías para gestionar el acceso a datos, sesiones de usuarios, formularios, la seguridad, etc. Es compatible tanto para PHP4 como para PHP5, ofrece magnífica documentación y enorme comunidad de desarrolladores.

Utiliza el patrón de diseño Modelo-Vista-Controlador (MVC) como paradigma de arquitectura de desarrollo, la cual separa en 3 capas distintas: la representación de datos, la interfaz de usuario y el controlador de eventos respectivamente.

(39)

Facultad 2 – Universidad de las Ciencias Informáticas

Página 36

1.8.5 Sistema Gestor de Base de Datos (SGBD): PostgreSQL

Un Sistema Gestor de Bases de Datos (SGBD) es un tipo de software muy específico, un conjunto de pro- gramas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad, una colección de programas cuyo objetivo está dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permite definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos. Algunos de los SGBD más utilizados a nivel mundial son: Oracle, MySQL, Microsoft SQL Server, PostgreSQL. [25]

PostgreSQL11 es un sistema de gestión de base de datos objeto-relacional, debido a que incluye carac- terísticas de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional, sin llegar a ser un sistema de gestión de bases de datos puramente orientado a objetos. Soporta distintos tipos de datos y base, además de soportar datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP...), cadenas de bits, métodos de acce- so y tipos de datos definidos por el usuario. Permite la gestión de diferentes usuarios, como también los permisos asignados a cada uno de ellos.

Algunas de las ventajas que proporciona PostgreSQL: 12

 PostgreSQL es software libre ya que cualquiera puede disponer de su código fuente, modificarlo a voluntad y redistribuirlo libremente. PostgreSQL además, es gratuito y se puede descargar libre- mente de su página web para multitud de plataformas.

 Estabilidad y Confiabilidad Legendarias. Es extremadamente común que compañías reporten que PostgreSQL nunca ha presentado caídas en varios años de operación de alta actividad. Ni una so- la vez.

11 2. TLDP-ES/LuCAS. [En línea] [Citado el: 2 de marzo de 2009.] http://es.tldp.org/Postgresql- es/web/navegable/tutorial/tutorial.html.

12 PostgreSQL una Alternativa de DBMS Open Source. [En línea] [Citado el: 2 de marzo de 2009.]

http://www.lgs.com.ve/pres/PresentacionES_PSQL.pdf.

Referencias

Documento similar

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in