Professional Documents
Culture Documents
Autor: David Hernndez Ruiz Tutor: Fernando Paniagua Martn Julio 2009
Agradecimientos
A mi familia y a todos los que han colaborado en la realizacin del proyecto. A Fernando Paniagua por su paciencia infinita.
II
Resumen
La gestin de la informacin corporativa por parte de una empresa es una ardua y compleja tarea que normalmente se facilita a travs de aplicaciones de escritorio, orientadas hacia usuarios con poca experiencia y conocimiento sobre el manejo de bases de datos. Sin embargo, an existen empresas que no disponen de este tipo de aplicaciones o, disponiendo de ellas, desean gestionar dicha informacin a travs de tecnologas distintas, como puede ser Internet. Actualmente, se dispone de las tecnologas necesarias para poder llevar a cabo este tipo de desarrollos orientados a su publicacin en Internet, las cuales permiten crear sistemas capaces de interactuar con el usuario, gestionando los datos de una forma sencilla y amigable. Se permite as a un usuario sin el conocimiento necesario un manejo sencillo de la informacin, requiriendo un desarrollo previo por parte de personal cualificado. En este trabajo, se ha realizado el anlisis, diseo e implementacin de una aplicacin Web que facilite la gestin de la informacin de una empresa intermediaria que basa su actividad en el mercado de los seguros, dentro del mbito del voluntariado. La solucin tecnolgica elegida se ha desarrollado en Java, estando el soporte de datos delegado en un sistema gestor de bases de datos MySQL, siendo uno de los aspectos ms relevantes la realizacin de una sencilla interfaz de gestin. Como aadido, se ha incluido la generacin de correos y documentos PDF para agilizar el intercambio de informacin. El sistema se ha diseado pensando en la reusabilidad, con el fin de poder ser utilizado en posteriores aplicaciones con conceptos similares, sin dejar de cumplir todas las necesidades y requisitos que el proyecto requera.
III
IV
Abstract
The management of corporate information from a company is an arduous and complex task that would normally be provided through desktop applications, oriented towards users with little experience and knowledge of database management. However, there are still companies that do not have this kind of applications, or you have them, want to manage this information across different technologies, such as the Internet. Currently, you have the technologies necessary to carry out this type of developmentoriented publication on the Internet, which allow you to create systems capable of interacting with the user, managing the data in a simple and friendly. It allows a user without the need for a simple information, requiring a previously developed by qualified personnel. In this work, has done the analysis, design and implementation of a Web application that facilitates the information management basa an intermediary company that operates in the insurance market within the field of volunteerism. The technology solution chosen was developed in Java, while the data support a delegated management system MySQL, one of the most important aspects of conducting a simple management interface. In addition, has included the generation of PDF documents and emails to accelerate the exchange of information. The system is designed on reusability, to be used in subsequent applications with similar concepts, while fulfilling all the needs and requirements that the project required.
VI
ndice general
Introduccin.................................................................1
1.1 1.2 1.3 Motivacin del proyecto ........................................................................1 Objetivos ..................................................................................................3 Contenido de la memoria.......................................................................4
VII
Comparativa de las tecnologas disponibles ..................................... 25 Comparativa JSP y ASP.................................................................. 26 Comparativa PHP y JSP ................................................................. 27
Metodologa................................................................29
3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.3 3.4 3.5 3.5.1 3.5.2 3.5.3 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 Modelo de Ciclo de vida Software..................................................... 29 Objetivos........................................................................................... 29 Elementos de un ciclo de vida....................................................... 30 Modelo Ciclo de vida software en Cascada ................................. 30 Plan de proyecto................................................................................... 32 Resumen del proyecto..................................................................... 32 Referencias ............................................................................................ 36 Definiciones .......................................................................................... 36 Organizacin del proyecto.................................................................. 37 Interfaces externas........................................................................... 37 Estructura interna............................................................................ 37 Responsabilidades y roles ............................................................... 38 Planes de proceso de gestin.............................................................. 40 Plan de estimacin........................................................................... 40 Plan de plantilla................................................................................ 40 Plan de compra de recursos ........................................................... 40 Plan aprendizaje personal ............................................................... 41 Plan de Trabajo ................................................................................ 42
VIII
3.6.6 3.6.7 3.6.8 3.7 3.7.1 3.7.2 3.7.3 3.7.4 3.8 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.9 3.9.1 3.9.2 3.9.3
Plan de Control................................................................................ 45 Plan de gestin de riesgo ................................................................ 46 Plan de cierre.................................................................................... 46 Planes de proceso tcnico................................................................... 46 Modelo de proceso.......................................................................... 46 Mtodos, herramientas y tcnicas ................................................. 48 Plan de infraestructura .................................................................... 49 Plan de aceptacin del producto ................................................... 49 Plan de proceso .................................................................................... 50 Plan de gestin de la configuracin .............................................. 50 Plan de validacin y verificacin ................................................... 51 Plan de documentacin .................................................................. 51 Plan de garanta de calidad ............................................................. 52 Revisiones y auditoras.................................................................... 54 Plan de resolucin de problemas................................................... 54 Plan de gestin de subcontratacin .............................................. 54 Plan de mejora del proceso ............................................................ 54 Planes adicionales ............................................................................ 55 Apndices .............................................................................................. 55 Apndice A (RBS) ........................................................................... 55 Apndice B (WBS) .......................................................................... 56 Apndice C (PBS)............................................................................ 57
IX
Anlisis ........................................................................62
4.1 4.2 Descripcin del sistema....................................................................... 62 Requisitos de Usuario y Sistema ........................................................ 64
Diseo .........................................................................72
5.1 5.1.1 5.1.2 5.2 5.2.1 5.3 5.3.1 5.3.2 5.4 5.4.1 5.4.2 5.5 5.5.1 5.6 Arquitectura .......................................................................................... 72 Arquitectura Cliente - Servidor...................................................... 73 Tipos de clientes y servidores ........................................................ 77 Diagrama de Casos de Uso................................................................. 78 Diagrama de Casos de Uso del sistema........................................ 81 Explicaciones de los Casos de Uso.................................................... 82 Casos de Uso Administrador ......................................................... 82 Casos de uso Asociacin ................................................................ 91 Modelo Entidad Relacin de la base de datos ................................. 96 Elementos......................................................................................... 96 Modelo Entidad Relacin de la base de datos............................. 99 Modelo Relacional de la base de datos............................................ 100 Explicacin de Entidades y Atributos de la BBDD ................. 101 Diagrama de clases............................................................................. 103
Desarrollo .................................................................107
6.1 6.2 Introduccin ....................................................................................... 107 Explicacin cdigo IText.................................................................. 108
6.3
7 8
Trabajos futuros.......................................................131
XI
Bibliografa.........................................................................163
XII
XIII
ndice de figuras
Ilustracin 2-1 Transmisin de documentos convencional............................................................16 Ilustracin 2-2 Transmisin de datos EDI .......................................................................................17 Ilustracin 2-3 Modelo Vista Controlador ........................................................................................19 Ilustracin 2-4 Diagrama Servlets.......................................................................................................22 Ilustracin 3-1 Ciclo de vida en cascada............................................................................................31 Ilustracin 3-2 Estructura interna.......................................................................................................38 Ilustracin 3-3 RBS...............................................................................................................................55 Ilustracin 3-4 WBS..............................................................................................................................56 Ilustracin 3-5 PBS Gestin................................................................................................................57 Ilustracin 3-6 PBS Pre-desarrollo .....................................................................................................58 Ilustracin 3-7 PBS Desarrollo ...........................................................................................................59 Ilustracin 3-8 PBS Post-desarrollo ...................................................................................................60 Ilustracin 3-9 PBS Soporte ................................................................................................................61 Ilustracin 5-1 Arquitectura cliente servidor .................................................................................74 Ilustracin 5-2 Diagrama casos de uso ..............................................................................................81 Ilustracin 5-3 Modelo entidad relacin BBDD ..............................................................................99 Ilustracin 5-4 Modelo relacional BBDD .......................................................................................100 Ilustracin 5-5 Diagrama de clases 1................................................................................................103 Ilustracin 5-6 Diagrama de clases 2................................................................................................104 Ilustracin 5-7 Diagrama de clases 3................................................................................................105
XIV
Ilustracin 5-8 Diagrama de clases 4................................................................................................106 Ilustracin 6-4 Cdigo insertar una imagen ....................................................................................110 Ilustracin 6-9 Cdigo enviar correo con adjunto .........................................................................114 Ilustracin 7-1 Prueba aadir asociacin.........................................................................................117 Ilustracin 7-2 Prueba validar asociacin ........................................................................................118 Ilustracin 7-3 Prueba modificar asociacin...................................................................................118 Ilustracin 7-4 Prueba aadir voluntarios .......................................................................................119 Ilustracin 7-5 Prueba aadir voluntarios incorrectos ..................................................................119 Ilustracin 7-6 Prueba consultar asociaciones ................................................................................121 Ilustracin 7-7 Prueba consultar voluntarios ..................................................................................121 Ilustracin 7-8 Prueba modificar asociacin...................................................................................122 Ilustracin 7-9 Prueba consultar voluntarios ..................................................................................123 Ilustracin 8-1 SO para Xampp........................................................................................................135 Ilustracin 8-2 Descargar Xampp.....................................................................................................136 Ilustracin 8-3 Proceso Instalcin Xampp......................................................................................136 Ilustracin 8-4 Ejecucin Xampp.....................................................................................................137 Ilustracin 8-5 Ventana principal navegacin Xampp ..................................................................138 Ilustracin 8-6 Men navegacin Xampp .......................................................................................139 Ilustracin 8-7 Crear una base de datos Xampp ............................................................................140 Ilustracin 8-8 Importar archivo en Xampp...................................................................................141 Ilustracin 8-9 Base de datosXampp ...............................................................................................141 Ilustracin 8-10 Directorios servidor...............................................................................................142 Ilustracin 8-11 Estructura directorios ftp......................................................................................143
XV
Ilustracin 8-12 Estructura directorios 2 ftp ..................................................................................143 Ilustracin 9-1 Pgina Bienvenida aplicacin..................................................................................145 Ilustracin 9-2 Inserccin datos aplicacin.....................................................................................145 Ilustracin 9-3 Pantalla principal administrador.............................................................................146 Ilustracin 9-4 Pantalla Alta asociacin administrador .................................................................147 Ilustracin 9-5 Pantalla modificar asociacin administrador........................................................147 Ilustracin 9-6 Pantalla seleccin asociacin a validar ..................................................................148 Ilustracin 9-7 Pantalla validacin asociacin ................................................................................148 Ilustracin 9-8 Pantalla baja asociacin ...........................................................................................149 Ilustracin 9-9 Pantalla eleccin asociacin a modificar...............................................................150 Ilustracin 9-10 Pantalla modificar asociacin administrador......................................................150 Ilustracin 9-11 Pantalla alta voluntarios administrador...............................................................151 Ilustracin 9-12 Pantalla confirmacin alta voluntarios administrador ......................................151 Ilustracin 9-13 Pantalla alta voluntarios desde archivo ...............................................................152 Ilustracin 9-14 Pantalla error alta voluntario desde archivo.......................................................152 Ilustracin 9-15 Pantalla seleccin asociacin baja de voluntario ...............................................153 Ilustracin 9-16 Pantalla baja de voluntarios ..................................................................................154 Ilustracin 9-17 Pantalla eleccin asociacin modificar voluntarios...........................................154 Ilustracin 9-18 Pantalla seleccin voluntario modificar ..............................................................155 Ilustracin 9-19 Pantalla modificar voluntario ...............................................................................155 Ilustracin 9-20 Pantalla consultar asociaciones ............................................................................156 Ilustracin 9-21 Pantalla asociaciones consultadas ........................................................................156 Ilustracin 9-22 Pantalla consultar voluntarios ..............................................................................157
XVI
Ilustracin 9-23 Pantalla voluntarios consultados..........................................................................157 Ilustracin 9-24 Pantalla principal asociacin.................................................................................158 Ilustracin 9-25 Pantalla modificar asociacin de asociacin.......................................................159 Ilustracin 9-26 Pantalla alta voluntario asociacin.......................................................................159 Ilustracin 9-27 Pantalla confirmacin alta voluntario asociacin ..............................................160 Ilustracin 9-28 Pantalla baja voluntario asociacin......................................................................160 Ilustracin 9-29 Pantalla consultar voluntarios asociacin ...........................................................161 Ilustracin 9-30 Pantalla voluntarios consultados asociacin ......................................................161 Ilustracin 0-31 Diagrama GANTT ................................................................................................162
XVII
ndice de tablas
Tabla 1 Lista de actividades.................................................................................................................39 Tabla 2 Presupuesto detallado de la aplicacin ................................................................................45 Tabla 3 Requisito 001...........................................................................................................................64 Tabla 4 Requisito 002...........................................................................................................................65 Tabla 5 Requisito 003...........................................................................................................................65 Tabla 6 Requisito 004...........................................................................................................................66 Tabla 7 Requisito 005...........................................................................................................................66 Tabla 8 Requisito 006...........................................................................................................................67 Tabla 9 Requisito 007...........................................................................................................................67 Tabla 10 Requisito 008.........................................................................................................................68 Tabla 11 Requisito 009.........................................................................................................................68 Tabla 12 Requisito 010.........................................................................................................................69 Tabla 13 Requisito 011.........................................................................................................................69 Tabla 14 Requisito 012.........................................................................................................................70 Tabla 15 Requisito 013.........................................................................................................................70 Tabla 16 Requisito 014.........................................................................................................................71 Tabla 17. Caso de Uso Alta asociacin..............................................................................................82 Tabla 18. Caso de Uso Validar asociacin ........................................................................................83 Tabla 19. Caso de Uso Baja asociacin..............................................................................................84 Tabla 20. Caso de Uso Modificar asociacin....................................................................................85
XVIII
Tabla 21. Caso de Uso Reenviar clave asociacin............................................................................85 Tabla 22. Caso de Uso Alta voluntario..............................................................................................86 Tabla 23. Caso de Uso Alta Voluntarios desde archivo..................................................................87 Tabla 24. Caso de Uso Baja voluntario..............................................................................................88 Tabla 25. Caso de Uso Fecha baja voluntario...................................................................................89 Tabla 26. Caso de Uso Modificar voluntario ....................................................................................89 Tabla 27. Caso de Uso Consultar asociaciones ................................................................................90 Tabla 28. Caso de Uso Consultar voluntarios ..................................................................................91 Tabla 29. Caso de Uso Modificar asociacin....................................................................................92 Tabla 30. Caso de Uso Alta voluntario..............................................................................................92 Tabla 31. Caso de Uso Baja voluntario..............................................................................................93 Tabla 32. Caso de Uso Fecha baja voluntario...................................................................................94 Tabla 33. Caso de Uso Consultar voluntarios ..................................................................................95 Tabla 34 Descripcin detallada de los atributos de Asociacin ...................................................101 Tabla 35 Descripcin detallada de los atributos de Voluntario ...................................................102 Tabla 36. Resultados de las pruebas.................................................................................................126
XIX
XX
1 Introduccin
En este primer captulo se explican las motivaciones que han llevado a la realizacin de este trabajo as como los objetivos fijados en el mismo. Por otra parte se detalla el contenido de la memoria, explicando los distintos apartados que la componen.
Una de las motivaciones del proyecto, fue la peticin por parte de una empresa de seguros de la realizacin de una aplicacin. La funcin de esta empresa de seguros es la comercializacin de productos de seguros diseados especialmente para el mundo de la discapacidad y el tercer sector. Hasta ahora, esta empresa se encargaba de poner en contacto y administrar los voluntarios de las asociaciones ligadas a ella, con una sociedad de seguros, teniendo para ello que gestionar todos los contratos, certificados y dems documentos manualmente o a travs de ficheros anticuados. La solucin posible a este problema que la empresa presentaba, se plante hacia una mejora en los tiempos de generacin de documentos y altas de los voluntarios. Se quera informatizar estos procesos, y poder delegar ciertas tareas en las mismas asociaciones a las que pertenecan los voluntarios. A su vez, queran tener una base de datos donde almacenar toda la informacin sobre las asociaciones y voluntarios, y que, a travs de una sencilla interfaz, pudiesen gestionarla. La opcin era perfecta para realizar el desarrollo de una aplicacin Web: se trataba de una solucin muy buena para el problema que planteaban y daba la oportunidad de desarrollar por completo, de principio a fin, un proyecto realmente til y remunerado. El principal requisito por parte de la empresa era poder agilizar la emisin de certificados de los voluntarios dados de alta, ya que para ellos supona un gran gasto de tiempo, puesto que por cada voluntario dado de alta deban rellenar un documento Word y mandarlo a la direccin de contacto de la asociacin a la que perteneca el voluntario. Su base de datos estaba informatizada, pero consista en una carpeta dentro de uno de los ordenadores de la empresa, la cual contena un archivo de asociaciones y varios con los voluntarios de cada una, con un descontrol total en el modelo de datos. Otra de las peticiones era disponer de mdulos informatizados donde las asociaciones pudiesen gestionar sus propios voluntarios, descargando as la cantidad de trabajo realizada por esta empresa, ya que lo antes hacan ellos en un largo periodo de tiempo, ahora lo haran las asociaciones en unos minutos. El anlisis, diseo y desarrollo de un sistema Web que cumpla con las necesidades explicadas en este captulo ha constituido la motivacin de este trabajo fin de carrera.
1.2 Objetivos
Dadas las motivaciones expuestas en el anterior apartado, se desea realizar una aplicacin Web para, utilizando Internet como medio de difusin, cubra por completo las necesidades de la empresa demandante. El primer objetivo ser realizar una aplicacin segura y reutilizable a travs del patrn Modelo-Vista-Controlador (MVC), el cual permite implementar de manera independiente las diferentes capas que constituyen dicha aplicacin. Este modelo proporciona una organizacin del diseo del software que aporta independencia entre las capas del mismo (presentacin, control y modelo), lo cual permite aislar los problemas propios de cada capa y resolverlos sin tener en consideracin los dems. Por otra parte la independencia entre capas hace que sean fcilmente sustituibles, evitando dependencias y facilitando la reusabilidad. Como ya se ha indicado, el diseo de la aplicacin se basa en la utilizacin de dicho patrn MVC, que permite separar los datos de una aplicacin, la interfaz de usuario y la lgica de control en tres componentes distintos. Este patrn, est muy extendido en aplicaciones Web, donde la vista es una pgina en HTML, JSP, o cualquier otro lenguaje de programacin Web. El modelo es el sistema de gestin de la base de datos y la lgica de control, mientras que el controlador se har cargo decidir qu componente o componentes resuelve cada uno de los problemas, ya sea de lgica de negocio o de presentacin. Uno de los mayores problemas de los sistemas de gestin de bases de datos es la dificultad que tienen en su manejo, muchos de ellos resultan muy complejos para un usuario inexperto. Muestran una interfaz poco intuitiva y difusa, lo que dificulta an ms su aprendizaje. Hay que suponer que la mayora de los usuarios no tendrn conocimiento alguno sobre estos sistemas, y que lo que buscarn en ellos sern sencillez y claridad en su uso. As pues, el segundo objetivo, es acercar al usuario a travs de una sencilla interfaz, un sistema de gestin de base de datos, eliminando todo aquel proceso que pueda ser complicado y costoso para el usuario. La interfaz se programar en JSP, un lenguaje que permite generar contenido dinmico en las pginas Web. Ser el encargado tanto de recoger los datos introducidos por el usuario, como de mostrarlos por pantalla una vez procesados por el sistema. Se realizar lo ms intuitivo posible, buscando que el tiempo de aprendizaje sea muy bajo, ofreciendo al
usuario un manual de ayuda y gestionando todos aquellos errores que cometa en el uso de la aplicacin. La funcionalidad bsica de la aplicacin ser la siguiente: Gestionar las altas, bajas y modificaciones de las asociaciones Gestionar las altas, bajas y modificaciones de los voluntarios. Generar los certificados, contratos y correos necesarios para la gestin de los seguros. Consultar cualquier informacin referente a las asociaciones y voluntarios.
Finalmente, el ltimo objetivo y ms importante para el cliente, ser reducir lo mximo posible el tiempo de gestin de un voluntario o asociacin. El cliente busca que la aplicacin genere automticamente todo aquello que anteriormente tramitaban de una forma manual y costosa. La generacin de certificados se realizaba de uno en uno, teniendo que crear un nuevo archivo por cada voluntario, rellenarlo y enviarlo a la correspondiente direccin de correo. Igualmente pasaba con los contratos, libros de registro, etc.La aplicacin resolver de la manera ms eficiente posible estos problemas, liberando al usuario de esa carga extra de trabajo que conllevaba estos procesos.
Motivacin del proyecto: Se explican las razones que han llevado a realizar este proyecto, por qu puede resultar til, y los posible problemas que puede solucionar. Objetivos: Declaracin de intenciones en la que se indican, de forma concreta, qu productos o conclusiones se desea obtener con la realizacin de este proyecto. Estado del Arte: En este apartado se presenta informacin relacionada con el trabajo. Se explica qu significan los conceptos y tecnologas concretas utilizadas. Tambin se muestra informacin relacionada con soluciones similares o alternativas. Metodologa: Basndose en los estndares mencionados posteriormente, se realiza este apartado. Forma parte de l tambin el ciclo de vida escogido para el desarrollo. Anlisis: Contiene la descripcin completa de la aplicacin, junto con los requisitos detallados que demanda el cliente. Diseo: Este apartado contiene todos los diseos que se han realizado para la aplicacin. Diseo de clases, diagramas de uso, etc. Desarrollo del Proyecto: Compuesto por un conjunto de apartados en los que se trata de explicar los procesos realizados, cmo funcionan y qu objetivos tienen. En estos apartados se detallan tcnicamente las soluciones encontradas as como los problemas surgidos durante el desarrollo y la forma en que estos se han solucionado. Pruebas: Se ha realizado una batera de pruebas formales y son presentadas en este apartado con el fin de certificar el correcto funcionamiento de los procesos desarrollados. Conclusiones y Trabajos Futuros: Indicaciones de cmo y en qu puede el proyecto evolucionar en etapas futuras. Manual de Instalacin: Gua de instalacin de la aplicacin. Manual de Usuario: En el manual de usuario se detalla la funcionalidad implementada en la aplicacin as como el modo en que se ha de utilizar. Bibliografa: Relacin de fuentes documentales ya sean libros, otros trabajos o recursos obtenidos de Internet.
Sin embargo, el funcionamiento de los CGI tienen un grave problema, cada vez que se recibe una peticin, el servidor debe lanzar un nuevo proceso para ejecutar el programa. Como la mayora de los CGI estaban escritos en lenguajes de programacin interpretados, Python, Perl, C, el servidor estaba sometido a una gran carga. Debido a esta situacin, se empiezan a desarrollar otras alternativas para solucionar este problema principal. Surgen dos vas: Se disean nuevos sistemas de ejecucin de mdulos mejor integrados con el servidor, evitando as, la instanciacin y ejecucin de varios programas. Se dota a los servidores de un intrprete de algn lenguaje de programacin para agilizar el proceso de ejecucin y reducir el intervalo de respuesta. Se experimenta as un incremento del nmero de arquitecturas y lenguajes que optan por alguna de estas dos vas que permitan desarrollar aplicaciones Web. Las ms tiles y utilizadas permiten mezclar dos sistemas, un lenguaje integrado que permita al servidor interpretas comandos incrustados en las pginas, y un sistema de ejecucin de programas mejor enlazado con el servidor para evitar los antiguos problemas de los CGI. En la actualidad, una de las ms potentes herramientas utilizadas para el desarrollo de aplicaciones Web es la seguida por Sun Microsystems, Java, que consta de dos componentes: Un lenguaje que permite la incrustacin de cdigo en las pginas HTML que el servidor convierte en programas ejecutables, JSP. Un mtodo que realiza una funcin similar a los CGI y muy ligado al servidor, obteniendo as un rendimiento muy superior, Java Servlet. Otro de los sistemas muy utilizado es el lenguaje PHP, que igualmente, permite incrustar cdigo en las pginas HTML con sintaxis derivada de C y Perl. Es una herramienta sencilla y potente, que en determinados desarrollos puede ser muy til.
comercializacin, permitiendo que su distribucin sea eficiente reduciendo sobrecostos. Tambin se reducen tiempos en las transacciones comerciales. Comunicaciones de mercadeo. Actualmente, la mayora de las empresas disponen de una pgina Web donde informar de los productos o servicios a sus clientes. Esta situacin potencia las relaciones con los clientes, traducindose en una facilidad de mercadeo y de soporte al cliente nunca imaginado. Los clientes pueden utilizar la Web las 24 horas del da, y estar contactados con el vendedor a travs de correo electrnico. Los sitios Web ms sencillos utilizan correo electrnico para establecer una comunicacin cliente-servidor. En otros sitios ms sofisticados, se utilizan formularios con el objeto de que desarrollen una relacin continua con la compaa. Beneficios operacionales. El uso de la Web, reduce tiempo, errores y sobrecostos. Los proveedores disminuyen sus costos al acceder directamente a la base de datos. Se facilitar la creacin de mercados y nuevos segmentos, especialmente en los geogrficamente remotos. Clasificacin del comercio electrnico El comercio electrnico puede dividirse en cuatro categoras segn sus entidades relacionadas. Compaa Compaa (B2B). Una compaa hace uso de una red para ponerse en contacto con sus proveedores y gestionar sus facturas y pagos correspondientes. Este tipo de comercio ha sido utilizado muchos aos a travs de EDI sobre redes privadas o de valor agregado. Compaa Cliente (B2C). El cliente realiza sus compras a travs de los sitios Web de las compaas. Este tipo ha tenido gran aceptacin debido a la existencia de grandes centros comerciales por todo Internet. Compaa Administracin (B2G). Se refiere a todas las transacciones llevadas a cabo entre las compaas y las organizaciones del gobierno. Todava esta en sus inicios, pero a medida que el gobierno empiece a hacer uso de este comercio, el comercio electrnico alcanzara su mayor potencial
9
Cliente Administracin (C2G). Aun no ha nacido, sin embargo, el gobierno tiene previsto esta expansin para efectuar interacciones electrnicas como seran pagos de asistencia social o devolucin de impuestos.
Riesgos Se pueden presentar los siguientes deficientes tanto por su naturaleza como de su tecnologa. Entorno empresarial y tecnolgico cambiante. Empresas y clientes quieten tener flexibilidad para cambiar de socios sociales, plataformas y redes. Una empresa como mnimo deber disponer de un ordenador con conexin a Internet. Si desea involucrarse ms, deber introducir un sistema como EDI con sus proveedores y/o una intranet con sus diversas sedes. Privacidad y seguridad. La mayora de los usuarios desconfa de las transacciones Web como canal de pago. Existen sistemas que funcionan correctamente para operaciones comerciales muy altas, sin embargo, los problemas se centran en las operaciones pequeas. Cuestiones legales, polticas y sociales. Validez de la firma, no repudio, legalidad de un contrato electrnico, etc.
Intercambio Electrnico de Datos (EDI-Electronic Data Interchange) Correo Electrnico (E-mail o Electronic Mail) Transferencia Electrnica de Fondos (EFT- Electronic Funds Transfer) Aplicaciones Internet: Web, News, Gopher, Archie Aplicaciones de Voz: Buzones, Servidores Transferencia de Archivos
10
Diseo y Fabricacin por Computadora (CAD/CAM) Multimedia Tableros Electrnicos de Publicidad Videoconferencia
11
Proveer la logstica necesaria para colocar los productos correctos en un tiempo ptimo dentro de una organizacin.
Ofrecer un soporte de ejecucin de actividades de mercadotecnia y publicidad. Ofrecer el adecuado servicio para diferentes reas funcionales. Generar informacin para pronsticos.
Ventajas del modelo B2B. Permite automatizar las relaciones comerciales entre empresas (Proveedores y Compradores). Rapidez y seguridad en las comunicaciones. Integracin directa de los datos de la transaccin en los sistemas informticos de la empresa. Posibilidad de incrementar el nmero de de ofertas y demandas. No existe trato con el comprador o vendedor, por lo que no existen tratos de favor. Abaratamiento del proceso, agilizando el proceso de negociacin y reduciendo las visitas comerciales. Ventajas para el comprador Aumento de sus fuentes de suministro. Disminuye el plazo entre solicitud y recepcin. Reduce los costos por transaccin. Descienden las compras fuera de contrato. Aumento de control sobre el proceso de aprovisionamiento.
12
Seguridad en las transacciones B2B El importe unitario en las transacciones B2B es muy alto, lo que hace a este tipo de comercio online especialmente apetecible para piratas informticos. Es aqu donde se requieren productos de autenticacin fuertes que permitan dotar de la seguridad y flexibilidad a los mecanismos transaccionales de Internet. Para ello, los Cdigos de Conducta para el comercio electrnico B2B, deberan contener al menos: El mbito del cdigo de conducta. El cdigo habra de indicar quien ha participado en la elaboracin del mismo, adems de indicar, bajo qu formulas comerciales es aplicable. Informacin sobre el e-market. Para que las empresas puedan distinguir entre mercado acreditados y econmicamente solventes, se ha de facilitar a las mismas, informacin real acerca de los aspectos financieros y legales de cada mercado electrnico. Es fundamental el papel que juega la transparencia en este sentido. Informacin sobre los participantes. Podra vulnerar ciertas reglas sobre la competencia y las leyes del libre mercado, pero la informacin acerca de las empresas participantes es fundamental para acreditar cierto nivel de seguridad. Informacin sobre el modelo procedimental en las transacciones. Debera definir, cuando y como cada contrato es perfeccionado y que criterios son relevantes para concluir una transaccin. Informacin sobre el mecanismo de fijacin de precios. La claridad en este apartado ayudara a los participantes a eliminar potenciales preocupaciones acerca de practicas que puedan manipular los precios siempre y cuando las leyes referentes a la libertad del mercado sean respetadas.
13
Informacin sobre proteccin de la privacidad y confidencialidad. Se deberan incluir mecanismos que aseguren a los usuarios que la informacin personal proporcionada esta perfectamente asegurada de acuerdo con la Ley de Proteccin de Datos.
Informacin sobre frmulas de resolucin de conflictos. Es importante que se pueda acudir a un mecanismo alternativo de resolucin de conflictos en caso de un eventual conflicto, siendo tambin de gran importancia que se especifiquen los procedimientos a seguir.
Ley aplicable. Es importante que las partes hayan determinado con anterioridad bajo qu ley han de solucionar los posibles conflictos que surjan durante la transaccin.
14
La automatizacin de las interacciones por medio de EDI minimiza las transacciones sobre el papel y la intervencin humana, pudiendo incrementar la eficiencia de las tareas diarias y mejorar las relaciones con agentes externos. Los clientes potenciales de EDI son muchos, debido a que esta dirigido a empresas que se relacionan comercialmente. Sector Distribucin (Supermercados, Proveedores). Sector de las Automotrices (Terminales, Proveedores y Concesionarios). Sector Farmacutico (Farmacias, Laboratorios). Sector de la Administracin Publica. Sector del Transporte y Turismo.
Transmisin de documentos entre empresas El sistema tradicional en el que las empresas basan su transmisin de documentos, el papel, presenta dos grandes inconvenientes. En primer lugar, la lentitud. Documentos generados en potentes ordenadores que procesan informacin a gran velocidad, sufren retrasos por tener que procesarse de forma manual en las empresas de correos. Por este motivo, muchas empresas han sustituido el correo como medio de transmisin para enviar documentos, por el fax, lo que agiliza en buena medida la gestin. Sin embargo, existe otro problema, los diversos tipos de facturas, pedidos, hojas de precios, etc. Esta falta de normalizacin es causa de muchos errores administrativos. A continuacin se muestre el procedimiento convencional de transmisin de documentos administrativos entre empresas.
15
Documento impreso
Documento impreso
La primera empresa consulta la base de datos y extrae e imprime la informacin necesaria. Esta informacin, se enva por correo electrnico a la otra empresa, quien debe de introducir de nuevo los datos en su sistema informtico. En este sistema se producen redundancias, ya que los documentos que se imprimen en una empresa, son introducidos manualmente en el sistema informtico de la otra.
16
Servico de transporte
Empresas
Servicios medicos
Administrraci on publica
Esta figura representa a grandes rasgos lo que supone implantar un sistema EDI. Consiste simplemente en implantar un procedimiento electrnico de transmisin de informacin. Las empresas se beneficiaran de este sistema con diversas formas de ahorro. En primer lugar un ahorro de tiempo, ya que la informacin viaja por redes de comunicacin. Y en segundo lugar, se producen menos errores, ya que el proceso esta completamente automatizado. Beneficios EDI Agilizacin de procesos comerciales. Disminucin de errores en los documentos. Disminucin de stocks debido a la facilidad de aplicacin de tcnicas just in time. Ahorro de costos de administracin. Mejora de la competitividad de la empresa que lo usa.
17
responsable de acceder a la capa de almacenamiento de datos, define las reglas de negocio y lleva un registro de las vistas y controladores del sistema. Vista: Define la interfaz de usuario, mostrndole la informacin del modelo.
Recibe los datos del modelo y los muestra al usuario, tienen un registro de su controlador asociado y pueden ofrecer el servicio de actualizacin. Controlador: Responde a eventos y modifica la vista y el modelo. Recibe los
eventos de entrada y contiene las reglas de gestin de estos. El flujo de control suele seguir este procedimiento: El usuario interacta de alguna manera con el interfaz. El controlador recibe la peticin del usuario y la gestiona. El controlador accede al modelo y realiza la funcin requerida por el usuario
(actualizacin, modificacin.). La vista obtiene los datos y los muestra al usuario. La interfaz espera nuevas acciones por parte del usuario.
18
2.3.2 JAVA
Lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems. Permite una programacin ms sencilla que otros lenguajes orientados a objetos puesto que elimina herramientas de bajo nivel como puede ser la manipulacin directa de punteros o memoria. Generalmente es compilado en un bytecode, aunque es posible crear cdigo mquina nativo. En el tiempo de ejecucin, el bytecode es normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque tambin existen dispositivos hardwares capaces de ejecutarlo directamente. Sun Microsystems desarrollo en 1995 el compilador, la mquina virtual y las bibliotecas de clases, y desde entonces controla el desarrollo y la evolucin del lenguaje a travs del Java Community Process. La mayora de las tecnologas Java fueron liberadas entre el 2006 y 2007, convirtindose as prcticamente en su totalidad en software libre. Java fue diseado para ser:
19
Sencillo, orientado a objetos y familiar. Fcil de aprender para los desarrolladores, orientado a objetos por ser una tecnologa ms madura y mejor para los sistemas distribuidos y cliente/servidor, y familiar por mantener gran parecido con C++, eliminando bastantes de sus complejidades.
Distribuido. Java proporciona clases y herramientas para su uso en aplicaciones de red. Robusto y seguro. Robusto por simplificar la manipulacin directa de punteros y gestin de memoria, y seguro para operar en los entornos de red. Independiente de la arquitectura y portable. El compilador de Java genera un bytecode, formato de cdigo independiente de la plataforma, e interpretable por diversas plataformas de hardware y sistemas operativos. Portable por ser el mismo lenguaje en todas las plataformas, lo nico que diferencia a estas es su Java Virtual Machine.
Alto rendimiento. Java es un lenguaje interpretado, sin embargo, tiene en cuenta el rendimiento, y en las ltimas versiones a puesto a disposicin herramientas de optimizacin.
Interpretado, multi-hilo y dinmico. Interpretado por generar un bytecode ejecutable en cualquier mquina con Java Virtual Machine. Java soporta mltiples hilos de ejecucin. Proporciona mecanismos de carga dinmica y ejecucin en la fase de enlazado.
Permite generar varios tipos de aplicaciones: Aplicaciones autnomas. Applets. Programas incrustados en otras aplicaciones. Servlets. Componentes de la parte de servidor de Java EE, genera respuestas a las peticiones de los clientes (detallado ms adelante). Aplicaciones con ventanas. Usando la interfaz grfica de Java.
El diseo de Java ofrece varios entornos de funcionamiento, entre los que se encuentran: Dispositivos mviles y sistemas empotrados. En navegador web.
20
Para ejecutar Java, es necesario el JRE (Java Runtime Environment), que incluye la Java Vitual Machine y la Api. Esta incluida en cualquier versin de J2SE (Java 2 Estndar Edition), aunque si tan solo se quiere ejecutar la aplicacin Java, con el JRE ser suficiente, instala los plugins necesarios para su ejecucin en los navegadores y sistemas operativos. Para el desarrollo de aplicaciones, se necesita otro tipo de paquete, donde el J2SE es el ms usado, aunque existen otro tipo de paquetes que permiten el desarrollo de otro tipo de aplicaciones, ejemplo de ello son: Java SE. Edicin estndar de Java. Java EE. Aplicaciones distribuidas orientadas al entorno empresarial. Java ME. Dispositivos mviles, PDA, telfono Java FX. Permite crear aplicaciones dinmicas de nueva generacin. Cada una de ellas posee una API, conjunto de clases, interfaces y excepciones requeridas para el desarrollo de aplicaciones en cada plataforma. A su vez, tambin existen paquetes creados externos a los oficiales, pero que amplan el uso y desarrollo del lenguaje (JavaMail, IText). En cuanto a las crticas posibles del lenguaje, se pueden encontrar algunas: No es un lenguaje estrictamente orientado a objetos. El cdigo puede ser redundante en comparacin con otros lenguajes. No dispone de operadores de sobrecarga definidos por el usuario. Rendimiento algo bajo comparado con otros lenguajes.
2.3.3 SERVLETS
Los servlets son mdulos de Java que se ejecutan en el servidor o contenedor J2EE, expandiendo as las capacidades de los servidores Web. Se dice de ellos que son la siguiente
21
etapa de los CGI, ya que su funcin ms tpica es generar pginas web dinmicas a partir de los parmetros de la peticin que enve el navegador. Los servlets implementan la interfaz javax.servlet.Servlet, permitiendo interpretar objetos del tipo HttpServletRequest/Response, contenedores de la informacin de la pgina que ha invocado al servlet. HttpServletRequest representa el la comunicacin desde el cliente al servidor, mientras que HttpServletResponse representa la comunicacin inversa. El ciclo de vida del servlet se puede dividir en las siguientes fases: El cliente realiza una peticin. Si es la primera vez que se recibe la peticin, el servlet ejecutar el mtodo de inicio init(), inicializando las variables generales. Si no es la primera vez, cada peticin se convierte en un nuevo hilo. Dependiendo de la peticin, se ejecutar el mtodo doGet() o doPost(), generando el resultado a devolver. Finalmente el servlet eliminar todos los datos generados llamando al mtodo destroy().
22
2.3.4 MySQL
MySQL es un sistema de gestin de base de datos relacional muy rpido, multihilo, multiusuario y robusto. Esta diseado para entornos de produccin crticos, con alta carga de trabajo. Consta de una doble licencia, una totalmente gratuita bajo los trminos de la licencia GNU Genral Public License u otra bajo una licencia comercial estndar de MySQL AB. Consulte. Las principales caractersticas son: Es un sistema de gestin de bases de datos. Es un sistema de gestin de base de datos relacionales. Es Open Source. El servidor de base de datos es muy rpido, fiable y fcil de usar. Trabaja en entornos cliente/servidor o incrustados. Existe una gran cantidad de software que utiliza este sistema.
Al ser una base de datos muy rpida en la lectura, es ideal para utilizarla en la creacin de aplicaciones web, muy utilizada en conjunto con PHP.
2.3.5 JSP
Es una tecnologa de Java orientada a la creacin de contenido dinmico para las pginas web. Se podran considerar como una manera alternativa y sencilla de construir servlets, adems de poder utilizarse como Vista, dentro del Modelo Vista Controlador, encargndose de recibir los parmetros desde el servlet y mostrndolos al usuario, y de recoger las peticiones del usuario y llevarlos al servlet. Al tratarse de una tecnologa Java, se puede utilizar en cualquier mquina siempre que tengan instalado la mquina Virtual de Java. Permite agregar etiquetas XML, llamadas acciones, adems de poder utilizar y crear bibliotecas de etiquetas JSP .
23
Un JSP es compilado a un programa en Java la primera vez que se invoca, de este programa se crea una clase que se ejecuta en el servidor como si se tratase de un servlet, siendo la diferencia con estos, que un JSP es una pgina Web con etiquetas y cdigo Java incrustado (script), mientras que un servlet es un programa que recibe peticiones y genera respuestas a partir de ellas.
2.3.7 JavaMail
Adicionalmente al API Estndar de Java se puede encontrar esta expansin que permite el envo y recepcin de correos electrnicos. Este paquete es usado para crear programas del tipo MUA (Mail User Agent), cuya principal funcin es conectar con los programas MTA (Mail Tranfer Agent) para el envo y recepcin del correo.
24
Permite gestionar cualquier tipo de correo a travs de cualquier tipo de protocolo (POP, IMAP, SMTP, MIME), pudiendo crear mensajes de texto plano o HTML, adems de aadir imgenes, archivos adjuntos, etc.
2.3.8 IText
IText es una librera de Java con la que poder generar documentos PDF de forma dinmica, tanto en aplicaciones de escritorio como aplicaciones web. Algunas de las posibilidades que ofrece son: Generar dinmicamente documentos usando archivos XML o Bases de datos. Manipular documentos ya creados. Agregar ndices, nmeros de pgina, marcas de agua
PHP: Es un lenguaje desarrollado por Rasmus Lerdorf en 1984 como un CGI escrito en C, permitiendo la interpretacin de nmero limitados de comandos. Es de libre distribucin, y desde su versin 4 pasa a ser un lenguaje interpretado, bastante rpido. Es sencillo, sintaxis cmoda, pudindose instalar en servidores gratuitos y asocindose con MySQL proporciona una gran potencia a la hora de desarrollar pginas Web. Como principal inconveniente tiene varios Bugs de seguridad.
ASP: En 1996 Microsoft lanza ASP, con sintaxis y funcionamiento parecido a PHP, ofreciendo la ventaja de utilizar el concepto de objetos COM. Su principal problema es que solo permite su uso en plataformas Microsoft, limitando su portabilidad.
JSP: Usa cdigo HTML junto con cdigo Java, siendo parecido a los lenguajes anteriores, separando claramente qu es contenido y qu es presentacin. Reusa componentes basados en JavaBeans, y permite el uso de XML en los scripts.
Servltes: Mdulos de Java que se ejecutan en el servidor o contenedor JEE, expandiendo as las capacidades de los servidores Web. Se dice de ellos que son la siguiente etapa de los CGI, ya que su funcin ms tpica es generar pginas Web dinmicas a partir de los parmetros de la peticin que enve el navegador. Los CGI fueron los primeros en aparecer, siendo as los ms antiguos y desfasados. JSP, ASP y PHP, son lenguajes enfrentados entre s. PHP es gratuito, fcil y rpido. Est continuamente en revisin y actualizacin. Es de cdigo abierto y portable. ASP. Ni es portable, ni de cdigo abierto, ni gratis. Tiene soporte de Microsoft. JSP. Portable, no es de cdigo abierto, gratis y muy seguro.
26
JSP Y ASP utilizan una combinacin de TAGS y SCRIPTS para dar dinamismo a las pginas. JSP es independiente de la plataforma, los componentes son reutilizables tanto en Unix como Windows por ejemplo. ASP no lo permite. JSP utiliza como lenguaje Script Java, mientras que ASP utiliza VBScript o JScript. Java es mucho ms seguro, fcil y potente que el resto de los lenguajes Script. Si lo que se desea es disear son pequeas aplicaciones, los lenguajes Script son una posible alternativa, sin embargo, para aplicaciones grandes y bien estructuradas, la mejor opcin vuelve a ser Java. El uso de JSP se hace bastante claro respecto a ASP, siendo las dos ventajas ms
claras el uso de Java para la parte dinmica, y la portabilidad hacia otros sistemas operativos y servidores.
27
proyecto, por lo que el aprendizaje fue muy corto en este aspecto. Es ms fiable que otros lenguajes, y permite la gestin de excepciones de una manera sencilla, labor que en este proyecto ha tenido que ser tratada de una maneara exhaustiva. Jsp. La utilizacin de Jsp viene en gran parte originada por la eleccin de Java. Se trata de un lenguaje compuesto de HTML/XML y scripts de Java, integrndose perfectamente con este ltimo. En el proyecto, ha sido fundamental para la representacin de los datos y su recogida. Al igual que Java, es portable e independiente de la plataforma, y tiene un API mucho mayor que cualquier otro lenguaje posible a utilizar en este aspecto. MySQL. Es un sistema de gestin de base de datos relacional muy rpido, multihilo, multiusuario y robusto. Permite altas cargas de datos, y es totalmente gratuito. Existen varias API que permiten acceder a las bases de datos desarrolladas en MySQL.
28
3 Metodologa
Para la realizacin de esta seccin, se han utilizado los estndares IEEE-1058 y IEEE1074 como gua, sin ceirse con exactitud a la metodologa de cada uno.
3.1.1 Objetivos
La definicin de un ciclo de vida facilita: El control sobre los tiempos necesarios para aplicar recursos de todo tipo Control del trabajo subcontratado Control de calidad, siempre que la separacin entre fases se haga corresponder con puntos en los que esta deba verificarse Para el desarrollo del proyecto, se ha escogido el ciclo de vida en cascada.
29
30
Anlisis. Se analizan las necesidades de los usuarios finales, con el fin de determinar los objetivos a cubrir. En esta fase se crea una memoria llamada SRD (Documento de Especificacin de Requisitos), que contiene la especificacin completa de lo que el sistema debe hacer sin entrar en detalles.
Diseo. Se descompone y organiza el sistema en elementos que puedan elaborarse por separada, con el fin de aprovechar las ventajas del equipo de desarrollo. Se crea el documento SDD (Documento de Diseo de Software), que contiene la descripcin de la estructura global del sistema y detalla qu debe hacer cada una de sus partes, as como la combinacin con otras.
Codificacin. Bsicamente es la fase de programacin. Se desarrolla el cdigo fuente, haciendo uso de pruebas y ensayos para corregir posibles errores.
Integracin. Se ensamblan los elementos ya programadas para componer el sistema, comprobando el buen funcionamiento de este antes de pasar a su explotacin.
Mantenimiento. Fase destinada a corregir errores o introducir mejoras a lo largo de la explotacin del sistema. Se recoge en el Documento de Cambios.
Captura y Anlisis de Requisitos Diseo del sistema Implementacin y Pruebas Integracin y Pruebas Operacin y Mantenimiento
31
Es un modelo descendente, que exige para pasar a la siguiente fase exige la conclusin de la fase anterior correctamente. La salida de una fase es la entrada de la siguiente.
32
Gestin de voluntarios. Permitir la gestin de los voluntarios pertenecientes a las asociaciones previamente dadas de alta. Dar de alta voluntarios. Se facilitar el alta y la creacin de los certificados individuales de cada voluntario. Modificar informacin de los voluntarios. A peticin de la asociacin, se podr modificar cualquier campo de los voluntarios. Dar de baja voluntarios. Los voluntarios podrn ser eliminados en cualquier momento del sistema. Establecer fecha de vencimiento del seguro, fecha de baja. Cada voluntario tiene su fecha de baja o vencimiento del seguro contratado, teniendo que ser esta establecida por las asociaciones. Consultar datos de los voluntarios. Acceso total a los datos de los voluntarios pertenecientes a cada asociacin.
El alcance del proyecto agrupa las siguientes fases: Planificacin y requisitos Diseo Implementacin Integracin y pruebas
La aplicacin dispone de una pgina de ayuda donde poder consultar las acciones disponibles y el modo de ejecucin de cada una de ellas. Una vez entregada la aplicacin, se deber instalar en el servidor para su completo funcionamiento, y habiendo comprobado que no genera ningn tipo de error durante un tiempo determinado, se evitar el futuro mantenimiento de esta.
33
34
35
A cada tarea se le asignaran unos recursos para su correcto desarrollo, los cuales habrn sido estimados en el plan de proyecto, as como el presupuesto del proyecto, el staff necesario para cada fase y la duracin de las mismas.
Mirar anexos:
Anexo I: Diagrama Gantt Apndices A, B y C (RBS, WBS, PBS): RBS, WBS y PBS
3.3 Referencias
La lista de documentos que se han utilizado para el desarrollo de la aplicacin ha sido la siguiente: IEEE1074-2006 IEEE1058-1998
3.4 Definiciones
GANTT Grfico ilustrativo sobre la planificacin de tareas y las relaciones de precedencia (orden) entre las mismas. HW Hardware. IEEE 1058 Estndar para la realizacin del Plan de Proyecto Software. IEEE 1074 Estndar para el desarrollo del Modelo de Procesos Software. PERT Grfico ilustrativo para realizar un seguimiento del proyecto y determinar el camino crtico.
36
RBS Resource Breakdown Structure Estructuracin de recursos SW Software. WBS Work Breakdown Structure Estructuracin de tareas
37
Jefe de Proyecto
Analista
Diseo y Programacin
38
1.3.2 2.1.1 2.1.2 2.1.4 2.2.1 2.2.2 2.2.3 2.3.1 2.3.2 2.3.3 2.3.4 3.1.1 3.1.2 3.1.3 3.2.1 3.2.2 3.2.3 3.2.4 3.3.1 3.3.2 3.3.3 4.1.1 4.1.2 4.1.3 5.1.1 5.1.4 5.1.5 5.1.6 5.1.7 5.3.1 5.3.2 5.4.1 5.4.2 5.4.3
39
3.6.3.1 Software
Windows XP Profesional J2SE MySQL Microsoft Office XP Dreamweaver Netbeans Apache Tomcat Ninguna de ellas se debe adquirir, por lo que no supone un gasto para el cliente final, al igual que el Hardware utilizado.
3.6.3.2 Hardware
Ordenador de sobremesa Intel Core Duo 2.00 GHz., 1 Gb memoria RAM, 200 Gigas Disco Duro.
40
Para la instalacin de la aplicacin, se requerir un servidor que soporte las tecnologas JSP, Servlets y MySQL. Si el cliente dispone uno con estas caractersticas, la instalacin se realizar sobre este, si por el contrario el servidor es externo al cliente y hay que contratarlo, los gastos corrern a cargo del cliente. Si tampoco dispone de un dominio Web, se contratar junto con el servidor. Se estima que estos costes se situan en torno a los 100 150 euros, dependiendo del tipo de alojamiento, cantidad de cuentas de correo requeridas, capacidad de alojamiento, etc.
Se da por hecho que domina el resto de software a utilizar. Complementariamente tambin aprender nociones bsicas sobre seguros, plizas, voluntariado, etc., con el fin de orientar la aplicacin de una forma ms adecuada hacia el cliente final. Esta formacin servir de gran ayuda para posibles proyectos futuros en los que se vuelvan a utilizar estas tecnologas.
41
3.6.5.2 Planificacin
La asignacin de horarios se ha realizado a travs de la aplicacin MS Project, mostrando las actividades requeridas para el desarrollo del proyecto junto con su correspondiente fecha y persona al cargo. Se modificaran fechas si fuese necesario, intentando que el impacto en el proyecto fuera el menor posible. Mirar anexo:
42
43
Tarea Crear cdigo ejecutable Identificar y analizar requisitos funcionales Desarrollar requisitos Ejecutar pruebas Disear base de datos Disear interfaces Diseo detallado Identificar ideas o necesidades Planificar gestin proyecto Priorizar e integrar requisitos Identificar requisitos Formular posibles propuestas Documentar la implementacin Implementar manual de usuario Ejecutar estimacin Concretar necesidades cliente Disear arquitectura Descomponer requisitos del sistema Integracin de partes del sistema Aceptacin del software Producir y distribuir documentacin Investigacin Elegir ciclo de vida Crear proceso ciclo de vida
Coste () 2024 1560 1280 1104 992 992 992 741.82 640 620 603.08 560 530.40 530.40 521.14 520 520 480 440 320 320 288 288 288
44
Bsqueda de integracin software Bsqueda de software de desarrollo Resultado de pruebas Instalacin del software Crear datos de prueba Definir y analizar requisitos SW Definir y analizar requisitos interfaz Formacin del personal Analizar arquitectura del sistema
285.60 280 280 280 260 240 240 192 60 TOTAL 19288.44
As pues, se deber seguir rigurosamente el calendario que proporciona MS Project mediante el diagrama GANTT (Mirar Anexo I GANTT), mostrando claramente las fechas y das que se debe utilizar para cada actividad del proyecto. Es posible que se realicen modificaciones de fechas y entregas, as que este diagrama muestra una estimacin previa del calendario, pero a lo largo del desarrollo puede que se vuelva a tener que estimar.
46
Consta de 4 fases: Captura y Anlisis de Requisitos: Se planifica el proyecto, abarcando el desarrollo software y todas las tareas de gestin del software. Se identifican las ideas y necesidades, se formulan aproximaciones al potencial del producto, se estudia la viabilidad. Se concretan los requisitos sobre el sistema mediante reuniones con el usuario Se establecen los requisitos hardware y software necesarios
Diseo del Sistema Se definen los requisitos software por parte del usuario, tales como requisitos funcionales, de interfaces y priorizarlos. Se define el organigrama del funcionamiento de la aplicacin. Se define el medio y forma del enlace entre el usuario y la aplicacin. Se disea un plan de pruebas para el buen funcionamiento de la aplicacin.
Implementacin Se codifica la aplicacin. Se realiza la incorporacin de todas las partes y mdulos de la aplicacin al sistema. Se crean los informes necesarios para el usuario.
Integracin y Pruebas Se lleva acabo la instalacin del software. Se realizan las pruebas definitivas para el correcto funcionamiento de la aplicacin, y el usuario da el visto bueno.
47
Se ofrece formacin para que los usuarios conozcan la aplicacin y su perfecto manejo.
48
Sistema anfitrin: - Pentium 4 1.60 GHz, 512 MB RAM. - Windows XP - Red ADSL
49
50
Productos entregables: hacen referencia a toda la documentacin creada para la instalacin y el mantenimiento de la aplicacin, as como la documentacin de ayuda y de formacin para los usuarios que vayan a utilizarla. Son los siguientes
51
Cdigo fuente Manual de usuario Sistema de ayuda Documentacin de la configuracin Gua de mantenimiento
Para asegurar la calidad de un proyecto se debe poder responder afirmativamente a una serie de preguntas sobre la aplicacin, cada una de las cuales est relacionada con uno de los siguientes once factores: Segn el punto de vista de la revisin:
52
o Facilidad de mantenimiento: El programa se puede arreglar con bastante facilidad. Tiene un valor medio. o Facilidad de prueba: A la aplicacin se le podrn pasar los programas de prueba con total normalidad. Tiene un valor alto. o Flexibilidad: Gracias a la modularidad del programa, ste tiene una alta flexibilidad. Tiene un valor alto. Segn el punto de vista de la transicin: o Interoperabilidad: El programa no se puede comunicar con otros sistemas. o Portabilidad: Siempre y cuando se cumplan los requisitos mnimos de instalacin de la aplicacin, sta se podr utilizar en diferentes mquinas. Tiene un valor medio. o Reusabilidad: La aplicacin se ha implementado de tal forma que garantiza su reusabilidad. Tiene un valor alto. Segn el punto de vista de la operacin: o Correccin: La aplicacin software debe cumplir los requisitos estipulados, por tanto, deber cumplir con la finalidad del producto. Tiene un valor alto. o Fiabilidad: Se intentar que el programa funcione de forma exacta todo el tiempo. Tiene un valor alto. o Eficiencia: Se intentar que la aplicacin se ejecute sobre el hardware lo mejor posible. Tiene un valor alto. o Integridad: No es una de las principales finalidades. Tiene un valor bajo. o Facilidad de uso: La aplicacin se podr ejecutar de forma sencilla, para que al cliente le resulte lo ms cmodo posible. Tiene un valor medio.
53
En resumen, el orden de prioridad de estos 10 factores para el plan de calidad de nuestro proyecto es el siguiente: 1. Correccin 2. Fiabilidad 3. Eficiencia 4. Facilidad de uso 5. Facilidad de mantenimiento 6. Facilidad de prueba 7. Flexibilidad 8. Reusabilidad 9. Portabilidad 10. Integridad
54
3.9 Apndices
3.9.1 Apndice A (RBS)
55
58
59
60
61
4 Anlisis
4.1 Descripcin del sistema
La aplicacin consistir en la gestin de voluntarios pertenecientes a distintas asociaciones. Para ello, existir la figura de administrador, en este caso, la empresa que solicita la aplicacin. El administrador podr realizar las siguientes tareas con el fin de facilitar y controlar la gestin de la informacin: Podr dar de alta una asociacin introduciendo tanto los datos corporativos como el domicilio de esta. La aplicacin enviar un contrato que deber ser firmado y rellenado por la asociacin. Este, volver a ser enviado al administrador, que ser el encargado de validar los datos en la aplicacin. Si todo el proceso ha sido correcto, el sistema enviar un correo a la asociacin con los datos necesarios para ingresar en la aplicacin. En el caso de que una asociacin quiera darse de baja en el sistema, o bien caduque su fecha de efecto, el administrador se encargar de borrarla de la base de datos. Si la asociacin es eliminada, tambin lo sern sus voluntarios. Si la asociacin ha sido dada de alta con algn fallo en sus datos, el administrador podr modificarlos si as se requiere. Toda modificacin ser notificada tanto al correo de la asociacin como al correo de la persona de contacto dentro de esta. Si la asociacin pierde la clave o desea que se le reenve, ser el administrador el encargado de realizar este proceso. El administrador podr dar de alta a voluntarios, aunque este no sea su cometido. Deber rellenar los datos pertinentes y seleccionar la asociacin a la que pertenecen. Este proceso generar un correo con los certificados que ser enviado a la asociacin. A su vez, se enviar otro correo para notificar tanto al administrador como a la sociedad, de que el alta se ha realizado correctamente.
62
Si se desea realizar una carga masiva de voluntarios, el administrador ser quien se ocupe de ello. Se deber disponer de un archivo de texto con el formato correcto. Si hubiese algn fallo en el formato, se notificar por pantalla de los errores. De lo contrario, los voluntarios sern dados de alta en la asociacin indicada. En este caso, no se generan los certificados, ya que o bien esos voluntarios ya han sido registrados en la sociedad con anterioridad, o bien, se les enviar los certificados por otro medio.
En el caso de tener que dar de baja algn voluntario, la asociacin deber comunicrselo al administrador. Tambin, y aunque no sea tarea del administrador, se podr establece una fecha de baja para los voluntarios.
Si algn voluntario contiene algn error en sus datos, el administrador ser el encargado de modificarlos. Esta modificacin no ser notificada a la asociacin.
El administrador podr consultar en cualquier momento las asociaciones y voluntarios disponibles en la base de datos. La bsqueda se realizar a travs de un criterio de bsqueda definido por el administrador.
Las tareas a realizar por la asociacin son: Modificar los datos de la asociacin. Al igual que con el administrador, la asociacin podr modificar su datos. Toda modificacin se notificar por correo tanto a la persona de contacto de la asociacin, como al correo facilitado por la asociacin. Dar de alta a voluntarios. Ser la principal tarea de la asociacin, dar de alta a los voluntarios sin tener que informar al administrador. Debern rellenar los datos de los voluntarios, y si estos son correctos, se enviar un correo con los certificados correspondientes a cada uno de ellos al correo de la persona de contacto. Tambin, se informar al administrador y a la sociedad de los voluntarios aadidos. Dar de baja a los voluntarios. La asociacin podr dar de baja a los voluntarios cuando lo requieran. Tambin podrn establecer una fecha de baja para cualquiera de ellos.
63
Podrn consultar la informacin de los voluntarios y generar un libro de registro con los voluntarios consultados. El libro de registro tendr un formato adecuado para que tenga validez.
RUC-001
Versin
1.0
Restriccin de entrada a la aplicacin Cliente Esencial Deseable Opcional Alta Media Baja Alta Media Baja Alta Media Baja No puede sufrir modificaciones a lo largo del proyecto. La aplicacin deber constar de un sistema de validacin que a travs de un nombre de usuario y una clave especfica para cada usuario, permita el acceso a ella. Si alguna persona ajena al sistema pretende entrar, la aplicacin deber restringir el acceso informando por pantalla de la invalidez de sus datos. Igualmente, si un usuario intenta entrar y comete un error en la insercin de sus datos, la aplicacin le informar por pantalla de su error.
64
RUC-002
Versin
1.0
Eliminacin de los datos de voluntario Cliente Esencial Deseable Opcional Alta Media Baja Alta Media Baja Alta Media Baja No puede sufrir modificaciones a lo largo del proyecto. El sistema debe proceder a la eliminacin de los voluntarios pertenecientes a una asociacin cuando se elimine esta. Para ello, la aplicacin contar con un sistema que automticamente borre la informacin. Este proceso no debe generar ninguna notificacin al administrador del sistema.
RUC-003
Versin
1.0
Notificacin de modificacin de datos Cliente Esencial Deseable Opcional Alta Media Baja Alta Media Baja Alta Media Baja Puede sufrir modificaciones a lo largo del proyecto. Cuando tanto el administrador del sistema como el de una asociacin modifiquen la informacin referente a una asociacin, deber ser notificado va e-mail a los correos correspondiente. Se enviar un correo a la asociacin para que compruebe si los datos modificados son correctos. Se enviar otro correo al administrador de la asociacin, por si la modificacin hubiese sido incorrecta.
65
Versin
1.0