Universidad de las Ciencias Informáticas Facultad 1
Título: Módulo de Servicios Web para Novadesk, MSW_Novadesk.
Trabajo de Diploma para optar por el Título de Ingeniero en Ciencias Informáticas.
Autor:
Dainier Velázquez Guzmán
Tutoras:
Ing. Gladys Marsi Peñalver Romero Ing. Yaima Oval Riverón
Ciudad de La HabanaCurso 2010-2011
Declaración de autoría
Declaramos ser autores de la presente tesis y reconocemos a la Universidad de las Ciencias Informáticas los derechos patrimoniales de la misma, con carácter exclusivo.
Para que así conste firmamos la presente a los ____ días del mes de ________ del año ________
_____________________ ________________
Firma del Autor Firma del Autor
__________________ ___________________________
Firma del Tutor Firma del Tutor
RESUMEN
Resumen
La Gestión de Incidencias es unos de los procesos más empleados en la actualidad por diferentes organizaciones para eliminar los fallos en las mismas. La fusión de este proceso y la informática ha permitido obtener los Sistemas Gestores de Incidencias (SGI). Para la gestión de las incidencias del sistema operativo Nova se utiliza el Sistema Gestor de Incidencias Novadesk, al cual se le han incorporado funcionalidades que le permiten la interoperabilidad con otros sistemas informáticos para garantizar que este pueda ser usado por los mismos.
El presente trabajo de diploma cuenta con un estudio de los Servicios Web y la utilización de los mismos en los Sistemas de Gestión de Incidencias para lograr la implementación de un módulo de Servicios Web que permita gestionar la información de Novadesk desde otras aplicaciones. La metodología de desarrollo de software utilizada para el desarrollo del módulo fue SXP, la misma permitió realizar el análisis, diseño e implementación de la solución propuesta. Para garantizar la calidad del módulo se realizaron las pruebas siguiendo las técnicas que propone esta metodología.
Palabras claves: Gestión de Incidencias, Sistemas Gestores de Incidencias, Novadesk, Servicios Web.
.
ÍNDICE
ÍNDICE
1.1 CONCEPTOS ASOCIADOSALPROBLEMA ... 11
1.2 LOS SISTEMAS GESTORESDE INCIDENCIAS ... 12
1.2.1 Los Sistemas Gestores de Incidencias en Cuba ... 13
1.3 LOS SERVICIOS WEB ... 14
1.3.1 Evolución de los Servicios Web ... 16
1.3.2 Razones para crear Servicios Web ... 17
1.3.3 Importancia de los Servicios Web ... 17
1.3.4 Flujo básico de los Servicios Web ... 17
1.4 HERRAMIENTAS, LENGUAJES YTECNOLOGÍASAUTILIZAR ... 18
1.4.1 Lenguajes de programación ... 18
1.4.2 Herramientas utilizadas ... 19
1.4.3 Metodología de desarrollo de software ... 22
2.1 CONCEPCIÓNINICIAL ... 24
2.2 LEVANTAMIENTODEREQUISITOS ... 24
2.3 PROPUESTADELSISTEMAAIMPLEMENTAR ... 25
2.4 HISTORIASDEUSUARIO ... 26
2.5 PLANIFICACIÓNDELPROYECTOPORROLES ... 36
2.6 PLANDERELEASE ... 37
2.7 DESCRIPCIÓNDELAARQUITECTURA ... 37
3.1 TAREASDEINVESTIGACIÓN ... 40
3.2 CASOSDEPRUEBA ... 49
INTRODUCCIÓN
Introducción
Desde hace varios años se ha escuchado con regularidad el término Software Libre (SWL). El Software Libre más que un movimiento liberador de software, es una filosofía de compartir aquello que es útil, en este caso el código fuente o programas de cómputo, para ser modificado, copiado y distribuido.
En Cuba es cada vez más necesario su uso, dada las ventajas que éste proporciona y por la forma que se identifica el mismo con el sistema social cubano. Muchos organismos vienen desarrollando en sus instituciones un trabajo constante y meritorio: Salud Pública, la Aduana General de la República, Educación Superior, el Ministerio de Ciencia Tecnología y Medio Ambiente o el Ministerio de Informática y las Comunicaciones (MIC), entre otros tantos en los que las tecnologías libres muestran un crecimiento sostenido[1].
En la Universidad de las Ciencias Informáticas (UCI), pilar fundamental en el proceso de migración nacional a SWL, un grupo de estudiantes y profesores desarrollan el sistema operativo libre cubano Nova, el cual está dirigido a los usuarios inexpertos que hayan experimentado un proceso de migración de Microsoft Windows a GNU/Linux; esta distribución permite realizar trabajos de oficina, reproducir música y video, navegar por la web, e interactuar con otras personas mediante la mensajería instantánea [2].
Actualmente la gestión de servicios e incidencias es uno de los procesos fundamentales dentro de las empresas para atender de manera eficiente cualquier fallo en el hardware, software y otras peticiones de servicios. Un soporte de alta calidad es crítico en el logro de los objetivos de cualquier organización.
Por lo general, para cumplir tanto con los objetivos de la organización como con los requisitos de los usuarios, las organizaciones implementan una central de contacto y atención al cliente que, conjuntamente a un equipo consolidado, invierte tiempo en planear, capacitar, revisar, investigar y trabajar de manera cercana con los mismos. Esta función también se conoce como Help Desk (Mesa de Ayuda), Call Center (Centro de Llamadas) o Service Desk (Mesa de Servicios). Actualmente existen numerosas aplicaciones de este tipo destinadas a la gestión de incidencias que cuentan con gran aceptación a nivel mundial. Entre estas se encuentran Cerberus Helpdesk, DeskPRO, PerlDesk, OneOrZero, Help Center Live, Simple Ticket, Open Source Ticket Request System (OTRS) y Gestión Libre de Parque Informático (GLPI) [3].
En el departamento de Sistemas Operativos y Desarrollo de Tecnologías Libres (SODTL) se encuentra el proyecto de Servicios Integrales en Migración, Asesoría y Soporte (SIMAYS) en el mismo se desarrolla la plataforma de migración a software libre, el proyecto más significativo en el que se
INTRODUCCIÓN
encuentran inmersos los desarrolladores de SIMAYS, la misma representa una pieza fundamental para automatizar el proceso de migración.
Con el objetivo de gestionar los reportes de las posibles incidencias por parte de los usuarios de Nova se crea la aplicación web Novadesk resultado del trabajo de diploma titulado “Aplicación Web para brindar soporte a Nova: Novadesk” [4]. Resultado obtenido posterior al estudio del trabajo de diploma
“Servicio de Soporte Técnico utilizando la tecnología Service-Desk” [5] donde se planteaba la necesidad de emplear una tecnología web como los Sevice-Desk, para mejorar la calidad del servicio de soporte técnico. Esta aplicación es una personalización del sistema gestor de incidencias GLPI.
El Sistemas Gestores de Incidencias (SGI) Novadesk es pieza fundamental en el proceso de migración en el que se encuentra inmerso el país, en este sentido el proyecto necesita que las principales funcionalidades de Novadesk se brinden pero desde otras aplicaciones. En la actualidad existe la imposibilidad de gestionar información de este sistema gestor de incidencias por otras aplicaciones informáticas que lo soliciten debido a la ausencia en el mismo de funcionalidades que faciliten la comunicación.
Dada la situación problemática descrita con anterioridad se propone el siguiente problema científico
¿Cómo comunicar el sistema de soporte técnico Novadesk con otras aplicaciones informáticas?
Teniendo como objeto de estudio: los Servicios Web, enmarcados en el campo de acción: la capa de Servicios Web para Novadesk.
El objetivo general de la investigación es desarrollar una capa de servicio web que permita comunicar a Novadesk con otras aplicaciones. Derivándose en los siguientes objetivos específicos:
Identificar los posibles estándares a utilizar en la implementación así como los servicios que se brindaran.
Analizar y diseñar un módulo para Novadesk que permita brindar diferentes funcionalidades a través de Servicios Web aplicando los principales estándares que existen.
Implementar el módulo de Servicios Web para Novadesk (MSW_Novadesk1). Realizar las pruebas al módulo.
Para darle cumplimiento a los objetivos que se exponen anteriormente se hace necesario llevar a cabo el cumplimiento de las siguientes tareas:
Sistematización de los contenidos relacionados con los servicios web, su utilización en los sistemas de soporte técnico, y las posibles herramientas y lenguajes a utilizar en la 1 MSW_Novadesk: Siglas del nombre del módulo de Servicios Web a implementar en la presente investigación.
INTRODUCCIÓN
implementación.
Selección de los posibles estándares a utilizarse durante la implementación.
Análisis y diseño de un módulo para Novadesk que permita brindar diferentes Servicios Web aplicando los principales estándares que existen.
Implementación del módulo MSW_Novadesk.
Diseño y ejecución de las pruebas correspondientes al módulo implementado.
En el transcurso de la investigación se empleó el método teórico histórico-lógico pues se estudiaron diferentes bibliografías para conocer la evolución de los Servicios Web y los Sistemas para la Gestión de Incidencias así como los resultados que estos han obtenido. Dentro de los métodos empíricos utilizados se encuentra la observación permitió seleccionar entre las funcionalidades del sistema Novadesk las que se brindarán en la capa de Servicios Web a desarrollar.
La investigación está desarrollada en tres capítulos, cuya estructura se describe a continuación:
Capítulo 1 Elementos del desarrollo: Se definen los conceptos fundamentales acerca de los Sistemas Gestores de Incidencias incluyendo elementos históricos acerca del surgimiento de los mismos y ejemplos. También queda plasmado qué son los Servicios Web, importancia y tendencia de los mismos.
Se describen las tecnologías, lenguajes y herramientas a utilizar en la elaboración de la solución.
Capítulo 2 Análisis y diseño del módulo MSW_Novadesk: A lo largo de este capítulo se recogen los requisitos planteados por el cliente, se formula una propuesta de la solución a implementar y se define la arquitectura con que se implementará el sistema.
Capítulo 3 Implementación y pruebas del módulo MSW_Novadesk: En este capítulo se realiza la implementación de la solución propuesta y se generan los artefactos correspondientes a la fase de desarrollo según la metodología seleccionada, además de realizar un conjunto de pruebas necesarias para garantizar la calidad del producto obtenido.
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
Capítulo 1: “Elementos del desarrollo”
En el presente capítulo se abordan los fundamentos teóricos generales del proceso de gestión de incidencias y los Servicios Web; junto a ello se realiza un análisis del estado del arte de los distintos sistemas para la gestión de incidencias y de las principales tecnologías para desarrollar Servicios Web.
Además, se detallan las tendencias y tecnologías actuales, metodologías y herramientas para el desarrollo web que darán solución al problema científico.
1.1 Conceptos asociados al problema
Para lograr un mejor entendimiento del problema que se desea resolver es necesario conocer los conceptos principales de los procesos, metodologías y tecnologías que se utilizarán en el desarrollo del sistema. A continuación se detallan los mismos.
Gestión de Incidencia (GI)
La GI es uno de los procesos fundamentales dentro de los departamentos de tecnología de la información (TI) para atender de manera eficiente cualquier fallo en el hardware, software y otras peticiones de servicios [6]. En el caso de ocurrir un falla en la organización es de gran importancia restablecer el funcionamiento normal de la misma lo más rápido posible y con el menor impacto sobre la actividad del negocio. Para cumplir los objetivos trazados es necesario tratar de forma adecuada los sucesos que provocan la degradación o pérdida del funcionamiento normal de un servicio, priorizando la atención de las incidencias de acuerdo a los compromisos de servicio establecidos, y reduciendo el impacto provocado [7].
Sistemas Gestores de Incidencias (SGI)
Un SGI es una herramienta que se orienta al procesamiento de los posibles problemas surgidos en una organización cuya ejecución conlleva a la realización de un conjunto de actividades para las cuales estas herramientas tienen funcionalidades que pueden realizarlas de forma automática. La utilización de este sistema permite además de agilizar la operativa de gestión de incidencias, obtener informes de operación, a partir de los cuales pueden medirse parámetros de calidad en la resolución de dichas incidencias [8].
Servicios Web
Los Servicios Web son un conjunto de protocolos y estándares que sirven para intercambiar datos
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los Servicios Web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos [9].
Figura 1.1: Representación conceptual de los Servicios Web
Protocolo de comunicación
Un protocolo de comunicación es el conjunto de reglas normalizadas para la representación, señalización, autenticación y detección de errores necesario para enviar información a través de un canal de comunicación [10]. Define como es que se comparte la información a través de la red.
Interoperabilidad
Capacidad de los sistemas de tecnologías de la información y las comunicaciones (TIC), y de los procesos empresariales a los que apoyan, de intercambiar datos y posibilitar la puesta en común de información y conocimientos [11].
1.2 Los Sistemas Gestores de Incidencias
En el desarrollo de cualquier proyecto o en la gestión del soporte en cualquier ámbito de los sistemas de información, se requiere el uso de herramientas apropiadas que permitan la gestión de dicho soporte, permitiendo hacer un seguimiento de los procesos, realizar tareas de control así como documentar adecuadamente las acciones realizadas [12]. Conocer los problemas que ocurren en la organización es de gran importancia porque facilita estudiar los fallos en busca de respuestas y soluciones que permitan el buen funcionamiento del sistema.
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
Actualmente existen diversos Sistemas Gestores de Incidencias (SGI) que tienen gran aceptación en el mundo por las ventajas que proporcionan los mismos, entre los principales sistemas se encuentran:
One Or Zero (www.oneorzero.com), el mismo tiene una cómoda interfaz de administrador, es multi-idioma, desarrolla las nuevas versiones cada 2 o 3 meses.
OsTicket (www.osticket.com), su instalación es muy sencilla, cuenta con base de conocimientos, y además el personal es capaz de dar respuestas vía correo electrónico.
SysAid (www.sysaid.com), permite a los usuarios finales un servicio de petición de incidencias de manera simple, con formularios en linea, permite comunicarse con los usuarios vía e-mail, SMS y mensajería instantánea, cuenta con interfaces en inglés, francés, alemán, español, italiano y hebreo.
Gestión Libre de Parque Informático (GLPI www.glpi-project.org), es multiusuario con diferentes niveles de permisos, cuenta con múltiples sistemas para autenticación, entre ellos se encuentran local, LDAP, AD, POP/IMAP, cuenta con sistemas de búsqueda avanzados, se encuentra bajo la licencia GNU/GPL.
Open-source Ticker Request System (OTRS www.otrs.org), el sistema puede convertir de forma automática los correos en tickets de soporte lo que resuelve el problema de peticiones no atendidas que suele existir cuando se utiliza en correo electrónico como uno de los canales para atender las solicitudes, además OTRS auto-calcula las horas invertidas en la resolución de un ticket.
1.2.1 Los Sistemas Gestores de Incidencias en Cuba
En Cuba se están usando los Sistemas Gestores de Incidencias en entidades como la Empresa de Telecomunicaciones de Cuba SA (ETECSA) que implementa tecnologías sobre la base de los Call Center. Además, la Sociedad para el Desarrollo de Productos Informáticos Especializados S.A (DESOFT), en la provincia de Ciego de Ávila trabaja con el producto AvilaQuid orientado a la gestión de la información, del conocimiento, la gestión de incidencias y cuestiones relacionadas con la satisfacción de los clientes.
En la Universidad de las Ciencias Informáticas (UCI) también se trabaja con estas tecnologías que brindan ventajas significativas en lo que respecta a la prestación de servicios de soporte. Para el soporte de las actividades productivas, la dirección de soporte posibilita realizar reportes por medio de https://pgs.soporte.uci.cu/ que es un sistema de gestión de incidencias. Otra herramienta utilizada en la universidad para dar soporte es Novadesk (http://soporte.f10.uci.cu), específicamente está destinada a dar soporte a Nova. Novadesk tiene un peso fundamental en el proceso de migración en el que está
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
envuelto el país porque mediante la misma se gestionarán los reportes de las posibles incidencias por parte de los usuarios de Nova.
1.3 Los Servicios Web
Los Servicios Web son un tema apasionante pues brindan gran funcionalidad y posibilidad de realizar cambios y mejorar las aplicaciones. Un mismo Servicio Web puede ser consumido tanto por aplicaciones que se ejecutan en un servidor y entregan código html al cliente, como por aplicaciones que corren directamente en la máquina del cliente. A continuación se realiza un resumen de las principales tecnologías para el desarrollo de los Servicios Web.
XML
XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones. Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas más frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar información [13].
Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos.
Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades [Anexo 1].
WSDL
WSDL son las siglas de Web Services Description Language, un formato XML que se utiliza para describir Servicios Web. WSDL describe la interfaz pública a los Servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje [14]. [Anexo 2]
XSD
XML Schema es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, más allá de las normas sintácticas impuestas por el propio lenguaje XML. Se consigue así una percepción del tipo de documento con un
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
nivel alto de abstracción. Fue desarrollado por el W3C y alcanzó el nivel de recomendación en mayo de 2001 [15].
SOAP
El protocolo SOAP (Simple Object Access Protocol) utiliza mensajes XML para invocar métodos remotos. Un Servicio Web podría interactuar con servicios remotos a través de los métodos get y post de HTTP, pero SOAP es mucho más robusto y flexible. SOAP es un protocolo liviano, basado en XML, para el intercambio de información estructurada en un ambiente descentralizado y distribuido. Sin embargo, SOAP no define la aplicación, ni la semántica de implementación. En vez de esto, proporciona un modelo de empaquetamiento modular y los mecanismos para la codificación de los datos dentro de los módulos. Esto permite que el protocolo simple se utilice en una amplia variedad de sistemas modulares y que cumpla su propósito primario de facilitar la interoperabilidad entre componentes de software heterogéneos. SOAP es una especificación para la invocación de métodos en servidores, servicios, componentes y objetos, y codifica la práctica existente de utilizar XML y HTTP como un mecanismo de invocación de métodos.
Un paquete SOAP contiene información que se puede utilizar para invocar un método. La especificación SOAP no define la forma de llamar al método; tampoco maneja recolección de basura distribuida, ni la seguridad de tipos o HTTP bidireccional. Lo que SOAP permite es el paso de parámetros y comandos entre clientes y servidores de HTTP, independientemente de las plataformas y aplicaciones existentes en el cliente y en el servidor. Los parámetros y los comandos se codifican utilizando XML [16].
Algunas de las ventajas de SOAP son:
No está asociado con ningún lenguaje: los desarrolladores involucrados en nuevos proyectos pueden elegir desarrollar con el último y mejor lenguaje de programación que exista pero los desarrolladores responsables de mantener antiguas aflicciones heredadas podrían no poder hacer esta elección sobre el lenguaje de programación que utilizan. SOAP no especifica una API, por lo que la implementación de la API se deja al lenguaje de programación, como en Java, y la plataforma como Microsoft.Net.
No se encuentra fuertemente asociado a ningún protocolo de transporte: La especificación de SOAP no describe como se deberían asociar los mensajes de SOAP con HTTP. Un mensaje de SOAP no es más que un documento XML, por lo que puede transportarse utilizando cualquier protocolo capaz de transmitir texto.
No está atado a ninguna infraestructura de objeto distribuido: La mayoría de los sistemas de objetos distribuidos se pueden extender, y ya lo están alguno de ellos para que admitanCAPÍTULO 1: ELEMENTOS DEL DESARROLLO
SOAP
Aprovecha los estándares existentes en la industria: Los principales contribuyentes a la especificación SOAP optaron por extender los estándares existentes para que coincidieran con sus necesidades. Y como ya se ha mencionado SOAP no define un medio de transporte de los mensajes; los mensajes de SOAP se pueden asociar a los protocolos de transporte existentes como HTTP y SMTP.
Permite la interoperabilidad entre múltiples entornos: SOAP se desarrolló sobre los estándares existentes de la industria, por lo que las aplicaciones que se ejecuten en plataformas con dicho estándares pueden comunicarse mediante mensaje SOAP con aplicaciones que se ejecuten en otras plataformas.UDDI
Universal Description, Discovery and Integration (UDDI) es una especificación técnica para describir, descubrir e integrar Servicios Web. UDDI es una consecuencia de una parte crítica de la pila protocolar del Servicio Web, habilitando a las empresas tanto publicar como encontrar Servicios Web [17].
Luego de estudiados cada uno de los lenguajes descritos anteriormente se decidió que en el desarrollo de esta investigación se va a utilizar el protocolo de comunicación SOAP por ser el mismo fácil de consumir y robusto, además es el protocolo definido por la Dirección de Informatización de la UCI y el ingeniero Yoani Santana Leyva utilizó este protocolo en el desarrollo del trabajo de diploma “Módulo de Servicios Web para dotproject, DOT-WS”, obteniendo resultados satisfactorios.
1.3.1 Evolución de los Servicios Web
En la actualidad las aplicaciones web ya no son suficientes. El modelo actual de negocio electrónico no facilita la integración de las aplicaciones de Internet con el resto del software de las empresas. Si las empresas desean aprovechar al máximo los beneficios de Internet, los Sitios Web deben evolucionar.
En este contexto es que surgen los Servicios Web. La evolución de los Servicios Web ha sido ancla para el surgimiento del nuevo paradigma de desarrollo de software orientado a servicios, que utiliza las herramientas Web como elementos básicos para el desarrollo de aplicaciones.
En los inicios de Internet únicamente se utilizaba como repositorio de páginas estáticas con hipervínculos y enlaces de consulta esto a final de los años 80; a mediados de los 90 evolucionan los Servicios Web cuando Internet dejo de ser una red académica y fue adoptada por el público general que tenia nuevos requerimientos de acceso a datos, información y páginas más estéticas, la respuesta
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
tecnológica fueron herramientas como PHP, ASP, CGI, Jscript y Vbscript, pero aun así seguía utilizándose como simple repositorio de información fue entonces cuando a finales de los 90 comienza a utilizarse para realizar algunas transacciones de origen comercial en el modelo que se denomina B2B (Bussines to Bussines), principalmente con la función de pedidos y compras en línea [18].
1.3.2 Razones para crear Servicios Web
La principal razón para usar Servicios Web es que se basan en HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante cortafuegos2, que filtran y bloquean gran parte del tráfico de Internet, cierran casi todos los puertos TCP, salvo el 80 que es precisamente el que usan los navegadores. Los Servicios Web se enrutan por este puerto, por la simple razón de que no resultan bloqueados. Otro motivo para crear Servicios Web es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red [19]. Los Servicios Web son muy prácticos debido a que pueden aportar gran independencia entre la aplicación que usa el servicio web y el propio servicio. De esta manera los cambios realizados en uno en el transcurso del tiempo no deben afectar al otro.
1.3.3 Importancia de los Servicios Web
Los Servicios Web permiten mantener la coherencia y consistencia de la información en todos los sistemas que forman parte de la red distribuida de información; aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen; fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. Además son independientes de la plataforma de origen o destino.
1.3.4 Flujo básico de los Servicios Web
Un Servicio Web es una colección de funciones que son empaquetadas como una sola entidad y publicadas a la red para el uso a través de otros programas. Los Servicios Web son bloques componentes para crear sistemas distribuidos abiertos y permiten a las empresas en individuos acceder rápidamente a los recursos digitales disponibles mundialmente.
2 Cortafuegos o Firewalls: es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
La base de los Servicios Web es la mensajería XML sobre los protocolos de Internet estándar como HTTP. Este es un mecanismo de comunicación muy ligero en el que cualquier lenguaje de programación o plataforma pueden participar, permitiendo la interoperabilidad.
Las tecnologías más empleadas en el mundo que han ganado mayor aceptación y que son un camino posible de realizar los Servicios Web son las siguientes:
Un proveedor crea, ensambla y despliega un servicio web mediante un lenguaje de programación y plataforma de la propia opción del proveedor.
El proveedor define el servicio web en WSDL. Un documento WSDL describe un servicio al otro.
El proveedor registra el servicio en registros de UDDI. Lo que permite a los desarrolladores publicar los Servicios Web y eso permite al software buscar los servicios ofrecidos por otros.
Un usuario encuentra el servicio buscando un servicio de UDDI.
La aplicación del usuario liga al servicio web en invoca las operaciones del servicio mediante SOAP.
Este protocolo ofrece un formato de XML para representar parámetros y valores devueltos sobre HTTP.
1.4 Herramientas, lenguajes y tecnologías a utilizar
Para lograr el correcto desarrollo de de la solución propuesta se llevo a cabo un estudio de las principales herramientas, lenguajes y tecnologías necesarias para cumplir con éxito las tareas trazadas y así cumplir el objetivo principal del proyecto. Muchas son las herramientas existentes a nivel mundial pero es necesario hacer una selección que se adecue a las tareas y objetivos trazados.
Para la selección de las mismas se tuvo en cuenta las herramientas utilizadas para el desarrollo de la aplicación web Novadesk.
A continuación se detallan las herramientas, lenguajes y tecnologías seleccionadas para llevar a cabo el desarrollo del módulo MSW_Novadesk.
1.4.1 Lenguajes de programación
Un lenguaje de programación es una herramienta que permite crear programas y software, los mismos han surgido debido a las tendencias y necesidades de las plataformas, con el objetivo de permitir la interacción con los usuarios y la utilización de los sistemas de Base de Datos. Entre los principales lenguajes de programación existentes en el mundo se encuentran Java, C, C++, C#, PHP, Python, Visual Basic, Objective-C, Perl y JavaScript.
Para el desarrollo de la aplicación se escoge el lenguaje de programación PHP, el mismo se utiliza en el
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
desarrollo de Novadesk. Otros lenguajes de interés que se utilizarán son el XHTML, JAVASCRIPT y CSS los que sirven principalmente para mejorar la gestión de la interfaz cliente/servidor.
A continuación se describen las características de los lenguajes a utilizar:
PHP (Hypertext Pre-processor).
Es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor. PHP soporta el trabajo con CGI, permite procesar la información de formularios, generar páginas con contenidos dinámicos, y el trabajo con cookies. PHP es un lenguaje de programación de estilo clásico, con variables, sentencias condicionales, bucles, funciones. El resultado es normalmente una página HTML. Permite la posibilidad de ejecutarlo en diferentes tipos de servidores, entre ellos Apache.
Además incorpora un gran número de extensiones, aumentando las potencialidades del lenguaje [20].
XHTML
Lenguaje de Marcado de Hipertexto Extensible (XHTML) es una versión más estricta y limpia de HTML, que nace precisamente con el objetivo de remplazar a HTML ante su limitación de uso con las cada vez más abundantes herramientas basadas en XML. XHTML extiende HTML 4.0 combinando la sintaxis de HTML, diseñado para mostrar datos, con la de XML, diseñado para describir los datos [21].
CSS (Cascading Style Sheets)
Hojas de Estilo en Cascada (Cascading Style Sheets), es un mecanismo simple que describe cómo se va a mostrar un documento en la pantalla, o cómo se va a imprimir, o incluso cómo va a ser pronunciada la información presente en ese documento a través de un dispositivo de lectura. Esta forma de descripción de estilos ofrece a los desarrolladores el control total sobre el estilo y formato de sus documentos [22].
Javascript
Javascript es un lenguaje de programación utilizado para crear programas encargados de realizar acciones dentro del ámbito de una página web. Se trata de un lenguaje de programación del lado del cliente. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado [23].
1.4.2 Herramientas utilizadas
En el desarrollo del la aplicación se emplearán distintas herramientas para facilitar la implementación
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
exitosa del módulo. Como servidor web se utilizará el Apache, los ficheros wsdl fueron generados por el Zend Studio, como herramienta CASE (Computer Aided Software Engineering, en español Ingeniería de Software Asistida por ordenador) se utilizará el Visual Paradigm, como sistema para la gestión de la base de datos MYSQL, el RapidSVN se utilizará para la comunicación con servidores Subversion. De las principales aplicaciones destinadas a la administración de SGBD se utilizará el PhpMyAdmin.
En la actualidad existen un gran número de Entornos de Desarrollo Integrados (IDE) para PHP, los más usados son Zend Studio, Eclipse, NetBeans, Quanta, Bluefish entre otros. El IDE seleccionado para el desarrollo del módulo fue el NetBeans debido a que el grupo de desarrollo de Novadesk estaba familiarizado con el mismo y en la actualidad es el que utilizan para el desarrollo de nuevas funcionalidades a Novadesk.
A continuación se describen cada una de las herramientas a utilizar:
Zend Studio
Zend Studio o Zend Development Environment es un entorno de desarrollo integrado para el lenguaje de programación PHP. Está escrito en Java, y está disponible para las plataformas Microsoft Windows, Mac OS X y GNU/Linux. Junto con su contraparte Zend Platform, son la propuesta de Zend Technologies para el desarrollo de aplicaciones Web utilizando PHP, actuando Zend Studio como la parte cliente y Zend Platform como la parte servidora. Se trata en ambos casos de software comercial, lo cual contrasta con el hecho de que PHP es software libre. Para el desarrollo de la aplicación es necesario emplear aplicaciones libres por lo que el Zend Studio sería la mejor opción.
Apache.
Apache es un servidor de páginas web, un programa que permite acceder a páginas web alojadas en un ordenador. Según encuestas realizadas es el servidor web más utilizado en el mundo seguido de Microsoft Information Services [24]. El servidor Apache es usado por múltiples razones como por ejemplo su alta estabilidad y funcionamiento que lo hacen el servidor web más utilizado en el mundo, está disponible en varias plataformas. Al ser el servidor web más popular es muy fácil conseguir ayuda y soporte.
MySQL.
MySQL es un sistema de gestión de bases de datos relacional, licenciado bajo la licencia GNU/GPL, este gestor de bases de datos es, probablemente, el gestor más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación, es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
de programación, además de su fácil instalación y configuración [25].
RapidSVN
RapidSVN es un cliente de interfaz gráfica para la comunicación con servidores Subversion. Facilita el versionado de ficheros, desde una interfaz sencilla e intuitiva. Está disponible para plataformas Windows, Linux, MAC OS y Solaris. Es rápido y eficiente, está escrito en C++. Distribuido bajo licencia GPL [26].
NetBeans 6.8
Primer IDE que brinda soporte completo para Java EE 6 y Sun Glass Fish Enterprise Server v3 y ofrece PHP mejorado, soporte para JavaFX y C/C ++. Además ofrece soporte completo para Java ™ Platform Enterprise Edition 6 (Java EE 6) y Sun Glass Fish™ Enterprise Server v3, así como otras funcionalidades innovadoras [27].
Junto con el soporte para Java EE 6 y Glass Fish v3, el NetBeans IDE 6.8 ofrece otras nuevas características y mejoras que incluyen:
Soporte PHP Ampliado: expande el soporte de los lenguajes dinámicos con apoyo para PHP 5.3 y el esquema de Symfony acelera el desarrollo de aplicaciones web PHP.
Una integración más ajustada con Project Kenai: Project Kenai, un entorno de colaboración para acoger proyectos Open Source, ofrece ahora soporte completo para JIRA así como mensajería instantánea mejorada y una integración de seguimiento de issues.
Mejora de C / C + + Profiling: perfila y sintoniza aplicaciones C / C + + con el nuevo indicador Microstate Accounting, supervisor de uso I/O. JavaFX ™: código de finalización mejorado, sugerencias y navegación para JavaFX en el editor NetBeans.
VisualParadigm
Visual Paradigm para UML es una herramienta profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue. El software de modelado UML agiliza la construcción de aplicaciones de calidad y a un menor costo.
Permite dibujar todos los tipos de diagramas de clases, realizar ingeniería inversa, generar documentación y código desde diagramas, importación desde Rational Rose, integración con MS Visio, integración IDE con Visual Studio, IntelliJ IDEA, Eclipse, NetBeans y otros. La herramienta UML CASE también proporciona abundantes tutoriales, demostraciones interactivas y proyectos UML [28].
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
PhpMyAdmin
PhpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySql a través de páginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 62 idiomas. Se encuentra disponible bajo la licencia GPL .
1.4.3 Metodología de desarrollo de software
El desarrollo de software es un proceso exigente y la falta de una metodología estándar y práctica lo ha convertido en un trabajo individual y casi artístico donde cada programador tiene su propia forma de hacer las cosas. La metodología de ingeniería de software es un enfoque estructurado, cuya finalidad es hacer más eficaz la producción y lograr alta calidad de una forma costeable. Permite mediante procedimientos, reglas, técnicas y un soporte documental a desarrolladores lograr un nuevo software.
Para el desarrollo de este trabajo se utilizará la metodología ágil SXP, a continuación se detallan sus características.
Metodología ágil SXP
SXP es un híbrido de metodologías ágiles que toma las mejores prácticas de las metodologías SCRUM y XP además de regirse por los lineamientos de calidad de la UCI. Logrando una forma de gestionar un equipo de manera que trabaje de forma eficiente y de tener siempre medidos los progresos, de forma que sepamos por dónde andamos. Teniendo como premisa una programación rápida o extrema, cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar el éxito del proyecto. Consta de 4 fases principales: Planificación-Definición donde se establece la visión, se fijan las expectativas y se realiza el aseguramiento del financiamiento del proyecto;
Desarrollo, es donde se realiza la implementación del sistema hasta que esté listo para ser entregado;
Entrega, puesta en marcha; y por último Mantenimiento, donde se realiza el soporte para el cliente. De cada una de estas fases se realizan numerosas actividades tales como el levantamiento de requisitos, la priorización de la Lista de Reserva del Producto (LRP), definición de las Historias de Usuario, diseño, implementación, pruebas, entre otras; de donde se generan artefactos para documentar todo el proceso. Las entregas son frecuentes, y existe una refactorización continua, lo que nos permite mejorar el diseño cada vez que se le añada una nueva funcionalidad.
Es una metodología que se caracteriza por ser iterativa e incremental con pequeñas mejoras unas tras otras, basada en Historias de Usuario (HU), está atenta al cambio y permite que el equipo de
CAPÍTULO 1: ELEMENTOS DEL DESARROLLO
programación se mantenga en frecuente interacción con el cliente o usuario. Está especialmente indicada para proyectos de pequeños equipos de trabajo, rápido cambio de requisitos o requisitos imprecisos, muy cambiantes, donde existe un alto riesgo técnico y se orienta a una entrega rápida de resultados y una alta flexibilidad. Ayuda a que trabajen todos juntos, en la misma dirección, con un objetivo claro, permitiendo además seguir de forma clara el avance de las tareas a realizar, de forma que los jefes pueden ver día a día cómo progresa el trabajo [29].
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Capítulo 2: “Análisis y diseño del módulo”
2.1 Concepción inicial
Actualmente el sistema para la gestión de incidencias Novadesk no cuenta con una capa de Servicios Web que permitan la integración de las funcionalidades del mismo con otras aplicaciones. Novadesk es una pieza fundamental en el proceso de migración en el que se encuentra inmerso el país, el mismo garantiza la satisfacción de los usuarios de Nova brindándoles una vía de aclarar sus inquietudes. Con el desarrollo del presente módulo se garantiza que las principales funcionalidades de Novadesk puedan ser consumidas por otras aplicaciones informáticas aumentado así las prestaciones del mismo. El proyecto SIMAYS tiene entre sus metas desarrollar la plataforma de migración, desde la misma se necesita que se pueda gestionar la información de Novadesk.
2.2 Levantamiento de requisitos
Para definir el trabajo que se va a desarrollar en el módulo y recoger los requisitos planteados por los clientes se emplea la Lista de Reserva del Producto (LRP) según la metodología SXP, un artefacto que recoge en lenguaje natural las funcionalidades que debe cumplir el sistema para su desarrollo.
Tabla 2.1 Lista de Reserva del Producto Priorida
d
Ítem * Descripción Estimación Estimado
por Alta
1 Crear la clase reporte que contenga el servicio reporte
2 días ANA y PROG
2 Crear un reporte 1 día ANA y PROG
3 Modificar reporte 1 día ANA y PROG
4 Obtener lista de reportes 1 día ANA y PROG
5 Asignar reporte a nuevo técnico 1 día ANA y PROG
6 Obtener los reportes según su estado 1 día PROG
7 Obtener los reportes según su prioridad 1 día ANA y PROG
8 Actualizar el estado de un reporte 1 día ANA y PROG
9 Eliminar un reporte 1 día ANA y PROG
10 Evaluar respuesta a un reporte 1 día ANA y PROG
Media
11 Crear la clase chat con el servicio chat 1 día ANA y PROG
12 Obtener las estadísticas del chat 1 día ANA y PROG
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
13 Obtener el tiempo empleado en el chat 1 día ANA y PROG 14 Crear la clase archivo que contenga el servicio
archivo
1 día ANA y PROG
15 Descargar archivos 1 día ANA y PROG
16 Subir archivos 1 día ANA y PROG
17 Eliminar archivos 1 día ANA y PROG
18 Crear la clase kbase que contenga el servicio base de conocimiento
1 día ANA y PROG
19 Mostrar base de conocimientos 0.5 ANA y PROG
20 Añadir pregunta a la base de conocimiento 0.5 ANA y PROG 21 Eliminar pregunta de la base de conocimiento 0.5 ANA y PROG 22 Modificar pregunta de la base de conocimiento 1 día ANA y PROG
23 Crear vista general 1 día ANA y PROG
Baja
24 Crear la clase noticia que contenga el servicio notica
1 día ANA y PROG
RNF
25 Manual de usuario del módulo MSW_Novadesk 1 día ANA y PROG
2.3 Propuesta del sistema a implementar
El módulo de Servicios Web que se desea implementar debe mostrar a los usuarios de Novadesk los servicios que se brindan en el mismo, se muestra además la descripción de los servicios. Debe mostrarse los estándares bajo los cuales fueron concebidos estos Servicios Web, así como el transporte utilizado por los mismos y los parámetros de entrada y salida de las funciones. Estos servicios se podrán consumir de manera sencilla, el nombre utilizado en las funcionalidades expresaran claramente lo que hace el servicio web como tal. La interfaz principal del módulo contará con un sistema de navegación por pestañas, para el diseño de la misma se emplearon estilos propios de Novadesk para garantizar así homogeneidad en el diseño. A continuación se describen cada una de estas pestañas:
Vista reporte
Muestra a los usuarios una descripción detallada del servicio servicio_reporte junto a las diferentes funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre los reportes.
Vista chat
Muestra a los usuarios una descripción detallada del servicio servicio_chat junto a las diferentes
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre el chat.
Vista noticias
Muestra a los usuarios una descripción detallada del servicio servicio_noticias junto a las diferentes funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre las noticias.
Vista de la base de conocimiento
Muestra a los usuarios una descripción detallada del servicio servicio_kb junto a las diferentes funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre la base de conocimiento.
Vista archivo
Muestra a los usuarios una descripción detallada del servicio servicio_archivos junto a las diferentes funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre los archivos.
Vista usuario
Muestra a los usuarios una descripción detallada del servicio servicio_usuario junto a las diferentes funcionalidades que el mismo contiene, las cuales son descritas brevemente agregando los parámetros de entrada y lo que las mismas devuelven. Estas funciones realizarán acciones sobre los usuarios.
2.4 Historias de usuario
Las historias de usuario son la técnica utilizada en SXP para especificar los requisitos del software. Las mismas son escritas por los clientes como las tareas que el sistema debe hacer y su construcción depende principalmente de la habilidad que tenga el cliente para definirlas. Son utilizadas como el único documento de requisitos que se genera en SXP.
A continuación se dan a conocer las distintas historias de usuarios que están presentes en el sistema, estas se desarrollan por la prioridad que tienen y por los usuarios encargados de las mismas. Ésta es
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
solo una planificación inicial, el proceso es cambiante para ir adecuándolo a las necesidades y nuevas propuestas. Todas las decisiones se toman de conjunto con el cliente que es parte del equipo de desarrollo.
Historia de usuario HU-01 Historia de Usuario
Número: HU-01 Nombre Historia de Usuario: Crear vista reportes Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alto Puntos Reales: 2 Descripción: Mostrará los datos necesarios del servicio reporte.
Observaciones:
Prototipo de interfaz: Anexo 3
Historia de usuario HU-02 Historia de Usuario
Número: HU-02 Nombre Historia de Usuario: Crear Reporte Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alto Puntos Reales: 2
Descripción: Esta funcionalidad es la principal y tiene como objetivo que los usuarios puedan reportar una incidencia en caso de una falla en su sistema.
Observaciones: Recibe como parámetros los datos del reporte los que serán insertados en la base de datos.
Prototipo de interfaz:
Historia de usuario HU-03 Historia de Usuario
Número: HU-03 Nombre Historia de Usuario: Listar reportes Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1
Descripción: Mostrar todas los reportes que se hayan realizado hasta el momento.
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Observaciones: Selecciona de la base de datos los datos de los reportes Prototipo de interfaz:
Historia de usuario HU-04 Historia de Usuario
Número: HU-04 Nombre Historia de Usuario: Modificar incidencias Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Permite cambiar datos de los reportes.
Observaciones: Actualiza en la base de datos los valores de los reportes, cambiando estos por los parámetros que recibe.
Prototipo de interfaz:
Historia de usuario HU-05 Historia de Usuario
Número: HU-05 Nombre Historia de Usuario: Listar incidencias usuario Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Mostrará todas las incidencias de un usuario dado
Observaciones: Recibirá un nombre de usuario y devolverá las incidencias que se correspondan con el usuario pasado como parámetro.
Prototipo de interfaz:
Historia de usuario HU-06 Historia de Usuario
Número: HU-06 Nombre Historia de Usuario: Eliminar incidencia Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Elimina una incidencia
Observaciones: Recibe el id de un reporte y elimina el mismo de la base de datos.
Prototipo de interfaz:
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Historia de usuario HU-07 Historia de Usuario
Número: HU-07 Nombre Historia de Usuario: Listar incidencias de prioridad muy urgente Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de prioridad muy urgente.
Observaciones: Busca en la base de datos los reportes de prioridad muy urgente y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-08 Historia de Usuario
Número: HU-08 Nombre Historia de Usuario: Listar incidencias de prioridad urgente Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de prioridad urgente.
Observaciones: Busca en la base de datos los reportes de prioridad urgente y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-09 Historia de Usuario
Número: HU-09 Nombre Historia de Usuario: Listar incidencias de prioridad mediana Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de prioridad mediana.
Observaciones: Busca en la base de datos los reportes de prioridad mediana y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-10 Historia de Usuario
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Número: HU-10 Nombre Historia de Usuario: Listar incidencias de prioridad baja Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de prioridad baja.
Observaciones: Busca en la base de datos los reportes de prioridad baja y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-11 Historia de Usuario
Número: HU-11 Nombre Historia de Usuario: Listar incidencias de prioridad muy baja Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de prioridad muy baja.
Observaciones: Busca en la base de datos los reportes de prioridad muy baja y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-12 Historia de Usuario
Número: HU-12 Nombre Historia de Usuario: Listar incidencias con estado no cerrado Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de estado no cerrado.
Observaciones: Busca en la base de datos los reportes con estado distinto de cerrado.
Prototipo de interfaz:
Historia de usuario HU-13 Historia de Usuario
Número: HU-13 Nombre Historia de Usuario: Listar incidencias con estado asignada Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de estado asignada.
Observaciones: Busca en la base de datos los reportes con estado asignada y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-14 Historia de Usuario
Número: HU-14 Nombre Historia de Usuario: Listar incidencias con estado en espera Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1
Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de estado en espera.
Observaciones: Busca en la base de datos los reportes con estado en espera y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-15 Historia de Usuario
Número: HU-15 Nombre Historia de Usuario: Listar incidencias con estado cerrado no resuelta.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de estado cerrada no resuelta.
Observaciones: Busca en la base de datos los reportes con estado cerrada no resuelta y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-16 Historia de Usuario
Número: HU-16 Nombre Historia de Usuario: Listar incidencias con estado cerrado resuelto.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Muestra las incidencias de estado cerrada resuelta.
Observaciones: Busca en la base de datos los reportes con estado cerrada resuelta y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-17 Historia de Usuario
Número: HU-17 Nombre Historia de Usuario: Asignar incidencia a nuevo técnico Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alto Puntos Reales: 2
Descripción: Esta funcionalidad permite asignarle el reporte a un nuevo técnico.
Observaciones: Recibe el id del reporte y el técnico al que se le asignará la incidencia, actualizará el cambio en la base de datos.
Prototipo de interfaz:
Historia de usuario HU-18 Historia de Usuario
Número: HU-18 Nombre Historia de Usuario: Crear vista del servicio base de conocimiento.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Mostrará las funciones del servicio base de conocimiento.
Observaciones:
Prototipo de interfaz: Anexo 6
Historia de usuario HU-19 Historia de Usuario
Número: HU-19 Nombre Historia de Usuario: Mostrar la base de conocimiento de Novadesk.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alta Puntos Reales: 1
Descripción: Se mostrará la base de conocimientos de Novadesk permitiendo a los usuarios hacer
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
búsquedas para encontrar respuestas a sus dudas.
Observaciones: Busca en la base de datos los datos de la base de conocimiento y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-20 Historia de Usuario
Número: HU-20 Nombre Historia de Usuario: Eliminar pregunta a la base de conocimiento Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alta Puntos Reales: 1 Descripción: Permite eliminar pregunta de la base de conocimiento.
Observaciones: Recibe como parámetros los datos de la pregunta que se se desea eliminar de la base de conocimiento.
Prototipo de interfaz:
Historia de usuario HU-21 Historia de Usuario
Número: HU-21 Nombre Historia de Usuario: Adicionar pregunta a la base de conocimiento Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alta Puntos Reales: 1
Descripción: Permite adicionar una pregunta a la base de conocimiento.
Observaciones: Recibe como parámetros los datos de la pregunta que se desea adicionar a la base de conocimiento.
Prototipo de interfaz:
Historia de usuario HU-22 Historia de Usuario
Número: HU-22 Nombre Historia de Usuario: Modificar pregunta de la base de conocimiento.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alta Puntos Reales: 1
Descripción: Permite modificar una pregunta de la base de conocimiento.
Observaciones: Recibe como parámetros los datos de la pregunta que se desea actualizar de la base
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
de conocimiento.
Prototipo de interfaz:
Historia de usuario HU-23 Historia de Usuario
Número: HU-23 Nombre Historia de Usuario: Crear vista archivo Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1 Descripción: Crear la clase archivo con las funcionalidades del mismo Observaciones:
Prototipo de interfaz: Anexo 7
Historia de usuario HU-24 Historia de Usuario
Número: HU-24 Nombre Historia de Usuario: Subir archivos Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1
Riesgo en Desarrollo: Media Puntos Reales: 1
Descripción: Con esta funcionalidad se le brinda la posibilidad de subir documentos al sitio de Novadesk que puedan servir de ayuda a los usuarios.
Observaciones: Recibe como parámetros los datos de los archivos los cuales serán añadidos a la base de datos
Prototipo de interfaz:
Historia de usuario HU-25 Historia de Usuario
Número: HU-25 Nombre Historia de Usuario: Descargar archivos Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1
Descripción: Permite subir descargar archivos que se hayan subido a Novadesk
CAPÍTULO 2: ANÁLISIS Y DISEÑO DEL MÓDULO
Observaciones: Busca los datos de los archivos en la base de datos y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-26 Historia de Usuario
Número: HU-27 Nombre Historia de Usuario: Mostrar noticias Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1
Descripción: Permitirá visualizar las noticias publicadas por los administradores de Novadesk.
Observaciones: Busca en la base de datos las noticias y las devuelve Prototipo de interfaz:
Historia de usuario HU-27 Historia de Usuario
Número: HU-27 Nombre Historia de Usuario: Mostrar estadísticas del chat.
Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Media Puntos Estimados: 1 Riesgo en Desarrollo: Media Puntos Reales: 1
Descripción: Permitirá conocer el tiempo que el técnico estuvo conectado, así como la cantidad de usuarios que atendió y el tiempo que empleó en el chat.
Observaciones: Busca en la base de datos los datos del chat y los devuelve.
Prototipo de interfaz:
Historia de usuario HU-28 Historia de Usuario
Número: HU-28 Nombre Historia de Usuario: Crear vista chat Modificación de Historia de Usuario Número: Ninguna
Usuario: Dainier Velázquez Guzmán Iteración Asignada: 2 Prioridad en Negocio: Alta Puntos Estimados: 2 Riesgo en Desarrollo: Alto Puntos Reales: 2
Descripción: Permite crear la vista general del módulo. Esta vista permite mostrar los parámetros de entrada y salida de todos los servicios publicados así como la descripción de los mismos.
Observaciones:
Prototipo de interfaz: Anexo 4