Todas las entradas de Anisleidy Rodríguez Rodríguez

01Ene/15

Ayuda en línea para el Sistema Sentai de CIMEX

Ayuda en línea para el Sistema Sentai de CIMEX (Corporación de Importadores y Exportadores de Cuba)

RESUMEN

La Corporación de Importadores y Exportadores de Cuba (Cimex) controla sus actividades empresariales con un sistema (SENTAI) automatizado e integrado, orientado a la Gestión Empresarial de Comercio Mayorista, pero que puede usarse en otras actividades empresariales. A pesar de la fortaleza de sus funcionalidades este no cuenta con una guía de apoyo para los usuarios que interactúan con él.

El presente trabajo que lleva por título “Ayuda en línea para el sistema SENTAI de la Corporación de Importadores y Exportadores de Cuba (Cimex)” pretende brindar la información referente al funcionamiento de cada uno de los módulos que conforman el sistema así como las relaciones entre estos para facilitar y mejorar el trabajo de los usuarios con el sistema. Este documento recoge el resultado de todo el trabajo realizado para la elaboración de la ayuda en línea, incluyendo el estudio del estado del arte de aplicaciones con similares objetivos existentes en el mundo, el estudio y definición de las características del sistema, así como la planificación, el diseño, la implementación y prueba del producto.

Palabras claves:

Sistema, automatizado e integrado, ayuda en línea.

Abstract

The Corporation of Importers and Exporters of Cuba (Cimex) controls its business with a system (Sentai) automated and integrated oriented Business Management Wholesalers, but can be used in other business activities. Despite the strength of its features This does not have a support guide for users who interact with him.

This paper entitled “Online Help for the system Sentai Corporation of Importers and Exporters of Cuba (Cimex) “aims provide information concerning the operation of each of the modules up the system and the relationship between these to facilitate and improve users work with the system. This paper is the result all work done for the development of online help, including study of the state of the art of existing applications with similar objectives in world, studying and defining the characteristics of the system, as well as planning, design, implementation and product testing.

INTRODUCCIÓN

En el mundo existen aplicaciones que son útiles para el desarrollo del comercio, ayudando estas a mantener el control de las actividades que se llevan a cabo en las empresas. SENTAI es una de estas aplicaciones, que tiene su origen en una empresa canadiense productora de software, pero es utilizado además en diferentes países como: Estados Unidos, México, Venezuela y Cuba. SENTAI es un sistema automatizado e integrado, orientado a la Gestión Empresarial de Comercio Mayorista, pero que puede usarse en otras actividades empresariales.

Nuestro país no está exento de esta revolución tecnológica, en el año 1994 se establece SENTAI en Cimex, para de esta forma mejorar las actividades comerciales de esta corporación en el país, integrando esta al uso de las nuevas tecnologías. SENTAI es implementado sobre el sistema de base de datos “PROGRESS” y soportado en el sistema operativo “UNIX”. Las bases de datos pueden residir en servidores centrales, territoriales o zonales, en correspondencia con las características de las empresas, compañías y otras entidades usuarias del sistema, las distancias de sus sucursales o subsidiarias, en el caso que proceda y el nivel de descentralización de las actividades que desempeñan las mismas, y de acuerdo al nivel de conectividad deseado para la red informática.

Este sistema, por sus características fundamentales, es muy flexible y adaptable a las necesidades específicas de los usuarios que lo explotan, pues es completamente configurable y por medio de la parametrización puede lograrse delimitación de los accesos en una división oportuna de funciones y tareas, con alto nivel de seguridad en las operaciones y transacciones que se ejecutan por los usuarios. Se distingue, además, por trabajar para multiusuarios en forma de multiprocesamiento.

Atendiendo a otras peculiaridades SENTAI es aplicable fundamentalmente a empresas, compañías y entidades en general, que desarrollan actividades comerciales de compra, distribución y ventas mayoristas; y actividades de comercio minorista o detallista, pero puede ser configurable también para actividades comerciales de gastronomía, actividades de prestación de servicios, de reparación de equipos técnicos en general; por órdenes de trabajo, actividades de transporte de carga automotor, actividades de naturaleza productiva y otras.

Otro rasgo que lo caracteriza, es que a partir de los módulos y sus funciones programadas, asociadas a los mismos, se puede lograr en la empresa, compañía o entidad que lo explota, el nivel de administración deseado, mediante la implantación de una organización estructural, con métodos de trabajo y procedimientos de control, acordes a los principios generalmente aceptados de control interno de los subsistemas empresariales, a través de la automatización del flujo informativo de los documentos primarios para el control de las actividades, de los reportes periódicos de trabajo de áreas de responsabilidad u otras clasificaciones, de reportes o informes con fines administrativos.

Aparejado a los mecanismos de control, antes expresados, este sistema, brinda el control de la actividad económica de las empresas, compañías o entidades que lo explotan. SENTAI, por su posibilidad de integración, también puede ser configurado y adaptado, para organizaciones empresariales que funcionan como uniones de empresas o sociedades mercantiles, con sucursales y subsidiarias subordinadas, y que operen comercial, productiva y económicamente de manera descentralizada en sus respectivos territorios, y que, además requieren de un nivel de dirección y administración central.

Situación Problemática:

  • Desconocimiento de las relaciones entre los diferentes módulos que integran el sistema.
  • Problemas de usabilidad al interactuar con el sistema.
  • Retraso en la entrega de la información.
  • Entrega de documentos incompletos.
  • Administración inadecuada de las cuentas de usuario para acceder a los diferentes módulos del sistema.
  • Desconocimiento de la prioridad de los reportes a generar para el cierre contable.

Problema Científico:

¿Cómo contribuir con la implementación de la ayuda en línea del sistema SENTAI al conocimiento exacto de las funcionalidades del mismo por parte de los clientes?

Objeto de la investigación:

Gestión de la información

Campo de acción:

Sistemas de ayuda en línea.

Objetivo General:

– Implementar una ayuda en línea para el sistema SENTAI que explique el funcionamiento de los módulos del sistema.

Hipótesis:

Si se implementa una ayuda en línea para el sistema SENTAI se mejorará la calidad del aprendizaje de los usuarios finales respecto al funcionamiento de los módulos del sistema

DESARROLLO

Un sistema de ayuda en línea constituye una aplicación web con el objetivo de brindar atención y solución a las necesidades de los usuarios para configurar, instalar o utilizar una aplicación informática.

Existen en el mundo disímiles sistemas de ayuda en línea que brindan información sobre diversas aplicaciones informáticas. Todos tienen como objetivo principal ofrecer la información necesaria para que los usuarios Web estén en capacidad de utilizar en forma eficiente las potencialidades que le ofrece dicha aplicación para facilitar sus labores diarias. Alguno de estos son:

  • Ayuda en línea de SAP2.
  • Ayuda en línea de Microsoft MSDN4 Library.
  • Ayuda del Sistema de Reservas Amadeus.
  • Ayuda en línea de Infomed.
  • Ayuda en línea de ETECSA.

En lal presente investigación se propone la implementación de un sistema de ayuda en línea para el sistema SENTAI utilizado en Cimex que permita hacer uso de distintos elementos multimedia tales como video y sonido. También la posibilidad de usar texto, gráficos y color que puedan ayudar en la explicación de tareas o conceptos complejos. Además, en general, la información en línea requiere menos gastos de almacenamiento, reproducción y distribución. Con el fin de proporcionar al usuario una mejor manera de encontrar y manejar la información se utilizará la jerarquía como estructura de organización de la información, ya que un buen diseño de esta constituye la base para lograr una correcta arquitectura de información en el sitio.

El sistema de ayuda en línea contiene artículos que incluyen:

  • Información sobre cómo usar la ayuda.
  • Una guía rápida sobre cómo usar las funciones principales del sistema.
  • Un foro que permita la interacción entre los usuarios.
  • Una sección de búsqueda.

En general, los artículos que contiene la ayuda en línea están escritos en un lenguaje que puede ser entendido por cualquier usuario, y ser de gran utilidad también a los usuarios avanzados.

Herramientas para el desarrollo de los Sistemas de Ayuda en Línea

A lo largo del desarrollo de la computación el hombre tuvo la necesidad de comunicarse a través de los ordenadores creando así diferentes tecnologías para la publicación de la información ayudando en el proceso de comunicación. Todo este desarrollo ha permitido que hoy día las comunicaciones sean aún más rápidas y efectivas permitiendo la publicidad de grandes cantidades de información, entre ellas: imágenes, sonido, películas, programas, informes, y documentos. En la actualidad, con el uso de internet se han ido perfeccionando el modo y las herramientas para publicar nuevas informaciones al mundo, trayendo consigo el aumento de las herramientas que permiten desarrollar sistemas web con diferentes aspectos y prestaciones, algunas de las más conocidas en el mundo son:

  • Macromedia DreamWeaver
  • Microsoft FrontPage
  • CMS (Sistema Gestor de Contenidos)

De las herramientas antes mencionadas se seleccionó los CMS, ya que estos proporcionan:

– Código abierto. El CMS es de código abierto (o libre) por lo que los desarrolladores pueden hacer variaciones, mejoras o reutilizarlo en otras aplicaciones. Esta característica es de gran importancia para la realización de la ayuda en línea si fuera necesario hacer cambios en el código para adicionar nuevas funcionalidades.

– Inclusión de nuevas funcionalidades en la web. Con un CMS se puede incluir un módulo realizado por terceros, sin que eso suponga muchos cambios en la web, lo que permite agregar el módulo de videos en la ayuda en línea del sistema SENTAI, para una mejor administración y gestión de los videos mostrados en la ayuda.

– Mantenimiento de gran cantidad de páginas. En la ayuda en línea del sistema SENTAI se requiere la creación, edición y mantenimiento de gran número de páginas por la gran cantidad de información a publicar del trabajo de los usuarios finales con SENTAI.

– Reutilización de objetos o componentes. Un CMS permite la recuperación y reutilización de páginas y documentos, esto beneficia el trabajo de la ayuda en línea de SENTAI ya que, cuando una información no es necesaria tenerla publicada en un momento determinado se despublica sin necesidad de borrarla de la base de datos, para una posterior publicación si fuera necesario.

– Páginas interactivas. Se hace necesaria la utilización de un CMS para evitar el uso de páginas estáticas que llegan al usuario exactamente como están almacenadas en el servidor web. Además, el uso de una página interactiva permite que el usuario interactúe con el sistema y logre obtener de este lo que desee. En la ayuda en línea del sistema SENTAI se utilizan páginas interactivas para hacer uso de una encuesta, así como el uso del foro para que el usuario pueda expresar sus dudas y recibir respuestas a las mismas.

– Cambios del aspecto de la web. Con el trabajo de los CMS se logra que el contenido se pueda manejar de forma independiente del diseño, logrando que si se desea cambiar la información de la ayuda en línea de SENTAI no se tenga que volver a definir el diseño para ésta, o viceversa.

– Control de acceso. Con el uso del CMS seleccionado se logra que en la ayuda en línea del sistema SENTAI se gestionen los diferentes permisos a cada área de la ayuda según la confidencialidad de la información.

Tras un análisis de los Sistemas de Gestión de Contenidos Joomla, Drupal y Plone se realizó una comparación entre ellos teniendo en cuenta los aspectos fundamentales que los identifican. Se seleccionó el CMS Joomla debido a su facilidad de instalación y aprendizaje, su gran interfaz gráfica configurable y que brinda una fácil administración del contenido y del control de acceso de usuarios, además posee una enorme comunidad dispuesta a perfeccionar cada vez más este CMS, y brindar respuesta a cada inquietud de los usuarios, lo que ha dado lugar a que actualmente sea el CMS más popular y más descargado del mundo. Joomla no ha dejado de perfeccionarse, hace ya más de 4 años de su existencia, y existen miles de sitios que hoy día usan Joomla, sin embargo, es importante resaltar algunos casos exitosos, como el de las Naciones Unidas que prefirió usar Joomla a una solución de administración de contenidos de Microsoft. Algo similar ocurrió con Orbitel Estados Unidos y Orbitel España, entre otras empresas que han confiado en Joomla como solución de administrador de contenidos. Una comunidad tan grande, con tantos temas que explorar, con tanto que programar no se detiene, los errores en Joomla se corrigen rápidamente gracias a la colaboración de todos; la publicidad generada por el proyecto y por sus usuarios es excelente.

Con la selección del CMS Joomla se podrá facilitar el trabajo de los usuarios en el sitio, la información podrá ordenarse, clasificarse, y organizarse eficientemente gracias a que su estructura funcional permite gestionar las páginas web (documentos o ítems de contenido) de una manera cómoda y sencilla.

Joomla comprende 4 niveles o nodos de información:

  1. Secciones
  2. Categorías
  3. Ítems de Contenido
  4. Subpáginas

La estructura jerárquica tiene la siguiente forma: Secciones >> Categorías >> Ítems de Contenido >>Subpáginas

Las secciones son la jerarquía de orden superior que engloba toda la información contenida en el CMS Joomla. Las secciones contienen categorías (conjunto >> subconjunto) Una categoría es un nombre genérico para un conjunto de ítems de contenido que se relacionan de cierta manera. Dentro de los Ítems de contenido es posible subdividir aún más la información: seccionar cada página web, creando así un nivel más en los nodos de información.

Metodología de desarrollo de software

Una metodología de desarrollo de software define qué, cuándo, y cómo alcanzar un determinado objetivo.

Esta debe ser capaz de servir como guía para todos los participantes (clientes, usuarios, desarrolladores y directores ejecutivos), evolucionar durante muchos años permitiendo limitar su alcance en un momento del tiempo dado a las realidades de la tecnología, herramientas, personas y patrones de organización.

Se puede decir que, una metodología de desarrollo de software guía a los desarrolladores, a los que les brinda métodos y herramientas, proporcionándoles una ayuda muy importante e indispensable para que el producto final posea las funcionalidades requeridas por el cliente y que cumpla con las necesidades del mismo y del usuario final, es una secuencia de actividades organizadas y bien pensadas que transforman los requisitos del cliente en el producto final.

Algunas de las metodologías más usadas en la actualidad son:

  • Rational Unified Process17
  • Extreme Programming18
  • SCRUM19
  • Crystal

Dentro de las metodologías de desarrollo ágil se seleccionó para el desarrollo de la ayuda en línea de SENTAI a la Programación Extrema debido a:

– La metodología XP tiene las iteraciones más cortas en comparación con Crystal y Scrum: se requieren iteraciones cortas de 1día a 1 mes debido al poco tiempo del que se dispone para entregar el producto al cliente.

– La metodología XP requiere programación en pares: se plantea que todos los programadores pueden realizar cambios en cualquier parte del código en cualquier momento.

– El riesgo de desarrollo es elevado debido al corto tiempo de entrega planteado y a los continuos cambios de requisitos: XP está diseñada a mitigar los riesgos en proyectos con estas características.

– El cliente forma parte del equipo de desarrollo: Mediante la aplicación de XP se puede lograr una retroalimentación mayor y lograr un producto que satisfaga sus necesidades. Además los desarrolladores deben estar en constante intercambio con los especialistas de Cimex, para obtener la información necesaria del sistema SENTAI.

– XP no requiere casi documentación: lo que en este trabajo es factible, debido al poco tiempo con que se dispone y al poco personal con que se cuenta.

Lenguajes de programación

Los lenguajes de programación y los entornos de desarrollo integrados33 tienen una suma importancia para cualquier proyecto de software pues con estos se han creado innumerables programas y herramientas que han ayudado al hombre a controlar de una manera más sencilla a los ordenadores, así como de realizar múltiples tareas y actividades.

Un lenguaje de programación es aquel que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

Hoy día existen muchos lenguajes a los que se puede acudir para la realización de cualquier software:

  • Java
  • C Sharp
  • PHP

Para la realización del sistema de ayuda en línea se seleccionó el lenguaje de programación PHP, a pesar de presentar gran similitud con Java en cuanto a sus ventajas. La característica fundamental por la que se decidió utilizar PHP como lenguaje de programación es que el CMS seleccionado (Joomla) está implementado con este lenguaje, lo que hace que sea necesaria su utilización en el desarrollo de la ayuda en línea para el sistema SENTAI. Además PHP es un software libre, el cual se puede obtener en la web y su código está disponible bajo la Licencia Pública General. PHP brinda una serie de ventajas que corroboran su empleo como lenguaje primario en la aplicación, las cuales son:

  • Es multiplataforma.
  • La capacitación en el lenguaje es breve.
  • Es libre y posee código abierto, lo que facilita su adquisición.
  • Permite la conexión a diferentes Sistemas Gestores de Base de Datos que se utilizan en la actualidad tales como Postgres, Oracle, MySQL y Microsoft SQL Server, etc.; se destaca su conectividad con MySQL lo cual permite la creación de aplicaciones web muy robustas.

Servidores web

Un servidor web es un programa que implementa el protocolo HTTP34. Este programa se ejecuta continuamente en un ordenador, manteniéndose a la espera de peticiones por parte de un cliente y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. Algunos de los servidores web que se utilizan actualmente son:

  • IIS (Internet Information Server)
  • Lighttpd
  • Apache.

Los servidores web antes mencionados brindan una serie de características dependiendo el sistema operativo usado. Para el desarrollo del trabajo se utilizó como servidor web a Apache ya que es un software libre de código abierto muy fiable, multiplataforma y su popularidad hace que sea más fácil para el equipo de desarrollo el trabajo con este. Además una característica fundamental por la que se decidió utilizar este servidor es que es compatible con el CMS Joomla que es el que se seleccionó para el desarrollo de la ayuda en línea para el sistema SENTAI.

Gestor de Bases de datos

Una base o banco de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.

En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos.

Algunos de los más utilizados actualmente son:

  • Microsoft SQL Server.
  • Oracle
  • MySQL
  • PostgreSQL

Se utilizó el SGBD MySQL, por las siguientes razones:

– No se necesitará de un manejo complejo de la información.

– El lenguaje PHP maneja más fácil a MySQL, debido a la gran cantidad de funciones que tiene explícitas.

– Portabilidad: se puede utilizar en gran cantidad de sistemas Unix diferentes, así como en sistemas Windows.

Una de las características fundamentales por la que se seleccionó es que es compatible con el CMS Joomla en su versión 1.5.9 que es la que se definió para el desarrollo de la ayuda en línea para el sistema SENTAI, y hasta el momento los demás gestores de bases de datos no se han logrado integrar a este CMS.

Propuesta del sistema

El presente trabajo propone la implementación de un sistema de ayuda en línea que provea las funcionalidades que dan respuestas a las necesidades de los usuarios. Dicha ayuda debe permitir la gestión (crear, modificar y eliminar) de una cuenta de suscripción a la ayuda, recogiendo los datos que son de interés para los administradores del sistema. El administrador de la ayuda será el encargado de gestionar toda la información referente a la ayuda y dará soporte en cada una de las instancias necesitadas.

La ayuda tendrá habilitado un foro que permitirá el intercambio entre los usuarios sobre los diferentes temas abordados. Además de poseer una encuesta que permitirá a los desarrollares medir la utilidad de la ayuda para los usuarios. La ayuda debe permitir la publicación de documentos, videos e imágenes como fuente de información para los usuarios.

La ayuda será una aplicación Web administrada con el CMS Joomla, y cada una de sus funcionalidades será implementada como parte de un módulo Joomla de propósito específico para la posterior integración de todos en lo que se denomina “Ayuda en Línea para el Sistema SENTAI de la Corporación de Importadores y Exportadores de Cuba”.

Personas relacionadas con el sistema

Se define como persona relacionada a la ayuda toda aquella que obtiene un resultado del valor de uno o varios procesos que se ejecutan en el mismo. Además de aquellas que se encuentran involucradas en dichos procesos, pues participan en ellos pero no obtienen ningún resultado de valor.

– Invitado: Es la persona que navega por la ayuda sin haberse creado una cuenta aún, es decir fluye dentro de esta sin privilegios.

– Usuario final: Es la persona que posee una cuenta en la ayuda, tiene la posibilidad de ver su perfil, navegar sobre las diferentes opciones para irse relacionando con el mismo, así como indagar y descargar, en caso que desee, los documentos que se muestran de manera general.

– Administrador: Es la persona facultada para la gestión de la ayuda. Es el encargado de administrar las diferentes cuentas de los usuarios autenticados en la aplicación.

Requisitos de la ayuda

Para la realización de cualquier aplicación una de las tareas primordiales es la captura de requisitos. Un requisito es una condición o capacidad que debe reunir o poseer un sistema o componente de un sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto. Estos se dividen en dos grandes grupos, funcionales y no funcionales, donde los primeros no son más que las condiciones o capacidades que el sistema debe cumplir, y los segundos son propiedades o cualidades que el producto debe tener, representando las características del producto.

Requisitos Funcionales de la Ayuda

R1. Crear cuenta de usuario.

R1.1. Mostrar el formulario de creación de la cuenta.

R1.2. Permitir entrar los datos importantes para la cuenta: nombre de usuario, dirección de correo electrónico, contraseña, confirmación de contraseña.

R1.3. Validar los datos introducidos por el usuario.

R1.3. a. Mostrar un mensaje al usuario si existe alguna dificultad durante la validación.

Las dificultades pueden ser: Nombre de usuario existente, dirección de correo existente, confirmación de contraseña incorrecta.

R2. Ver perfil de usuario

R2.1. Mostrar el formulario con datos del perfil de usuario.

R3. Modificar cuenta de usuario

R3.1. Mostrar el formulario con datos del perfil de usuario.

R3.2. Permitir al usuario modificar los datos que prefiera.

R3.3. Validar los datos introducidos por el usuario.

R3.3. a. Mostrar un mensaje al usuario si existe alguna dificultad durante la validación.

Las dificultades pueden ser: Confirmación de contraseña incorrecta.

R4. Eliminar cuenta de usuario

R4.1. Mostrar el formulario con datos del perfil de usuario.

R4.2. Permitir la posibilidad de eliminar la cuenta de usuario.

R5. Autenticar

R5.1. Mostrar el formulario de autenticación de usuario.

R5.2. Pedir nombre de usuario y contraseña.

R5.3. Validar los datos introducidos por el usuario.

R5.3. a. Mostrar un mensaje al usuario si existe alguna dificultad durante la validación.

Las dificultades pueden ser: Nombre de usuario incorrecto, contraseña incorrecta.

R5.4. Verificar qué rol cumple dentro de la ayuda para asignar permisos.

R6. Mostrar documentos

R6.1. Permitir descargar el documento.

R6.2. Permitir imprimir el documento.

R7. Mostrar imágenes

R7.1. Permitir descargar las imágenes.

R7.2. Permitir imprimir las imágenes.

R8. Mostrar videos

R9. Buscar información

R9.1. Mostrar el formulario de búsqueda.

R9.2. Permitir al usuario teclear el criterio de búsqueda que puede ser palabra o frase que desee buscar dentro del sitio.

R9.3. Validar los datos introducidos por el usuario.

R9.3. a. Mostrar un mensaje al usuario si existe alguna dificultad durante la validación.

R9.4. Mostrar un vínculo al contenido encontrado correspondiente al término de búsqueda.

Requisitos No Funcionales de la Ayuda

Los requisitos no funcionales son propiedades o cualidades que el producto debe tener. Debe pensarse en estas propiedades como las características que hacen al producto atractivo, usable, rápido y confiable.

Requisitos de Software

– La ayuda se desarrollará bajo el CMS Joomla versión 1.5.9.

– Se recurrirá a la tecnología Apache versión 2.0 o superior para el servidor Web.

– La ayuda incluirá un gestor de Base de Datos MySQL versión 5.0.33.

– La aplicación Web estará escrita sobre el lenguaje de programación PHP 5.0

Requisitos de Hardware

Para las computadoras del cliente:

– Se requiere tengan tarjeta de red.

– Se requiere tengan al menos 64 MB de memoria RAM.

– Procesador 256 MHz como mínimo.

Para los servidores:

– Se requiere tarjeta de red.

– Se requiere tenga al menos 256MB de RAM.

– Se requiere al menos 1GB de disco duro.

– Procesador 512 GHz como mínimo.

Apariencia o interfaz externa

– Diseño sencillo, con pocas entradas, permitiendo que no sea necesario mucho entrenamiento para utilizar la ayuda.

– Empleo de animaciones e imágenes sencillas, permitiendo la rapidez de la aplicación.

– Diseño perfectamente encuadrado para resoluciones de 800×600, pero preparado para verse en otras resoluciones.

– Empleo de un esquema de colores en el diseño atractivo, conjugando equilibrio y contraste suficiente pero no agresivo.

– Contendrá un menú dinámico para que actúe con el usuario en dependencia de sus necesidades.

Usabilidad

– La ayuda debe ser de fácil manejo para los usuarios que tengan niveles básicos sobre la computación o hayan realizado algún trabajo previo con sistemas similares.

– Debe facilitar, principalmente, el ser manejado por usuarios que estén vinculados a los procesos que se llevan a cabo en el sistema SENTAI.

Funcionalidad

– Mínima cantidad de páginas para ejecutar todas las funciones posibles.

Rendimiento

– La eficiencia de esta aplicación debe ser óptima en cuanto a la velocidad de procesamiento, disponibilidad, tiempo de respuesta y aprovechamiento de los recursos, entre otros.

– El tiempo de búsqueda de información, así como la descarga de documentos debe ser en el menor tiempo posible.

Seguridad

– Chequear si el usuario que está accediendo a la ayuda está autenticado y brindarle servicio de autenticación.

– Proteger la información manejada por la ayuda de accesos no autorizados.

– Garantizar que las funcionalidades de la ayuda se muestren de acuerdo al nivel de usuario que esté activo.

– Mantener la integridad de la información, es decir que no se perderá durante su almacenamiento o transporte.

– Proteger la información manejada por la ayuda contra la corrupción de ficheros.

– Mostrar opción de advertencia antes de borrar cualquier documento o información que pueda existir.

Portabilidad

– Que corra en cualquier plataforma, es decir, que sea multiplataforma.

Disponibilidad

– La ayuda deberá estar disponible las 24 horas del día para todos los usuarios con derechos a utilizarla.

Fase de Planificación

La metodología de desarrollo Extreme Programming comienza con la fase de planificación. Durante esta etapa se realiza el proceso de identificación de las historias de usuario, así como la familiarización de los equipos de trabajo con las tecnologías y herramientas seleccionadas para la construcción del sistema.

Además, se realiza una estimación del esfuerzo que costará implementar cada historia de usuario.

Historias de usuario.

Las historias de usuario son la forma en que se especifican en XP los requisitos del sistema. Estas se redactan desde la perspectiva del cliente aunque los desarrolladores pueden brindar también su ayuda en la identificación de las mismas. El contenido que ellas abarcan debe ser concreto y sencillo. Durante este proceso se identifican 7 historias de usuario las cuales se detallan a continuación.

– Gestionar cuenta de usuario

– Mostrar perfil de usuario

– Autenticar

– Mostrar documentos

– Mostrar imágenes

– Mostrar videos

– Buscar información

Con el objetivo de la comprensión de este trabajo se hace una breve explicación del funcionamiento de Joomla como plataforma de publicación. Joomla provee al desarrollador de un potente sistema de seguridad basado en roles, el mismo Sistema de Gestión de Contenidos se encarga de la creación de usuarios y roles, así como del control de accesos a los diferentes módulos según los permisos definidos por el administrador.

El desarrollador se limita a exportar en su módulo los tipos de acceso que desea definir, el resto lo maneja Joomla, es decir, cuando un usuario trata de acceder a un módulo la plataforma chequea que el usuario autenticado tenga acceso al módulo en cuestión.

Módulos de Joomla

Los módulos son extensiones para Joomla que amplían las funcionalidades del núcleo. Un módulo es la unión de varias funciones que se juntan en Joomla y ayudan a ofrecerle mayor funcionalidad a la Web. Un módulo para Joomla consta de uno o más ficheros, el fichero principal implementa una interfaz definida por el propio Joomla.

Paquetes de Joomla:

1. Paquete 1: Joomla

a. Sub paquete 1.1: Componentes

b. Sub paquete 1.2: Includes

c. Sub paquete 1.3: Templates

Los paquetes desarrollados son:

– Sub paquete 1.1.1: documentación

– Sub paquete 1.1.2: videos

Casi todos los módulos tienen relación con algunos componentes, que constituyen capas intermedias; como pueden ser componentes de acceso a la base de datos, de lógica de negocio, etc.

Paquete 1: Joomla

El Paquete 1: Joomla, consiste en la distribución del CMS Joomla. Básicamente contiene un paquete Templates, donde se encuentran los mecanismos que soportan el sistema de plantillas, de modo que cuando usted desee cambiar el diseño de la interfaz que presentará el sistema, sólo tiene que definir una nueva plantilla en este archivo; un paquete Includes, donde se encuentran ficheros de configuración y ficheros utilitarios, es este paquete donde se incluyen las API de acceso a datos; y por último un paquete Componentes, que proveen a Joomla de sus funcionalidades, de forma tal que cuando desee agregar un nuevo módulo, sólo debe copiarlo dentro de esta carpeta y activarlo a través de la interfaz de Joomla.

Este CMS contiene una única página de servidor, la cual basándose en el sistema de clases genera el contenido de la página final, teniendo en cuenta los argumentos con que se realiza la petición. Debido a la naturaleza de los Sistemas de Gestión de Contenidos y a su estructura modular en esta sección se modelará cada módulo por separado, puesto que son independientes uno del otro en cuanto a funcionalidad.

Abordados los principales aspectos que influyen en el diseño del diagrama de clases Web que representa el funcionamiento de Joomla, se está en condiciones de presentar el mismo, recordando siempre que la terminología para referirse a un módulo Joomla será la de “paquete”.

Sub Paquete 1.1: Componentes

El paquete Componentes contiene los módulos que dan soporte a las funcionalidades de Joomla, y los módulos desarrollados en este trabajo. Para simplificar el diagrama no se modelan todos los módulos de Joomla, sino sólo los desarrollados.

Implementación y prueba

La Metodología XP plantea que la implementación de un software debe realizarse de forma iterativa, obteniendo al culminar cada iteración un producto funcional que debe ser probado y mostrado al cliente para incrementar la visión de los desarrolladores con la opinión de éste. En el presente capítulo se detallan las dos iteraciones llevadas a cabo durante la etapa de construcción de la ayuda, exponiéndose las tareas generadas por cada historia de usuario, así como las pruebas de aceptación efectuadas sobre la aplicación.

Fase de implementación

Durante el transcurso de las iteraciones se realiza la implementación de las historias de usuario seleccionadas para ser realizadas en cada una de ellas. Al principio de estas se lleva a cabo una revisión del plan de iteraciones y se modifica en caso de ser necesario. Como parte de este plan, se descomponen las HU en tareas de desarrollo, asignando a un grupo de desarrollo (o una persona), responsable de su implementación. Estas tareas son para el uso estricto de los programadores, pueden ser escritas en lenguaje técnico y no necesariamente entendible por el cliente.

Teniendo en cuenta la planificación realizada anteriormente, se llevaron a cabo dos iteraciones de desarrollo sobre la ayuda, obteniéndose como finalidad un producto con todas las restricciones y características deseadas para ser utilizado.

Algunas de las tareas implementadas fueron:

– Configuración del módulo user

– Manejo de persistencia en la Base de Datos

– Gestionar autenticación

– Construcción del módulo documentación

– Creación de las tablas en la BD

– Creación del código fuente del módulo videos

– Creación de la tabla correspondiente al módulo videos

– Configuración del módulo perfil

– Configuración del módulo búsqueda

Fase de prueba

Uno de los pilares fundamentales de XP es el proceso de pruebas, el cual anima a los desarrolladores a probar constantemente tanto como sea posible. Mediante esta filosofía se reduce el número de errores no detectados así como el tiempo entre la introducción de éste en el sistema y su detección. Todo esto contribuye a elevar la calidad de los productos desarrollados y a la seguridad de los programadores a la hora de introducir cambios o modificaciones.

La metodología XP divide las pruebas en dos grupos: pruebas unitarias, desarrolladas por los programadores, encargadas de verificar el código de forma automática y las pruebas de aceptación, destinadas a evaluar si al final de una iteración se obtuvo la funcionalidad requerida, además de comprobar que dicha funcionalidad sea la esperada por el cliente.

Pruebas de aceptación.

Las pruebas de aceptación son pruebas de caja negra que se crean a partir de las historias de usuario.

Durante las iteraciones las HU seleccionadas serán traducidas a pruebas de aceptación. En ellas se especifican, desde la perspectiva del cliente, los escenarios para probar que una HU ha sido implementada correctamente. Una HU puede tener todas las pruebas de aceptación que necesite para asegurar su correcto funcionamiento. El objetivo final de éstas es garantizar que los requisitos han sido cumplidos y que la ayuda es aceptable. Una HU no se considera completa hasta que no ha pasado por sus pruebas de aceptación.

– Crear cuenta de usuario en la ayuda.

– Modificar cuenta de usuario en la ayuda.

– Eliminar cuenta de usuario en la ayuda.

– Mostrar perfil de usuario en la ayuda.

– Mostrar los documentos referentes a cada módulo en el sistema según el tipo de usuario.

– Descargar los documentos referentes a cada módulo del sistema según el nivel de acceso del usuario.

– Mostrar las imágenes referentes a cada módulo en el sistema.

– Descargar las imágenes referentes a cada módulo del sistema.

– Mostrar los videos referentes a cada módulo en el sistema.

– Descargar los videos referentes a cada módulo del sistema.

CONCLUSIONES GENERALES

El rápido avance de las tecnologías del comercio en el campo de la informática y su gran aceptación a nivel mundial hace que cada día se dé más importancia a la era digital, debido al incremento del uso de la computación que mejora el control de las actividades empresariales tanto mayoristas como minoristas de este sector.

Durante el desarrollo de esta investigación se realizó un estudio que permitió tener conocimiento de la situación actual y las tendencias de los sistemas de ayuda en línea con contenidos informáticos.

Se demostró la necesidad de desarrollar una ayuda en línea que fuese capaz de exponer el funcionamiento de los módulos que se llevan a cabo en el sistema SENTAI para lograr una mejor interacción de los usuarios con el sistema.

Con este trabajo se presenta una aplicación Web que permite mostrar los documentos, imágenes y videos pertenecientes a los diferentes módulos que componen el sistema SENTAI, brindando así al usuario un punto de acceso donde este puede obtener toda la información que necesite acerca de estos. Además permite consultar las inquietudes sobre el trabajo con SENTAI con diferentes usuarios y el administrador del sistema a través del servicio de un foro interno. Un aspecto novedoso, es que se realizarán las diferentes funcionalidades como módulo Joomla, lo que permite que sea altamente configurable y adaptable en dependencia del centro donde se utilice el sistema.

El desarrollo del trabajo utilizando la metodología XP permitió documentar el mismo desde el comienzo, lo que facilitará su estudio por parte de futuros miembros del equipo de desarrollo, permitiendo de esta forma, una comprensión más rápida y fácil de la concepción general del sistema. La versión del sistema obtenida, constituye una base para el trabajo del equipo, así como para futuras versiones del sistema.

BIBLIOGRAFÌA

1. Ayuda en Línea de SAP. [En línea] [Citado el: 28 de abril de 2009.]

http://help.sap.com/

2. Ayuda de Microsoft. [En línea] [Citado el: 28 de abril de 2009.]

http://msdn.microsoft.com/en-us/library/default.aspx

3. Ayuda del Sistema de Reservas Amadeus. [En línea] [Citado el: 28 de abril de 2009.]

http://formacion.es.amadeus.com/amadeus/ayuda.asp

4. Ayuda en Línea EUROACE. [En línea] [Citado el: 28 de abril de 2009.]

http://oami.europa.eu/ows/rw/pages/helpFiles/euroace/help.es.do

5. Ayuda en línea del Consolidador de Hacienda e Información Financiera Pública. [En línea] [Citado el: 28 de abril de 2009.]

http://jupiter.contaduria.gov.co/WebHelpUniversal/Ayuda_en_linea.htm

6. Portal de Salud de Cuba. [En línea] [Citado el: 28 de abril de 2009.]

http://www.sld.cu/ayuda/ayuda.html

7. Etecsa. [En línea] [Citado el: 28 de abril de 2009.]

http://www.etecsa.cu/servicios.p?codigo=89&padre=89

8. Sitio Desarrollo Web. [En línea] [Citado el: 12 de diciembre de 2008.]

http://www.desarrolloweb.com/articulos/966.php

9. Sitio de Dreamweaver. [En línea] [Citado el: 18 de enero de 2009.]

http://www.tucamon.es/contenido/dreamweaver-y-html

10. Guía breve de tecnologías XML. [En línea] [Citado el: 1 de enero de 2009.]

http://www.w3c.es/divulgacion/guiasbreves/tecnologiasXML

11. Sitio Desarrollo Web. [En línea] [Citado el: 1 de enero de 2009.]

http://www.desarrolloweb.com/articulos/335.php

12. Sistemas de Gestión de Contenidos. [En línea] [Citado el: 11 de enero de 2009.]

http://mosaic.uoc.edu/articulos/cms1204.html

13. Drupal. [En línea] [Citado el: 1 de enero de 2009.]

http://drupal.org/

14. Joomla. [En línea] [Citado el: 15 de enero de 2009.]

http://www.joomlaspanish.org

15. Sitio de Zopeteca. [En línea] [Citado el: 29 de abril de 2009.]

http://www.zopeteca.com/