1 ESCUELA POLITÉCNICA NACIONAL ESCUELA DE INGENIERÍA SISTEMA DE COMPRA Y VENTA DE LIBROS CON TECNOLOGÍA SMART CLIENTE PARA EMPRESAS DISTRIBUIDORAS DE LIBROS PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN MIGUEL ADOLFO MÁRQUEZ VACAS [email protected] SANDRA DEL ROCÍO PAREDES AYALA [email protected] DIRECTOR: ING. PAULVILCA [email protected] QUITO, MARZO 2008 2 DECLARACIÓN Nosotros, Miguel Adolfo Márquez Vacas y Sandra del Rocío Paredes Ayala, declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamente presentada para ningún grado o calificación profesional; y, que hemos consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedemos nuestros derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente. ___________________________ Miguel Márquez __________________________ Sandra Paredes 3 CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por Miguel Adolfo Márquez Vacas y Sandra del Rocío Paredes Ayala, bajo mi supervisión. Ing. Paúl Vilca DIRECTOR DE PROYECTO 4 CONTENIDO CAPITULO 1................................................................................................................................................... 1 1.1 AMBIENTE SMART CLIENT. ........................................................................................................... 10 1.1.1 Definición Smart Client. .......................................................................................................... 10 1.1.1.1 Aplicaciones Clientes Ricas o Rich Client Applications............................................................... 11 1.1.1.2 Aplicaciones Clientes Delgadas Thin Client Applications........................................................... 12 1.1.2 Características Smart Client ................................................................................................... 13 1.1.2.1 Usan los Recursos Locales:........................................................................................................... 14 1.1.2.2 Usan los Recursos de la Red ......................................................................................................... 15 1.1.2.3 Dan soporte a los usuarios ocasionalmente conectados................................................................. 16 1.1.2.4 Proveen Instalación y Actualización Inteligente ........................................................................... 17 1.1.2.5 Proveen adaptación a los dispositivos cliente................................................................................ 18 1.1.3 Arquitectura Smart Client........................................................................................................ 19 1.1.3.1 Caché............................................................................................................................................. 20 1.1.3.2 Configuración................................................................................................................................ 21 1.1.3.3 Acceso a datos............................................................................................................................... 22 1.1.3.4 Criptografía ................................................................................................................................... 22 1.1.3.5 Offline. .......................................................................................................................................... 23 1.2 TIPOS DE SMART CLIENT............................................................................................................... 26 1.2.1 Aplicaciones Smart Client Windows........................................................................................ 27 1.2.2 Aplicaciones Smart Client Office............................................................................................. 28 1.2.3 Visión General de las Aplicaciones Smart Client con Microsoft Office 2003. ....................... 31 1.2.4 Aplicaciones Smart Client Móviles.......................................................................................... 32 1.2.5 Desarrollando Aplicaciones Móviles Smart Client Orientadas a servicios Web .................... 33 1.2.6 .NET Compact Framework y Smart Client .............................................................................. 34 1.3 HERRAMIENTAS Y TECNOLOGÍAS SMART CLIENT. ........................................................................ 35 1.3.1 Tecnología Microsoft............................................................................................................... 35 1.3.2 Tecnología Java....................................................................................................................... 35 1.3.3 Bases de datos ......................................................................................................................... 36 1.3.3.1 MSDE ........................................................................................................................................... 36 1.3.3.2 SQL Server 2005 Express ............................................................................................................. 36 1.3.3.3 SQL Anywhere. ............................................................................................................................ 37 1.3.3.4 VistaDB......................................................................................................................................... 37 1.3.3.5 XML.............................................................................................................................................. 37 1.4 METODOLOGÍA DE DESARROLLO................................................................................................... 37 1.4.1 IntroduccióN............................................................................................................................ 37 1.4.2 Proceso unificado de Rational................................................................................................. 38 1.4.2.1 Introducción .................................................................................................................................. 38 5 1.4.2.2 REQUISITOS ............................................................................................................................... 41 1.4.2.3 ANÁLISIS .................................................................................................................................... 42 1.4.2.4 DISEÑO........................................................................................................................................ 43 1.4.2.5 IMPLEMENTACIÓN................................................................................................................... 44 1.4.2.6 PRUEBA....................................................................................................................................... 44 CAPITULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA PARA LA COMPRA Y VENTA DE LIBROS UTILIZANDO TECNOLOGÍA SMART CLIENT. SMARTBOOKSB. ................................. 46 2.1 ANALISIS DEL SISTEMA ......................................................................................................... 46 2.1.1 ESPECIFICACIÓN DE REQUERIMIENTOS DEL SISTEMA ............................................... 46 2.1.1.1 Introducción .................................................................................................................................. 46 2.1.1.2 Descripción General...................................................................................................................... 47 2.1.1.3 Requerimientos Específicos .......................................................................................................... 47 2.1.2 MODELO DE CASOS DE USO. ............................................................................................. 49 2.1.2.1 LISTA DE ACTORES .................................................................................................................. 49 2.1.2.2 Diagrama de Casos Uso ................................................................................................................ 51 2.1.2.3 Especificación del Diagrama de Casos de Uso............................................................................. 55 2.1.3 DIAGRAMAS DE SECUENCIA .............................................................................................. 80 2.1.4 PAQUETES DE ANÁLISIS...................................................................................................... 80 2.2 DISEÑO DEL SISTEMA .................................................................................................................... 81 2.2.1 Arquitectura del sistema. ......................................................................................................... 81 2.2.2 MODELO DE DISEÑO. .......................................................................................................... 83 2.2.2.1 MODELO DEL DOMINIO .......................................................................................................... 83 2.2.2.2 DIAGRAMA DE CLASES........................................................................................................... 84 2.2.2.3 DIAGRAMAS DE SECUENCIA ................................................................................................. 86 2.2.2.4 DIAGRAMAS DE COLABORACIÓN........................................................................................ 92 2.2.2.5 DEFINICIÓN DE MÓDULOS. .................................................................................................. 103 2.2.2.6 Modelo Relacional Lógico. ......................................................................................................... 106 2.2.2.7 Modelo Relacional Físico............................................................................................................ 108 2.2.3 Diseño de interfaces .............................................................................................................. 108 2.2.3.1 Diagrama de Navegación ............................................................................................................ 108 2.2.3.2 Interfaces de Usuario................................................................................................................... 111 CAPITULO 3. CONSTRUCCIÓN Y PRUEBAS DEL SISTEMA PARA LA COMPRA Y VENTA DE LIBROS UTILIZANDO TECNOLOGÍA SMART CLIENT. SMARTBOOKSB.......................... 114 3.1 IMPLENTACIÓN DEL SISTEMA....................................................................................................... 114 3.1.1 aLCANCE .............................................................................................................................. 114 3.1.2 HERRAMIENTAS DE DESARROLLO .................................................................................. 114 3.1.2.1 Detalle de las Herramientas......................................................................................................... 114 3.1.3 ESTÁNDARES DE PROGRAMACIÓN ................................................................................. 115 3.1.4 Diagrama de Componentes ................................................................................................... 116 3.1.4.1 Generalidades.............................................................................................................................. 116 6 3.1.4.2 3.1.5 3.2 Descripción del Diagrama de Componentes................................................................................ 116 Diagrama de Despliegue. ...................................................................................................... 120 PRUEBAS.................................................................................................................................. 121 3.2.1 INTRODUCCIÓN.................................................................................................................. 121 3.2.2 Diseño de Pruebas................................................................................................................. 121 3.2.2.1 Pruebas Clientes.......................................................................................................................... 121 3.2.2.2 Prueba Libros .............................................................................................................................. 125 3.2.2.3 Prueba Compra de Libros............................................................................................................ 128 3.2.2.4 Prueba Venta de Libros ............................................................................................................... 133 3.2.2.5 Prueba Proveedores..................................................................................................................... 138 3.2.2.6 Prueba Reporte Compra de Libros .............................................................................................. 142 3.2.2.7 Prueba Reporte Ventas de Libros ................................................................................................ 143 3.2.3 Resultados: ............................................................................................................................ 144 CAPITULO 4. 4.1 CASO DE ESTUDIO. ................................................................................................ 145 IMPLANTACIÓN DEL SISTEMA...................................................................................................... 145 4.1.1 Selección del Ambiente.......................................................................................................... 145 4.1.2 Ambiente Tecnológico ........................................................................................................... 145 4.1.2.1 Comunicaciones: ......................................................................................................................... 145 4.1.2.2 Servidores: .................................................................................................................................. 145 4.1.3 Implantación.......................................................................................................................... 146 4.1.4 Implantación en el Servidor................................................................................................... 146 4.1.4.1 Creación de la Base de Datos ...................................................................................................... 146 4.1.4.2 Migración de datos de empleados y perfiles de seguridad .......................................................... 146 4.1.5 Implantación en el Servidor................................................................................................... 146 4.1.6 Evaluación de la Aplicación.................................................................................................. 147 4.1.6.1 PARÁMETROS DE EVALUACIÓN......................................................................................... 147 4.1.6.2 TABLA DE EVALUACIÓN ...................................................................................................... 149 CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES. ...................................................... 151 5.1 CONCLUSIONES. .......................................................................................................................... 151 5.2 RECOMENDACIONES:................................................................................................................... 153 5.3 GLOSARIO................................................................................................................................ 154 5.4 BIBLIOGRAFIA........................................................................................................................ 156 7 INDICE DE FIGURAS FIGURA 1. VENTAJAS COMPETITIVAS ........................................................................................................ 10 FIGURA 2. EXPLOTACIÓN DE LOS RECURSOS DE HARDWARE DEL LADO DEL CLIENTE ............................... 15 FIGURA 3. ACTUALIZACIONES AUTOMÁTICAS ........................................................................................... 18 FIGURA 4. ADAPTACIÓN A LOS DISPOSITIVOS CLIENTE .............................................................................. 19 FIGURA 5. ARQUITECTURA DE UN SMART CLIENT..................................................................................... 20 FIGURA 6. ESTRUCTURA DE OFFLINE ........................................................................................................ 26 FIGURA 7. CONECTIVIDAD CON DIVERSOS ORÍGENES DE DATOS ................................................................ 28 FIGURA 8. USO DE XML EN APLICACIONES SMART CLIENT OFFICE.......................................................... 31 FIGURA 9. ARQUITECTURA DE UNA APLICACIÓN SMART CLIENT MÓVIL .................................................. 33 FIGURA 10. LA VIDA DEL PROCESO UNIFICADO ........................................................................................... 40 FIGURA 11. DIAGRAMA DE CASO DE USO PRINCIPAL .................................................................................. 51 FIGURA 12. DIAGRAMA DE CASOS DE USO – ADMINISTRAR CLIENTES ....................................................... 52 FIGURA 13. DIAGRAMA DE CASOS DE USO – ADMINISTRAR VENTA DE LIBROS .......................................... 52 FIGURA 14. DIAGRAMA DE CASOS DE USO – ADMINISTRAR COMPRA DE LIBROS ....................................... 53 FIGURA 15. DIAGRAMA DE CASOS DE USO – ADMINISTRAR LIBROS ........................................................... 54 FIGURA 16. DIAGRAMA DE CASOS DE USO – ADMINISTRAR PROVEEDORES ............................................... 54 FIGURA 17. DIAGRAMA DE CASOS DE USO – REPORTES.............................................................................. 55 FIGURA 18. PAQUETE ADMINISTRACIÓN ..................................................................................................... 80 FIGURA 19. PAQUETE SEGURIDAD .............................................................................................................. 80 FIGURA 20. PAQUETE ÓRDENES DE COMPRA .............................................................................................. 80 FIGURA 21. PAQUETE VENTAS .................................................................................................................... 81 FIGURA 22. ARQUITECTURA DEL SISTEMA SMARTBOOKSB.................................................................... 81 FIGURA 23. MODELO DEL DOMINIO ............................................................................................................ 83 FIGURA 24. DIAGRAMA DE CLASES ............................................................................................................. 84 FIGURA 25. DIAGRAMA DE SECUENCIA - ADMINISTRACIÓN VENTA DE LIBROS .......................................... 86 FIGURA 26. DIAGRAMA DE SECUENCIA - ADMINISTRACIÓN DE PROVEEDORES........................................... 87 FIGURA 27. DIAGRAMA DE SECUENCIA - ADMINISTRACIÓN DE CLIENTES .................................................. 88 FIGURA 28. DIAGRAMA DE SECUENCIA - ADMINISTRACIÓN DE ÓRDENES DE COMPRA ............................... 89 FIGURA 29. DIAGRAMA DE SECUENCIA - ADMINISTRACIÓN DE LIBROS ...................................................... 90 FIGURA 30. DIAGRAMA DE SECUENCIA - REPORTES.................................................................................... 91 FIGURA 31. DIAGRAMA DE COLABORACIÓN – ADMINISTRAR CLIENTES ..................................................... 92 FIGURA 32. DIAGRAMA DE COLABORACIÓN – ADMINISTRAR LIBROS......................................................... 92 FIGURA 33. DIAGRAMA DE COLABORACIÓN – ADMINISTRAR PROVEEDOR ................................................. 93 FIGURA 34. DIAGRAMA DE COLABORACIÓN – INGRESO DE PEDIDO DE VENTA ........................................... 93 FIGURA 35. DIAGRAMA DE COLABORACIÓN – CONSULTA PEDIDO DE VENTA ............................................ 94 8 FIGURA 36. DIAGRAMA DE COLABORACIÓN – ACTUALIZACIÓN DE PEDIDO DE VENTA .............................. 95 FIGURA 37. DIAGRAMA DE COLABORACIÓN – AUTORIZAR PEDIDO DE VENTA ........................................... 96 FIGURA 38. DIAGRAMA DE COLABORACIÓN – GENERAR FACTURA ............................................................ 97 FIGURA 39. DIAGRAMA DE COLABORACIÓN – INGRESAR ORDEN DE COMPRA............................................ 98 FIGURA 40. DIAGRAMA DE COLABORACIÓN – CONSULTAR ORDEN DE COMPRA ........................................ 99 FIGURA 41. DIAGRAMA DE COLABORACIÓN – ACTUALIZAR ORDEN DE COMPRA ..................................... 100 FIGURA 42. DIAGRAMA DE COLABORACIÓN – AUTORIZAR ORDEN DE COMPRA ....................................... 101 FIGURA 43. DIAGRAMA DE COLABORACIÓN – REPORTE DE ÓRDENES DE COMPRA .................................. 102 FIGURA 44. DIAGRAMA DE COLABORACIÓN – REPORTE PEDIDOS DE VENTA ........................................... 103 FIGURA 45. MODELO RELACIONAL LÓGICO .............................................................................................. 107 FIGURA 46. MODELO RELACIONAL FÍSICO ................................................................................................ 108 FIGURA 47. DIAGRAMA DE NAVEGACIÓN – PERFIL ADMINISTRADOR ....................................................... 109 FIGURA 48. DIAGRAMA DE NAVEGACIÓN – PERFIL VENDEDOR ................................................................ 109 FIGURA 49. DIAGRAMA DE NAVEGACIÓN – PERFIL JEFE DE VENDEDORES ............................................... 110 FIGURA 50. DIAGRAMA DE NAVEGACIÓN – PERFIL JEFE DE COMPRAS ..................................................... 110 FIGURA 51. DISEÑO DE INTERFAZ - INGRESO AL SISTEMA......................................................................... 111 FIGURA 52. DISEÑO DE INTERFAZ - MENÚ ................................................................................................ 112 FIGURA 53. DISEÑO DE INTERFAZ – PRINCIPAL ......................................................................................... 113 FIGURA 54. DIAGRAMA DE COMPONENTES ............................................................................................... 116 FIGURA 55. DIAGRAMA DE DESPLIEGUE ................................................................................................... 120 9 INDICE DE TABLAS TABLA 1. LISTA DE ACTORES................................................................................................................... 50 TABLA 2. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR DATOS DE PROVEEDOR................................ 56 TABLA 3. ESPECIFICACIÓN DE CASO DE USO - INGRESAR DATOS DE PROVEEDOR ................................... 57 TABLA 4. ESPECIFICACIÓN DE CASO DE USO - ACTUALIZAR PROVEEDOR ............................................... 58 TABLA 5. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR DATOS DE CLIENTES.................................... 59 TABLA 6. ESPECIFICACIÓN DE CASO DE USO - INGRESAR DATOS DEL CLIENTE ....................................... 60 TABLA 7. ESPECIFICACIÓN DE CASO DE USO - ACTUALIZAR CLIENTE ..................................................... 61 TABLA 8. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR PEDIDO DE VENTA ....................................... 62 TABLA 9. ESPECIFICACIÓN DE CASO DE USO - INGRESAR PEDIDO DE VENTA .......................................... 64 TABLA 10. ESPECIFICACIÓN DE CASO DE USO - ACTUALIZAR PEDIDO DE VENTA...................................... 66 TABLA 11. ESPECIFICACIÓN DE CASO DE USO - AUTORIZAR PEDIDO DE VENTA ....................................... 67 TABLA 12. ESPECIFICACIÓN DE CASO DE USO - GENERAR FACTURA......................................................... 68 TABLA 13. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR ORDEN DE COMPRA..................................... 69 TABLA 14. ESPECIFICACIÓN DE CASO DE USO - INGRESAR ORDEN DE COMPRA. ....................................... 71 TABLA 15. ESPECIFICACIÓN DE CASO DE USO - ACTUALIZAR ORDEN DE COMPRA.................................... 73 TABLA 16. ESPECIFICACIÓN DE CASO DE USO - AUTORIZAR ORDEN DE COMPRA. .................................... 74 TABLA 17. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR DATOS DE LIBROS ...................................... 75 TABLA 18. ESPECIFICACIÓN DE CASO DE USO - INGRESAR DATOS DE LIBRO. ........................................... 76 TABLA 19. ESPECIFICACIÓN DE CASO DE USO - ACTUALIZAR LIBRO......................................................... 77 TABLA 20. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR DATOS DE COMPRAS. ................................... 78 TABLA 21. ESPECIFICACIÓN DE CASO DE USO - CONSULTAR DATOS DE VENTAS. ...................................... 79 TABLA 22. ESPECIFICACIÓN DEL DIAGRAMA DE CLASES ........................................................................... 85 TABLA 23. CLASES MÓDULO DE VENTAS ................................................................................................ 104 TABLA 24. CLASES MÓDULO DE COMPRAS .............................................................................................. 105 TABLA 25. CLASES MÓDULO DE ADMINISTRACIÓN ................................................................................. 105 TABLA 26. CLASES MÓDULO DE SEGURIDAD........................................................................................... 106 TABLA 27. DESCRIPCIÓN DE HERRAMIENTAS .......................................................................................... 115 TABLA 28. ESTÁNDARES DE PROGRAMACIÓN .......................................................................................... 115 TABLA 29. DESCRIPCIÓN DE COMPONENTE – CLSVENTAS ....................................................................... 117 TABLA 30. DESCRIPCIÓN DE COMPONENTE – CLSADMINISTRACIÓN ........................................................ 117 TABLA 31. DESCRIPCIÓN DE COMPONENTE – CLSCOMPRAS .................................................................... 118 TABLA 32. DESCRIPCIÓN DE COMPONENTE – CLSBDD............................................................................ 118 TABLA 33. DESCRIPCIÓN DE COMPONENTE –CLSGESTORCONEXION ....................................................... 119 TABLA 54. EVALUACIÓN DE LAS PRUEBAS ............................................................................................... 149 10 CAPITULO 1. 1.1 AMBIENTE SMART CLIENT. 1.1.1 DEFINICIÓN SMART CLIENT. Las aplicaciones Smart Client son una alternativa poderosa para hacer más ligeras las aplicaciones del cliente. Estas pueden proporcionar una interfase de usuario rica y sensible, la habilidad de trabajar desconectado, y una manera de aprovechar los recursos de hardware y software. Además, éstas pueden ser diseñadas para correr en un espectro amplio de dispositivos clientes, tales como: desktop PCs, Tablet PCs, y dispositivos móviles portátiles (Pocket PCs y Smartphones). Las aplicaciones Smart Client dan a los usuarios acceso a la información y a los servicios remotos dentro de un poderoso e intuitivo ambiente cliente, y es una solución eficaz para las aplicaciones flexibles orientadas a usuarios, además de incrementar la productividad y satisfacción del usuario Las aplicaciones Smart Client pueden diseñarse para combinar los beneficios tradicionales de una aplicación Cliente Rica o Rich Client con los beneficios de la manejabilidad de una aplicación Cliente Delgada o Thin Client A Cola Ventajas D Figura 1. A Abs Ventajas Competitivas1 “Las aplicaciones Smart Client dan a los usuarios acceso a la información y a los servicios remotos dentro de un poderoso e intuitivo ambiente cliente” 1 Microsoft Corporation, “Architecting Smart Client Solution”, http:// msdn.microsoft.com/seminar/shared/asp/view.asp/?url=/Seminar/en/20040412SmartClient03/manifest.xml& rate=1 11 1.1.1.1 Aplicaciones Clientes Ricas o Rich Client Applications A mediados de los 90`s el número de aplicaciones Rich Client desarrolladas para los sistemas operativos de Microsoft Windows incrementó dramáticamente. Estos clientes fueron diseñaron para aprovechar los recursos locales de hardware y las características de la plataforma del sistema operativo del cliente. A pesar de la funcionalidad impresionante de muchas de estas aplicaciones, tienen limitaciones. Muchas de estas aplicaciones son autosuficientes y operan en la computadora del cliente, con pequeño o ningún conocimiento del ambiente en cual ellos operan. Este ambiente incluye otras computadoras y cualquier servicio en la red, así como cualquier otra aplicación en la computadora del usuario. Muy a menudo, la integración entre las aplicaciones se limita a usar las característica de “cortar ó copiar y pegar” proporcionadas por Windows para transferir cantidades pequeñas de datos entre las aplicaciones. Hay tecnologías para aumentar la conectividad de aplicaciones Rich Client. Por ejemplo, las aplicaciones de dos capas permiten a varios usuarios acceder a datos comunes que residen en la red, y DCOM permite a las aplicaciones volverse más distribuidas. (Con DCOM, la lógica y el estado no esta atado nunca más a la computadora cliente y, en cambio, están encapsulados dentro de objetos que son distribuidos a través de varias computadoras). Sin embargo, las aplicaciones conectadas son considerablemente más complejas de desarrollar. Así como el tamaño y la complejidad de estas aplicaciones distribuidas crece, cualquier acoplamiento firme entre las aplicaciones cliente y los servicios que ellos consumen se hace mucha más difícil de mantener. Mientras que los Rich Client proporcionan típicamente una experiencia al usuario de alta calidad, de buena repuesta y tienen un bueno soporte para el desarrollador y la plataforma, estos son muy difíciles de desplegar y 12 mantener. Así como la complejidad de las aplicaciones y la plataforma del cliente aumentan, así también las dificultades asociadas con el despliegue de la aplicación en la computadora del cliente de una manera fiable y segura. Una aplicación puede interrumpir otra aplicación fácilmente si se despliega un componente incompatible compartido o librería, este es un fenómeno conocido como la fragilidad de la aplicación. Nuevas versiones de la aplicación se convierten en utilizables al redesplegar la aplicación entera, lo cual puede incrementar un problema de fragilidad de la aplicación. 1.1.1.2 Aplicaciones Clientes Delgadas Thin Client Applications El Internet proporciona una alternativa al modelo del Rich Client tradicional que resuelve muchos de los problemas asociados con el despliegue de la aplicación y su mantenimiento. Las Thin Client, aplicaciones basadas en navegadores son desplegadas y actualizadas en un Servidor Web Central; por lo tanto, eliminan la necesidad de desplegar y administrar explícitamente cualquier parte de la aplicación en la computadora del cliente. Este modelo les permite a las compañías exponer muy eficientemente sus aplicaciones a una audiencia externa, amplia y diversa. Debido a que los Thin Clients han demostrado ser eficaces al resolver algunos de los problemas de despliegue y manejabilidad, son usados para proporcionar el acceso a muchas aplicaciones de líneas de negocio (LOB), a usuarios dentro de una organización, así como el acceso externo a las aplicaciones por parte de clientes y socios. Esto a pesar del hecho de que las necesidades y expectativas de estos dos tipos de usuarios son a menudo sumamente diferentes. Las aplicaciones Thin Client tienen algunas desventajas. El navegador debe tener una conexión de red en todo momento. Esto significa que 13 usuarios móviles no tienen el acceso a las aplicaciones si ellos están desconectados, entonces ellos deben reingresar los datos cuando regresen a la oficina. También, características comunes entre aplicaciones tales como “arrastrar y colocar”, “deshacer-rehacer” y “ayuda sensitiva al contexto” pueden no estar disponibles, lo cual puede reducir la usabilidad de la aplicación. Debido a que la inmensa mayoría de la lógica de la aplicación y el estado se encuentra en el servidor, los Thin Client hacen solicitudes de datos y procesamiento frecuentemente. El navegador debe esperar por una repuesta antes de que el usuario pueda continuar usando la aplicación; por consiguiente, la aplicación tendrá una respuesta más lenta que una aplicación Rich Client equivalente. Este problema se incrementa en condiciones de bajo ancho de banda o alta latencia, y las consecuencias de los problemas de rendimiento pueden llevar a una reducción significativa de la usabilidad de la aplicación y eficiencia del usuario. Una aplicación LOB que requiere gran entrada de datos frecuente a través de ventanas múltiples y/o la navegación puede ser afectada particularmente por este problema. 1.1.2 CARACTERÍSTICAS SMART CLIENT Las aplicaciones Smart Client pueden ser diseñadas para combinar los beneficios de una aplicación Rich Client con las ventajas de despliegue y administración de una aplicación Thin Client, aunque la naturaleza del balance entre las dos estrategias depende del escenario exacto. Las aplicaciones Smart Client tienen a menudo requisitos muy diversos, y así varía mucho en el diseño e implementación. Sin embargo, todos los Smart Client comparten algunas o todas de las siguientes características: • Hacen uso de recursos locales 14 • Hacen uso de recursos de la red • Soporte a usuarios ocasionalmente conectados • Proporcionan instalación y actualización inteligentes • Se adaptan a los dispositivos cliente 1.1.2.1 Usan los Recursos Locales: Una aplicación Smart Client bien diseñada se aprovecha del hecho de que el código y los datos son desplegados en el cliente, además de ejecutarse y accederse localmente. Esto provee una aplicación con una interfaz de usuario rica y de buena respuesta, además de capacidades poderosas de procesamiento en el lado del cliente. Por ejemplo, podría permitirle al usuario realizar manipulación de datos complejos, visualización, búsqueda, u operaciones de ordenamiento. Los Smart Client pueden aprovechar los recursos de hardware del lado del cliente (como teléfonos o lectores del código de barras) y otro software y aplicaciones. Esto ha hecho que resuelvan problemas que una aplicación Thin Client no puede resolver correctamente, tal como aplicaciones de punto de venta. Los Smart Client también pueden tomar la ventaja del software local, como las aplicaciones Microsoft Office, o cualquier aplicación LOB instalada en la computadora del cliente. La creación de soluciones que se integran y coordinan muchas aplicaciones LOB, les permite a los usuarios trabajar más eficientemente, tomar mejores decisiones, y reducir errores de ingreso de datos. Tales soluciones también permitir a su aplicación integrarse más herméticamente con el ambiente de trabajo del usuario, por ejemplo teniendo una interfaz de usuario familiar o personalizada, lo que puede conducir a costos reducidos de capacitación. Otras aplicaciones cliente pueden integrarse o coordinarse con las aplicaciones Smart Client para proporcionar una solución global coherente y eficaz. Estas aplicaciones también deben ser conscientes del contexto en 15 el cual las aplicaciones están siendo usadas, y deben adaptarse a ese contexto para ayudar al usuario tanto como sea posible; por ejemplo, almacenando preventivamente en caché datos apropiados y útiles de acuerdo al patrón de uso o el perfil del usuario. Aumentando al máximo el uso e integrando los recursos locales en sus aplicaciones Smart Client permitirán a la aplicación aprovechar más eficazmente el hardware que ya está disponible. Muy a menudo, poderosos procesadores, memoria, y capacidades gráficas avanzadas no se usan. El uso de los recursos en la computadora cliente puede también reducir requerimientos de hardware en el lado del servidor. Figura 2. Explotación de los recursos de Hardware del lado del cliente2 1.1.2.2 Usan los Recursos de la Red Los Smart Client pueden consumir y usar diferentes servicios y datos por medio de la red. Ellos son una manera efectiva de recuperar los datos de diversas fuentes y pueden ser diseñados para analizar o agregar los datos, permitiendo al usuario tomar decisiones mejores y más eficientes. Por ejemplo, un Smart Client podría usar un servicio de cartografía para proveer detalles de ubicación e instrucciones de manejo. 2 Microsoft Corporation, “Architecting Smart Client Solution”, http:// msdn.microsoft.com/seminar/shared/asp/view.asp/?url=/Seminar/en/20040412SmartClient03/manifest.xml& rate=1 16 Las aplicaciones Smart Client deben estar conectadas tanto como sea posible y deben hacer uso de los recursos y servicios que están disponibles para ellas en la red. No deben ser aplicaciones autosuficientes y siempre deben formar parte de una solución distribuida más grande. Como mínimo, una aplicación Smart Client debe usar los servicios centralizados que ayudan a mantener la aplicación y proveen servicios de despliegue y actualización. La naturaleza de conexión de las aplicaciones Smart Client les permite proporcionar valiosa agregación de los datos, análisis, y servicios de transformación. Estas pueden permitirles a los usuarios colaborar en las tareas en tiempo real o durante un período de tiempo. En muchos casos, una aplicación Smart Client puede proporcionar características parecidas a un portal Web al usuario, permitiendo que datos dispares y servicios estén coordinados e integrados en una solución general. 1.1.2.3 Dan soporte a los usuarios ocasionalmente conectados. Los Smart Client pueden ser diseñados para proporcionar funcionalidad a usuarios que están conectados ocasionalmente a la red, permitiéndole al usuario continuar trabajando eficazmente cuando esté explícitamente desconectado, en condiciones de bajo ancho de banda o alta latencia en la red, o cuando la conexión es intermitente. Incluso cuando el cliente se conecta a la red la mayoría del tiempo, las aplicaciones Smart Client pueden mejorar el rendimiento y usabilidad almacenando en caché los datos y administrando la conexión de forma inteligente. Para las aplicaciones móviles, los Smart Client pueden optimizar también el ancho de banda de la red, como por ejemplo: haciendo solicitudes programadas al servidor. El ser capaz de trabajar mientras esta desconectado u conectado aumenta la productividad y la satisfacción del usuario. Una aplicación Smart Client 17 debe apuntar a proporcionar tanta funcionalidad como sea posible cuando se esta desconectado. 1.1.2.4 Proveen Instalación y Actualización Inteligente Algunos de los problemas más grandes con los Rich Client tradicionales ocurren cuando la aplicación es desplegada o actualizada. Muchas aplicaciones Rich Client tienen un gran número requisitos de instalación complejos y pueden compartir código registrando componentes y/o instalando DLLs en una ubicación común, llevando a una fragilidad de la aplicación y dificultades de actualización. Las aplicaciones Smart Client pueden diseñarse para manejar su despliegue y actualización de una manera mucho más inteligente y flexible que las aplicaciones Rich Client tradicionales. Ellas pueden evitar éstos problemas comunes, lo cual puede ayudar a reducir los costos de administración de la aplicación. Hay varias maneras diferentes de desplegar Smart Client, tales como: copiar archivos hacia una computadora local, transmitir el código automáticamente de un servidor central usando despliegue automático, o desplegando paquetes de Windows Installer usando una tecnología empresarial tal como Microsoft Systems Management Server (SMS). El método que se usará dependerá de una situación específica. Las aplicaciones Smart Client pueden actualizarse automáticamente, ya sea cuando están corriendo o en segundo plano. Esta capacidad les permite ser actualizadas en una basándose en una base perfil por perfil; actualizadas de una manera segmentada, permitiendo que las aplicaciones sean perfiladas a grupos piloto o conjuntos limitados de usuario; o actualizadas de acuerdo a una calendarización establecida. 18 Figura 3. Actualizaciones automáticas3 Las aplicaciones Smart Client pueden actualizarse automáticamente 1.1.2.5 Proveen adaptación a los dispositivos cliente Los Smart Client también pueden proporcionar un ambiente flexible y personalizado, permitiéndole al usuario configurar la aplicación para apoyar su manera preferida de trabajar. Las aplicaciones Smart Client no se restringen a computadoras de escritorio o portátiles. Mientras se incrementa la conectividad y el poder de los dispositivos de pequeña escala, la necesidad de aplicaciones cliente útiles que proporcionan el acceso a los datos esenciales y servicios en dispositivos múltiples se incrementa también. Los Smart Client pueden ser diseñados para adaptarse al ambiente del anfitrión, proporcionando funcionalidad apropiada para el dispositivo en el cual se están ejecutando. Por ejemplo, una aplicación Smart Client diseñada para ejecutarse en Pocket PC debe proporcionar una interfase de usuario que se ajuste al uso de un stylus en un área de pantalla pequeña. En muchos casos, se necesitará diseñar múltiples versiones de una aplicación Smart Client, cada una tendrá por objetivo un tipo de dispositivo específico para tomar ventaja de las características particulares soportadas por el dispositivo. Debido a que los dispositivos de pequeña escala están limitados en su capacidad de entregar un rango completo de características 3 Microsoft Corporation, “Architecting Smart Client Solution”, http:// msdn.microsoft.com/seminar/shared/asp/view.asp/?url=/Seminar/en/20040412SmartClient03/manifest.xml& rate=1 19 de aplicaciones Smart Client, estás proporcionan acceso móvil a solamente a un subconjunto de los datos y servicios que una aplicación Smart Client completa proporciona, o estas pueden ser usadas para recopilar y agregar los datos cuando el usuario es móvil. Estos datos pueden entonces ser analizados o procesados por una aplicación Smart Client más completa o por una aplicación del lado del servidor. Un conocimiento de las capacidades y uso del ambiente del dispositivo designado, no importa si es una computadora de escritorio, portátil, tablet, o dispositivo móvil, y la capacidad de ajustar la aplicación para proporcionar la funcionalidad más apropiada son características esenciales de muchas aplicaciones Smart Client. Figura 4. 1.1.3 Adaptación a los dispositivos cliente4 ARQUITECTURA SMART CLIENT La arquitectura de un Smart Client está configurada en base a capas, en los siguientes párrafos se realiza una descripción de cada una de éstas capas, así como también se exponen sus características principales. 4 Microsoft Corporation, “Architecting Smart Client Solution”, http:// msdn.microsoft.com/seminar/shared/asp/view.asp/?url=/Seminar/en/20040412SmartClient03/manifest.xml& rate=1 20 Figura 5. Arquitectura de un Smart Client 1.1.3.1 Caché Cuando se construye aplicaciones Smart Client, los arquitectos y desarrolladores se enfrentan a muchos retos. El caché de datos puede ayudar a sobrellevar algunos de éstos retos, incluyendo los siguientes: Rendimiento. El caché de datos mejora el rendimiento de la aplicación al almacenar datos relevantes lo más cerca posible del consumidor de datos. Esto evita creación repetitiva de datos, procesamiento y transporte. Escalabilidad. Almacenar los datos en el caché ayuda a conservar recursos y aumenta la escalabilidad conjuntamente con el incremento de la demanda en la aplicación. Disponibilidad. Al almacenar datos en el caché local, la aplicación puede ser capaz de sobrevivir a fallas del sistema, tales como latencia de la red, problemas con el Web Service y fallas de Hardware. El caché de datos es adecuado para cualquiera de las siguientes situaciones: • Acceso repetitivo a datos estáticos o a datos que rara vez cambian 21 • • El acceso a los datos es costoso en términos de creación, acceso y transporte. Los datos deben estar siempre disponibles, incluso cuando el origen, tal como un servidor, no está disponible. 1.1.3.2 Configuración. Casi toda aplicación requiere alguna forma de información para configuración. Esta información puede ser tan simple como una cadena de conexión a base de datos o tan compleja como información de preferencia de usuario múltiple y jerárquica. Donde y cómo almacenar los datos de configuración de una aplicación son preguntas que un desarrollador debe enfrentar. Soluciones típicas incluyen lo siguiente: • • • Uso de archivos de configuración tales como archivos XML o archivos .ini de Windows Uso del registro de Windows Uso de base de datos tal como Microsoft SQL Server Cada una de estas alternativas tiene sus ventajas y debilidades; no hay solución que sea la mejor para cualquier situación. En una aplicación simple, se puede adoptar más de una estrategia para acomodarse a tipos diferentes de configuraciones que su aplicación necesite. Por ejemplo, si la aplicación corre en ambientes diferentes, se puede necesitar múltiples soluciones de almacenamiento de la configuración. Otros factores importantes a considerarse incluyen el asegurar la seguridad y la integridad de los datos de configuración de la aplicación y el minimizar el impacto del almacenamiento sobre el rendimiento de la aplicación. Esta capa está diseñada para cumplir los siguientes objetivos: • • Proveer una interfaz simple para leer y escribir datos de configuración Para aislar a las aplicación del lugar de almacenamiento físico de los datos de configuración. 22 • Para proveer un modelo extensible que permita lugares de almacenamiento personalizado y características de representación de la configuración en tiempo de ejecución. 1.1.3.3 Acceso a datos. Esta capa se utiliza en una variedad de situaciones, tales como leer los datos para desplegarlos, obtener datos para usarlos a través de otras capas y para devolver los datos que han sufrido cambios de vuelta al sistema de base de datos. Esta capa incluye soporte para el uso de procedimientos almacenados y para tareas comunes como la administración de conexiones y la creación y almacenamiento en caché de parámetros que están encapsulados en la capa de aplicación. Esta capa posee las siguientes características: • Ayuda a mantener los datos consistentes, tanto en la aplicación como a través de la empresa. • Reduce la dificultad de cambiar la base de datos física. • Permite almacenar en caché datos usados frecuentemente Para asegurar que la consistencia de los datos se mantenga, y para evitar que los datos sean usados de manera impropia, esta capa toma en cuenta que los cambios realizados en el cliente son monitoreados. Tales cambios son “tentativos” hasta que se han sincronizado correctamente con el servidor. 1.1.3.4 Criptografía La capa de criptografía simplifica el uso de criptografía en las aplicaciones. Las aplicaciones pueden hacer uso de ésta capa para una variedad de actividades, tales como cifrar información, crear un hash a partir de ciertos 23 datos, y comparar valores hash para verificar que los datos no han sido alterados. Tiene las siguientes características: • Provee de implementaciones que se pueden usar para resolver problemas comunes de criptografía en una aplicación. • Ayuda a mantener prácticas de criptografía consistentes, tanto en la aplicación como a través de la empresa. • Es extensible, soportando implementaciones adicionales de proveedores criptográficos. Existen aplicaciones que requieren de características de encriptación y hashing para cumplir con los requerimientos de seguridad en una organización. Los datos que son creados y mantenidos por las aplicaciones, así como información de configuración, muchas veces necesitan ser cifrados. Adicionalmente, las claves que son usadas para acceder a la funcionalidad de una aplicación o a los datos, necesitan ser cifradas. Esta capa fue diseñada para cumplir con los siguientes objetivos: • Proveer una interfaz simple para la funcionalidad más comúnmente requerida. • Encapsular la lógica que es usada para realizar las tareas más comunes de criptografía en una aplicación. • Presentar un modelo estándar y consistente para tareas de criptografía comunes • Asegurarse de la capa de aplicación es extensible 1.1.3.5 Offline. A medida que las organizaciones se hacen altamente dependientes de los sistemas de TI y los datos y los servicios que proveen, se vuelve 24 importante para los usuarios el ser capaces de trabajar fuera de línea (offline). El proveer soporte para acceso offline a los datos y los servicios, mediante el uso de la misma aplicación, no importa si en línea u offline, le permite al usuario mantenerse productivo todo el tiempo y ayuda a mantener la consistencia y la calidad de los datos. Mientras que la conectividad a la red es más que obvia, es importante que tener una conexión a la red no es suficiente para garantizar acceso a una aplicación y a los datos y servicios que representa. Las aplicaciones de la línea de negocio (LOB) dentro del firewall pueden ser no asequibles para los usuarios cuando están fuera de la oficina, a menos que la organización invierta en una infraestructura VPN. Aún si éste fuera el caso, alterar una conexión puede consumir tiempo y dinero. Acceso breve a la aplicación es inapropiado o imposible muchas veces llevando a pérdida de oportunidades o inconsistencia en los datos. Algunas veces los usuarios pueden planificar el estar fuera de línea (offline). Por ejemplo, un trabajador en ventas que está fuera de la oficina por un período específico de tiempo o un usuario que trabaja desde el hogar. Algunas veces, es difícil planificar un escenario offline. Por ejemplo, un usuario en una bodega con un Tablet PC puede tener una conexión wireless que se “cae” periódicamente. Otra consideración es la calidad de la conexión del usuario. Mientras que las organizaciones se vuelven mucho más distribuidas alrededor del mundo, la conectividad con la red puede sufrir de problemas de alta latencia y bajo ancho de banda. En cada uno de estos casos, una solución Smart Client puede proveer acceso robusto a la aplicación de tal manera que los efectos de los cambios en la conectividad pueden ser minimizados o eliminados. Guardando en caché los datos y la lógica en el lado del cliente de manera inteligente, y automáticamente ejecutando actualizaciones cuando es requerido, la aplicación puede proveer al usuario de una experiencia ininterrumpida independientemente de su estado de la conexión. Además, 25 un Smart Client puede asegurar que todas las llamadas a la red son manejadas en un hilo de ejecución en segundo plano de forma que la aplicación nunca tiene que esperar por una respuesta de la red, permitiéndole al usuario seguir trabajando sin importarle el estado de la red. Para soportar el trabajo fuera de línea se requiere de una infraestructura que permita almacenar las solicitudes de servicios de manera que puedan ser almacenados y ejecutados cuando el cliente restablezca la conexión. Esta infraestructura consiste en cuatro elementos: 1. Service Agent – Provee el punto de acceso primario al servicio. Maneja toda la interacción del cliente con el servicio y encapsula toda la lógica necesaria para permitir al cliente llamar al servicio. 2. Service Request – Todos los detalles de la llamada al servicio son encapsulados en este objeto. Las llamadas al servicio persisten en la cola hasta que el componente Executor está listo para procesarlas. 3. Service Request Queue – La cola que proporciona almacenamiento persistente a los objetos del servicio de llamados. 4. Executor – Es responsable de obtener las llamadas de servicio de la cola y ejecutarlas cuando el cliente se reconecta. Una vez finalizada la llamada al servicio, el Executor informa al agente de servicios, para que este informe al cliente. 26 Figura 6. Estructura de Offline5 1.2 TIPOS DE SMART CLIENT. Los Smart Client varían grandemente en el diseño e implementación, tanto en requisitos de la aplicación, como en el número de escenarios y ambientes en los cuales pueden usarse. Por consiguiente los Smart Client pueden tomar muchas diferentes formas y estilos. Estas formas pueden ser divididas en tres extensas categorías según la plataforma que la aplicación Smart Client tenga por objetivo: • Aplicaciones Smart Client Windows • Aplicaciones Smart Client Office • Aplicaciones Smart Client Móviles Es común para una aplicación Smart Client ser designada para una o más de estas plataformas, dependiendo del rol del usuario y la funcionalidad requerida. Tal flexibilidad es una de las fuerzas importantes de aplicaciones Smart Client. 5 Microsoft Corporation, “Smart Client Platform Architectural Guidance”, http://msdn.microsoft.com/smartclient/understanding/essentials/pagi/defaults.aspx 27 Es útil examinar brevemente cada tipo para que se pueda determinar qué estilo de aplicación sería mejora para adaptarse a la situación. 1.2.1 APLICACIONES SMART CLIENT WINDOWS Cuando se piensa en una aplicación Rich Client típicamente se puede pensar en una aplicación de escritorio que usa los recursos disponibles del sistema y eso proporciona una interfaz de usuario rica. Las aplicaciones Smart Client para Windows representan una evolución de aplicaciones Rich Client tradicionales, y proporcionan objetivos específicos y funcionales. Estos tipos de aplicaciones usan típicamente Windows Forms para proporcionar un estilo de interfaz de usuario familiar de Windows, donde la propia aplicación proporciona mucha de la funcionalidad y no confía en otra aplicación para proporcionar la interfaz de usuario principal. Tales Smart Client pueden ir desde aplicaciones simples ejecutadas sobre HTTP, hasta aplicaciones muy sofisticadas. Entre las características que provee este tipo aplicaciones tenemos: • Proporciona la interfaz del usuario rica o Interfaz mas intuitiva para los usuarios finales o Mayor funcionalidad de la interfaz para los usuarios finales o Mayor control sobre la interfaz del usuario • Interacción con los dispositivo locales • Sensibilidad del usuario • Soporte localizado / globalizado • Buen empaquetamiento y seguridad que las Aplicaciones Web • Despliegue "no-touch" / "click once" • Escenario tanto desconectado y reconectado. Una aplicación Smart Client Windows es conveniente en situaciones dónde una aplicación necesita ser desplegada y acceda como una aplicación familiar de tipo escritorio. Estos tipos de aplicaciones típicamente proporcionan la 28 mayoría de su funcionalidad ellos mismo, pero pueden integrarse o coordinarse con otras aplicaciones cuando sea necesario. Ellos proporcionan funcionalidad a la aplicación ajustándose a las tareas particulares, para proporcionar proceso específico, de alto rendimiento o capacidades gráficas. Las aplicaciones Smart Client Windows aplicaciones que corren en son muy convenientes para desktop, portátil, o tablet PCs. Además, ellas generalmente proporcionan funcionalidad que no se asocia herméticamente con un documento particular o tipo de documento. Estos tipos de aplicaciones pueden usarse en una gran variedad de situaciones, por ejemplo como aplicaciones LOB, financiera, científica, o de colaboración. Los ejemplos de estos tipos de aplicaciones son Microsoft Money y Microsoft Outlook®, que son de mensajería y colaboración al cliente. Figura 7. 1.2.2 Conectividad con diversos orígenes de datos6 APLICACIONES SMART CLIENT OFFICE El sistema Microsoft Office 2003 proporciona una plataforma útil en que cual construir las aplicaciones Smart Client, especialmente en el ambiente de la 6 Microsoft Corporation, “Microsoft smart clients: Power, performance, flexibility", http://www.microsoft.com/net/smartclient.aspx 29 empresa. Con una solución Smart Client Office, se puede integrar las fuentes de los datos, acensando a través de los servicios Web. Tales aplicaciones Smart Client pueden volverse una parte integrada del ciclo de manejo de información de una organización, no simplemente recipientes estáticos para los datos del documento. Ellos pueden proporcionar los datos de contexto sensibles tal como el usuario trabaja en un documento, así como workflow, guía de tarea, análisis de datos, reportes, y características de presentación que vuelven datos expuestos en los servicios Web dentro de información útil. Microsoft Office soporta XML y separa los datos de otros aspectos de un documento para que estos puedan ser reutilizar por otras aplicaciones. Porque los datos en las aplicaciones Microsoft pueden ser descritas por el mismo esquema definido del cliente de XML a través de múltiples aplicaciones, los desarrolladores pueden integrar esos datos en aplicaciones Smart Client. Microsoft Office 2003 tiene un número de características claves y opciones para construir soluciones Smart Client. Entre otras son: Smart Tags. Los Smart tags dan a las aplicaciones una manera de proveer a usuarios datos de contexto sensitivo que pertenecen al contenido de un documento y de permitir que ellos fácilmente vean y utilicen la información relevante al trabajar dentro de un documento. Por ejemplo, los smart tags se pueden utilizar para proporcionar el estado de cuenta para los clientes mientras estos hacen refieren dentro de un documento, o pueden ser utilizados para proporcionar la información de estado de una orden mientras se digita el ID de la orden. Esta retroalimentación decisiones más precisas mientras trabajan. permite a los usuarios tomar 30 Smart documents. Los Smart documents proporcionan una manera más poderosa para que el usuario interactúe con los documentos y los servicios Web del negocio. Los Smart documents son un nuevo tipo de modelo de solución para Word 2003 y Excel 2003 que tienen una estructura fundamental de XML y un panel de tareas personalizado. El panel de tareas se puede utilizar para exhibir la información del contenido, las tareas, las herramientas, los pasos siguientes, y otra información relevante al usuario. El usuario puede iniciar otras acciones y tareas para interactuar con el panel de tareas, permitiendo comprender las soluciones del negocio a ser construidas (estructuradas). Herramientas Microsoft Visual Studio® para Sistema Microsoft Office. Este conjunto de herramientas permite a los desarrolladores crear aplicaciones Smart Client que manejen código Office a ser usando por el Sistema de desarrollo Microsoft Visual Studio .NET. Los desarrolladores pueden separar soluciones de documento del código fundamental (una alternativa previa la modelo Smart Client que contiene Visual Basic para aplicaciones son los macros con lógica del negocio). Usando código administrado con Microsoft Office los desarrolladores proporcionan opciones más eficaces para crear, desplegar, y actualizar el manejo para soluciones Smart Client. Microsoft Office InfoPath™ 2003. InfoPath 2003 es una aplicación que puede recopilar datos estructurados del usuario usando una interfaz forma-como. InfoPath 2003 proporciona la ayuda para los servicios Web XML, un interfaz de usuario forma-basado, y el soporte para las tecnologías estándares tales como WSDL y UDDI. InfoPath 2003 soporta uso limitado fuera de línea permitiendo al usuario interactuar con la forma cuando este fuera de línea y después permitiendo que el usuario envíe la forma a un servicio Web cuando el usuario está conectado. 31 Figura 8. 1.2.3 Uso de XML en aplicaciones Smart Client Office7 VISIÓN GENERAL DE LAS APLICACIONES SMART CLIENT CON MICROSOFT OFFICE 2003. En el mercado competitivo y de gran movimiento de hoy en día, el acceso a los datos empresariales a cualquier hora, en cualquier lugar y desde cualquier dispositivo es una ventaja de negocio crítica. Recientemente, nuevas aplicaciones dinámicas basadas en .NET Framework han emergido de tal manera que pueden tomar ventaja de los modelos cliente-servicioservidor para distribuir y consumir datos a través de los XML Web Services. Usando XML Web Services para proveer acceso a sus propios datos del negocio, las organizaciones pueden actualizar continuamente el como y que información es compartida a través del Internet, con socios, clientes y empleados, y con sus propias intranet y aplicaciones de la línea de negocios (LOB) a lo largo de orígenes de datos dispersos. Con tecnología superior para soluciones Smart Client el Microsoft Office System ofrece a las organizaciones con características de análisis de datos, colaboración, reporteo y presentación poderosas, para convertir la información expuesta por los XML Web Services en información y oportunidades de negocio. 7 Microsoft Corporation, “Microsoft Office as a Smart Client”, http://www.microsoft.com/NET/smarclient_Offcie.aspx 32 Un Smart Client es una aplicación cliente diseñada para consumir XML Web Services e interactuar con los datos expuestos por los mismos, aun estando fuera de línea. A diferencia de las aplicaciones basadas en navegador, los Smart Clients muchas veces son soluciones que no dependen de una conexión al servidor para realizar su procesamiento; en cambio, la mayoría de la lógica y procesamiento de la aplicación ocurre en la maquina cliente usando funcionalidad rica. Con Microsoft Office 2003, una empresa puede integrar nuevos orígenes de datos con las interfaces de usuarios cómodos y familiares de Microsoft Office Word 2003, Microsoft Office Excel 2003, u otros programas de Microsoft Office System para desarrollar soluciones Smart Client flexibles e innovadoras. 1.2.4 APLICACIONES SMART CLIENT MÓVILES. Los Smart Client móviles son aplicaciones que funcionan en los dispositivos inteligentes, como: Pocket PCs, Smartphones, y otros dispositivos pequeños factor de forma tales como cajas de fijar-tapa (set-top). Estas aplicaciones son desarrolladas usando .NET Compact Framework, que es un subconjunto del NET Framework. El .NET Compact Framework tiene muchas de las características del .NET Framework completo, soporta XML, y utiliza servicios Web. Se optimiza para el uso en dispositivos pequeños factor de forma, e incluye a diseñador Windows para desarrollar la interfase de usuario. Usando Visual Studio .NET para Proyectos de Dispositivos, usted puede desarrollar a Smart Client que funcionarán en .NET Compact Framework. Este método permite que usted desarrolle, pruebe, y depure errores en aplicaciones que usan Visual Studio .NET en un emulador de dispositivos pequeños factor de forma (form factor). El uso de un emulador acelera significativamente el desarrollo y la prueba de estos tipos de aplicaciones. 33 Las aplicaciones Smart Client Móviles se utilizan típicamente para proporcionar el acceso móvil a los datos y servicios fundamentales, o para recolectar y agregar datos cuando el usuario este en movimiento. Los ejemplos de estos tipos de aplicaciones son aplicaciones acopiamiento de datos para seguro y finanzas, aplicaciones de administración de inventarios, y aplicaciones de administración de productividad del personal. Figura 9. 1.2.5 Arquitectura de una Aplicación Smart Client Móvil8 DESARROLLANDO APLICACIONES MÓVILES SMART CLIENT ORIENTADAS A SERVICIOS WEB La creación de aplicaciones para dispositivos móviles tiene su propio conjunto de retos. Además de esto, existe el problema de mantener la conectividad sobre lentas, caras e inestables. El trabajar con servicios Web y otros protocolos de red que fueron diseñados para banda ancha pueden convertir en un obstáculo para construir aplicaciones móviles. 8 Microsoft Corporation, “Microsoft Office as a Smart Client”, http://www.microsoft.com/NET/smarclient_Offcie.aspx 34 1.2.6 .NET COMPACT FRAMEWORK Y SMART CLIENT La adopción del .NET Compact Framework en dispositivos móviles basados en Windows (incluyendo PocketPC y Smartphones) permite extender la infraestructura Web Service existente para dar soporte a las aplicaciones móviles. El .NET Compact Framework tiene muchas ventajas sobre otras plataformas de tecnología móvil. Comparado con los Thin Client móviles basados en Micro navegador, los Smart Client basados en el .NET Compact Framework son más confiables y rápidos porque son menos dependientes de la red y pueden utilizar el caché agresivamente para reducir redundancias en la red. En las redes Wireless no confiables, caras y lentas de hoy en día, la habilidad de operación fuera de línea es crucial para el éxito de una aplicación móvil. Además los Smart Client ofrecen experiencias de usuario más ricas a través de interfaces de usuario mas interactivas que corren en el dispositivo localmente. Debido a que los dispositivos móviles tienen espacio de memoria y poder de procesamiento limitados, la mayoría de los Smart Client delegan algunas tareas intensivas que utilizan datos o cálculos para los servidores en el back-end. El .NET Compact Framework ofrece un soporte sobresaliente para los servicios XML Web, lo que permite construir Smart Clients conectados que fácilmente se integran en la infraestructura de servicios existentes. El .NET Compact Framework esta especialmente designado para seguir los mismos modelos de aplicación y las APIs disponibles en el .NET Framework regular. Junto con herramientas tales como Visual Studio .NET 2005, es muy fácil para un desarrollador de escritorio o del lado del servidor, el empezar a utilizar el Compact Framework. Sin embargo, a pesar de la similitud aparente entre los ambientes de desarrollo, los dispositivos móviles y las redes son diferentes de las PCs y las Ethernet en muchas formas fundamentales. Como desarrollador se debe entender los 35 requerimientos especiales y características de aplicaciones móviles que utilizan las redes. 1.3 HERRAMIENTAS Y TECNOLOGÍAS SMART CLIENT. 1.3.1 TECNOLOGÍA MICROSOFT. Los Web Services proveen las bases para el software Smart Client. Hoy en día, Microsoft ofrece un conjunto integral de tecnologías que proveen de buen soporte para los Web Services y entregan el potencial para crear soluciones Smart Client. Estas tecnologías incluyen: • El .NET Framework, que provee a los desarrolladores de un ambiente rico y administrado para crear aplicaciones que se utilizan en una variedad de dispositivos. • Microsoft Visual Studio ® .NET, el cual ofrece herramientas globales para construir rápidamente e integrar los Web Services con las aplicaciones, junto con una arquitectura abierta que permite a los desarrolladores el uso de cualquier lenguaje que utiliza el .NET Framework. • Microsoft Windows Server ™ 2003, un servidor empresarial de última generación que provee la plataforma para construir y ejecutar soluciones conectadas. • Microsoft Office Professional Edition 2003, lo cual incluye herramientas propias que permiten el desarrollo rápido de aplicaciones Smart Client. 1.3.2 TECNOLOGÍA JAVA. Para las aplicaciones Smart Client que poseen una aplicación Java en el dispositivo cliente, hay dos opciones: Java 2 Standard Edition (J2SE) y Java 2 Micro Edition (J2ME). Las aplicaciones basadas en J2SE son aplicaciones Java standalone, usando usualmente Personal Java. Personal Java es un subconjunto de J2SE con un Java Runtime Environment (JRE) más pequeño, 36 adecuado para la capacidad limitada de almacenamiento en los PDA. Las Java Virtual Machines (JVM) basadas en J2SE existen para una amplia variedad de dispositivos cliente, incluyendo Pocket PC y Symbian OS, Linux y dispositivos Palm OS. Cuando se toma en cuenta a J2ME, hay una variedad de opciones disponibles. Existen varios perfiles que son idóneos para diferentes dispositivos. El perfil de interés para aplicaciones Smart Client es el perfil Personal. Se espera que éste perfil reemplace a Personal Java con el tiempo, y se convierta en la plataforma ideal para las aplicaciones Java en dispositivos como los PDA y teléfonos inteligentes. 1.3.3 BASES DE DATOS Entre las herramientas de bases de datos más usadas para el almacenamiento de datos por parte de las aplicaciones Smart Client tenemos: 1.3.3.1 MSDE El Microsoft Data Engine es un descendiente directo de SQL Server 2000. Es una tecnología sólida pero le faltan las herramientas de administración de SQL Server 2000 Standard. También puede ser difícil instalar MSDE en un computador cliente. Debido a que es gratuito, no existen problemas de licenciamiento y soporta aplicaciones con transacciones y datos voluminosos. Desafortunadamente, es fácil para un hacker encontrar y recuperar los datos. 1.3.3.2 SQL Server 2005 Express Esta nueva versión de MSDE está mejorada. Mientras que no tiene muchas de las características del paquete completo de SQL Server, la edición Express tiene muchas de las características de administración incluidas. Es buena para aplicaciones con alto volumen de datos, pero también puede ser un buen objetivo de hackers. 37 1.3.3.3 SQL Anywhere. Este producto es de Sybase. Como SQL Server 2005 Express, es una base de datos robusta. Ofrece una gran variedad de características, incluyendo encriptación completa de los datos. Tiene, sin embargo, un alto precio. 1.3.3.4 VistaDB VistaDB 2.0 es una base de datos .NET que se entrega con su aplicación como un conjunto de DLLs. Soporta el estándar SQL-92 y provee un conjunto completo de componentes de acceso a datos que emulan a los que provee Microsoft para SQL Server y Oracle. Es una solución de base de datos robusta, capaz de manejar cargas de datos moderadas. No requiere de instalación, aparte de x-copy. La licencia permite distribución gratuita e ilimitada. 1.3.3.5 XML Debido a que se tiene que escribir la solución desde cero, es la opción que más tiempo consume. Se puede almacenar la aplicación en formato XML, en archivos planos, utilizando la máquina cliente. Se tiene control granular sobre cómo los datos está almacenados, y una vez que se carga un documento en un objeto XML Document, se pueden usar consultas xPath para obtener los datos. A menos que se cifren los archivos de datos XML, están sujetos al ataque de hackers. Requerimientos 1.4 METODOLOGÍA DE DESARROLLO. 1.4.1 INTRODUCCIÓN Las metodologías de Ivar Jacobson (OOSE), Rumbaugh (OMT) y RUP han sido las más populares entre los analistas y desarrolladores de software. Esto tiene su base en que cada uno de ellas es muy completa en cierta área del ciclo de vida del software, así por ejemplo, la OMT es fuerte en el análisis y débil en el diseño, OOSE es fuerte en el estudio de los 38 requerimientos y análisis y débil en las otras etapas del ciclo de vida del software y RUP está equilibrado por ser el producto final de tres décadas de desarrollo y uso práctico. RUP es muy fácil de aprender ya que para la mayoría de los proyectos, se ocupan en gran parte el mismo subconjunto de notaciones, además debido a su sencillez se ha extendido a varios niveles de ingeniería de software. 1.4.2 PROCESO UNIFICADO DE RATIONAL 1.4.2.1 Introducción El Proceso Unificado de Rational es una metodología de desarrollo de software orientada a objetos creada por Rational Software Corporation. Los creadores de la metodología son los mismos que los del UML (Unified Model Language): Ivar Jacobson, Grady Booch y James Rumbaugh, que respectivamente eran autores de las metodologías: Process Objectory, el método Booch y la metodología OMT. Como toda metodología de desarrollo software, su finalidad es convertir las especificaciones que da el cliente en un sistema. Las características que tiene el R.U.P. (Rational Unified Process) son: 1. Está basado en componentes. Estos componentes a su vez están conectados entre sí a través de interfaces. 2. Utiliza el UML como notación básica. 3. Dirigido por casos de uso. 4. Centrado en la arquitectura. 5. Ciclo de vida iterativo e incremental. Proceso dirigido por casos de uso Los casos de uso son los encargados de la captura de requisitos. Los objetivos de la captura de requisitos son dos: 1. Encontrar los verdaderos requisitos 2. Representarlos de un modo adecuado para los usuarios, clientes y desarrolladores. Proceso centrado en la arquitectura 39 La arquitectura es un conjunto de representaciones de un sistema tomadas cada una desde diferentes perspectivas. Proceso iterativo e incremental El proceso de desarrollo consta de una serie de hitos que dan el criterio a seguir por los diseñadores para dar el paso de una fase a la siguiente. Un proceso iterativo e incremental significa llevar a cabo un desarrollo en pequeños pasos. Para ello: 1. Se escoge una pequeña parte del sistema y se sigue con todo el ciclo de vida clásico en cascada (planificación, especificación, diseño, etc ). 2. Si estamos satisfechos con el paso anterior damos otro. Cada uno proporciona retroalimentación. 3. Las iteraciones son distintas. Al principio del proyecto proporcionan una comprensión de los requisitos, del problema, de los riesgos y el dominio de la solución; las últimas nos proporcionan la visión externa (producto para el cliente). En una fase se pasan por una serie de iteraciones e incrementos que nos llevan hasta esos hitos. Los criterios a seguir en las fases son: Inicio: Viabilidad. Elaboración: Capacidad de construir el sistema con un presupuesto limitado. Construcción: Sistema capaz de una operatividad inicial en el entorno del usuario. Transición: Sistema que alcanza operatividad final. 1. Inicio: Se describe el producto final. Se responde a las preguntas: ¿Cuáles son las principales funciones del sistema para sus usuarios más importantes?. La respuesta está en el modelo de casos de uso simplificado. ¿Cómo podría ser la arquitectura del sistema? ¿Cuál es el plan del proyecto y cuánto costará desarrollar el producto? 40 Figura 10. La vida del proceso unificado9 2. Elaboración: Se especifican en detalle la mayoría de los casos de uso y se diseña la arquitectura del sistema. La arquitectura se especifica en forma de vistas de todos los modelos del sistema y todas ellas especifican el sistema entero. 3. Construcción: Se construye el producto. Se utilizan la mayor parte de los recursos. Al finalizar se cubren todos los casos de uso. La pregunta es: ¿Cubre el producto las necesidades de los usuarios como para hacer una primera entrega? 4. Transición: El producto existe en versión Beta. Unos pocos usuarios experimentados prueban el producto. Tipos de defectos: a) Los que tienen importancia como para justificar una versión incremental (versión delta) 9 • JACOBSON Ivan; BOOCH Grday; RUMBAUGH Jame; Proceso Unificado de Desarrollo, Pearson Education, 200 41 b) Los que se pueden corregir en la siguiente versión. A su vez, cada fase puede tener varias iteraciones, cada una con cinco flujos de trabajo: Requisitos, Análisis, Diseño, Implementación y Prueba. 1.4.2.2 REQUISITOS Cada tipo de proyecto es diferente y tendrá una aproximación diferente pero se puede decir que un flujo de trabajo arquetípico tendrá que cubrir los siguientes puntos: 1. Enumerar los requisitos candidatos 2. Comprender el contexto del sistema o Modelado del dominio o Modelado del negocio 3. Capturar requisitos funcionales 4. Capturar requisitos no funcionales 1.4.2.2.1 Artefactos Los artefactos utilizados en la captura de requisitos son: 1. Modelo de casos de uso: 2. Actor 3. Caso de uso 4. Descripción de la arquitectura 5. Glosario 6. Prototipo de interfaz de usuario 1.4.2.2.2 Trabajadores Entendemos por trabajador como una persona real que desempeña una función dentro del proyecto. Una misma persona puede ser varios trabajadores. Tipos de trabajadores: 1. Analista de sistemas 2. Especificador de casos de uso 3. Diseñador de interfaz de usuario 42 4. Arquitecto 1.4.2.2.3 Flujo de trabajo 1. Encontrar actores y casos de uso 2. Priorizar casos de uso 3. Detallar un caso de uso 4. Prototipar la interfaz de usuario 5. Estructurar el modelo de casos de uso 1.4.2.3 ANÁLISIS Durante el análisis se estructura el conocimiento que se ha conseguido de los usuarios por clases y paquetes en vez de casos de uso, de modo que no contenga inconsistencias. El análisis está pensado para dar la visión interna del sistema (en vez de la externa de los casos de uso) a los desarrolladores y por eso está descrito con su lenguaje. 1.4.2.3.1 Artefactos 1. Modelo del análisis 2. Clase del análisis 3. Realización de caso de uso-análisis 4. Paquete del análisis 5. Paquete de servicio 6. Descripción de la arquitectura 1.4.2.3.2 Trabajadores 1. Arquitecto 2. Ingeniero de casos de uso 3. Ingeniero de componentes 1.4.2.3.3 Flujo de trabajo 1. Análisis de la arquitectura 2. Analizar un caso de uso 43 3. Analizar una clase 4. Analizar un paquete 1.4.2.4 DISEÑO La entrada del diseño es la salida de la fase anterior y la salida del diseño es un modelo que puede ser implementado directamente. Debido a esta proximidad con la implementación hay que comprender aspectos no funcionales como lenguajes de programación, sistema operativo, etc. También es necesario tener el sistema dividido en trozos manejables por equipos de trabajo. Las interfaces entre los diferentes subsistemas deberían estar claras. La implementación debería seguir la misma estructura que el diseño y de esta forma se podría hacer un camino de ida y vuelta automatizado. 1.4.2.4.1 Artefactos 1. Modelo de diseño 2. Clase del diseño 3. Realización de caso de uso-diseño 4. Subsistema de diseño 5. Interfaz 6. Vista de la arquitectura del modelo de diseño. 7. Modelo de despliegue • Vista de la arquitectura del modelo de despliegue 1.4.2.4.2 Trabajadores 1. Arquitecto 2. Ingeniero de casos de uso • Ingeniero de componentes 1.4.2.4.3 Flujo de trabajo 1. Diseño de la arquitectura 2. Diseño de un caso de uso 3. Diseño de una clase 4. Diseño de un subsistema 44 1.4.2.5 IMPLEMENTACIÓN La implementación tiene como finalidades: 1. Planificar las integraciones. Se sigue un enfoque incremental. 2. Distribuir el sistema entre los nodos. 3. Implementar clases y subsistemas del diseño. 4. Probar los componentes individuales hasta donde sea posible. 1.4.2.5.1 Artefactos 1. Modelo de implementación 2. Componente 3. Subsistema de implementación 4. Interfaz 5. Vista de la arquitectura del modelo de implementación 6. Plan de integración de construcciones 1.4.2.5.2 Trabajadores 1. Arquitecto 2. Ingeniero de componentes 3. Integrador de sistemas 1.4.2.5.3 Flujo de trabajo 1. Implementación de la arquitectura 2. Integrar el sistema 3. Implementar un subsistema 4. Implementar una clase 5. Realizar prueba de unidad 1.4.2.6 PRUEBA La finalidad de esta fase es planificar, diseñar, implementar las pruebas de cada iteración. 1.4.2.6.1 Artefactos 45 1. Modelo de pruebas 2. Caso de prueba 3. Procedimiento de prueba 4. Componente de prueba 5. Plan de prueba 6. Evaluación de prueba 1.4.2.6.2 Trabajadores 1. Diseñador de pruebas 2. Ingeniero de componentes 3. Ingeniero de pruebas de integración 4. Ingeniero de pruebas de sistema 1.4.2.6.3 Flujos de trabajo 1. Planificar prueba 2. Diseñar prueba 3. Implementar prueba 4. Realizar pruebas de integración 5. Realizar prueba de sistema 6. Evaluar prueba 46 CAPITULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA PARA LA COMPRA Y VENTA DE LIBROS UTILIZANDO TECNOLOGÍA SMART CLIENT. SMARTBOOKSB. 2.1 ANALISIS DEL SISTEMA 2.1.1 ESPECIFICACIÓN DE REQUERIMIENTOS DEL SISTEMA 2.1.1.1 Introducción En base a levantamiento de información planteadas en las reuniones realizadas con diversas empresas distribuidoras de Libros, como por ejemplo: Libri Mundi, Librería Española, etc.; se ha podido determinar e identificar los principales problemas con el manejo en venta masiva de libros, así como inconvenientes con los software existentes como la falta de flexibilidad al momento de facturar, los sistemas instalados no son amigables con el usuario, son difíciles de manejar, no se puede trabajar fuera de línea, no permite realizar en el sistema pedidos en la empresa adquiriente. En este documento se encuentran los requerimientos que debe cumplir SMARTBOOKSB, como referencia se tiene los Diagramas de Caso de Uso. A continuación se detalla el propósito, alcance, requerimientos funcionales y no funcionales, y otras especificaciones requeridas por el sistema. 2.1.1.1.1 Propósito El propósito del presente documento es dar a conocer sobre requerimientos funcionales, no funcionales y sobre otros aspectos que permitan proporcionar una descripción de los requerimientos del software. 2.1.1.1.2 Alcance 47 El documento expuesto se aplica en todos los subsistemas de SMARTBOOKSB y está asociado al Diagrama de Casos de Uso presentado posteriormente. 2.1.1.1.3 Definiciones, Acrónimos y Abreviaciones Se encuentra en el Glosario del Documento 2.1.1.1.4 Referencias • Diagramas de Caso de Uso • Glosario del Documento 2.1.1.2 Descripción General Las personas encargadas de la compra y venta de libros, están familiarizadas con los programas ofimáticos (como Word y Excel). La tecnología Smart Client permite aprovechar el entorno de éstas herramientas, agregando las ventajas que posee el software que utiliza acceso a datos e interconectividad mediante redes, lo que facilitaría el uso de éste sistema y la optimización de las tareas que quiere desarrollar el usuario. El objetivo del sistema es el de satisfacer las necesidades de las personas encargadas de la comercialización de libros, permitiéndoles usar un entorno familiar y proveyéndoles de herramientas que les ayuden a desempeñar su trabajo de manera más eficiente.Requerimientos Específicos 2.1.1.3.1 Funcionalidad El negocio necesita un sistema que realice las siguientes funciones: i. Administrar Clientes ii. Administrar compra de libros iii. Administración de ventas de libros a los clientes iv. Reportes trimestrales v. Administrar proveedores La función Administrar clientes permite al vendedor el ingreso y actualización de los datos de los clientes. 48 La función Administración de ventas de libros a los clientes permite al vendedor crear órdenes de venta solicitadas por los diferentes clientes que él visita. La función Reportes trimestrales le permite al jefe de vendedores, obtener información de las ventas realizadas, para poder enviar ésta información al gerente. La función Administrar Proveedores permite al vendedor el ingreso y la actualización de los datos de los proveedores La función Administrar Libros permite al vendedor el ingreso y actualización de la información de los libros que la empresa comercializa. La función Administración de compra de libros le permite al jefe de vendedores generar órdenes de compra, para productos faltantes y nuevos que deben ingresar a la matriz y le permite al jefe de compras aprobar o denegar dichas órdenes de compra. 2.1.1.3.2 Usabilidad • Entrenamiento a Usuarios.- El sistema debe ser amigable y fácil de usar; los usuarios no requerirán capacitación en herramientas adicionales a SMARTBOOKSB. • Estándares de Interfaz de una aplicación.- El sistema debe estar en la capacidad de proporcionar todas las facilidades que un sistema posee; mantener áreas definidas para la manipulación de información, botones, menú y mensajes. 2.1.1.3.3 Confiabilidad 49 • Disponibilidad.- El sistema debe estar disponible en cualquier momento, las 24 horas del día, los 7 días de la semana, durante todo el año. • Lapso de Tiempo para Reparación de Fallas.- El tiempo máximo empleado para la reparación de fallas debe ser de cuatro horas, pues la información que el sistema genera es crítica para el funcionamiento del negocio. 2.1.1.3.4 Desempeño • Tiempo de Respuesta.- Cada transacción común del sistema debe demorarse máximo un segundo. • Capacidad.- El sistema no va a tener demasiados usuarios, por lo que no es necesario controlar la cantidad de usuarios concurrentes. 2.1.1.3.5 Soporte Se utilizarán estándares de programación y de base de datos, para facilitar el mantenimiento del sistema. 2.1.1.3.6 Restricciones de Diseño Utilización del motor de base de datos Microsoft SQL Server 2000 y el .NET Framework versión 2.0. 2.1.2 MODELO DE CASOS DE USO. 2.1.2.1 LISTA DE ACTORES ACTORES DESCRIPCIÓN Vendedor Persona encargada de realizar la venta de productos a los clientes. Gerente Persona encargada de administrar la empresa. 50 Cliente Es la persona que compra los libros a la empresa Proveedor Entidad que provee de productos a la empresa. Jefe de vendedor Persona encargada de aprobar o denegar un pedido realizado por los vendedores. Además se encarga de la logística del recurso humano, en lo que concierne a los vendedores de la empresa. Jefe de Compras Persona encargada de aprobar o denegar una orden de compra realizada por el jefe de vendedores. Tabla 1. Lista de Actores 51 2.1.2.2 Diagrama de Casos Uso Administrar Clientes Gerente «extends» Consultar clientes Cliente Ingresar datos de clientes Solicitar información de ventas Autorizar pedidos de venta Administrar venta de libros Solicitar compra de libros Ingresar datos pedido de venta «extends» Consultar libros y stock Ingresar información de libros Jefe de vendedores Información Reportes Ingresar información de proveedor Reportes Administrar Libros Vendedor Administrar proveedores Solicitar libros Ingresar información de orden de compra «extends» Consultar proveedores Proveedor Administrar Compra de libros Autorizar ordenes de compra Jefe de Compras Figura 11. Diagrama de Caso de Uso Principal 52 Figura 12. Diagrama de Casos de Uso – Administrar Clientes Figura 13. Diagrama de Casos de Uso – Administrar Venta de Libros 53 Figura 14. Diagrama de Casos de Uso – Administrar Compra de Libros 54 Figura 15. Diagrama de Casos de Uso – Administrar Libros Figura 16. Diagrama de Casos de Uso – Administrar Proveedores 55 Figura 17. Diagrama de Casos de Uso – Reportes 2.1.2.3 Especificación del Diagrama de Casos de Uso 2.1.2.3.1 Especificación de Casos de Uso 2.1.2.3.1.1 Administración de Proveedores. Caso de uso Consultar Datos de Proveedor Actor Principal Jefe de vendedores Objetivos Dar información acerca de un proveedor. Descripción El jefe de vendedores provee una descripción del proveedor o ingresa directamente el código del mismo. Precondición Secuencia Existe información registrada del proveedor 1. El jefe de vendedores ingresa el código o la descripción del proveedor. 2. El sistema busca el o los proveedores que cumplen 56 con las condiciones. 3. El sistema comprueba que exista información. 4. El jefe de vendedores escoge el proveedor. 5. El sistema presenta la información solicitada. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Extensiones Tabla 2. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Consultar Datos de Proveedor 57 Caso de uso Ingresar Datos de Proveedor Actor Principal Jefe de vendedores Objetivos Ingresar información de un proveedor Descripción El jefe de vendedores ingresa los datos correspondientes del proveedor. Precondición Secuencia Ninguna 1. El jefe de vendedores ingresa los datos del proveedor. 2. El sistema valida los datos que son requeridos. 3. El sistema ingresa la información. 4. El sistema confirma el ingreso. Alternativas Los datos ingresados no son válidos. • El sistema despliega un mensaje indicando que la información no es válida. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 3. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Ingresar Datos de Proveedor 58 Caso de uso Actualizar Proveedor Actor Principal Jefe de vendedores Objetivos Actualizar información de un proveedor Descripción Permite actualizar datos del proveedor Precondición Existencia del proveedor Secuencia 1. Se utiliza el caso de uso de consulta de proveedores. 2. El jefe vendedores cambia la información respectiva. 3. El sistema valida la información ingresada. 4. El sistema actualiza la información. 5. El sistema confirma la actualización. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Los datos ingresados no son válidos. • El sistema despliega un mensaje indicando que la información no es válida. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 4. Reinicia el caso de uso. Consultar datos de proveedor Especificación de Caso de Uso - Actualizar Proveedor 59 2.1.2.3.1.2 Administración Clientes Caso de uso Consultar Datos de Clientes Actor Principal Vendedor Objetivos Dar información acerca de un cliente. Descripción El Vendedor obtiene información del cliente. Precondición Existe información registrada del cliente Secuencia 1. El Vendedor ingresa el código o la descripción del cliente. 2. El sistema busca el o los clientes que cumplen con las condiciones. 3. El sistema comprueba que exista información. 4. El Vendedor escoge al cliente. 5. El sistema presenta la información solicitada. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Tabla 5. Ninguna Especificación de Caso de Uso - Consultar Datos de Clientes 60 Caso de uso Ingresar Datos del Cliente Actor Principal Vendedor Objetivos Ingresar información de un cliente Descripción El Vendedor ingresa los datos correspondientes del cliente obtenidos del mismo. Precondición Secuencia Ninguna 1. El Vendedor ingresa los datos del cliente. 2. El sistema valida los datos que son requeridos. 3. El sistema ingresa la información. 4. El sistema confirma el ingreso. Alternativas Los datos ingresados no son válidos. • El sistema da un mensaje indicando que la información no es válida. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 6. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Ingresar Datos del Cliente 61 Caso de uso Actualizar Cliente Actor Principal Vendedor Objetivos Actualizar información de un cliente Descripción Permite actualizar datos del cliente Precondición Existencia del cliente Secuencia 1. Se utiliza en caso de uso consultar datos de clientes 2. El Vendedor cambia la información respectiva. 3. El sistema actualiza la información. 4. El sistema confirma la actualización. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 7. Reinicia el caso de uso. Consultar datos de cliente Especificación de Caso de Uso - Actualizar Cliente 62 2.1.2.3.1.3 Administrar Venta de Libros Caso de uso Consultar Pedido de Venta Actor Principal Jefe de Vendedores Objetivos Consultar información de un pedido de venta Descripción El Jefe de vendedores obtiene información del pedido. Precondición Existe información registrada del pedido de venta Secuencia 1. El Jefe de Vendedores ingresa el código o la fecha del pedido de venta. 2. El sistema busca el o los pedidos que cumplen con las condiciones. 3. El sistema comprueba que exista información. 4. El Jefe de vendedores escoge el pedido de venta. 5. El sistema presenta la información solicitada. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Tabla 8. Ninguna Especificación de Caso de Uso - Consultar Pedido de Venta 63 Caso de uso Ingresar Pedido de Venta Actor Principal Vendedor Objetivos Ingresar información del pedido de venta Descripción El Vendedor ingresa los requerimientos del cliente referentes al nuevo pedido Precondición Secuencia Datos de cliente registrados Datos de productos registrados. 1. Se utiliza el caso de uso Consultar datos de cliente, para colocar los datos del cliente. 2. Se utiliza el caso de uso Consultar Datos de Libros, para colocar los datos del libro. 3. El vendedor ingresa la cantidad de libro que necesita. 4. El sistema valida la información ingresada por el vendedor. 5. El sistema calcula el precio por cada libro y el total del pedido. 6. El vendedor repite los pasos 2 al 5, para agregar más libros en el pedido de venta. 7. El sistema registra el ingreso del pedido de la venta 8. El sistema confirma el ingreso. Alternativas Los datos del producto ingresados no son válidos. • El sistema da un mensaje indicando que la ingresada en la cantidad del libro requerido no es valida debido a que no existe el suficiente stock. • El vendedor registra el pedido hasta que el cliente confirme que se haga efectivo el pedido. • En caso de que el pedido no sea confirmado por el cliente el pedido es anulado. 64 Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. Extensiones Tabla 9. • Reinicia el caso de uso. • Consultar Datos de Clientes • Consultar Datos de libros Especificación de Caso de Uso - Ingresar Pedido de Venta 65 Caso de uso Actualizar Pedido de Venta Actor Principal Vendedor Objetivos Actualizar información del pedido de venta Descripción El Vendedor actualiza la información del pedido de la venta. Precondición Secuencia Datos de cliente registrados Datos de productos registrados. Datos de Pedido registrados. 1. Se utiliza el caso de uso Consultar Pedido de Venta. 2. El vendedor actualiza la información del pedido. 3. El sistema valida la información ingresada por el vendedor. 4. El sistema calcula el precio por cada libro y el total del pedido. 5. El sistema actualiza el pedido de la venta 6. El sistema confirma la actualización. Alternativas Los datos del producto ingresados no son válidos. • El sistema da un mensaje indicando que la ingresada en la cantidad del libro requerido no es valida debido a que no existe el suficiente stock. • El vendedor registra el pedido hasta que el cliente confirme que se haga efectivo el pedido. • En caso de que el pedido no sea confirmado por el cliente el pedido es anulado. No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la 66 conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. Extensiones Tabla 10. • Reinicia el caso de uso. • Consultar Datos de libros • Consultar Pedido de Venta Especificación de Caso de Uso - Actualizar Pedido de Venta 67 Caso de uso Autorizar Pedido de Venta Actor Principal Jefe de Vendedores Objetivos Aprobar o denegar pedidos de venta Descripción El Jefe de Vendedores aprueba o deniega el pedido realizado por el cliente Precondición Secuencia Datos de cliente registrados Datos de productos registrados. Pedido este registrado 1. Se utiliza el caso de uso Consultar Pedido de Venta. 2. El Jefe de Vendedores aprueba o anula el pedido 3. El sistema actualiza el pedido de la venta 4. El sistema confirma la autorización del pedido. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Tabla 11. • Reinicia el caso de uso. • Consultar pedido de venta Especificación de Caso de Uso - Autorizar Pedido de Venta 68 Caso de uso Generar Factura. Actor Principal Vendedor Objetivos Generar Factura en base al pedido realizado por el cliente Descripción El Vendedor Genera la Factura correspondiente al pedido realizado por el cliente Precondición Secuencia Datos de cliente registrados Datos de productos registrados. Datos de pedidos aprobados para clientes. 1. Se utiliza el caso de uso consultar pedido de venta. 2. EL vendedor genera el documento correspondiente a la Factura en base al pedido aprobado para el cliente. 3. El sistema registra la factura del pedido de la venta 4. El sistema confirma el ingreso de la factura. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Tabla 12. • Reinicia el caso de uso. • Consultar Pedido de Venta. • Consultar Datos de libros. Especificación de Caso de Uso - Generar Factura. 69 2.1.2.3.1.4 Administración de Orden de Compra Caso de uso Consultar Orden de Compra Actor Principal Jefe de Compras Objetivos Consultar información de una orden de compra Descripción El Jefe de compras obtiene información de la orden de compra. Precondición Secuencia Existe información registrada de la orden de compra. 1. El Jefe de Compras ingresa el código o la fecha de la orden de compra. 2. El sistema busca el o las órdenes de compra que cumplen con las condiciones. 3. El sistema comprueba que exista información. 4. El Jefe de compras escoge la orden de compra. 5. El sistema presenta la información solicitada. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Tabla 13. Ninguna Especificación de Caso de Uso - Consultar Orden de Compra. 70 Caso de uso Ingresar Orden de Compra Actor Principal Vendedor Objetivos Ingresar información de la orden de compra. Descripción El Vendedor ingresa los requerimientos de nuevos productos. Precondición Secuencia Datos de proveedores registrados. 1. Se utiliza el caso de uso Consultar datos de Proveedor, para colocar los datos del proveedor. 2. Se utiliza el caso de uso Consultar Datos de Libros, para colocar los datos del libro. 3. El vendedor ingresa la cantidad de libro que necesita se reponga para su posterior comercialización. 4. El sistema valida la información ingresada por el vendedor. 5. El vendedor repite los pasos 2 al 4, para agregar más libros en el pedido de venta. 6. El sistema registra el ingreso de la orden de compra 7. El sistema confirma el ingreso. Alternativas Los datos de la orden de compra ingresados no son válidos. • El sistema muestra un mensaje indicando el error. • Reinicia el caso de uso Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. 71 Extensiones Tabla 14. • Reinicia el caso de uso. • Consultar Datos de Proveedor • Consultar Datos de libros Especificación de Caso de Uso - Ingresar Orden de Compra. 72 Caso de uso Actualizar Orden de Compra Actor Principal Vendedor Objetivos Actualizar información de la orden de compra Descripción El Vendedor actualiza la información de la orden de compra. Precondición Secuencia Datos de cliente registrados Datos de productos registrados. Datos de Pedido registrados. 1. Se utiliza el caso de uso Consultar Orden de Compra. 2. El vendedor actualiza la información de la orden de compra. 3. El sistema valida la información ingresada por el vendedor. 4. El sistema actualiza la orden de compra. 5. El sistema confirma la actualización. Alternativas Los datos del producto ingresados no son válidos. • El sistema da un mensaje indicando que la ingresada en la cantidad del libro requerido no es valida debido a que no existe el suficiente stock. • El vendedor registra el pedido hasta que el cliente confirme que se haga efectivo el pedido. • En caso de que el pedido no sea confirmado por el cliente el pedido es anulado. No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la 73 conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información. • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. Extensiones Tabla 15. • Reinicia el caso de uso. • Consultar Datos de libros. • Consultar Orden de Compra. Especificación de Caso de Uso - Actualizar Orden de Compra. 74 Caso de uso Autorizar Orden de Compra Actor Principal Jefe de Compras Objetivos Aprobar o denegar ordenes de compra. Descripción El Jefe de Compras aprueba o deniega la orden de compra. Precondición Secuencia Datos de proveedor registrados. Datos de orden de compra registrados. 1. Se utiliza el caso de uso Consultar Orden de compra. 2. El Jefe de Compras aprueba o anula la orden de compra. 3. El sistema actualiza la orden de compra. 4. El sistema confirma la autorización de la orden de compra. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. Extensiones Extensiones Tabla 16. • Reinicia el caso de uso. • Consultar orden de compra. Consultar Datos de libros Especificación de Caso de Uso - Autorizar Orden de Compra. 75 2.1.2.3.1.5 Administración de Libros Caso de uso Consultar Datos de Libros Actor Principal Vendedor, Jefe de Vendedores Objetivos Presentar información acerca de la cantidad de stock del libro. Descripción El Vendedor o Jefe de Vendedores ingresa el código o la descripción del libro del cual requiere realizar la consulta. Precondición Secuencia Existe información registrada de productos 1. El Vendedor o Jefe de Vendedores ingresa el código o la descripción del libro. 2. El sistema busca el o los libros que cumplen con las condiciones. 3. El sistema comprueba que exista información. 4. El sistema muestra los productos que cumplen con las condiciones. 5. El Vendedor o Jefe de Vendedores escoge el libro requerido por el cliente. 6. El sistema presenta la información solicitada. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Extensiones Tabla 17. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Consultar Datos de Libros 76 Caso de uso Ingresar Datos de Libro. Actor Principal Jefe de vendedores Objetivos Ingresar información de libros. Descripción El Jefe de vendedores ingresa los datos correspondientes libro. Precondición Secuencia Ninguna 1. El Jefe de vendedores ingresa los datos del libro. 2. El sistema valida los datos que son requeridos. 3. El sistema ingresa la información. 4. El sistema confirma el ingreso. Alternativas Los datos ingresados no son válidos. • El sistema da un mensaje indicando que la información no es válida. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 18. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Ingresar Datos de Libro. 77 Caso de uso Actualizar Libro Actor Principal Jefe de vendedores Objetivos Actualizar información de un libro Descripción Permite actualizar datos del libro Precondición Existencia del libro Secuencia 1. Se utiliza en caso de uso Consultar Datos de Libros. 2. El Jefe de vendedores cambia la información respectiva. 3. El sistema actualiza la información. 4. El sistema confirma la actualización. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Reinicia el caso de uso. Violación de Reglas y condiciones de integridad de información • El sistema despliega un mensaje indicando la condición o regla que ha sido violada. • Extensiones Tabla 19. Reinicia el caso de uso. Consultar Datos de Libros. Especificación de Caso de Uso - Actualizar Libro. 78 2.1.2.3.1.6 Reportes Caso de uso Consultar datos de compras Actor Principal Jefe de Vendedores Objetivos Presentar información acerca de las compras. Descripción El Gerente pide información de las compras al Jefe de Vendedores, éste genera la consulta para el reporte. Precondición Secuencia Datos de proveedor registrados Datos de productos registrados. Datos de compra registrada 1. El Jefe de Vendedores ingresa los filtros determinados para el reporte. 2. El sistema busca la información solicitada por el Jefe de Vendedores con los filtros ingresados. 3. El sistema comprueba que exista información. 4. El sistema presenta la información solicitada de las compras. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Extensiones Tabla 20. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Consultar datos de compras. 79 Caso de uso Consultar datos de ventas Actor Principal Jefe de Vendedores Objetivos Presentar información acerca de las ventas. Descripción El Gerente pide información de las ventas al Jefe de Vendedores, éste genera la consulta para el reporte. Precondición Secuencia Datos de clientes registrados Datos de productos registrados. Datos de ventas registrada 1. El Jefe de Vendedores ingresa los filtros determinados para el reporte 2. El sistema busca la información solicitada por el Jefe de Vendedores con los filtros ingresados. 3. El sistema comprueba que exista información. 4. El sistema presenta la información solicitada de las ventas. 5. El sistema presenta un total de las ventas realizada por libro. Alternativas No existe la información requerida. • El sistema da un mensaje indicando que no existe información con los datos ingresados. • Reinicia el caso de uso. Pérdida de conexión con la base de datos • El sistema despliega un mensaje indicando que la conexión con la base de datos se ha perdido. • Extensiones Tabla 21. Reinicia el caso de uso. Ninguna Especificación de Caso de Uso - Consultar datos de ventas. 80 2.1.3 DIAGRAMAS DE SECUENCIA 2.1.4 PAQUETES DE ANÁLISIS Administración Cliente Libro Proveedor Figura 18. Paquete Administración Empleado Seguridad Usuario Figura 19. Paquete Seguridad Orden_Compra Ordenes de Compra Autorizacion_Compra Figura 20. Perfil Paquete Órdenes de Compra Orden Compra Detalle 81 Autorizacion_Venta Pedido_Venta Ventas Pedido_Venta_Detalle Figura 21. Factura Factura_Detalle Paquete Ventas 2.2 DISEÑO DEL SISTEMA 2.2.1 ARQUITECTURA DEL SISTEMA. En cuanto a la arquitectura del sistema, cabe destacar que se van a utilizar elementos de la tecnología Smart Client, claramente expuestos en la siguiente figura: Figura 22. Arquitectura del sistema SMARTBOOKSB 82 Servidor de Base de datos.- Se encarga de la gestión y control de las bases de datos. El servidor de base de datos que se utilizará será Microsoft SQL Server 2000, en el mismo se encontrarán las tablas, procedimientos almacenados, reglas y tipos de datos definidos por el usuario, cada uno de ellos propios del sistema. Servidor Web.- Proporciona alojamiento para los web services a ser consumidos por el sistema. Interfaz del Cliente.- Aquí se mostrarán los paneles de tareas para Microsoft Office y se tendrá el manejo de documentos inteligentes, etiquetas inteligentes y demás. Lógica del Negocio.- Componentes que guardan el comportamiento propio del negocio. Caché Local de Datos.- Permite el almacenamiento local de los datos cuando la aplicación se encuentra en modo “fuera de línea” (offline). 83 2.2.2 MODELO DE DISEÑO. 2.2.2.1 MODELO DEL DOMINIO Perfil Autorizacion_Compra 1 1 1..n Usuario 1..n 1 1 Empleado 1 Orden_Com pra 1 1..n 1..n 1 1 Proveedor 1 1 1 1 1..n Orden_Compra_Detalle 1..nPedido_Venta 1..n Autorizacion_Venta 1..n 1 1 1 1 1..n 1..n Pedido_Venta_Detalle 1 1..n 1 1..n 0..1 Cliente 1 1 Factura 1 1..n Factura_Detalle 0..1 Figura 23. Modelo del Dominio Libro 84 2.2.2.2 DIAGRAMA DE CLASES Perfil Código_Perfil Descripción 1 1..n Usuario Autorizacion_Compra Codigo_Autorizacion Fecha Observaci on Estado Código_Usuari o Descripción Login Password 1 1 1..n Proveedor 1 Empl eado Codigo_Empleado 1 Nombre Apell ido Cargo 1 Emai l Telefono Codigo_Proveedor Nombre_Proveedor Nombre_Contacto Di reccion Ci udad Pais Telefono Fax Emai l 1 Orden_Compra 1..n Codigo_Orden Fecha Forma_Pago 1..n 1 1 1 1 1..n 1..n Autorizacion_Venta Codigo_Autorizacion Fecha Observaci on Estado 1..n Pedido_Venta Orden_Compr a_Detal le 1 Cantidad Codigo_Pedido Fecha 1..n 1 1 1 1..n 1 1..n Pedido_Vent a_Detalle Cliente Codigo_Cliente Nombre_Cliente Nombre_Contacto Di reccion Ci udad Pai s Tel efono Fax Email 1..n 1 0..1 1 Factura 1 Codigo_Factura Fecha 1 1..n Factura_Det alle Cantidad Precio Figura 24. 1..n 1 Cantidad Precio Diagrama de Clases 0..1 Libro ISBN Ti tulo Año Categoria Descripci on Precio Stock StockMinimo Editori al Autor 85 2.2.2.2.1 Especificación del Diagrama de Clases. ESPECIFICACIÓN DE CLASES Clase AUTORIZACIÓN_COMPRA Descripción Clase que contiene información de autorizaciones correspondientes a las órdenes de compra, aprobadas o desaprobadas por el jefe de compras. ORDEN_COMPRA Clase que contiene las órdenes de compra realizadas por los vendedores. ORDEN_COMPRA_DETALLE Clase que contiene los productos asociados a una orden de compra. EMPLEADO Clase que contiene información de los empleados de la empresa comercializadora de libros. PROVEEDOR Clase que contiene información importante de los proveedores del producto para la empresa. PEDIDO_VENTA Clase que contiene información de los pedidos de venta realizados por los vendedores. PEDIDO_VENTA_DETALLE Clase que almacena los productos asociados a un pedido de venta. LIBRO Clase que contiene información concerniente a los productos que la empresa comercializa. AUTORIZACION_VENTA Clase que contiene información de autorizaciones correspondientes a los pedidos de venta, aprobados o desaprobados por el jefe de vendedores. CLIENTE Clase que almacena información personal de los clientes de la empresa. FACTURA Clase que guarda la información de facturas emitidas para los clientes. FACTURA_DETALLE Clase que contiene la información de los productos asociados a una factura. USUARIO Clase que contiene la información correspondiente a los usuarios que pueden utilizar el sistema. PERFIL Clase que almacena la información de los diferentes roles que pueden tener el usuario dentro del sistema. Tabla 22. Especificación del Diagrama de Clases 86 2.2.2.3 DIAGRAMAS DE SECUENCIA 2.2.2.3.1 Administración Venta de Libros Figura 25. Diagrama de Secuencia - Administración Venta de Libros 87 2.2.2.3.2 Administración de Proveedores Administracion de Proveedores :UIIngresoSistema :PROVEEDOR :UIProveedor Jefe de Vendedores ingresa al sistema Ingresa Codigo o Descripcion del proveedor Presenta informacion del proveedor Jefe de Vendedores ingresa al sistema Ingresa datos del proveedor Confirma ingreso de la información Jefe de Vendedores ingresa al sistema Busqueda de Información que cumpla con las condiciones Ingresa la informacion Va al proceso de consulta de proveedores Ingresa información actualizada Confirma la actualización Figura 26. Actualiza la informacion Diagrama de Secuencia - Administración de Proveedores 88 2.2.2.3.3 Administración de Clientes Figura 27. Diagrama de Secuencia - Administración de Clientes 89 2.2.2.3.4 Administración de Ordenes de Compra Figura 28. Diagrama de Secuencia - Administración de Órdenes de Compra 90 2.2.2.3.5 Administración de Libros Administracion de Libros :UIIngresoSistema :UILibros Jefe de Vendedores ingresa al sistema :LIBRO Ingresa datos de libros Confirma el ingreso de la informacion Jefe de Vendedores ingresa al sistema Ingresa la informacion Va al proceso de consultar datos de libros Actualiza Infomracion del Libro Confirma la actualizacion de la informacion Jefe Vendedores ingresa al sistema Actualiza Informacion Ingresa Codigo o Descripcion del libro Presenta informacion de libro Figura 29. Diagrama de Secuencia - Administración de Libros 91 2.2.2.3.6 Reportes Figura 30. Diagrama de Secuencia - Reportes 92 2.2.2.4 DIAGRAMAS DE COLABORACIÓN Administrar Clientes 2,6: Escoger la Opcion de Cliente 1,5 : Ingresar al Sistema 3: Ingresar Datos del Cliente 7: Consultar Datos del Cliente 9: Actualizar Datos del Cliente :UICliente :UIIngresoSistema Vendedor :Gestor de Clientes (from Actores) 4: Ingresar Datos del Cliente 8: Desplegar Datos del Cliente 10: Actualizar Datos del Cliente :CLIENTE Figura 31. Diagrama de Colaboración – Administrar Clientes :PROVEEDOR Administrar Libros 4: Consultar datos del Proveedor 9,12: Desplegar Datos del Proveedor 1,6 : Ingresar al Sistema :UIIngresoSistema Vendedor 3: Ingresar Datos del Libro 8: Consultar Datos del LIbro 11: Actualizar Datos del Libro 2,7: Escoger la Opcion de Libros :UILibro :Gestor de Libros (f rom Actores) 6: Ingresar al Sistema 5: Ingresar Datos del Libro 6:Desplegar Datos del Libro 13: Actualizar Datos del Libro Jefe de Vendedores Figura 32. :LIBRO Diagrama de Colaboración – Administrar Libros 93 Administrar Proveedor 1,5 : Ingresar al Sistema 2,6: Escoger la Opcion de Proveedor 3: Ingreso Datos del Proveedor 7: Consultar Datos del Proveedor 9:Actualizar Datos del Proveedor :UIIngresoSistema Jefe de Vendedores :Gestor de Proveedores :UIProveedor 4: Ingreso de Datos del Proveedor 8: Deplegar Datos del Proveedor 10: Actualizar Datos del Proveedor :PROVEEDOR Figura 33. Diagrama de Colaboración – Administrar Proveedor 4: Desplegar Datos del Cliente Administrar Ventas Ingreso del Pedido :CLIENTE :Gestor de Clientes 3: Consultar Datos de Cliente 2: Escoger Opcion de Pedio de Venta 1: Ingresar al Sistema Vendedor :UIIngresoSistema 5: Consultar Datos del Libro 6:Desplegar Datos del Libro 7: Ingresar Cantidad. de Libros :UIPedidoVenta :Gestor de Libros :LIBRO (f rom Actores) 8: Ingresar Pedido Venta 9: Ingresar Datos de Pedido :Gestor Pedido Venta :PEDIDO_VENTA 10: Ingresar Datos del Detalle del Pedido :PEDIDO_VENTA_DETA LLE Figura 34. Diagrama de Colaboración – Ingreso de Pedido de Venta 94 4: Desplegar Datos del Cliente Administrar Ventas Consulta :CLIENTE :Gestor de Clientes 3: Consultar Datos de Cliente 1: Ingresar al Sistema 2: Escoger Opcion de Pedio de Venta 5: Consultar Datos del Libro 6:Desplegar Datos del Libro . Jefe de Vendedores :UIIngresoSistema :UIPedidoVenta :LIBRO :Gestor de Libros 7: Consulta Datos de Pedido de Venta 8: Desplegar Datos de Pedido de Venta :Gestor Pedido Venta :PEDIDO_VENTA 9: Desplegar Datos del Detalle del pedido :PEDIDO_VENTA_DETA LLE Figura 35. Diagrama de Colaboración – Consulta Pedido de Venta 95 4: Desplegar Datos del Cliente Administrar Ventas Actualizacion :CLIENTE :Gestor de Clientes 3: Consultar Datos de Cliente 1: Ingresar al Sistema 2: Escoger Opcion de Pedio de Venta 5: Consultar Datos del Libro 6:Desplegar Datos del Libro 10: Actualizar . Datos de Pedido de Venta Jefe de Vendedores :UIIngresoSistema :UIPedidoVenta :LIBRO :Gestor de Libros 7: Consulta Datos de Pedido de Venta 11: Actualizar Datos de Pedido de Venta 8: Desplegar Datos de Pedido de Venta 12: Actualizar Datos de Pedido de Venta :Gestor Pedido Venta :PEDIDO_VENTA 9: Desplegar Datos del Detalle del pedido 13: Actualizar Datos del Detalle del pedido :PEDIDO_VENTA_DETA LLE Figura 36. Diagrama de Colaboración – Actualización de Pedido de Venta 96 4: Desplegar Datos del Cliente Administrar Ventas Autorizar :CLIENTE :Gestor de Clientes 3: Consultar Datos de Cliente 1: Ingresar al Sistema 2: Escoger Opcion de Pedio de Venta 5: Consultar Datos del Libro 6:Desplegar Datos del Libro . Jefe de Vendedores :UIIngresoSistema :UIPedidoVenta :Gestor de Libros :LIBRO 7: Consulta Datos de Pedido de Venta 10: Autorizar pedido 9: Desplegar Datos del Detalle del pedido 8: Desplegar Datos de Pedido de Venta 13: Actualizar Datos del Detalle del pedido :PEDIDO_VENTA_DETA LLE 12: Actualizar Datos de Pedido de Venta :Gestor Pedido Venta :PEDIDO_VENTA 11: Ingresar Datos de Autorizacion :AUTORIZACION_VENTA Figura 37. Diagrama de Colaboración – Autorizar Pedido de Venta 97 4: Desplegar Datos del Cliente Administrar Ventas Generar Factura :CLIENTE :Gestor de Clientes 3: Consultar Datos de Cliente 2: Escoger Opcion de Pedio de Venta 5: Consultar Datos del Lib ro 6:Desplegar Datos del Lib ro 1: Ingresar al Sistema Vendedor :UIIngresoSistema :UIPedidoVenta :Gestor de Libros :LIBRO (f rom Actores) 7: Consulta Datos de Pedido de Venta 11: Generar Factura 9: Desplegar Datos del Detalle del pedido 8: Desplegar Datos de Pedido de Venta :PEDIDO_VENTA :Gestor Pedido Venta :PEDIDO_VENTA_DETA LLE 12:Ingresar datos de factura 10: Deslplegar datos de Autorizacion 13: Ingresar datos de detalle factura :FACTURA_DETALLE :AUTORIZACION_VENTA Figura 38. Diagrama de Colaboración – Generar Factura :FACTURA 98 4: Deplegar Datos del Proveedor Administrar Orden Ingreso :PROVEEDOR :Gestor de Proveedores 3: Consulta Datos de Proveedor 2: Escoger Opcion de Orden de Compra 1: Ingresar al Sistema Vendedor 5: Consultar Datos del Libro 6:Desplegar Datos del Libro 7: Ingresar cantidad del libro :UIIngresoSistema :UIOrdenCompra :Gestor de Libros :LIBRO (f rom Actores) 8: Ingreso Orden de Compra 9: Ingresar Orden de Compra :Gestor Orden de Compra :ORDEN_COMPRA 10: Ingresar Detalle de la Orden :ORDEN_COMPRA_DETA LLE Figura 39. Diagrama de Colaboración – Ingresar Orden de Compra 99 Administrar Orden Consulta 4: Deplegar Datos del Proveedor :Gestor de Proveedores :PROVEEDOR 3: Consulta Datos de Proveedor 1:Ingresar al Sistema 2: Escoger Opcion de Orden de Compra Jefe de Compra :UIIngresoSistema 5: Consultar Datos del Libro :UIOrdenCompra 6:Desplegar Datos del Libro :Gestor de Libros :LIBRO 7: Consultar Orden de Compra 8: Desplegar Orden de Compra :Gestor Orden de Compra :ORDEN_COMPRA 9: Desplegar Detalle de la Orden :ORDEN_COMPRA_DETA LLE Figura 40. Diagrama de Colaboración – Consultar Orden de Compra 100 Administrar Orden Actualizar 4: Deplegar Datos del Proveedor :Gestor de Proveedores :PROVEEDOR 3: Consulta Datos de Proveedor 1:Ingresar al Sistema 2: Escoger Opcion de Orden de Compra 5: Consultar Datos del Libro 6:Desplegar Datos del Libro 10: Actualizar Orden de Compra Vendedor :UIIngresoSistema :UIOrdenCompra :Gestor de Libros :LIBRO (f rom Actores) 7: Consultar Orden de Compra 11: Actualizar Orden de Compra 8: Desplegar Orden de Compra 12: Actualizar Orden de Compra :Gestor Orden de Compra :ORDEN_COMPRA 9: Desplegar Detalle de la Orden 13: Actualizar Detalle de la Orden :ORDEN_COMPRA_DETA LLE Figura 41. Diagrama de Colaboración – Actualizar Orden de Compra 101 Administrar Orden Autorizar 4: Deplegar Datos del Proveedor :Gestor de Proveedores :PROVEEDOR 3: Consulta Datos de Proveedor 1:Ingresar al Sistema 2: Escoger Opcion de Orden de Compra 5: Consultar Datos del Libro 6:Desplegar Datos del Libro 10: Autorizar Orden de Compra Jefe de Compra :UIIngresoSistema :UIOrdenCompra :Gestor de Libros :LIBRO 7: Consultar Orden de Compra 11: Autorizar Orden de Compra 9: Desplegar Detalle de la Orden 8: Desplegar Orden de Compra 12: Actualizar Orden de Compra :ORDEN_COMPRA_DETA LLE :Gestor Orden de Compra :ORDEN_COMPRA 13: Ingresar Autorizacion :AUTORIZAR_COMPRA Figura 42. Diagrama de Colaboración – Autorizar Orden de Compra 102 4: Deplegar Datos del Proveedor Reporte Orden de Compra :PROVEEDOR :Gestor de Proveedores 3:Consultar Datos de Proveedor 1: Ingresar al Sistema 2: Escoger la Opcion de Reportes 5: Consultar Datos de Libro Jefe de Vendedores :UIIngresoSistema 6:Desplegar Datos del Libro :UIReportes :Gestor de Libros :LIBRO 7: Consultar Orden de Compra 8: Desplegar Orden de Compra :ORDEN_COMPRA 10: Desplegar Autorizacion :Gestor Orden de Compra :AUTORIZAR_COMPRA 9: Desplegar Detalle de la Orden :ORDEN_COMPRA_DETAL LE Figura 43. Diagrama de Colaboración – Reporte de Órdenes de Compra 103 4: Desplegar Datos del Cliente Reporte Pedido de Venta :Gestor de Clientes :CLIENTE 3: Consultar datos de Cliente 2: Escoger la Opcion de Reportes 1: Ingresar al Sistema Jefe de Vendedores :UIIngresoSistema 5: Consultar Datos de Libro :UIReportes 6:Desplegar Datos del Libro :Gestor de Libros :LIBRO 7: Consultar Datos de Pedido de Venta 8: Desplegar Datos de Pedido de Venta :PEDIDO_VENTA 12: Desplegar Datos del Detalle de la Factura :FACTURA_DETALLE :Gestor Pedido Venta 9: Desplegar Datos del Detalle del pedido 11: Desplegar Datos de Factura 10: Deslplegar datos de Autorizacion :PEDIDO_VENTA_DETALLE :FACTURA :AUTORIZACION_VENTA Figura 44. Diagrama de Colaboración – Reporte Pedidos de Venta 2.2.2.5 DEFINICIÓN DE MÓDULOS. SMARTBOOKSB contendrá los siguientes módulos: • Módulo de Ventas. • Módulo de Compras. • Módulo de Administración. • Módulo de Seguridad. • Módulo de Reportes. 104 2.2.2.5.1 Módulo de Ventas Este módulo permite a los vendedores ingresar los pedidos de venta para su posterior aprobación. Además cuenta con opciones para aprobación y desaprobación de pedidos de venta, por parte del jefe de ventas. A continuación se presenta información con respecto a las clases y los métodos a utilizarse en éste módulo: clsPedidoVenta funIngresarPedidoVenta funConsultarPedidoVenta funActualizarPedidoVenta clsPedidoVentaDetalle funIngresarPedidoVentaDetalle funConsultarPedidoVentaDetalle funActualizarPedidoVentaDetalle clsFactura funIngresarFactura funConsultarFactura funActualizarFactura funGenerarFactura clsFacturaDetalle funIngresarFacturaDetalle funConsultarFacturaDetalle funActualizarFacturaDetalle clsAutorizacionVenta Tabla 23. funAutorizarPedidoVenta Clases Módulo de Ventas 2.2.2.5.2 Módulo de Compras Este módulo permite a los vendedores ingresar las órdenes de compra para su posterior aprobación. Además cuenta con opciones para aprobación y desaprobación de órdenes de compra, por parte del jefe de compras. A continuación se presenta información con respecto a las clases y los métodos a utilizarse en éste módulo: 105 clsOrdenDeCompra funIngresarOrdenCompra funConsultarOrdenCompra funActualizarOrdenCompra clsOrdenCompraDetalle funIngresarOrdenCompraDetalle funConsultarOrdenCompraDetalle funActualizarOrdenCompraDetalle clsAutorizacionCompra Tabla 24. funAutorizarOrdenCompra Clases Módulo de Compras 2.2.2.5.3 Módulo de Administración. Este módulo permite realizar el mantenimiento de la información de clientes, proveedores y libros. A continuación se presenta información con respecto a las clases y los métodos a utilizarse en éste módulo: clsCliente funIngresarCliente funConsultarCliente funActualizarCliente clsLibro funIngresarLibro funVerificarStockLibro funActualizarLibro clsProveedor funIngresarProveedor funConsultarProveedor funActualizarProveedor Tabla 25. Clases Módulo de Administración 2.2.2.5.4 Módulo de Seguridad. Este módulo permite realizar el mantenimiento de la información de usuarios, perfiles y empleados. A continuación se presenta información con respecto a las clases y los métodos a utilizarse en éste módulo: 106 clsPerfil funIngresarPerfil funConsultarPerfil funActualizarPerfil clsUsuario funIngresarUsuario funConsultarUsuario funActualizarUsuario clsEmpleado funIngresarEmpleado funConsultarEmpleado funActualizarEmpleado Tabla 26. Clases Módulo de Seguridad 2.2.2.5.5 Módulo de Reportes. Este módulo permite consultar información dentro del sistema. Para el efecto se utilizan los métodos especificados en las anteriores clases. 2.2.2.6 Modelo Relacional Lógico. Es necesario realizar la conversión del diagrama de clases a un modelo relacional lógico, ya que dicho modelo es utilizado por la mayoría de gestores de bases de datos y no existe en la actualidad un DBMS que sea puramente orientado a objetos. 107 Perfil Código_Perfil <pi> A16 <M> Descripción A80 Código_Perfil <pi> Association_25 Autorizacion_Compra Usuario Código_Usuario <pi> A16 <M> Descripción A80 Login A25 Password A25 Codigo_Autorizacion <pi> A16 <M> Fecha D Observacion A200 Estado A2 Codigo_Autorizacion <pi> Código_Usuario <pi> Association_8 Association_3 Association_28 Proveedor Empleado Orden_Compra Codigo_Empleado <pi> A16 <M> Nombre A80 Association_7Codigo_Orden <pi> A16 <M> Apellido A80 Fecha D Cargo A25 Forma_Pago A16 Email A25 Codigo_Orden <pi> Telefono A16 Codigo_Empleado <pi> Association_16 Association_4 Codigo_Proveedor <pi> A16 <M> A80 Nombre_Proveedor Nombre_Contacto A80 A80 Direccion Ciudad A30 Pais A30 Telefono A16 Fax A16 Email A25 Codigo_Proveedor <pi> Association_13 Orden_Compra_Detalle Association_12 Pedido_Venta Cantidad N Codigo_Pedido <pi> A16 <M> Fecha D Autorizacion_Venta Association_22 Codigo_Pedido <pi> Codigo_Autorizacion <pi> A16 <M> Fecha D Observacion A200 Estado A2 Codigo_Autorizacion <pi> Association_17 Association_14 Association_6 Association_18 Association_21 Pedido_Venta_Detalle Cantidad N Precio MN Libro Cliente Codigo_Cliente <pi> A16 <M> Nombre_Cliente A80 Nombre_Contacto A80 Direccion A80 Ciudad A30 Pais A30 Telefono A16 Fax A16 Email A25 Codigo_Cliente <pi> Association_15 Factura Codigo_Factura <pi> A16 <M> Fecha D Codigo_Factura <pi> Association_23 ISBN <pi> Association_20 Factura_Detalle Cantidad N Precio MN Figura 45. ISBN <pi> A16 <M> Titulo A80 Año A4 Categoria A25 Descripcion A80 Precio MN Stock N StockMinimo N Editorial A80 Autor A80 Modelo Relacional Lógico 108 2.2.2.7 Modelo Relacional Físico. Perfil Código_Perfil char(16) <pk> Descripción char(80) FK_USUARIO_ASSOCIATI_PERFIL Autorizacion_Compra Usuario Código_Usuario Codigo_Empleado Código_Perfil Descripción Login Password char(16) <pk> char(16) <fk2> char(16) <fk1> char(80) char(25) char(25) Codigo_Autorizacion Codigo_Empleado Codigo_Orden Fecha Observacion Estado char(16) <pk> char(16) <fk2> char(16) <fk1> datetime char(200) char(2) FK_AUTORIZA_ASSOCIATI_EMPLEADO FK_USUARIO_ASSOCIATI_EMPLEADO FK_EMPLEADO_ASSOCIATI_USUARIO FK_AUTORIZA_ASSOCIATI_ORDEN_CO FK_ORDEN_CO_ASSOCIATI_AUTORIZA Proveedor Empleado Codigo_Empleado Código_Usuario Usu_Código_Usuario Nombre Apellido Cargo Email Telefono Orden_Compra char(16) <pk> char(16) <fk2> Codigo_Orden FK_ORDEN_CO_ASSOCIATI_EMPLEADO char(16) <fk1> Codigo_Empleado char(80) Codigo_Autorizacion char(80) Codigo_Proveedor char(25) Fecha char(25) Forma_Pago char(16) FK_PEDIDO_V_ASSOCIATI_EMPLEADO char(16) char(16) char(16) char(16) datetime char(16) <pk> <fk2> <fk1> <fk3> FK_ORDEN_CO_ASSOCIATI_PROVEEDO Codigo_Proveedor Nombre_Proveedor Nombre_Contacto Direccion Ciudad Pais Telefono Fax Email char(16) <pk> char(80) char(80) char(80) char(30) char(30) char(16) char(16) char(25) FK_ORDEN_CO_ASSOCIATI_ORDEN_CO FK_AUTORIZA_ASSOCIATI_EMPLEADO Pedido_Venta Orden_Compra_Detalle Codigo_Pedido char(16) <pk> Codigo_Autorizacion char(16) <fk4> ISBN char(16) <fk2> Codigo_Factura char(16) <fk3> Autorizacion_Venta Codigo_Orden char(16) <fk1> Codigo_Cliente char(16) <fk2> Cantidad numeric FK_AUTORIZA_ASSOCIATI_PEDIDO_V Codigo_Autorizacion char(16) FK_PEDIDO_V_ASSOCIATI_AUTORIZA <pk> Codigo_Empleado char(16) <fk1> Codigo_Empleado char(16) <fk1> Fecha datetime FK_LIBRO_ASSOCIATI_PROVEEDO Codigo_Pedido char(16) <fk2> Fecha datetime Observacion char(200) FK_PEDIDO_V_ASSOCIATI_PEDIDO_V FK_ORDEN_CO_ASSOCIATI_LIBRO Estado char(2) FK_PEDIDO_V_ASSOCIATI_CLIENTE Cliente Codigo_Cliente Nombre_Cliente Nombre_Contacto Direccion Ciudad Pais Telefono Fax Email char(16) <pk> char(80) char(80) char(80) char(30) char(30) char(16) char(16) char(25) Pedido_Venta_Detalle FK_FACTURA_ASSOCIATI_PEDIDO_V FK_PEDIDO_V_ASSOCIATI_FACTURA Codigo_Pedido char(16) <fk1> ISBN char(16) <fk2> Libro Cantidad numeric Precio money ISBN char(16) <pk> FK_PEDIDO_V_ASSOCIATI_LIBRO Codigo_Proveedor char(16) <fk> Titulo char(80) Factura Año char(4) Codigo_Factura char(16) <pk> Categoria char(25) Codigo_Pedido char(16) <fk2> Descripcion char(80) Codigo_Cliente char(16) <fk1> Precio money Fecha datetime Stock numeric StockMinimo numeric FK_PEDIDO_V_ASSOCIATI_FACTURA_ FK_FACTURA__ASSOCIATI_PEDIDO_V Editorial char(80) Autor char(80) FK_FACTURA__ASSOCIATI_FACTURA Factura_Detalle Codigo_Factura char(16) <fk1> Cantidad numeric Precio money Figura 46. 2.2.3 Modelo Relacional Físico DISEÑO DE INTERFACES 2.2.3.1 Diagrama de Navegación Para la navegación dentro del sistema, se utilizarán los perfiles especificados para cada usuario. 109 Figura 47. Diagrama de Navegación – Perfil Administrador Figura 48. Diagrama de Navegación – Perfil Vendedor 110 Figura 49. Diagrama de Navegación – Perfil Jefe de Vendedores Figura 50. Diagrama de Navegación – Perfil Jefe de Compras 111 2.2.3.2 Interfaces de Usuario 2.2.3.2.1 Ingreso al Sistema • Área para documentos inteligentes.- Contiene los documentos inteligentes que se van a presentar en el sistema, como son la orden de compra y el pedido de venta, entre otros. • Área de logo.- Contiene el logo de la empresa para la que se desarrolla el sistema. • Área de Ingreso al Sistema.- Permite ingresar al sistema mediante el uso de login y password Figura 51. Diseño de Interfaz - Ingreso al Sistema 112 2.2.3.2.2 Menú • Área para documentos inteligentes.- Contiene los documentos inteligentes que se van a presentar en el sistema, como son la orden de compra y el pedido de venta, entre otros. • Área de logo.- Contiene el logo de la empresa para la que se desarrolla el sistema. • Área de Botones.- Contiene los botones que permiten el acceso a los diferentes módulos del sistema. Figura 52. Diseño de Interfaz - Menú 2.2.3.2.3 Principal • Área para documentos inteligentes.- Contiene los documentos inteligentes que se van a presentar en el sistema, como son la orden de compra y el pedido de venta, entre otros. • Área de logo.- Contiene el logo de la empresa para la que se desarrolla el sistema. 113 • Área de Ingreso de Datos para Consultas.- Incluye las herramientas para ingresar códigos o descripciones, las mismas que sirven para realizar búsqueda de información dentro del sistema. • Área de Botones.- Incluye botones para el ingreso, selección ó actualización de la información del documento inteligente. • Área de Presentación de Información.- Permite mostrar listas de datos, que son resultado de las consultas del sistema. Figura 53. Diseño de Interfaz – Principal 114 CAPITULO 3. CONSTRUCCIÓN Y PRUEBAS DEL SISTEMA PARA LA COMPRA Y VENTA DE LIBROS UTILIZANDO TECNOLOGÍA SMART CLIENT. SMARTBOOKSB. 3.1 IMPLENTACIÓN DEL SISTEMA 3.1.1 El ALCANCE Sistema SMARTBOOKSB se ha desarrollado para Empresas Comercializadoras de Libros en general. La implementación del prototipo se basa en las siguientes consideraciones: • El Sistema esta orientado a la administración de compra y venta de libros de cualquier género. • Se podrá utilizar el Sistema sin estar obligatoriamente conectado a la red de la empresa, es decir, en la máquina local. • El Sistema no contempla la administración de perfiles y usuarios para el mismo. • El Sistema será accedido desde Microsoft Office Word 2003 • Los Smart Documents estarán con un formato preestablecido y no podrán ser modificados. 3.1.2 HERRAMIENTAS DE DESARROLLO 3.1.2.1 Detalle de las Herramientas DESCRIPCIÓN DE HERRAMIENTAS Nombre Cliente Microsoft Word 2003 Descripción Office • Fácil de usar. • Común en el mercado. • Familiar para los usuarios. • Compatible con características Smart Client. • Compatible para implementar Smart 115 Client. Base de Datos SQL Server • Servidor Robusto. • Servicios de transferencia de datos (DTS Data Transformation Services). • Administración Multiservidor. • Duplicación de cualquier base de datos. Lenguaje de Microsoft Programación Visual • Trabaja con lenguajes y protocolos Studio. Net (Basic) de estándares abiertos. • Soporte de múltiples lenguajes compilados. Tabla 27. 3.1.3 Descripción de Herramientas ESTÁNDARES DE PROGRAMACIÓN ESTÁNDARES DE PROGRAMACIÓN Tipo Estándar Constante cstNombreConstante Variable Local mTipoDatoNombre Variable Global gTipoDatoNombre Función local funNombreFuncion Argumentos de Función pTipoDatoNombre Panel panNombrePanel Clase clsNombre Smart Documents sdNombreDocumento Smart Tag stSmartTag Procedimiento Almacenado spNombreProcedimiento Tabla 28. Archivo XML xmlNombreDocumento Web Service wbsNombreServicio Estándares de Programación 116 3.1.4 DIAGRAMA DE COMPONENTES 3.1.4.1 Generalidades Componente.- Es un módulo de software que puede ser código fuente, código binario, código ejecutable o una librería de clases o de otros componentes. Clase.- Es la definición estructural de un objeto, mediante la cual se especifican sus atributos o propiedades, así como sus métodos y/o funcionalidades. 3.1.4.1.1 Diagrama de Componentes Microsoft Office (Documentos Inteligentes) clsVentas clsAdministración clsCompras clsSeguridad clsBaseDeDatos SQL Server clsGestorConexion Figura 54. Diagrama de Componentes 3.1.4.2 Descripción del Diagrama de Componentes. 3.1.4.2.1 Microsoft Office Es el programa principal desde el cual se llaman a los diferentes subprogramas que permiten la interacción del usuario con el sistema. 3.1.4.2.2 clsVentas 117 Componente para la Administración de las ventas, contiene lo siguiente: clsPedidodeVentas.vb Contiene las funciones para el mantenimiento de los pedidos de venta. clsPedidoVentaDetalle.vb Contiene las funciones para el mantenimiento de los detalle de los pedidos de venta. clsFactura.vb Contiene las funciones para el para el mantenimiento de facturas. clsFacturaDetalle.vb Contiene las funciones mantenimiento de los detalles de facturas. clsAutorizacionVenta.vb Contienes las funciones para el mantenimiento de las autorizaciones de venta. PedidodeVentas.doc Smart Document para los pedidos de venta. Factura.doc Smart Document para las facturas. Tabla 29. Descripción de Componente – clsVentas 3.1.4.2.3 clsAdministración Componente para la Administración del sistema, contiene lo siguiente: clsCliente.vb Contiene las funciones para el para el para el mantenimiento de clientes. clsLibro.vb Contiene las funciones mantenimiento de libros. clsProveedor.vb Contiene las funciones mantenimiento de proveedores. Administración.doc Smart Document para administración del sistema. Tabla 30. Descripción de Componente – clsAdministración realizar la 118 3.1.4.2.4 clsCompras Componente para la Administración de las órdenes de compra, contiene lo siguiente: clsOrdenDeCompra.vb Contiene las mantenimiento funciones de los para el órdenes de compra. clsOrdenCompraDetalle.vb Contiene las funciones para el mantenimiento de los detalle de los pedidos de venta. clsAutorizacionCompra.vb Contienes las funciones para el mantenimiento de las autorizaciones de venta. PedidodeVentas.doc Smart Document para las órdenes de compra. Tabla 31. Descripción de Componente – clsCompras 3.1.4.2.5 clsBasedeDatos Componente para la Administración de la base de datos, contiene lo siguiente: clsBDD Contiene las funciones para la administración de la base de datos, así como para la ejecución de procedimientos almacenados y retorno de datos Tabla 32. Descripción de Componente – clsBDD 3.1.4.2.6 clsGestorConexion Componente para la Administración de las conexiones con la base de datos, así como la administración de los estados “en línea” (online) y “fuera de línea” (offline). Contiene lo siguiente: 119 clsConectionManagement.vb Contiene las funciones para detección de conexiones a la red. clsDataLoadingManagement.vb Contiene las funciones para solicitar que los datos sean cargados en el caché. clsQueueManagement.vb Contienes las funciones para controlar la cola de peticiones cuando una aplicación se encuentra fuera de línea. clsExecutor.vb Contiene las funciones para administrar las políticas de los hilos de ejecución, utilizados por clsQueuemanagement.vb clsCacheManagement Contiene las administración funciones para la caché local de funciones para la del datos. clsServiceAgentManagement Contiene las administración de las llamadas del cliente fuera de línea. Tabla 33. Descripción de Componente –clsGestorConexion 120 3.1.5 DIAGRAMA DE DESPLIEGUE. Servidor Base de datos Cliente Compras TCP/IP Figura 55. Diagrama de Despliegue TCP/IP Clientes Ventas 121 3.2 PRUEBAS 3.2.1 INTRODUCCIÓN Las diferentes pruebas del sistema SMARTBOOK fueron realizadas por los siguientes encargados: Jefe de Compras, Jefe de Ventas, Vendedores, Administrador, para verificar la funcionalidad de cada uno de los perfiles existen en el sistema, así como la rapidez en la operación. 3.2.2 DISEÑO DE PRUEBAS 3.2.2.1 Pruebas Clientes CASO DE PRUEBA: REALIZAR CONSULTA DEL CLIENTE ENTRADA: CÓDIGO O DESCRIPCIÓN DEL CLIENTE RESULTADO ESPERADO: EL VENDEDOR RECIBE LA INFORMACIÓN CORRESPONDIENTE AL CLIENTE, COMO: NOMBRE, DIRECCIÓN, CIUDAD, PAÍS, TELÉFONO, EMAIL. CONDICIONES: EL VENDEDOR DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DEL CLIENTE. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL CLIENTE. 2. EL VENDEDOR INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL CLIENTE. 3. EL SISTEMA BUSCA EL O LOS CLIENTES QUE CUMPLEN CON LAS CONDICIONES. 4. EL VENDEDOR ESCOGE AL CLIENTE. 5. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA CASO 1 CÓDIGO: CLI000000001 DESCRIPCIÓN: LIBRERÍA STUDIUM 122 CASO 2 CÓDIGO: CLI000000002 DESCRIPCIÓN: LIBRERÍA SAN PABLO Tabla 34. Caso de Prueba – Realizar consulta de cliente 123 CASO DE PRUEBA: REALIZAR INGRESO DATOS DEL CLIENTE ENTRADA: DATOS DEL CLIENTE RESULTADO ESPERADO: EL VENDEDOR RECIBE LA CONFIRMACIÓN DE QUE LA INFORMACIÓN QUE INGRESÓ, HA SIDO REGISTRADA CONDICIONES: OBSERVACIÓN: EL REGISTRO DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL CLIENTE. 2. EL VENDEDOR INGRESA LOS DATOS DEL CLIENTE. 3. EL SISTEMA VALIDA LOS DATOS QUE SON REQUERIDOS. 4. EL SISTEMA INGRESA LA INFORMACIÓN. 5. EL SISTEMA CONFIRMA EL INGRESO. CASO 1 CÓDIGO: CLI000000001 NOMBRE CLIENTE: LIBRERÍA STUDIUM NOMBRE CONTACTO: MIGUEL MÁRQUEZ DIRECCIÓN: AMÉRICA Y MÁÑOSCA CIUDAD: QUITO PAÍS: ECUADOR TELÉFONO: 2257549 FAX: 2469714 EMAIL: [email protected] CASO 2 CÓDIGO: CLI000000002 NOMBRE CLIENTE: LIBRERÍA SAN PABLO NOMBRE CONTACTO: VERÓNICA AYALA DIRECCIÓN: AV. 5 DE JUNIO 2810 CIUDAD: GUAYAQUIL PAÍS: ECUADOR TELÉFONO: 04 2345789 124 FAX: EMAIL: Tabla 35. Caso de Prueba – Realizar Ingreso Datos del Cliente CASO DE PRUEBA: REALIZAR ACTUALIZACIÓN DEL CLIENTE ENTRADA: CÓDIGO O DESCRIPCIÓN DEL CLIENTE RESULTADO ESPERADO: EL VENDEDOR RECIBE LA INFORMACIÓN CORRESPONDIENTE AL CLIENTE, COMO: NOMBRE, DIRECCIÓN, CIUDAD, PAÍS, TELÉFONO, EMAIL; PARA LUEGO REGISTRAR LOS CAMBIOS. CONDICIONES: EL VENDEDOR DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DEL CLIENTE DEL CUAL DESEA ACTUALIZAR LA INFORMACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL CLIENTE. 2. EL VENDEDOR INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL CLIENTE. 3. EL SISTEMA BUSCA EL O LOS CLIENTES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA EL O LOS CLIENTES QUE SE OBTUVIERON DE LA BÚSQUEDA 5. EL VENDEDOR ESCOGE EL CLIENTE. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA. 7. EL VENDEDOR CAMBIA LA INFORMACIÓN RESPECTIVA. 8. EL SISTEMA ACTUALIZA LA INFORMACIÓN. 9. EL SISTEMA CONFIRMA LA ACTUALIZACIÓN CASO 1 CÓDIGO: CLI000000001 DESCRIPCIÓN: LIBRERÍA STUDIUM 125 CASO 2 CÓDIGO: CLI000000002 DESCRIPCIÓN: LIBRERÍA SAN PABLO Tabla 36. Caso de Prueba – Realizar Actualización del Cliente 3.2.2.2 Prueba Libros CASO DE PRUEBA: REALIZAR CONSULTA DEL LIBROS ENTRADA: CÓDIGO O DESCRIPCIÓN DEL LIBRO RESULTADO ESPERADO: EL VENDEDOR O JEFE DE VENDEDORES RECIBE LA INFORMACIÓN COMO: CORRESPONDIENTE AL CLIENTE, TÍTULO, AÑO, CATEGORÍA, DESCRIPCIÓN, PRECIO, STOCK, STOCK MÍNIMO, EDITORIAL, AUTOR. CONDICIONES: EL VENDEDOR O JEFE VENDEDORES DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DEL LIBRO. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL VENDEDOR O JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL LIBRO. 2. EL VENDEDOR O JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL CLIENTE. 3. EL SISTEMA BUSCA EL O LOS LIBROS QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE LOS LIBROS QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR O JEFE DE VENDEDORES ESCOGE EL LIBRO. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA CASO 1 ISBN: ISBN0000000001 DESCRIPCIÓN: HARRY POTTER Y EL PRÍNCIPE MESTIZO CASO 2 126 ISBN: ISBN0000000002 DESCRIPCIÓN: UN GRITO DESESPERADO Tabla 37. Caso de Prueba – Realizar Consulta del Libros CASO DE PRUEBA: REALIZAR INGRESO DATOS DEL LIBRO ENTRADA: DATOS DEL LIBRO RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA CONFIRMACIÓN DE QUE LA INFORMACIÓN QUE INGRESÓ, HA SIDO REGISTRADA CONDICIONES: OBSERVACIÓN: EL REGISTRO DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL LIBRO. 2. EL JEFE DE VENDEDORES INGRESA LOS DATOS DEL LIBRO. 3. EL SISTEMA VALIDA LOS DATOS QUE SON REQUERIDOS. 4. EL SISTEMA INGRESA LA INFORMACIÓN. 5. EL SISTEMA CONFIRMA EL INGRESO. CASO 1 ISBN: ISBN0000000001 TITULO: HARRY POTTER Y EL PRÍNCIPE MESTIZO AÑO: 2005 CATEGORÍA: INFANTIL DESCRIPCIÓN: CONTINUACIÓN DE LA SERIA DE LIBROS DE J.K.ROULY PRECIO: 13.50 STOCK:15 STOCK MÍNIMO:2 EDITORIAL: SALAMANDRA AUTOR: J.K.ROULY CASO 2 ISBN: ISBN0000000002 127 TÍTULO: UN GRITO DESESPERADO AÑO:1994 CATEGORÍA: NOVELA DESCRIPCIÓN: NOVELA DE SUPERACIÓN PARA PADRES E HIJOS PRECIO: 6.50 STOCK: 40 STOCK MÍNIMO: 3 EDITORIAL: EDICIONES SELECTAS DIAMANTES AUTOR :CARLOS CUAUHTÉMOC SÁNCHEZ Tabla 38. Caso de Prueba – Realizar Ingreso Datos del Libro CASO DE PRUEBA: REALIZAR ACTUALIZACIÓN DEL LIBRO ENTRADA: CÓDIGO O DESCRIPCIÓN DEL LIBRO RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE AL CLIENTE, COMO: TÍTULO, AÑO, CATEGORÍA, DESCRIPCIÓN, PRECIO, STOCK, STOCK MÍNIMO, EDITORIAL, AUTOR; PARA LUEGO REGISTRAR LOS CAMBIOS. CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DEL LIBRO DEL CUAL DESEA ACTUALIZAR LA INFORMACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL LIBRO. 2. EL JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL LIBRO. 3. EL SISTEMA BUSCA EL O LOS LIBROS QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA EL O LOS LIBROS QUE SE OBTUVIERON DE LA 128 BÚSQUEDA 5. EL JEFE DE VENDEDORES ESCOGE EL LIBRO. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA. 7. EL JEFE DE VENDEDORES CAMBIA LA INFORMACIÓN RESPECTIVA. 8. EL SISTEMA ACTUALIZA LA INFORMACIÓN. 9. EL SISTEMA CONFIRMA LA ACTUALIZACIÓN CASO 1 ISBN: ISBN0000000001 DESCRIPCIÓN: HARRY POTTER Y EL PRÍNCIPE MESTIZO CASO 2 ISBN: ISBN0000000002 DESCRIPCIÓN: UN GRITO DESESPERADO Tabla 39. Caso de Prueba – Realizar Actualización del Libro 3.2.2.3 Prueba Compra de Libros CASO DE PRUEBA: REALIZAR CONSULTA DE ORDEN DE COMPRA ENTRADA: CÓDIGO O FECHA DE LA ORDEN RESULTADO ESPERADO: EL JEFE DE COMPRAS RECIBE LA INFORMACIÓN CORRESPONDIENTE A LA ORDEN DE COMPRA Y DETALLE DE LA ORDEN CONDICIONES: EL JEFE DE COMPRAS DEBE INGRESAR EL CÓDIGO O FECHA DE LA ORDEN DE COMPRA. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL JEFE DE COMPRAS INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA ORDEN DE COMPRA. 2. EL JEFE DE COMPRAS INGRESA EL CÓDIGO O LA FECHA DE LA ORDEN. 3. EL SISTEMA BUSCA LA O LAS ORDENES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN CON LAS CONDICIONES. DE O LA ORDENES QUE CUMPLIERON 129 5. EL JEFE DE COMPRAS ESCOGE LA ORDEN. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA CASO 1 CÓDIGO: ORD000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: ORD000000002 FECHA: 04-08-2006 Tabla 40. Caso de Prueba – Realizar Consulta de Orden de Compra CASO DE PRUEBA: REALIZAR INGRESO DATOS DE LA ORDEN DE COMPRA ENTRADA: DATOS DE LA ORDEN DE COMPRA Y DETALLE DE LA ORDEN. RESULTADO ESPERADO: EL VENDEDOR RECIBE LA CONFIRMACIÓN DE QUE LA INFORMACIÓN QUE INGRESÓ, HA SIDO REGISTRADA CONDICIONES: OBSERVACIÓN: EL REGISTRO DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA ORDEN DE COMPRA. 2. EL VENDEDOR INGRESA EL CÓDIGO O DESCRIPCIÓN DEL PROVEEDOR. 3. EL SISTEMA BUSCA EL O LOS PROVEEDORES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS PROVEEDORES QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR ESCOGE EL PROVEEDOR QUE REALIZA LA ORDEN. 6. EL VENDEDOR INGRESA EL CÓDIGO O DESCRIPCIÓN DEL LIBRO. 7. EL SISTEMA BUSCA EL O LOS LIBROS QUE CUMPLEN CON LAS CONDICIONES. 8. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS LIBROS QUE CUMPLIERON CON LAS CONDICIONES. 130 9. EL VENDEDOR ESCOGE EL LIBRO QUE REALIZA EL PEDIO. 10. EL VENDEDOR INGRESA LA CANTIDAD DE LIBRO QUE NECESITA. 11. EL VENDEDOR REPITE LOS PASOS 6 AL 10, PARA AGREGAR MÁS LIBROS EN ORDEN DE COMPRA 12. EL VENDEDOR INGRESA LOS DATOS DE LA ORDEN DE COMPRA Y EL DETALLE DE LA MISMA 13. EL SISTEMA VALIDA LOS DATOS QUE SON REQUERIDOS. 14. EL SISTEMA INGRESA LA INFORMACIÓN. 15. EL SISTEMA CONFIRMA EL INGRESO. CASO 1 CÓDIGO: ORD000000001 FECHA: 02-06-2006 CÓDIGO DEL PROVEEDOR: PRV00000000001 FORMA DE PAGO: CHEQUE ISBN: ISBN0000000001 CANTIDAD: 120 CASO 2 CÓDIGO: ORD000000002 FECHA: 04-08-2006 CÓDIGO DEL PROVEEDOR: PRV00000000002 FORMA DE PAGO: EFECTIVO ISBN: ISBN0000000002 CANTIDAD: 135 Tabla 41. Caso de Prueba – Realizar Ingreso Datos de la Orden de Compra CASO DE PRUEBA: REALIZAR ACTUALIZACIÓN DE LA ORDEN DE COMPRA ENTRADA: CÓDIGO O FECHA DE LA ORDEN RESULTADO ESPERADO: EL VENDEDOR RECIBE LA INFORMACIÓN CORRESPONDIENTE A LA ORDEN Y AL DETALLE DE LA MISMA, COMO: CÓDIGO, FECHA, CÓDIGO DEL 131 PROVEEDOR, FORMA DE PAGO, ISBN, CANTIDAD; PARA LUEGO REGISTRAR LOS CAMBIOS. CONDICIONES: EL VENDEDOR DEBE INGRESAR EL CÓDIGO O FECHA DEL PEDIDO DEL CUAL DESEA ACTUALIZAR LA INFORMACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA ORDEN DE COMPRA. 2. EL VENDEDOR INGRESA EL CÓDIGO O LA FECHA DE LA ORDEN. 3. EL SISTEMA BUSCA LA O LAS ÓRDENES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE LA O LAS ÓRDENES QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR ESCOGE LA ORDEN. 6. EL VENDEDOR CAMBIA LA INFORMACIÓN RESPECTIVA A LA ORDEN DE COMPRA. 7. EL SISTEMA ACTUALIZA LA INFORMACIÓN. 8. EL SISTEMA CONFIRMA LA ACTUALIZACIÓN CASO 1 CÓDIGO: ORD000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: ORD000000002 FECHA: 04-08-2006 Tabla 42. Caso de Prueba – Realizar Actualización de la Orden de Compra CASO DE PRUEBA: REALIZAR LA AUTORIZACIÓN DE LA ORDEN DE 132 COMPRA ENTRADA: CÓDIGO O FECHA DE LA ORDEN DE COMPRA RESULTADO ESPERADO: EL JEFE DE COMPRAS RECIBE LA INFORMACIÓN CORRESPONDIENTE A LA ORDEN Y AL DETALLE DE LA MISMA; PARA LUEGO REALIZAR LA AUTORIZACIÓN O NEGACIÓN DE LA MISMA. CONDICIONES: EL JEFE DE COMPRAS DEBE INGRESAR EL CÓDIGO O FECHA DE LA ORDEN DE LA CUAL DESEA REALIZAR LA AUTORIZACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE COMPRAS INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA ORDEN DE COMPRA. 2. EL JEFE DE COMPRAS INGRESA EL CÓDIGO O LA FECHA DE LA ORDEN. 3. EL SISTEMA BUSCA LA O LAS ÓRDENES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE LA O LAS ÓRDENES QUE CUMPLIERON CON LAS CONDICIONES. 5. EL JEFE DE COMPRAS ESCOGE LA ORDEN. 6. EL JEFE DE COMPRAS APRUEBA O ANULA LA ORDEN DE COMPRA 7. EL SISTEMA ACTUALIZA LA ORDEN DE COMPRA 8. EL SISTEMA CONFIRMA LA AUTORIZACIÓN DE LA ORDEN DE COMPRA CASO 1 CÓDIGO: ORD000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: ORD000000002 FECHA: 04-08-2006 Tabla 43. Caso de Prueba – Realizar la Autorización de la Orden de Compra 133 3.2.2.4 Prueba Venta de Libros CASO DE PRUEBA: REALIZAR CONSULTA DEL PEDIDO DE VENTA ENTRADA: CÓDIGO O FECHA DEL PEDIDO RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PEDIDO DE VENTA Y DETALLE DEL PEDIDO CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR EL CÓDIGO O FECHA DEL PEDIDO DE VENTA. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PEDIDO DE VENTA. 2. EL JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA FECHA DEL PEDIDO. 3. EL SISTEMA BUSCA EL O LOS PEDIDO QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS PEDIDOS QUE CUMPLIERON CON LAS CONDICIONES. 5. EL JEFE DE VENDEDORES ESCOGE EL PEDIDO. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA CASO 1 CÓDIGO: PED0000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: PED0000000002 FECHA: 05-07-2006 Tabla 44. Caso de Prueba – Realizar Consulta del Pedido de Venta CASO DE PRUEBA: REALIZAR INGRESO DATOS DE PEDIDO DE VENTA ENTRADA: DATOS DEL PEDIDO Y DETALLE DEL PEDIDO RESULTADO ESPERADO: EL VENDEDOR RECIBE LA CONFIRMACIÓN DE QUE LA 134 INFORMACIÓN QUE INGRESÓ, HA SIDO REGISTRADA CONDICIONES: OBSERVACIÓN: EL REGISTRO DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PEDIDO DE VENTA. 2. EL VENDEDOR INGRESA EL CÓDIGO O DESCRIPCIÓN DEL CLIENTE. 3. EL SISTEMA BUSCA EL O LOS CLIENTES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS CLIENTES QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR ESCOGE EL CLIENTE QUE REALIZA EL PEDIO. 6. EL VENDEDOR INGRESA EL CÓDIGO O DESCRIPCIÓN DEL LIBRO. 7. EL SISTEMA BUSCA EL O LOS LIBROS QUE CUMPLEN CON LAS CONDICIONES. 8. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS LIBROS QUE CUMPLIERON CON LAS CONDICIONES. 9. EL VENDEDOR ESCOGE EL LIBRO QUE REALIZA EL PEDIO. 10. EL VENDEDOR INGRESA LA CANTIDAD DE LIBRO QUE NECESITA. 11. EL SISTEMA CALCULA EL PRECIO POR CADA LIBRO Y EL TOTAL DEL PEDIDO 12. EL VENDEDOR REPITE LOS PASOS 6 AL 11, PARA AGREGAR MÁS LIBROS EN EL PEDIDO DE VENTA 13. EL VENDEDOR INGRESA LOS DATOS DEL PEDIDO Y DETALLE DEL PEDIDO. 14. EL SISTEMA VALIDA LOS DATOS QUE SON REQUERIDOS. 15. EL SISTEMA INGRESA LA INFORMACIÓN. 16. EL SISTEMA CONFIRMA EL INGRESO. CASO 1 CÓDIGO: PED0000000001 FECHA: 02-06-2006 CÓDIGO DEL CLIENTE: CLI000000001 ISBN: ISBN0000000002 CANTIDAD: 68 135 PRECIO: 5.2 CASO 2 CÓDIGO: PED0000000002 FECHA: 05-07-2006 CÓDIGO DEL CLIENTE: CLI000000002 ISBN: ISBN0000000001 CANTIDAD: 34 PRECIO: 11.5 Tabla 45. Caso de Prueba – Realizar Ingreso Datos de Pedido de Venta CASO DE PRUEBA: REALIZAR ACTUALIZACIÓN DEL PEDIDO ENTRADA: CÓDIGO O FECHA DEL PEDIDO RESULTADO ESPERADO: EL VENDEDOR RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PEDIO Y AL DETALLE DEL MISMO, COMO: CÓDIGO, FECHA ,CÓDIGO DEL CLIENTE, ISBN, CANTIDAD, PRECIO; PARA LUEGO REGISTRAR LOS CAMBIOS. CONDICIONES: EL VENDEDOR DEBE INGRESAR EL CÓDIGO O FECHA DEL PEDIDO DEL CUAL DESEA ACTUALIZAR LA INFORMACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PEDIDO DE VENTA. 2. EL VENDEDOR INGRESA EL CÓDIGO O LA FECHA DEL PEDIDO. 136 3. EL SISTEMA BUSCA EL O LOS PEDIDO QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS PEDIDOS QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR ESCOGE EL PEDIDO. 6. EL VENDEDOR CAMBIA LA INFORMACIÓN RESPECTIVA DEL PEDIDO. 7. EL SISTEMA ACTUALIZA LA INFORMACIÓN. 8. EL SISTEMA CONFIRMA LA ACTUALIZACIÓN CASO 1 CÓDIGO: PED0000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: PED0000000002 FECHA: 05-07-2006 Tabla 46. Caso de Prueba – Realizar Actualización del Pedido CASO DE PRUEBA: REALIZAR LA AUTORIZACIÓN DEL PEDIDO ENTRADA: CÓDIGO O FECHA DEL PEDIDO RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PEDIO Y AL DETALLE DEL MISMO; PARA LUEGO REALIZAR LA AUTORIZACIÓN O NEGACIÓN DEL MISMO. CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR EL CÓDIGO O FECHA DEL PEDIDO DEL CUAL DESEA REALIZAR LA AUTORIZACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL 137 PEDIDO DE VENTA. 2. EL JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA FECHA DEL PEDIDO. 3. EL SISTEMA BUSCA EL O LOS PEDIDO QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS PEDIDOS QUE CUMPLIERON CON LAS CONDICIONES. 5. EL JEFE DE VENDEDORES ESCOGE EL PEDIDO. 6. EL JEFE DE VENDEDORES APRUEBA O ANULA EL PEDIDO 7. EL SISTEMA ACTUALIZA EL PEDIDO DE LA VENTA 8. EL SISTEMA CONFIRMA LA AUTORIZACIÓN DEL PEDIDO CASO 1 CÓDIGO: PED0000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: PED0000000002 FECHA: 05-07-2006 Tabla 47. Caso de Prueba – Realizar la Autorización del Pedido CASO DE PRUEBA: REALIZAR LA GENERACIÓN DE FACTURA DEL PEDIDO ENTRADA: CÓDIGO O FECHA DEL PEDIDO RESULTADO ESPERADO: EL VENDEDOR RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PEDIO Y AL DETALLE DEL MISMO EL CUAL SE ENCUENTRA APROBADO; PARA LUEGO REALIZAR LA GENERACIÓN DE LA FACTURA. CONDICIONES: EL VENDEDOR DEBE INGRESAR EL CÓDIGO O FECHA DEL PEDIDO DEL CUAL DESEA REALIZAR LA GENERACIÓN DE LA FACTURA. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. 138 PROCEDIMIENTO 1. EL VENDEDOR INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PEDIDO DE VENTA. 2. EL VENDEDOR INGRESA EL CÓDIGO O LA FECHA DEL PEDIDO. 3. EL SISTEMA BUSCA EL O LOS PEDIDO QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA LA INFORMACIÓN DE O LOS PEDIDOS QUE CUMPLIERON CON LAS CONDICIONES. 5. EL VENDEDOR ESCOGE EL PEDIDO. 6. EL VENDEDOR GENERA LA FACTURA DEL PEDIDO 7. EL SISTEMA REGISTRA LA FACTURA DEL PEDIDO DE LA VENTA Y EL DETALLE DEL MISMO. 8. EL SISTEMA CONFIRMA EL INGRESO DE LA FACTURA. CASO 1 CÓDIGO: PED0000000001 FECHA: 02-06-2006 CASO 2 CÓDIGO: PED0000000002 FECHA: 05-07-2006 Tabla 48. Caso de Prueba – Realizar la Generación de Factura del Pedido 3.2.2.5 Prueba Proveedores CASO DE PRUEBA: REALIZAR CONSULTA DE PROVEEDOR ENTRADA: CÓDIGO O DESCRIPCIÓN DEL PROVEEDOR RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PROVEEDOR, COMO: NOMBRE, DIRECCIÓN, CIUDAD, PAÍS, TELÉFONO, EMAIL. CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DE PROVEEDOR EXISTENTES. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. 139 PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PROVEEDOR. 2. EL JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL PROVEEDOR. 3. EL SISTEMA BUSCA EL O LOS PROVEEDORES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA EL O LOS PROVEEDORES QUE SE OBTUVIERON DE LA BÚSQUEDA 5. EL JEFE DE VENDEDORES ESCOGE EL PROVEEDOR. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA. CASO 1 CÓDIGO: PRV00000000001 DESCRIPCIÓN: LECTORUM CASO 2 CÓDIGO: PRV00000000002 DESCRIPCIÓN: PRENTICE HALL Tabla 49. Caso de Prueba – Realizar Consulta de Proveedor CASO DE PRUEBA: REALIZAR INGRESO DATOS DE PROVEEDOR ENTRADA: DATOS DEL PROVEEDOR RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA CONFIRMACIÓN DE QUE LA INFORMACIÓN QUE INGRESÓ, HA SIDO REGISTRADA CONDICIONES: OBSERVACIÓN: EL REGISTRO DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PROVEEDOR. 2. EL JEFE DE VENDEDORES INGRESA LOS DATOS DEL PROVEEDOR. 140 3. EL SISTEMA VALIDA LOS DATOS QUE SON REQUERIDOS. 4. EL SISTEMA INGRESA LA INFORMACIÓN. 5. EL SISTEMA CONFIRMA EL INGRESO. CASO 1 CÓDIGO: PRV00000000001 NOMBRE PROVEEDOR: LECTORUM NOMBRE CONTACTO: BELÉN VACAS DIRECCIÓN:AV. DE LOS SHYRIS NO. 1240 Y PORTUGAL CIUDAD: QUITO PAÍS: ECUADOR TELÉFONO:2437009 FAX: 2467009 EMAIL: CASO 2 CÓDIGO: PRV00000000002 NOMBRE PROVEEDOR: PRENTICE HALL NOMBRE CONTACTO: ISABEL MÁRQUEZ DIRECCIÓN: CIUDAD: GUAYAQUIL PAÍS: ECUADOR TELÉFONO: 04 2345978 FAX. EMAIL: Tabla 50. Caso de Prueba – Realizar Ingreso Datos de Proveedor 141 CASO DE PRUEBA: REALIZAR ACTUALIZACIÓN DE PROVEEDOR ENTRADA: CÓDIGO O DESCRIPCIÓN DEL PROVEEDOR RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE AL PROVEEDOR, COMO: NOMBRE, DIRECCIÓN, CIUDAD, PAÍS, TELÉFONO, EMAIL; PARA LUEGO REGISTRAR LOS CAMBIOS. CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR EL CÓDIGO O DESCRIPCIÓN DEL PROVEEDOR DEL CUAL DESEA ACTUALIZAR LA INFORMACIÓN. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. ADEMÁS, EL REGISTRO DE LAS MODIFICACIONES DEPENDE DE LA DISPONIBILIDAD DE LA BASE DE DATOS. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DEL PROVEEDOR. 2. EL JEFE DE VENDEDORES INGRESA EL CÓDIGO O LA DESCRIPCIÓN DEL PROVEEDOR. 3. EL SISTEMA BUSCA EL O LOS PROVEEDORES QUE CUMPLEN CON LAS CONDICIONES. 4. EL SISTEMA PRESENTA EL O LOS PROVEEDORES QUE SE OBTUVIERON DE LA BÚSQUEDA 5. EL JEFE DE VENDEDORES ESCOGE EL PROVEEDOR. 6. EL SISTEMA PRESENTA LA INFORMACIÓN SOLICITADA. 7. EL JEFE VENDEDORES CAMBIA LA INFORMACIÓN RESPECTIVA. 8. EL SISTEMA ACTUALIZA LA INFORMACIÓN. 9. EL SISTEMA CONFIRMA LA ACTUALIZACIÓN CASO 1 CÓDIGO: PRV00000000001 DESCRIPCIÓN: LECTORUM 142 CASO 2 CÓDIGO: PRV00000000002 DESCRIPCIÓN: PRENTICE HALL Tabla 51. Caso de Prueba – Realizar Actualización de Proveedor 3.2.2.6 Prueba Reporte Compra de Libros CASO DE PRUEBA: REALIZAR REPORTE DE ORDEN DE COMPRA ENTRADA: FECHA INICIO Y FECHA FIN RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE LA INFORMACIÓN CORRESPONDIENTE A LA ORDEN DE COMPRA Y DETALLE DE LA ORDEN CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR LA FECHA INICIO Y FECHA FIN DE LA ORDEN DE COMPRA. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA REPORTES 2. EL JEFE DE VENDEDORES ESCOGE LA OPCIÓN DEL REPORTE DE ORDEN DE COMPRA 3. EL JEFE DE VENDEDORES INGRESA LA FECHA INICIO Y LA FECHA FIN ENTRE LAS QUE DESEA REALIZAR EL REPORTE 4. EL SISTEMA BUSCA LA O LAS ÓRDENES QUE CUMPLEN CON LAS CONDICIONES. 5. EL SISTEMA PRESENTA LA INFORMACIÓN CUMPLIERON CON LAS CONDICIONES. CASO 1 FECHA INICIO: 01-01-2006 FECHA FIN: 31-01-2006 CASO 2 FECHA INICIO: 01-05-2006 DE O LAS ORDENES QUE 143 FECHA FIN: 30-05-2006 Tabla 52. Caso de Prueba – Realizar Reporte de Orden de Compra 3.2.2.7 Prueba Reporte Ventas de Libros CASO DE PRUEBA: REALIZAR REPORTE DE PEDIDO DE VENTA ENTRADA: FECHA INICIO Y FECHA FIN RESULTADO ESPERADO: EL JEFE DE VENDEDORES RECIBE INFORMACIÓN CORRESPONDIENTE AL LA PEDIDO DE VENTA Y DETALLE DEL PEDIDO CONDICIONES: EL JEFE DE VENDEDORES DEBE INGRESAR LA FECHA INICIO Y FECHA FIN DEL PEDIDO DE VENTA. OBSERVACIÓN: EL TIEMPO DE PRESENTACIÓN DE LA INFORMACIÓN DEPENDE DEL VOLUMEN DE REGISTROS QUE SE VAYAN A MOSTRAR. PROCEDIMIENTO 1. EL JEFE DE VENDEDORES INGRESA AL SISTEMA Y ESCOGE LA OPCIÓN DE LA REPORTES 2. EL JEFE DE VENDEDORES ESCOGE LA OPCIÓN DEL REPORTE DEL PEDIDO DE VENTA. 3. EL JEFE DE VENDEDORES INGRESA LA FECHA INICIO Y LA FECHA FIN ENTRE LAS QUE DESEA REALIZAR EL REPORTE 4. EL SISTEMA BUSCA EL O LOS PEDIDOS QUE CUMPLEN CON LAS CONDICIONES. 5. EL SISTEMA PRESENTA LA INFORMACIÓN DE EL O LOS PEDIDOS QUE CUMPLIERON CON LAS CONDICIONES. CASO 1 FECHA INICIO: 01-01-2006 FECHA FIN: 31-01-2006 CASO 2 FECHA INICIO: 01-05-2006 144 FECHA FIN: 30-05-2006 Tabla 53. 3.2.3 Caso de Prueba – Realizar Reporte de Pedido de Venta RESULTADOS: En base a las pruebas realizadas para cada uno de los casos propuestos se obtuvieron los siguientes resultados: • Para los valores de entrada en cada uno de los casos de prueba de registro de la información, el resultado fue el esperado. Para los datos de prueba ingresados; en el caso de que los datos no cumplen con las condiciones establecidas, se despliega el mensaje de error respectivo • Para los valores de entrada en cada uno de los casos de prueba de consulta de la información, el resultado fue el esperado. Para los datos de prueba ingresados; en el caso de que los datos no cumplen con las condiciones establecidas, se despliega el mensaje informativo correspondiente. Los resultados obtenidos fueron acordes a las expectativas tanto de los usuarios cada uno de sus perfiles así como los del Dep. de sistemas de la librería que cumplieron con todos las expectativas planteados en el levantamiento de requerimientos. En la parte técnica se realizaron pruebas para verificar la integridad de información ingresada en el sistema, como datos de cliente, libros, proveedores, y la generación exitosa de pedidos de venta, ordenes de compra y facturas estas pruebas se realizaron tanto en el desarrollo del sistema como la implantación del mismo, siendo consistentes comparado con el proceso realizado manualmente, mejorando el proceso y optimizando el tiempo de operación. 145 CAPITULO 4. CASO DE ESTUDIO. 4.1 IMPLANTACIÓN DEL SISTEMA 4.1.1 SELECCIÓN DEL AMBIENTE Para la implantación del sistema SMARTBOOKSB, se escogió a la distribuidora de libros líder en el país: LIBRIMUNDI, debido a las facilidades ofrecidas para la captura de requerimientos y desarrollo de la aplicación. 4.1.2 AMBIENTE TECNOLÓGICO 4.1.2.1 Comunicaciones: Red interna LAN, con un ancho de banda de 100 Mbps. Firewall, mediante el uso de sistema operativo Linux. 4.1.2.2 Servidores: Servidor de Aplicaciones. o SO Linux o 1,5 GB de RAM o HDD SCSI 36 GB Servidor Web, Mail, Proxy, Firewall. o SO Linux o 1,5 GB RAM o HDD SCSI 50 GB Servidor BDD o SO Windows 2003 o SQL Server 2000 o 3 GB RAM o HDD SCSI 50 GB Servidor Impresión, DHCP, Desarrollo o SO Windows 2000 o 1,5 GB RAM o HDD SCSI 50 GB o Procesador 2432 o Disco duro de 140 Gb o Mirror de 140 Gb 146 4.1.3 IMPLANTACIÓN Para la implantación del sistema, se contó con la ayuda del personal del departamento de sistemas de la librería que nos proporcionó el ambiente para poder implantar la aplicación, posteriormente los usuarios colaboraron con las pruebas necesarias para verificar el correcto funcionamiento del sistema. A continuación se describen los procesos realizados para la implantación del sistema. 4.1.4 IMPLANTACIÓN EN EL SERVIDOR 4.1.4.1 Creación de la Base de Datos Mediante el uso de un script SQL, se creó la base de datos SMARTBOOKSB. Además se utilizaron las herramientas de creación de usuarios de SQL Server 2000, con el objetivo de crear un usuario propietario para la base de datos. 4.1.4.2 Migración de datos de empleados y perfiles de seguridad La migración de la información de los empleados y perfiles disponibles para la aplicación, se realizó mediante el uso de DTS ejecutados en el servidor de base de datos. Dichos DTS contienen como origen de datos la base de datos de los empleados y hojas de Microsoft Excel para la introducción de los perfiles del sistema. 4.1.5 IMPLANTACIÓN EN EL SERVIDOR Para la implantación en los clientes se utilizaron 3 máquinas: • Computador del jefe de Compras • Computador del jefe de Ventas • Computador laptop, prestado por la empresa para un vendedor 147 Todos los computadores contaban con Windows XP Home Edition y Microsoft Office 2003 Para la instalación del programa en las máquinas clientes, se procedió a realizar lo siguiente: • Instalación de Microsoft .NET Framework 2.0 • Instalación de SMARTBOOKSB 4.1.6 EVALUACIÓN DE LA APLICACIÓN El personal tanto de desarrollo como del departamento de sistemas al realizar la etapa de implantación y en base a los resultados obtenidos de las pruebas planteadas en el capítulo 3, definen los siguientes parámetros de evaluación: 4.1.6.1 PARÁMETROS DE EVALUACIÓN 4.1.6.1.1 Herramientas Se evalúa el grado de dominio de la arquitectura y herramientas utilizadas en el desarrollo del sistema. 4.1.6.1.2 Comprensión del Producto y Documentación Se evalúa aspectos relativos al producto tales como: complejidad, consistencia y utilización de recursos. 4.1.6.1.3 Desempeño Se evalúa las características dinámicas del "software", tales como fiabilidad y eficiencia, desde el punto de vista de operadores y administrador del sistema. 4.1.6.1.4 Utilidad Se evalúa el nivel de satisfacción que brinda el sistema a sus usuarios, así como la contribución percibida del sistema por la organización, desde el punto de vista de usuarios e involucrados en general. 4.1.6.1.5 Manejo 148 Se evalúa la facilidad de aprendizaje y uso del sistema, desde el punto de vista de los usuarios. 4.1.6.1.6 Contribución Se evalúa los beneficios suministrados por el sistema a la organización y a la comunidad, desde el punto de vista de los usuarios, y todos los afectados por el sistema. 149 4.1.6.2 TABLA DE EVALUACIÓN Parámetro Evaluación Herramientas El uso de una metodología como el Proceso Unificado de Desarrollo de Software permite la comprensión del funcionamiento y la estructura interna del sistema facilitando así la implementación y escalabilidad del mismo. Al utilizar desarrollado una por arquitectura Microsoft como el Smart Corporation, Client estamos garantizando tener todos los componentes necesarios para facilitar el desarrollo de la aplicación. Comprensión Producto documentación del El Sistema SMARTBOOKSB cuenta con la documentación y necesaria para su utilización y comprensión. Además al utilizar estándares de programación permite que el mantenimiento y administración del sistema sea sencillo y rápido. Desempeño El desempeño del sistema en cuanto a la administración de datos y la realización de consultas es demostrado por los resultados de la fase de pruebas. Utilidad Los resultados de la fase de pruebas indica que el funcionamiento del los módulos del sistema cumplen con los requisitos establecidos en el alcance formulado. Manejo El sistema fue desarrollado con una estructura lógica para que el usuario tenga facilidad en el manejo del mismo, con un menor tiempo de aprendizaje. Contribución El sistema SMARTBOOKSB busca brindar un servicio más rápido, eficiente y fácil al usuario ya que lo manipula en una herramienta muy conocida por el como es el Microsoft Office Word 2003. Tabla 54. Evaluación de las pruebas 150 Los resultados obtenidos, fueron acordes a las expectativas de los desarrolladores, ya que cumplieron con todos los casos se hablan planteado. Sin embargo, las empresas desarrolladoras de libros tienen otras aplicaciones en las cuales el sistema no influye como lo son: contabilidad, facturación, inventario bodega y otros: por esta razón el sistema se limita al alcance determinado en la presente tesis. 151 CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES. 5.1 CONCLUSIONES. La realización del sistema SMARTBOOKSB ha alcanzado los objetivos trazados inicialmente, durante el desarrollo del sistema surgieron varias conclusiones que son expuestas a continuación: • Al utilizar la arquitectura Smart Client para el desarrollo de un sistema se puede optimizar el funcionamiento del mismo, y dicha arquitectura permite al programa trabajar aprovechando los recursos del lado del cliente minimizando la carga para el servidor de datos y/o de aplicaciones. • La arquitectura Smart Client, permite a los usuarios trabajar en un ambiente totalmente desconectado, mediante el uso de las características offline que posee el mismo. Dichas características se fundamenten en el uso del caché local de datos y una cola de peticiones al servidor de base de datos, de tal manera que cuando la aplicación cliente vuelva a estar en línea, las peticiones que quedaron pendientes en la cola se envían al servidor. • Las aplicaciones Smart Client se actualizan automáticamente. Cuando un archivo de biblioteca (DLL) se actualiza en un recurso compartido de red, la misma es bajada automáticamente cuando se abre la aplicación Smart Client utilizando las características de actualización que posee la arquitectura Smart Client. • Visual Studio Tools para Office aprovecha las características de seguridad del .NET Framework para garantizar que en Word y Excel únicamente se ejecutará código de confianza. Los administradores establecen las políticas de seguridad, al configurar las directivas de seguridad dentro del .NET Framework usando certificados digitales, lo que les permite impedir la ejecución del código mal intencionado. 152 • Una de las ventajas de los Smart Client, es que permite eliminar los cuellos de botella de procesamiento del servidor, pues distribuyen las operaciones en la red por medio del uso de dispositivos inteligentes y servicios web XML. • El sistema SMARTBOOKSB presenta una interfaz fácil de utilizar, ya que forma parte de una herramienta muy utilizada y conocida por los usuarios como es Microsoft Office Word. Esto también fue comprobado por los usuarios del sistema, durante la fase de pruebas e implantación. • El sistema permite trabajar a los Vendedores de las empresas Distribuidoras de Libros de una manera más eficiente, ya que evita el reingreso de la información en la matriz, mediante la recolección de los pedidos de venta en el sitio de trabajo, debido a que la aplicación puede trabajar en un ambiente desconectado • El proceso unificado de desarrollo de software permite realizar el desarrollo de una aplicación de manera ordenada y eficiente, su correcta y completa aplicación puede casi asegurar el éxito de un proyecto. 153 5.2 RECOMENDACIONES: • A pesar de que RUP es una metodología fácil de aprender, se recomienda realizar un estudio previo de las metodologías de desarrollo a ser utilizadas, basándose los requerimientos, el alcance, el ambiente tecnológico, los recursos a ser utilizados, así como las herramientas de desarrollo. Este estudio ayudará a aprovechar de mejor forma los conceptos y la tecnología que se este implementando para el desarrollo de un sistema. • La arquitectura Smart Client es sin duda una nueva tecnología que se debería explotar y sacar el máximo provecho de la misma, para reutilizar los recursos del sistema. • Se recomienda verificar que las versiones de los componentes sean las adecuadas antes de realizar la construcción del sistema, para que el mismo funcione en óptimas condiciones y pueda prestar un adecuado servicio y así satisfacer las necesidades tanto del usuario como de la empresa. • Al realizar el estudio y aplicación de nuevas tecnologías para desarrollo e implantación de sistemas, incentivaremos el uso de las mismas para mejorar el desarrollo de nuevas aplicaciones. • Se recomienda el uso de la aplicación SMARTBOOKSB, el mismo que se ajusta a las necesidades operativas de una empresa distribuidora de libros, basándonos en las pruebas realizadas por los usuarios. 154 5.3 GLOSARIO GLOSARIO Término Dscripción ASP Active Server Pages Smart Tag Etiqueta embebida dentro de un documento, que es sensible al contexto del mismo y ayuda a dar información mientras el usuario escribe. Smart Document Documento que permite una interacción más fácil del usuario con un sistema de software. Posee integración con servicios web XML y fuentes de datos diversas. DTS Data Transformation Services – Servicios de Transformación de Datos. SOAP Protocolo Simple de Acceso de Objetos. El protocolo SOAP el formato estándar para mensajes XML, los mismos que son usados para intercomunicar sistemas. ISP Proveedor de Servicios de Internet SMARTBOOKSB Sistema para comprar y venta de libros utilizando la tecnología Smart Client. URI Uniform Resource Identification LOB Término utilizando para identificar a las aplicaciones pertenecientes a la Línea del negocio. XML Lenguaje Extensible de Marca DLL Librería de vínculos dinámicos SMS Systems Mnagement Server – Servidor para administración de sistemas. API Aplication Programming Interface JRE Java Runtime Environment MSDE Microsoft Data Engine – Versión más ligera de SQL Server debido a que trabaja en la máquina del cliente. 155 Rich Client Applications Aplicaciones cliente ricas Thin Client Applications Aplicaciones cliente delgadas Desktop PC Computador de escritorio Tablet PC Computador portátil Windows Installer Instalador de Paquetes Windows Stylus Dispositivo apuntador para pantallas táctiles 156 5.4 BIBLIOGRAFIA • Microsoft Corporation, “DIstributed Application Desgin Student Workbook”, Quito 1998. • Microsoft Corporation, “Smart Client Aplication Model and the .NET Frmaework 1.1”, http://msdn.microsoft.com/netframework/programming/winforms/smartcli ent.aspx • Microsoft Corporation, “Scurity and Versioning Model in the Windows Forms Enginee Help You Create Deploy Smart Clients”, http://msdn.microsoft.com/msdnmag/issues/02/07/NtSmartClients/defaul t.aspx • Microsoft Corporation, “Architecting Smart Client Solution”, http:// msdn.microsoft.com/seminar/shared/asp/view.asp/?url=/Seminar/en/200 40412SmartClient03/manifest.xml&rate=1 • Microsoft Corporation, “Smart Client Platform Architectural Guidance”, http://msdn.microsoft.com/smartclient/understanding/essentials/pagi/def aults.aspx • Microsoft Corporation, “Microsoft Office as a Smart Client”, http://www.microsoft.com/NET/smarclient_Offcie.aspx. • Microsoft Corporation, “Microsoft smart clients: Power, performance, flexibility", http://www.microsoft.com/net/smartclient.aspx • PRESSMAN Roger, INGENIERIA DE SOFTWARE – UN ENFOQUE PRÁCTICO, MacGraw Hill, Madrid – España,2002. • JACOBSON Ivan; BOOCH Grday; RUMBAUGH Jame; Proceso Unificado de Desarrollo, Pearson Education, 200