ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACION DE TECNÓLOGOS DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE ADMINISTRACIÓN Y CONTROL DE ENVÍOS O ENTREGAS DE PAQUETES Y DOCUMENTOS PARA LA EMPRESA CONSERFAST PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE TECNÓLOGO EN ANÁLISIS DE SISTEMAS INFORMÁTICOS MILTON RAUL GARZÓN IÑIGUEZ milton_garzon4416@yahoo.es DIRECTOR: ING. MARITZOL TENEMAZA Msc. (ING. JOSÉ PASSATO) rmtenemaza@gmail.com jpassato@gmail.com Quito, enero 2013 DECLARACIÓN Yo, MILTON RAUL GARZÓN IÑIGUEZ, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentado para ningún grado o calificación profesional; y que he consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedo mis 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. ------------------------------------------------MILTON RAUL GARZÓN IÑIGUEZ CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por MILTON RAUL GARZÓN IÑIGUEZ, bajo mi supervisión. ------------------------------------------------Ing. Maritzol Tenemaza Msc. DIRECTORA DE PROYECTO AGRADECIMIENTOS Agradezco de manera especial a la Master Maritzol Tenemaza, mi Directora de tesis, por su comprensión y sobre todo por su ayuda, quien me guió y asesoró durante el proceso de la elaboración de este proyecto. DEDICATORIA Dedico este proyecto de titulación a mi madre quien me ha apoyado y alentado con su ejemplo, valiosos consejos y amor durante la trayectoria de mis estudios, formación personal y profesional. CONTENIDO RESUMEN ............................................................................................................................... I CAPITULO I .......................................................................................................................... 1 ASPECTOS GENERALES ..................................................................................................... 1 1.1 ÁMBITO DEL PROBLEMA. ........................................................................................................... 1 1.2 PLANTEAMIENTO DEL PROBLEMA. ................................................................................................ 1 1.3 FORMULACIÓN DEL PROBLEMA. ................................................................................................... 2 1.4 SISTEMATIZACIÓN DEL PROBLEMA. ............................................................................................... 2 1.5 OBJETIVOS DE LA INVESTIGACIÓN. ................................................................................................ 2 1.5.1 Objetivo General. .......................................................................................................... 2 1.5.2 Objetivos Específicos. .................................................................................................... 3 1.6 JUSTIFICACIÓN DE LA PROPUESTA. ................................................................................................ 3 1.7 ALCANCE. ............................................................................................................................... 3 1.8 PRESUPUESTO. ......................................................................................................................... 5 CAPITULO II ......................................................................................................................... 6 ASPECTOS METODOLÓGICOS .......................................................................................... 6 2.1 CONCEPTO DE PARADIGMA. ........................................................................................................ 7 2.1.1 Paradigma Espiral. ....................................................................................................... 7 2.1.1.1 Ventajas y Desventajas de Paradigma Espiral. ........................................................ 9 2.1.1.1.1 Ventajas. .......................................................................................................... 9 2.1.1.1.2 Desventajas. .................................................................................................... 9 2.2 METODOLOGÍA PARA DESARROLLO DE SISTEMAS. .......................................................................... 10 2.2.1 Metodología. .............................................................................................................. 10 2.2.1.1 Metodología OMT. ................................................................................................ 10 2.2.1.1.1 Definición....................................................................................................... 10 2.2.1.1.2 Etapas de la Metodología OMT (RUMBAUGH). .................................................. 10 2.2.1.1.2.1 Análisis. ...................................................................................................... 10 2.2.1.1.2.2 Diseño del sistema. .................................................................................... 11 2.2.1.1.2.3 Diseño de objetos........................................................................................ 11 2.2.1.1.2.4 Implementación. ......................................................................................... 11 2.2.1.1.3 Tipos de Modelos de la metodología OMT. ....................................................... 12 2.2.1.1.3.1 Modelo de Objetos...................................................................................... 12 2.2.1.1.3.2 Modelo Dinámico. ....................................................................................... 12 2.2.1.1.3.3 Modelo Funcional....................................................................................... 13 2.2.1.2 Metodología de BOOCH. ....................................................................................... 13 2.2.1.2.1 Definición....................................................................................................... 13 2.2.1.2 Etapas de la Metodología BOOCH. ........................................................................ 14 2.2.1.2.1 Análisis de requerimientos. ............................................................................ 14 2.2.1.2.2 Análisis de Dominio ........................................................................................ 14 2.2.1.2.3 Diseño............................................................................................................ 14 2.2.2 Conclusión .................................................................................................................. 14 2.3 LENGUAJE UNIFICADO DE UML. ................................................................................................ 15 2.3.1 Introducción. ............................................................................................................... 15 2.3.2 Diagrama .................................................................................................................... 15 2.3.3 Objetivos de UML........................................................................................................ 15 2.3.3.1 Visualizar. ............................................................................................................. 15 2.3.3.2 Especificar. ........................................................................................................... 16 2.3.3.3 Construir. .............................................................................................................. 16 2.3.3.4 Documentar. ......................................................................................................... 16 2.3.4 Diagramas UML.......................................................................................................... 16 2.3.4.1 Diagramas de Estructura Estática. ......................................................................... 16 2.3.4.1.1 Elementos de un Diagrama de Estructura Estática. ......................................... 17 2.3.4.1.1.1 Clase. ...................................................................................................... 17 2.3.4.1.1.2 Objetos .................................................................................................... 17 2.3.4.1.1.3 Atributo ................................................................................................... 18 2.3.4.1.1.3 Operación ................................................................................................ 18 2.3.4.1.1.4 Asociación or .......................................................................................... 18 2.3.4.1.1.5 Diagramas de Objetos .............................................................................. 19 2.3.4.1.1.6 Diagramas de clases................................................................................. 19 2.3.4.1.1.7 Diagramas de Casos de Uso. .................................................................... 20 2.3.4.1.1.8 Diagramas de Interacción ............................................................................ 20 2.3.4.1.1.8.1 Diagrama de Secuencia. ........................................................................ 20 2.3.4.1.1.8.2 Diagramas de Colaboración ...................................................................... 21 2.3.4.1.1.8.3 Diagramas de Actividad............................................................................ 22 CAPITULO III...................................................................................................................... 23 ASPECTOS TEÓRICOS....................................................................................................... 23 3.1 INGENIERÍA DEL SOFTWARE. ...................................................................................................... 23 3.1.1 Objetivos de la ingeniería de software ........................................................................ 23 3.2 CARACTERÍSTICAS DEL SOFTWARE............................................................................................... 24 3.2.1 El software se desarrolla, no se fabrica en un sentido clásico. ..................................... 24 3.2.2 El software no se desgasta. .......................................................................................... 24 3.2.3 Aunque la industria tiende a ensamblar componentes, la mayoría del software se construye a la medida........................................................................................................... 25 3.3 APLICACIONES DEL SOFTWARE. .................................................................................................. 25 3.3.1 Software de Sistemas ................................................................................................... 26 3.3.2 Software de Tiempo Real ............................................................................................. 26 3.3.3 Software de Gestión ..................................................................................................... 26 3.3.4 Software de Ingeniería y Científico .............................................................................. 26 3.3.5 Software de Empotrado ............................................................................................... 27 3.3.6 Software de Computadoras Personales ........................................................................ 27 3.3.7 Software Basado en la Web.......................................................................................... 27 3.3.8 Software de Inteligencia Artificial ................................................................................ 27 3.4 PLATAFORMA .NET................................................................................................................. 28 3.4.1 .NET Framework ......................................................................................................... 28 3.4.1.1 Componentes principales de .NET Framework. ..................................................... 29 3.5 INTERNET INFORMATION SERVER (IIS)......................................................................................... 30 3.5.1 Versiones ..................................................................................................................... 30 3.6 SQL 2008 ............................................................................................................................ 30 3.6.1 Soluciones.................................................................................................................... 31 3.7 MICROSOFT VISUAL STUDIO ...................................................................................................... 32 3.7.1 Versiones ..................................................................................................................... 32 3.8 ARQUITECTURA CLIENTE SERVIDOR ............................................................................................. 33 3.8.1 Características ............................................................................................................. 34 3.8.2 Ventajas ...................................................................................................................... 34 3.8.3 Desventajas ................................................................................................................. 35 3.9 WEB SERVICES. ...................................................................................................................... 36 3.9.1 Razones para crear servicios web. ................................................................................ 36 3.10 RAD CONTROLS PARA ASP.NET AJAX. ..................................................................................... 37 3.10.1 Ajax ........................................................................................................................... 37 3.10.1.1 Tecnologías incluidas en Ajax .............................................................................. 38 3.10.1.2 Navegadores que permiten Ajax ......................................................................... 39 3.10.1.3 Navegadores que no permiten Ajax .................................................................... 39 CAPITULO IV ...................................................................................................................... 40 DISEÑO DEL SISTEMA DE ADMINISTRACIÓN Y CONTROL DE ENVÍOS O ENTREGAS DE PAQUETES PARA LA EMPRESA CONSERFAST. ................................. 40 4.1 APLICACIÓN DEL PARADIGMA ESPIRAL EN EL DESARROLLO DEL SISTEMA. ............................................. 40 4.2 APLICACIÓN DE LA METODOLOGÍA OMT EN EL DESARROLLO DEL SISTEMA........................................... 41 4.2.1 Análisis. ....................................................................................................................... 41 4.2.1.1 Modelo Estático. ................................................................................................... 41 4.2.1.1.1 Descripción de Actores ................................................................................... 41 4.2.1.1.2 Diagrama de Casos de Uso ............................................................................. 43 4.2.1.1.2.1 Administrar Parámetros. ......................................................................... 43 4.2.1.1.2.2 Administrar Seguridades.......................................................................... 44 4.2.1.1.2.3 Administrar Clientes ................................................................................ 45 4.2.1.1.2.4 Administrar Courier ................................................................................. 45 4.2.1.1.2.5 Administrar Órdenes u Guías ................................................................... 46 4.2.1.1.2.6 Administrar Facturación .......................................................................... 47 4.2.1.1.2 Descripción de Casos de Uso .......................................................................... 48 4.2.1.1.3 Diagramas de Clases....................................................................................... 51 4.2.1.1.3.1 Diagrama Lógico de la Base de Datos ....................................................... 51 4.2.1.1.3.2 Diagrama Físico de la Base de Datos ........................................................ 54 4.3 APLICACIÓN DE LA INGENIERÍA DE SOFTWARE EN EL DESARROLLO DEL SISTEMA..................................... 57 4.3.1 Diseño Conceptual.................................................................................................... 57 4.3.2 Diseño Lógico........................................................................................................... 57 4.3.3 Diseño Físico............................................................................................................ 58 4.3.3.1 Requerimientos Servidor....................................................................................... 58 4.3.3.2 Partes de la pantalla principal del sistema. ........................................................... 59 CAPITULO V ....................................................................................................................... 60 CONCLUSIONES Y RECOMENDACIONES ................................................................................... 60 5.1 CONCLUSIONES. ................................................................................................................. 60 5.2 RECOMENDACIONES. ......................................................................................................... 61 5.3 BIBLIOGRAFIA ..................................................................................................................... 61 5.3.1 Libros .......................................................................................................................... 61 5.3.2 Referencia Web ........................................................................................................... 62 I RESUMEN El proyecto presentado a continuación se encuentra dividido en 5 capítulos, conclusiones, recomendaciones, bibliografía, y los anexos respectivos. A continuación se hace una breve descripción de los mismos: Capítulo I.- “Aspectos Generales” se plantea el problema, y la solución para el mismo, los objetivos generales y específicos, el alcance y el presupuesto del proyecto. Capítulo II.-“Fundamentación Teórica” paradigmas y metodologías aplicadas al desarrollo del proyecto, el método utilizado, las etapas, y el lenguaje de modelado. Capítulo III.- “Aspectos Teóricos” se estudia los procesos para desarrollar un sistema mediante la Ingeniería del Software, se describen las herramientas de desarrollo utilizadas para la creación del sistema con sus respectivas características. Capítulo IV.- “Diseño del Sistema” se enfoca en la aplicación del paradigma y metodología orientados al desarrollo del proyecto. Capítulo V.- “Conclusiones y Recomendaciones, Bibliografía” se presentan las conclusiones obtenidas al final del proyecto al igual que las recomendaciones que se deberán tomar en cuenta para el buen funcionamiento del sistema y se detalla todo lo referente a libros, referencias Web que fueron utilizadas para documentar el desarrollo del sistema. Anexos.- se presenta el manual técnico, de instalación, pruebas funcionales y el de usuario para facilitar el manejo del sistema. 1 CAPITULO I ASPECTOS GENERALES 1.1 Ámbito del problema. La Empresa Conserfast se encuentra ubicada en el centro de la Ciudad de Quito; en las calles Carlos Ibarra N12-40 y Santa Prisca; esta empresa brinda soluciones de logística en recolección, almacenamiento, empaque, entrega de paquetes, mercancías, sobres o documentos, como facturas, estados de cuenta, piezas promocionales, comunicados, etc., y la distribución de las mismas. 1.2 Planteamiento del Problema. Actualmente la Empresa Conserfast carece de un Sistema automatizado canalizado a proporcionar información y control de las entregas realizadas a sus clientes, tales como: consultas de entregas, Courier, asignación de documentos o paquetes a los Courier, información acerca de los clientes, facturación, ventas realizadas, reportes, por tanto la información no está correctamente administrada; como consecuencia existe pérdida de información o mal manejo ya que la información se encuentra registrada en libros, cuadernos en forma manual o parte de ella en archivos Excel; esto conduce a errores en las entregas y mayor tiempo requerido para el servicio, por lo que muchos de los clientes, en algunos casos, prefieren desistir del servicio que presta esta empresa. 2 1.3 Formulación del Problema. ¿Cómo administrar y controlar de forma eficiente y segura la información de envíos o entregas de paquetes y documentos para la empresa Conserfast? 1.4 Sistematización del Problema. ¿Cómo administrar la información de clientes? ¿Cómo administrar la información de los Courier? ¿Cómo administrar las asignaciones de paquetes o documentos entregados a los Courier? ¿Cómo controlar las entregas de paquetes o documentos que realizan los clientes? ¿Cómo imprimir las guías de los paquetes o documentos a entregar? ¿Cómo administrar los puntos de venta? ¿Cómo administrar y controlar las ventas realizadas en un periodo de tiempo? ¿Cómo agilitar la entrega de reportes y estadísticas de ventas realizadas? ¿Cómo agilitar la entrega de reportes y estadísticas de paquetes o documentos entregados? ¿Cómo controlar el acceso a la manipulación de la información de clientes, Courier, facturación, guías, etc., que administra el servicio de entregas de paquetes o documentos? 1.5 Objetivos de la Investigación. 1.5.1 Objetivo General. Diseñar e Implementar el Sistema de Administración y control de envíos o entregas de paquetes y documentos para la empresa Conserfast 3 1.5.2 Objetivos Específicos. - Reducir tiempos, costos y esfuerzo de envíos o entregas. - Centralizar el control de procesos con el ingreso de datos que el personal de la empresa ejecutará día a día. - Centralizar los datos en una sola fuente de información. - Evitar errores en las entregas o envíos de paquetes y documentos. - Evitar pérdidas de información referentes a datos de clientes, direcciones a las cuales se debe entregar los paquetes o documentos, asignaciones a Courier, etc. - Mejorar el sistema administrativo para toma de decisiones. 1.6 Justificación de la propuesta. Con los antecedentes expuestos, la empresa Conserfast contaría con un Sistema informático que permita controlar y administrar la información permanentemente de todos los envíos de paquetes y documentos entregados, de tal manera que puedan ser revisados por el personal de la empresa en cualquier momento y así conocer en qué estado se encuentra el dicho envío y poder gestionar de una manera mucho más eficiente el servicio prestado disminuyendo el tiempo en sus entregas. 1.7 Alcance. El presente proyecto “Sistema de Administración y control de envíos o entregas de paquetes y documentos Conserfast” tiene como finalidad desarrollar una aplicación cliente/servidor, para apoyar la administración y control de forma 4 eficiente y segura de la información de los envíos y distribuciones tanto para documentos como para paquetes o mercancías entregadas. El siguiente proyecto contempla las siguientes partes: - Manejo de clientes. - Manejo de Courier (Ingreso y asignaciones). - Manejo de entregas (paquetes, sobres, etc.) en sus diferentes etapas. - Subida de archivos Excel, con un formato específico (empresa, nombre, dirección, ciudad y teléfono), que contiene la información de las personas a las cuales se debe entregar el paquete o documento. - Impresión de guías (en lote o individual) - Facturación. - Manejo de parámetros. - Manejo de Perfiles y usuarios. - Generación de reportes(Asignaciones de Courier, estados de entregas, clientes, ventas) 5 1.8 Presupuesto. Costos aproximados para el desarrollo del sistema. DESCRIPCION VALOR Valor x Costo Total Horas Hora $ Recurso Analista 240 5 1200 Humano Programadores 800 5 4000 Software SQL 2008 3500 Microsoft Visual Studio 2008 .Net 1500 Office 2007 200 RadControls Hardware Gastos Varios for ASP.NET AJAX Q1 2010 799 Computador 800 Impresora 250 Flash Memory 20 Cartuchos impresora 40 Papel Bond 10 Internet 30 Costo Aproximado del Sistema $ 12349 6 CAPITULO II ASPECTOS METODOLÓGICOS PARADIGMA METODOLOGÍA ESPIRAL OMT RUMBAUGH DIAGRAMAS UML INCREMENTAL Análisis Modelo Estático Descripción de actores Diagrama de casos de uso Descripción de casos de uso Diagrama de clases Diagrama de objetos Diseño Modelo Dinámico Modelo Funcional Diagrama Diagrama Interacción de de Secuencia Diagrama de Colaboración Construcción Herramientas de Plataforma Cliente Servidor Software Microsoft SQL 2008 Server Language ASP.Net 2008 Crystal Report RadControls para ASP.NET AJAX Q1 2010 Pruebas Prueba Funcional Descripción de la prueba Procedimiento de la Prueba Mantenimiento La documentación del desarrollo y seguimiento de los modelos facilita el posterior mantenimiento. 7 2.1 Concepto de Paradigma.1 Se entiende por paradigma, a un conjunto de modelos que nos permiten realizar el diseño y la estructura de un programa o sistema. Al realizar esta estructura nos permite organizar y mantener el control en todo el proceso del desarrollo del software, en cada una de sus etapas. 2.1.1 Paradigma Espiral.2 El modelo en espiral es un modelo evolutivo que conjuga la naturaleza de construcción de prototipos de programas con el potencial para desarrollar versiones incrementales del software, permitiendo tanto al equipo del proyecto y al cliente comprender e identificar de mejor manera los riesgos en cada una de las etapas del desarrollo, permitiendo minimizar o eliminar los mismos para que estos no se conviertan luego en un problema. El paradigma del modelo en espiral para la ingeniería del software es actualmente el enfoque más realista para el desarrollo del software y de sistemas a gran escala. El modelo en espiral se divide en un número de actividades estructurales, también llamadas regiones de tareas. 1 Ingeniería del software 5 edición RogerPressman pág. 19 2 Ingeniería del software 5 edición RogerPressman pág. 24 8 Figura 2.1 Modelo Espiral Fte: Ingenieria del sotfware 5 edicion RogerPressman Capitulo 2 Pág. 24 Comunicación con el cliente: Aquí se realizan todas las tareas requeridas para establecer comunicación entre el desarrollador y el cliente Planificación: Contempla todas las tareas requeridas para evaluar riesgos técnicos y de gestión. Análisis de Riesgos: Realiza todas las tareas requeridas para evaluar riesgos técnicos y de gestión. Ingeniería: Se realizan todas las tareas requeridas para construir una o más representaciones de la aplicación. Construcción y acción: Se realizan todas las tareas requeridas para construir, instalar y proporcionar soporte al usuario. Evaluación del Cliente: Se realizan todas las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software generadas durante todo el proceso. 9 2.1.1.1 Ventajas y Desventajas de Paradigma Espiral.3 2.1.1.1.1 Ventajas. - Permite adaptar nuevas funcionalidades si se lo requiere a lo largo de la vida del software, no termina cuando este ha sido entregado. - Permite a los desarrolladores construir prototipos en cualquier etapa de evolución del producto. - Reduce los riesgos antes que estos se conviertan en problemáticos. - Permite realizar cambios de objetivos, gracias a que se evalúa en cada fase del proyecto. - Permite ir ajustando y mejorando las planificaciones logrando obtener menores desvíos en la duración del proyecto. 2.1.1.1.2 Desventajas. - Hay costos ocultos en su implementación, ya que se incorporan varias actividades a realizar por el equipo, se requiere habilidad y experiencia para medir ese impacto y saber cuándo detener la evolución. - Posee excesiva flexibilidad, por lo que la evaluación del alcance real del proyecto es compleja. 3 Ingeniería del software 5 edición RogerPressman pág. 25-26 10 2.2 Metodología para Desarrollo de Sistemas.4 2.2.1 Metodología. La metodología es en general un sistema de guía para resolver un problema, con los componentes específicos, tales como las fases, tareas, métodos, técnicas y herramientas. Una metodología puede considerarse que incluye varios métodos, cada uno como se aplica a diversas facetas de todo el ámbito de la metodología. 2.2.1.1 Metodología OMT. 2.2.1.1.1 Definición. OMT es una de las metodologías de análisis y diseño orientados a objetos, más maduros y eficientes que existen en la actualidad. La gran virtud que aporta esta metodología es su carácter de abierta (no propietaria), que le permite ser de dominio público, en consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolución para acoplarse a todas las necesidades actuales y futuras de la ingeniería de software. 2.2.1.1.2 Etapas de la Metodología OMT (RUMBAUGH). 2.2.1.1.2.1 Análisis. El analista construye un modelo del dominio del problema, mostrando sus propiedades más importantes. El modelo de análisis es una abstracción resumida 4 http://www.monografias.com/trabajos13/metomt/metomt.shtml 11 y precisa de lo que debe de hacer el sistema deseado y no de la forma en que se hará. Los elementos del modelo deben ser conceptos del dominio de aplicación y no conceptos informáticos tales como estructuras de datos. Un buen modelo debe poder ser entendido y criticado por expertos en el dominio del problema que no tengan conocimientos informáticos. 2.2.1.1.2.2 Diseño del sistema. El diseñador del sistema toma decisiones de alto nivel sobre la arquitectura del mismo. Durante esta fase el sistema se organiza en subsistemas basándose tanto en la estructura del análisis como en la arquitectura propuesta. Se selecciona una estrategia para afrontar el problema. 2.2.1.1.2.3 Diseño de objetos. El diseñador de objetos construye un modelo de diseño basándose en el modelo de análisis, pero incorporando detalles de implementación. El diseño de objetos se centra en las estructuras de datos y algoritmos que son necesarios para implementar cada clase. OMT describe la forma en que el diseño puede ser implementado en distintos lenguajes (orientados y no orientados a objetos, bases de datos, etc.). 2.2.1.1.2.4 Implementación. Las clases de objetos y relaciones desarrolladas durante el análisis de objetos se traducen finalmente a una implementación concreta. Durante la fase de implementación es importante tener en cuenta los principios de la ingeniería del software de forma que la correspondencia con el diseño sea directa y el sistema implementado sea flexible y extensible. No tiene sentido que utilicemos AOO y DOO de forma que potenciemos la reutilización de código y la correspondencia 12 entre el dominio del problema y el sistema informático, si luego perdemos todas estas ventajas con una implementación de mala calidad 2.2.1.1.3 Tipos de Modelos de la metodología OMT. 2.2.1.1.3.1 Modelo de Objetos. Los diagramas de objetos permiten representar gráficamente los objetos, las clases y sus relaciones mediante dos tipos de diagramas: los diagramas de clases y los diagramas de casos concretos (instancias). Los diagramas de clases describen las clases que componen el sistema y que permitirán la creación de casos concretos, los diagramas de casos concretos describen la manera en que los objetos del sistema se relacionan y los casos concretos que existen en el sistema de cada clase. En los diagramas que componen este modelo se pueden representar los siguientes elementos del sistema: objetos y clases, atributos, operaciones, y relaciones o asociaciones. 2.2.1.1.3.2 Modelo Dinámico. Describe aspectos del sistema que están relacionados con el tiempo, el diagrama de estados va a representar los sucesos y los estados que se dan en el mismo. El modelo de objetos describe las posibles tramas de objetos, atributos y enlaces que pueden existir en un sistema. Los valores de los atributos y de los enlaces mantenidos por un objeto son lo que se denomina su estado. A lo largo del tiempo, los objetos se estimulan unos a otros, dando lugar a una serie de cambios en sus estados. Un estímulo individual proveniente de un objeto y que llega a otro es un suceso. La respuesta a un suceso depende del estado del objeto que lo recibe, y puede incluir un cambio de estado o el envío de otro suceso al remitente o a un tercer objeto. La trama de sucesos, estados y transiciones de estados para una clase dada se puede abstraer y representar en forma de un diagrama de estados. 13 El modelo dinámico consta de múltiples diagramas de estados, con un diagrama de estados para cada clase que posea un comportamiento dinámico importante, y muestra la trama de actividad para todo el sistema. 2.2.1.1.3.3 Modelo Funcional. El modelo funcional describe los cálculos existentes dentro del sistema siendo la tercera parte del modelado. Dentro del modelado del sistema, el modelo funcional especifica lo que sucede, el modelo dinámico cuándo sucede, y el modelo de objetos específica a qué le sucede. El modelo funcional muestra la forma en que se derivan los valores producidos en un cálculo a partir de los valores introducidos, sin tener en cuenta el orden en el cual se calculan los valores. Consta de múltiples diagramas de flujo de datos, que muestran el flujo de valores desde las entradas externas, a través de las operaciones y almacenes internos de datos hasta las salidas externas. También incluyen restricciones entre valores dentro del modelo de objetos. Los diagramas de flujo de datos no muestran el control ni tampoco información acerca de la estructura de los objetos; todo esto pertenece a los modelos dinámico y de objetos. 2.2.1.2 Metodología de BOOCH. 2.2.1.2.1 Definición. La Metodología de Booch es una técnica usada en ingeniería de software. Es un lenguaje de modelado de objetos y una metodología ampliamente usada en el diseño de software orientado a objetos. 14 2.2.1.2 Etapas de la Metodología BOOCH. 2.2.1.2.1 Análisis de requerimientos. Se establecen los requerimientos desde una perspectiva del usuario, éste paso genera una descripción de alto nivel del funcionamiento y de la estructura del sistema. 2.2.1.2.2 Análisis de Dominio Se definen las clases, sus atributos, la herencia de clases y métodos de éstas. Los diagramas de los objetos son realizados posteriormente. 2.2.1.2.3 Diseño Un diseño lógico es mapeado físicamente en donde los detalles de la ejecución, procesos, rendimiento, tipo de datos, estructura de datos, visibilidad y distribución son establecidos. 2.2.2 Conclusión Para el desarrollo de este proyecto se utilizará la metodología OMT (Object Modeling Technique – Técnica de Modelado de Objetos) de Rumbaugh, ya que esta metodología es no propietaria, por tanto es de dominio público, adicionalmente es mucho más completa puesto que aparte del análisis y diseño, se preocupa del manejo de la implementación y evaluación del proyecto. 15 2.3 Lenguaje Unificado de UML.5 2.3.1 Introducción. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar Los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. 2.3.2 Diagrama Es una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un gráfico con vértices conectados por arcos. 2.3.3 Objetivos de UML. 2.3.3.1 Visualizar. UML permite expresar de una forma gráfica un sistema de forma que otro lo puede entender. 5 El Lenguaje Unificado de Modelado Ivar Jacobson, Grady Booch y James Rumbaugh pág. 3 16 2.3.3.2 Especificar. UML permite especificar cuáles son las características de un sistema antes de su construcción. 2.3.3.3 Construir. A partir de los modelos especificados se pueden construir los sistemas diseñados. 2.3.3.4 Documentar. Los propios elementos gráficos sirven como documentación del sistema desarrollado que pueden servir para su futura revisión. 2.3.4 Diagramas UML.6 2.3.4.1 Diagramas de Estructura Estática. Engloba tanto al modelo conceptual de la fase de diseño de alto nivel como al Diagrama de clases de Diseño. Ambos son distintos conceptualmente, mientras el primero modela elementos del dominio, el segundo presenta los elementos de la solución del software. Sin embargo, ambos comparten la misma notación para los elementos que los forman (clases y objetos) y las relaciones que existen entre los mismos (asociaciones). 6 El Lenguaje Unificado de Modelado Ivar Jacobson, Grady Booch y James Rumbaugh pág. 22 17 2.3.4.1.1 Elementos de un Diagrama de Estructura Estática. 2.3.4.1.1.1 Clase. Describe un conjunto de objetos con características y comportamiento idéntico. Se representa mediante un rectángulo con tres divisiones internas: en la superior se muestra el nombre de la clase, en la medida los atributos y en la inferior las operaciones. Una misma clase puede representarse a distinto nivel de detalle según interese, y según la fase en la que se esté. Figura 2.2 Clase Fte: Desarrollo orientado a Objetos con UML Pág. 4 2.3.4.1.1.2 Objetos Se representa de la misma forma que una clase; en el comportamiento superior, aparece el nombre del objeto junto con el nombre de la clase subrayado. 18 Figura 2.3 Diagrama de Objetos Fte: Desarrollo orientado a Objetos con UML Pág. 5 2.3.4.1.1.3 Atributo Identifican las características propias de la clase, generalmente son de tipos simples, ya que los atributos de tipos compuestos se representan mediante asociaciones de composición con otras clases. 2.3.4.1.1.3 Operación El conjunto de operaciones describen el comportamiento de los objetos de una clase. 2.3.4.1.1.4 Asociación or En algunas ocasiones es necesario describir que una clase está relacionada con un objeto de una u otra clase. Esto se denota por medio de una relación or exclusiva. Su representación es una línea punteada que une dos asociaciones, junto con la aclaración (por medio de una propiedad) del tipo de asociación. 19 Figura 2.4 Ejemplo de asociación Fte: Desarrollo orientado a Objetos con UML Pág. 7 2.3.4.1.1.5 Diagramas de Objetos Es un conjunto de objetos y las relaciones existentes entre los mismos (asociaciones), se usa para modelar elementos del dominio software, es decir, proporciona el entorno esencial en el cual se pueden situar el modelo dinámico y el modelo funcional. 2.3.4.1.1.6 Diagramas de clases. Es un conjunto de clases y relaciones existentes entre las mismas (asociaciones) y la forma en que se colaboran unas con otras, se usan para presentar los elementos de la solución de software. Figura 2.5 Diagrama de Clases Fte: Desarrollo orientado a Objetos con UML Pág. 4 20 2.3.4.1.1.7 Diagramas de Casos de Uso. Diagrama en el que se plasma las funcionalidades del software y los que interactúan con ellas. Figura 2.6 Diagrama de Casos de Uso Fte: Desarrollo orientado a Objetos con UML Pág. 10 2.3.4.1.1.8 Diagramas de Interacción 2.3.4.1.1.8.1 Diagrama de Secuencia. Muestran como los objetos interactúan entre ellos, a través de los mensajes que se intercambian de forma ordenada según su secuencia en el tiempo, el tiempo fluye de arriba hacia abajo. Se pueden colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transacciones o actividades a las que se refieren. 21 Figura 2.7 Diagrama de Secuencia Fte: Desarrollo orientado a Objetos con UML Pág. 11 2.3.4.1.1.8.2 Diagramas de Colaboración Muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere), es decir, muestran las relaciones entre los roles de los objetos. La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente mediante números de secuencia. Figura 2.8 Diagrama de Colaboración Fte: Desarrollo orientado a Objetos con UML Pág. 11 22 2.3.4.1.1.8.3 Diagramas de Actividad. Representa el comportamiento interno de una operación o de un caso de uso, bajo la forma de un desarrollo por etapas, agrupadas secuencialmente; el propósito del diagrama de actividad es modelar el flujo de tareas y modelar las operaciones. Figura 2.9 Diagrama de Actividad Fte: Desarrollo orientado a Objetos con UML Pág. 15 2.3.4.1.1.8.4 Diagramas de Estados. Muestra el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación, junto con los cambios que permiten pasar de un estado a otro. Figura 2.10 Diagrama de estado Fte: Desarrollo orientado a Objetos con UML Pág. 12 23 CAPITULO III ASPECTOS TEÓRICOS 3.1 Ingeniería del Software.7 La ingeniería del software pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informáticos, el éxito de un proyecto involucra elementos como la planeación, la administración y la utilización de metodologías de desarrollo de software. A través de la planeación se determinan los recursos necesarios para el desarrollo del proyecto, la factibilidad del mismo y el tiempo estimado de desarrollo; unido a ello con la administración se controla, evalúa y corrige la dirección de acuerdo a las contingencias y demás elementos que se vayan presentando durante el desarrollo; finalmente, a través del uso de una metodología se busca lograr el acople de los participantes y la garantía de una determinada calidad. Debe notarse que las metodologías de desarrollo de software sólo constituyen uno de los mecanismos que actualmente se utilizan para alcanzar software de calidad; no debemos dejar de lado aspectos de la dirección de proyectos que también buscan calidad en el proceso de desarrollo y en el producto final. 3.1.1 Objetivos de la ingeniería de software En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software. 7 http://www.monografias.com/trabajos15/ingenieria-software/ingenieria-software.shtml 24 - Mejorar la calidad de los productos de software - Aumentar la productividad y trabajo de los ingenieros del software. - Facilitar el control del proceso de desarrollo de software. - Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente. - Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado. 3.2 Características del Software. El software es un elemento del sistema que es lógico, en lugar de físico. Por tanto el software tiene unas características considerablemente distintas a las del hardware. 3.2.1 El software se desarrolla, no se fabrica en un sentido clásico. Esto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricación, los costos para realizar el software se encuentran en la ingeniería. 3.2.2 El software no se desgasta. El software no es susceptible a los males del entorno, el software no se estropea pero se deteriora. Durante su vida, el software sufre cambios (mantenimiento), 25 conforme se hacen los cambios, es bastante probable que se introduzcan nuevos defectos, haciendo que el software se vaya deteriorando. Por tanto, el mantenimiento del software tiene una complejidad considerablemente mayor que la del mantenimiento del hardware. 3.2.3 Aunque la industria tiende a ensamblar componentes, la mayoría del software se construye a la medida. Es decir que a medida que la disciplina del software evoluciona, se crea un grupo de componentes de diseño estándar. El componente de software debería diseñarse e implementarse para que pueda volver a ser reutilizado en muchos programas diferentes; los componentes reutilizables modernos encapsulan tanto datos como procesos que se aplican a los datos, permitiendo al desarrollador de software crear nuevas aplicaciones a partir de las partes reutilizables. 3.3 Aplicaciones del Software. El software puede aplicarse en cualquier situación en la que se haya definido previamente un conjunto específico de pasos, es decir un algoritmo. Algunas veces es difícil establecer categorías genéricas para las aplicaciones del software que sean significativas. Las siguientes áreas del software indican la amplitud de las aplicaciones potenciales: 26 3.3.1 Software de Sistemas El software de sistemas es un conjunto de programas que han sido escritos para servir a otros programas; el área del software de sistemas se caracteriza por una fuerte interacción con el hardware de la computadora; una gran utilización por múltiples usuarios; una operación concurrente que requiere una planificación, una compartición de recursos y una sofisticada gestión de procesos; unas estructuras de datos complejas y múltiples interfaces externas. 3.3.2 Software de Tiempo Real El software que coordina/analiza/controla sucesos del mundo real conforme ocurren, es denominado software de tiempo real. 3.3.3 Software de Gestión Las aplicaciones de esta área reestructuran los datos existentes para facilitar las operaciones comerciales o gestionar la toma de decisiones. Además de las tareas convencionales de procesamientos de datos, las aplicaciones de software de gestión también realizan cálculo interactivo. 3.3.4 Software de Ingeniería y Científico El software de ingeniería y científico está caracterizado por los algoritmos de manejo de números. 27 3.3.5 Software de Empotrado El software empotrado reside en memoria de sólo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo. 3.3.6 Software de Computadoras Personales El mercado del software de computadoras personales ha germinado en las pasadas dos décadas. El procesamiento de textos, las hojas de cálculo, los gráficos por computadora, multimedia, entretenimientos, gestión de bases de datos, aplicaciones financieras, de negocios, personales, redes o acceso a bases de datos externas son algunas de los cientos de aplicaciones que tiene el software de computadoras personales. 3.3.7 Software Basado en la Web Las páginas Web buscadas por un explorador son software que incorpora instrucciones ejecutables, la red viene a ser una gran computadora que proporciona un recurso de software casi ilimitado que puede ser accedido por cualquier persona. 3.3.8 Software de Inteligencia Artificial El software de inteligencia artificial (IA) hace uso de algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el cálculo o el análisis directo. 28 3.4 Plataforma .NET.8 La plataforma .NET de Microsoft es un componente de software que puede ser añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows. 3.4.1 .NET Framework Figura 2.11 Arquitectura .Net Framework Fte: http://dotnetoffice.files.wordpress.com/2012/01/dotnetframework.png. 8 http://es.wikipedia.org/wiki/Microsoft_.NET 29 .NET Framework es un componente integral de Windows que admite la creación y la ejecución de la siguiente generación de aplicaciones y servicios Web XML. El diseño de .NET Framework está enfocado a cumplir los objetivos siguientes: - Proporcionar un entorno coherente de programación orientada a objetos, en el que el código de los objetos se pueda almacenar y ejecutar de forma local, pero distribuida en Internet o ejecutar de forma remota. - Proporcionar un entorno de ejecución de código que reduzca lo máximo posible la implementación de software y los conflictos de versiones. - Ofrecer un entorno de ejecución de código que fomente la ejecución segura del mismo, incluso del creado por terceras personas desconocidas o que no son de plena confianza. - Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de los entornos en los que se utilizan secuencias de comandos o intérpretes de comandos. - Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web. - Basar toda la comunicación en estándares del sector para asegurar que el código de .NET Framework se puede integrar con otros tipos de código. 3.4.1.1 Componentes principales de .NET Framework. - CLR (Common Language Runtime) - El conjunto de clases del .NET Framework - ASP.NET - Los servicios Web - Remoting - Windows Forms - ADO.NET 30 3.5 Internet Information Server (IIS)9 Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Este servicio convierte a una PC en un servidor web para Internet o una intranet, es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente. 3.5.1 Versiones - IIS 1.0, Windows NT 3.51 Service Pack 3 - IIS 2.0, Windows NT 4.0 - IIS 3.0, Windows NT 4.0 Service Pack 3 - IIS 4.0, Windows NT 4.0 Option Pack - IIS 5.0, Windows 2000 - IIS 5.1, Windows XP Professional - IIS 6.0, Windows Server 2003 y Windows XP Professional x64 Edition - IIS 7.0, Windows Vista (Solo Business y Ultímate) y Windows Server 2008 - IIS 7.5, Windows 7 y Windows Server 2008 R2 3.6 SQL 200810 SQL Server 2008 es un elemento fundamental de la Plataforma de Datos de Microsoft, capaz de gestionar cualquier tipo de datos, en cualquier sitio y en 9 http://es.wikipedia.org/wiki/Internet_Information_Services 10 http://www.intercambiosvirtuales.org/software/microsoft-sql-server-2008-r2-enterprise-edition-dvdespanol 31 cualquier momento. SQL Server 2008 le ayuda a obtener más rendimiento de los datos, poniendo a su disposición una amplia gama de servicios integrados como son consultas, búsquedas, sincronizaciones, informes y análisis. Sus datos pueden almacenarse y recuperarse desde sus servidores más potentes del Data Center hasta los desktops y dispositivos móviles, permitiéndole tener un mayor control sobre la información sin importar dónde se almacena físicamente. 3.6.1 Soluciones - Business Intelligence SQL Server 2008 es una plataforma escalable de Business Intelligence optimizada para la integración de datos, elaboración de informes y análisis que hace posible poner al alcance de todos los usuarios la inteligencia empresarial. - Virtualización y consolidación de servidores La virtualización de servidor, también conocida como virtualización de hardware, es un tema de plena actualidad en el mundo de IT debido a que permite reducir de manera drástica los costos y mejorar la agilidad de las organizaciones. - Consolidación de servidores SQL Server 2008 puede contribuir a reducir los costos de hardware y mantenimiento mediante una solución de consolidación de servidores flexible que aporta un rendimiento y una manejabilidad extraordinarios a las organizaciones. - OLTP SQL Server 2008 es el motor de base de datos escalable y de alto rendimiento que necesitan las aplicaciones de misión crítica con las mayores exigencias de disponibilidad y seguridad. SQL Server reduce el costo total de propiedad gracias a su mayor manejabilidad en entornos corporativos. - Data Warehouse SQL Server le ofrece una plataforma de data warehouse completa y escalable que le permite integrar datos dentro del DW más rápidamente, escalar y gestionar volúmenes de datos y usuarios cada vez mayores facilitando a todos las vistas de síntesis que necesitan. 32 - Desarrollo de aplicaciones SQL Server 2008 constituye el eje central de una plataforma completa de programación de datos que le permite acceder y manipular datos críticos de negocio desde toda clase de dispositivos, plataformas y orígenes de datos. 3.7 Microsoft Visual Studio11 Microsoft Visual Studio es un entorno de desarrollo integrado para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. 3.7.1 Versiones 11 - Microsoft Visual Studio 97 - Microsoft Visual Studio 6 - Microsoft Visual Studio .NET (2002) - Microsoft Visual Studio .NET 2003 - Microsoft Visual Studio 2005 - Microsoft Visual Studio 2008 - Microsoft Visual Studio 2010 - Microsoft Visual Studio 11 BETA http://es.wikipedia.org/wiki/Microsoft_Visual_Studio 33 3.8 Arquitectura Cliente Servidor12 Figura2.12 Arquitectura Cliente Servidor Fte:http://1.bp.blogspot.com/_YRC0IbufbRc/ScQGwiTIEoI/AAAAAAAAABI/XSScKzIpWkk/ s1600-h/bdd-images-basecs.gif La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta. 12 http://es.wikipedia.org/wiki/Cliente-servidor 34 3.8.1 Características En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son: - Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). - Espera y recibe las respuestas del servidor. - Por lo general, puede conectarse a varios servidores a la vez. - Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. - Al contratar un servicio de redes, se tiene que tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza, por ejemplo: cable de cobre ronda entre 1 ms y 50 ms. Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son: - Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). - Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. - Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). - No es frecuente que interactúen directamente con los usuarios finales. 3.8.2 Ventajas - Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Esta centralización 35 también facilita la tarea de poner al día datos u otros recursos (mejor que en las redes P2P). - Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores). - Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación. - Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo. 3.8.3 Desventajas - La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a mayor número de clientes, más problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la red hace también de servidor, cuantos más nodos hay, mejor es el ancho de banda que se tiene. - El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos están generalmente distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía acabar de descargar consiguiendo datos del resto de los nodos en la red. 36 - El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el coste. - El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresión de los navegadores. 3.9 Web Services.13 Es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. 3.9.1 Razones para crear servicios web. La principal razón para usar servicios Web es que se pueden utilizar con HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante firewalls que filtran y bloquean gran parte del tráfico de Internet, cierran casi todos los puertos TCP salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web utilizan este puerto, por la simple razón de que no resultan bloqueados. 13 http://es.wikipedia.org/wiki/Servicio_web 37 Una razón más es porque los servicios Web son muy prácticos y pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno, no deben afectar al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos más pequeños es cada día más utilizada. 3.10 Rad Controls para ASP.NET AJAX.14 Con RadControls para ASP.NET AJAX nos permite crear fácilmente proyectos, sin tener que preocuparse por la compatibilidad entre navegadores, los mismos que cumplen normas o estándares, como resultado, se pasa menos tiempo en el desarrollo de una funcionalidad común y más tiempo a concentrarse en la lógica de negocio de la aplicación. ASP.NET AJAX Telerik ofrece controles inteligentes que utilizan técnicas de maximización del rendimiento, tales como el procesamiento optimizado HTML, optimización del tráfico de las páginas web y el tiempo de carga. 3.10.1 Ajax15 Ajax, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona 14 http://www.telerik.com/support/documentation-and-tutorials.aspx 15 http://es.wikipedia.org/wiki/AJAX 38 con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones. Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dados que está basado en estándares abiertos como JavaScript y Document Object Model (DOM). 3.10.1.1 Tecnologías incluidas en Ajax Ajax es una combinación de cuatro tecnologías ya existentes: - XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información. - Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones ECMAScript como JavaScript y JScript, para mostrar e interactuar dinámicamente con la información presentada. - El objeto XMLHttpRequest para intercambiar datos de forma asíncrona con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios. - XML es el formato usado generalmente para la transferencia de datos solicitados al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y hasta EBML. 39 3.10.1.2 Navegadores que permiten Ajax - Navegadores basados en Gecko como Mozilla, Mozilla Firefox, SeaMonkey, Camino, K-Meleon, IceWeasel, Flock, Epiphany, Galeon y Netscape versión 7.1 y superiores - Navegadores basados en WebKit como Google Chrome de Google o Safari de Apple. - Microsoft Internet Explorer para Windows versión 5.0 y superiores, y los navegadores basados en él - Navegadores con el API KHTML versión 3.2 y superiores implementado, incluyendo Konqueror versión 3.2 y superiores y el Web Browser for S60 de Nokia tercera generación y posteriores - Opera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y superiores. 3.10.1.3 Navegadores que no permiten Ajax - Opera 7 y anteriores - Microsoft Internet Explorer para Windows versión 4.0 y anteriores - Anteriores a Safari 1.2 - Dillo - Navegadores basados en texto como Lynx y Links - Navegadores para personas con capacidades especiales visuales (Braille) - Algunos navegadores de teléfonos móviles - Navegador de la PSP 40 CAPITULO IV DISEÑO DEL SISTEMA DE ADMINISTRACIÓN Y CONTROL DE ENVÍOS O ENTREGAS DE PAQUETES PARA LA EMPRESA CONSERFAST. 4.1 Aplicación del paradigma Espiral en el desarrollo del sistema. Lo más importante de haber escogido este modelo es que permite a quien desarrolla, aplicar el enfoque de creación de prototipos en cualquier etapa de la evolución del producto, con lo cual se puede identificar, entender y reaccionar de mejor manera ante los riesgos que se presentan en el desarrollo del sistema, obteniendo como resultado la plena satisfacción del cliente. Además, para el desarrollo realizado, se siguió algunos pasos que se basan en los principios básicos de este modelo. • Decidir qué problema se quiere resolver. • Examinar las múltiples alternativas de acción y elegir una de las más convenientes. • Evaluar qué se tiene hecho y qué se ha aprendido después de hacer algo. • Conocer y comprender los niveles de riesgo, que se tendrá que manejar. 41 4.2 Aplicación de la Metodología OMT en el desarrollo del sistema. Para el desarrollo de este proyecto en el cual los procesos están definidos claramente se utilizó un extracto de la metodología OMT (Object Modeling Technique – Técnica de Modelado de Objetos) de Rumbaugh. La ventaja que aporta esta metodología es su carácter de abierta (no propietaria), que le permite ser de dominio público, adicionalmente es una metodología que es mucho más completa ya que la metodología de BOOCH se preocupa únicamente del análisis y diseño, y la metodología OMT adicionalmente maneja la implementación y evaluación del proyecto. 4.2.1 Análisis. 4.2.1.1 Modelo Estático. Sistema de Administración y control de envíos o entregas de paquetes y documentos. 4.2.1.1.1 Descripción de Actores ACTOR DESCRIPCIÓN Secretaria Es la entidad que se encarga de recibir las llamadas de los clientes, registrar los clientes y consultar el estado de sus entregas. 42 Supervisor Es la entidad encargada de controlar y administrar el proceso desde que un documento o paquete ingresa al sistema hasta su entrega a un determinado cliente. Gerente Es la entidad que representa a la autoridad máxima de la empresa, a quien se le entrega informes, genera reportes referentes a las entregas de documentos y paquetes, ventas y clientes. Cajero Es la entidad que representa a quien realiza el proceso de facturación, cobros y genera reportes de cuadres diarios. Cajero Administrador del Sistema Es la entidad que representa a quien se encarga de la creación de usuarios, perfiles y permisos de acceso al Administrador del Sistema sistema. 43 4.2.1.1.2 Diagrama de Casos de Uso 4.2.1.1.2.1 Administrar Parámetros. Registrar Definiciones Supervisor Registrar Parametros Nivel 1 Gerente Registrar Parametros Nivel 2 Administrador Sistema 44 4.2.1.1.2.2 Administrar Seguridades Registrar Usuarios Modificar Claves Registrar Aplicaciones o Modulos Registrar Menu o Submodulo Administrador Sistema Registrar T ransacciones Registrar Perfiles Registrar Perfil x Usuario Registrar Perfiles x T ransacción Registrar Mascara o Skin 45 4.2.1.1.2.3 Administrar Clientes Registrar Cliente Secretaria Consultar Cliente Gerente Generar Reporte 4.2.1.1.2.4 Administrar Courier Registrar Courier Consultar Courier Gerente Supervisor Asignar Guias Courier Generar Reporte Asignación 46 4.2.1.1.2.5 Administrar Órdenes u Guías Cargar Archivo de Entregas Ingresar Orden Secretaria Imprimir Guias Capturar Guia Supervisor Consultar Estado Guias Administrar Parametros Generar Reporte Entregas Gerente 47 4.2.1.1.2.6 Administrar Facturación Emitir Factura Generar Puntos de Venta Cajero Consultar Facturas Anular Facturas Gerente Administrar Paramentros Supervisor Generar Reporte Diario Ventas Generar Reporte General de Ventas 48 4.2.1.1.2 Descripción de Casos de Uso ADMINISTRAR PARAMENTROS CASOS DE USO DESCRIPCIÓN Registrar Permite crear definiciones generales o de aplicación para Definiciones luego ser utilizadas en la parametrización como regiones, países, ciudades, estados de la guía, departamentos, etc. Registrar Permite administrar la información de regiones, países, Parámetros Nivel estados de la guía, departamentos, género, ciudades, etc. 1 Registrar Permite relacionar un parámetro de nivel 1 con un código de Parámetros Nivel secuencia como provincias con ciudades. 2 ADMINISTRAR SEGURIDADES CASOS DE USO DESCRIPCIÓN Registrar Usuarios Permite administrar la información de usuarios, incluye ingresar, consultar, modificar. Modificar Clave Permite resetear la clave de un usuario en caso de que el Usuario mismo haya olvidado la misma. Registrar Permite administrar los módulos (clientes, guías, facturación, Aplicaciones o seguridades) que contiene la aplicación. módulos Registrar Menú o Permite administrar los submódulos (reportes facturación, submódulo parametrizaciones, facturación, etc.) que contiene la aplicación. Registrar Permite administrar los links de cada transacciones transacciones que el sistema maneja (Ingreso clientes, asignación de Courier, emitir factura, etc.) una de las 49 Registrar Perfiles Permite administrar los perfiles de acceso que luego al usuario serán asignados. Registrar Perfil x Permite asignar al usuario un perfil determinado para el usuario acceso al sistema. Registrar perfil x Permite asignar las transacciones que podrá ejecutar el transacciones usuario bajo el perfil asignado. Registrar mascara Permite administrar la presentación o visualización (colores o skin. de tablas, colores de líneas de márgenes, controles) de las interfaces del sistema. ADMINISTRAR CLIENTES CASOS DE USO DESCRIPCIÓN Registrar Clientes Permite administrar la información de los clientes, incluye ingresar, modificar e imprimir reportes. Consultar Clientes Permite visualizar la información referente a un cliente en específico. Generar Reportes Permite generar un reporte para verificar o imprimir la información. ADMINISTRAR COURIER CASOS DE USO DESCRIPCIÓN Registrar Courier Permite registrar la información de la persona quién entrega los documentos o paquetes a los destinatarios. Consultar Courier Permite verificar la información de la persona que entrega los documentos o paquetes. Asignar Guías Permite administrar la asignación de las entregas de guías Courier con sus respectivos paquetes o documentos a las personas que los entregan. Generar Reporte Permite generar reportes de asignación de las guías a los de Asignación Courier (personas que entregan los documentos o paquetes) 50 ADMINISTRAR ORDENES O GUIAS CASOS DE USO DESCRIPCIÓN Cargar archivo de Permite ingresar la información de las guías u órdenes en entregas batch, a través de un archivo Excel. Ingresar Orden Permite administrar las guías u órdenes que se cargaron a través del proceso batch, incluye ingresar, modificar e eliminar. Imprimir Guías Permite generar la impresión de las guías u órdenes a hacer entregadas. Capturar Guía Permite controlar el proceso de las guías que ya han sido procesadas (entregadas, devueltas, manifestadas, etc.) es decir enviadas a los diferentes destinatarios Consultar Estado Permite realizar una verificación del estado en que se Guías Generar encuentra una guía u orden de un cliente determinado. Reporte Permite generar la impresión de las guías u órdenes las entregas cuales han sido procesadas. ADMINISTRAR FACTURACIÓN CASOS DE USO DESCRIPCIÓN Emitir Factura Permite generar la orden de factura de aquellas órdenes o guías que han sido procesadas. Generar puntos de Permite administrar los puntos en los cuales se van a venta realizar el proceso de facturación. Consultar facturas Permite realizar una verificación de una orden de facturación determinada. Anular facturas Permite realizar el proceso de una anulación de una orden de facturación. 51 Generar reporte Permite generar un reporte diario de las facturas emitidas diario de ventas por usuario, para realizar el proceso de cuadre de caja diario. Generar Reporte Permite visualizar la información de las ventas generadas en general de ventas un determinado lapso de tiempo. 4.2.1.1.3 Diagramas de Clases 4.2.1.1.3.1 Diagrama Lógico de la Base de Datos ADMINISTRAR PARAMETROS GEP01(CABECERA PARAMETRIZACION) - GEP01STRESTADO GEP01NUMCODPARAMETRO GEP01STRAPLICACION GEP01STRDEFINICION GEP01STRDESCRIPCION : : : : : Char Integer Char String String + Consultar () : Object + Ingresar () : Object + Modificar () : Object 1 CABECERA_DETALLE_PARAMETRIZACION 0..* GEP03(DETALLE PARAMETRIZACION) - GEP03NUMCODPARAMETRO GEP03STRSERIE GEP03STRSECUENCIA GEP03STRVALOR GEP03STRDESCRIPCION + Consultar () : Object + Ingresar () : Object + Modificar () : Object : : : : : Integer Char Char String String 52 ADMINISTRAR SEGURIDADES SEM01(USUARIO) 1 USUARIO_PERFILXUSUARIO 0..* SEM03(PERFIL X USAURIO) 0..* - SEM03STRESTADO SEM03STRCODAPLICACION SEM03NUMCODUSUARIO SEM03STRCODPERFIL : Char : Char : Long : Char + + + + Consultar por apellidos,nombres () Consultar todos () Ingresar () Modificar () : Object : Object : Object : Object 0..* APLICACIONES_PERFILXUSUARIO PERFILES_PERFILXUSUARIO SEM03STRESTADO SEM03STRCODAPLICACION SEM03STRDESCRIPCION SEM03STRICONO : Char : Long : String : String : String : String : String : String : String : Char : Char : Char : Char : Char : Char : Char : Char : Integer + + + + + + Consultar por apellidos,nombres () : Object Consultar todos () : Object Ingresar () : Object Modificar () : Object Asignar punto de venta facturacion () : Object Resetear clave () : Object 1 : Char : Char : String : String APLICACIONES_TRANSACCIONESXPERFIL 0..* + Consultar () : Object + Ingresar () : Object + Modificar () : Object SEM04(TRANSACCIONES X PERFIL) 1 0..* PERFILES_TRANSACCIONESXPERFIL 1 SEM01STRESTADO SEM01NUMCODUSUARIO SEM01STRAPELLIDOS SEM01STRNOMBRES SEM01STRUSUARIO SEM01STRCLAVE SEM01STRDIRECCION SEM01STRTELEFONO SEM01STRMAIL SEM01STRSEXO SEM01STRCARGO SEM01STRFECHANAC SEM01STRPAIS SEM01STRPROVINCIA SEM01STRCIUDAD SEM01STRTIPOUSUARIO SEM01STRSIFACTURA SEM01NUMCODPUNTOVENTA 1 SEM02(APLICACIONES O MODULOS) - - 1 SEM05(PERFILES) - SEM05STRESTADO : Char - SEM05STRCODPERFIL : Char - SEM05STRDESCRIPCIONPERFIL : String - SEM04STRESTADO SEM04STRCODAPLICACION SEM04STRCODPERFIL SEM04STRCODMENU SEM04STRCODTRANSACCION SEM04STRDESCRIPCION + + + + + + Consulatr por aplicacion () : Object Consultar por perfil () : Object Consultar todos () : Object Ingresar () : Object Modificar () : Object Eliminar () : Object 0..* + Consultar () : Object + Ingresar () : Object + Modificar () : Object 0..* : Char : Char : Char : Char : Char : String TRANSACCIONES_TRANSACCIONESXPERFIL 1 APLICACIONES_TRANSACCIONES MENU_TRANSACCIONESXPERFIL 1 SEM06(MENU O SUBMODULOS) - SEM06STRESTADO SEM06STRCODAPLICACION SEM06STRCODMENU SEM06STRDESCRIPCIONMENU SEM06STRLINK SEM06STRDESCRIPCIONLINK SEM06STRICONO + + + + + Consultar por aplicaciones () : Object Consultar por descripción del menu () : Object Consultar todos () : Object Ingresar () : Object Modificar () : Object SEM07(TRANSACCIONES APLICACION) 0..* - SEM07STRESTADO SEM07STRCODAPLICACION SEM07STRCODMENU SEM07STRCODTRANSACCION SEM07STRDESCRIPCIONTRANS SEM07STRDESCRIPCIONLINK SEM07STRICONO : Char : Char : Char : Char : String : String : String + + + + + Consultar por aplicacion () : Object Consultar por descripcion de transacción () : Object Consulatr todos () : Object Ingresar () : Object Modificar () : Object 1 MENU_TRANSACCIONES 0..* : : : : : : : Char Char Char String Char String String 53 ADMINISTRAR GUIAS Y FACTURACIÓN. COM01(COURIER) + + + + CLM01(CLIENT ES) - 1 CLIENTES_FACTURA CLM01ST RESTADO CLM01NUMCODCLIENT E CLM01ST RAPELLIDOS CLM01ST RNOMBRES CLM01ST RDIRECCION CLM01ST RT ELEFONOS CLM01ST RCONT ACT O CLM01ST RCARGO CLM01ST RNUMID + + + + + + : : : : : : : : : Char Long String String String String String Char String : : : : : Char Integer String String String Consultar por nombres, apellidos () Consultar todos () Ingresar () Modificar () : : : : Object Object Object Object 1 COURIER_ASIGNACIONGUIAS 0..* Consultar por código cliente () : Object Consultar por nombres, apellidos cliente () : Object Consultar por contacto del cliente () : Object Consultar todos los clientes () : Object Ingresar () : Object Modificar () : Object 0..* COM01ST RESTADO COM01NUMCODCOURIER COM01ST RAPELLIDOS COM01ST RNOMBRES COM01ST RNUMID COM02(ASIGNACION DE GUIAS) : Long - COM02NUMORDEN - COM02NUMCODCOURIER : Integer - COM02ST RFECHAASIGNACION : Char + + + + 1 Consultar () Ingresar () Modificar () Imprimir () : : : : Object Object Object Object FCM02(CABECERA FACT URA) - FCM02NUMPEDIDO FCM02NUMCODCLIENT E FCM02NUMSUBTOTAL FCM02NUMVALORT OT AL FCM02NUMVALORIVA FCM02NUMPORCENT AJEIVA FCM02ST RFECHA FCM02ST RDESCRIPCIONNUMEROS FCM02ST RNOMBREFACTURA FCM02ST RTIPOFACT URA FCM02NUMFACT URA FCM02NUMPUNTOVENTA FCM02ST RESTADO + + + + + + + + + + + + + : : : : : : : : : : : : : 1 Long Long Double Double Double Double Char String String Char Long Integer Char Consultar cliente por identificacion () Consultar cliente por nombres, apellidos () Consultar todos los clientes () Consultar por fechas de registro () Consultar por estado () Consultar por usuario () Consultar por punto de venta () Consultar por número de factura () Generar factura automatica () Generar factura manual () Anular factura () Ingresar () Imprimir () 1 : : : : : : : : : : : : : CLIENT ES_GUIAS 1 GIM01(GUIAS) 0..* 0..* GUIASFACT URADAS_CABECERAFACT URA 1 Object Object Object Object Object Object Object Object Object Object Object Object Object GUIAS_GUIASFACT URADAS 1 0..* FCM01(GUIAS FACT URADAS) - 1 FCM01NUMCODCLIENT E FCM02NUMORDEN FCM02NUMPEDIDO FCM02ST RFECHA FCM02ST RESTADO FCM02ST RT IPOREGION : : : : : : Long Long Long Char Char Char CABECERAFACTURA_PUNT OVENT A FCM03(DET ALLE FACTURA) - FCM03NUMCODETALLE FCM03NUMPEDIDO FCM03NUMCANT IDAD FCM03ST RDET ALLE FCM03NUMVALORUNIT ARIO FCM03NUMVALORTOTAL + Ingresar () : Object : : : : : : Long Long Integer String Double Double FCM04(PUNTOS DE VENTA) 0..* - FCM04ST REST ADO FCM04NUMCODPUNTOVENTA FCM04ST RCODUBICACION FCM04ST RDESCRIPCION FCM04NUMSECUENCIALFACTURA + Consultar () : Object + Ingresar () : Object + Modificar () : Object + + + + + + + + + + + Ingresar () : Object CABECERA_DET ALLEFACT URA 0..* GUIAS_ASIGNACIONGUIAS : : : : : Char Integer Char String Long GIM01NUMCODCLIENTE GIM01NUMORDEN GIM01STRFECHAPROCESO GIM01STREST ADO GIM01STROBSERVACIONES GIM01STRORIGEN GIM01STROSERVICIO GIM01STREMPRESADESTINO GIM01STRT IPOENVIO GIM01NUMPESO GIM01STRPERSONARECIBE GIM01STRNOMBRESDEST INAT ARIO GIM01STRAPELLIDOSDEST INAT ARIO GIM01STRDIRECCION GIM01STRT ELEFONOS GIM01STRDEPART AMENTO GIM01STRFECHAENTREGA Consultar por cliente () Consultar por fechas de registro () Consultar por número de guia () Consultar por estado guia () Imprimir guias por lote () Imprimir guia individual () Cargar archivo excel () Ingresar () Modificar () Eliminar () : : : : : : : : : : : : : : : : : : : : : : : : : : : Long Long Char Char String Char Char Char Char Double String String String String String Char Char Object Object Object Object Object Object Object Object Object Object 54 4.2.1.1.3.2 Diagrama Físico de la Base de Datos ADMINISTRAR PARAMETROS GEP01(CABECERA PARAMETRIZACION) GEP01STRESTADO GEP01NUMCODPARAMETRO GEP01STRAPLICACION GEP01STRDEFINICION GEP01STRDESCRIPCION character(1) integer <pk> character(1) variable character(254) variable character(254) FK_Association1 GEP03(DETALLE PARAMETRIZACION) GEP03NUMCODPARAMETRO GEP03STRSERIE GEP03STRSECUENCIA GEP01NUMCODPARAMETRO GEP03STRVALOR GEP03STRDESCRIPCION integer character(1) character(1) integer variable character(254) variable character(254) <pk> <pk> <pk> <fk> 55 ADMINISTRAR SEGURIDADES SEM01(USUARIO) FK_Association1 SEM03(PERFIL X USAURIO) FK_Association3 SEM03ST RESTADO SEM03ST RCODAPLICACION SEM03NUMCODUSUARIO SEM03ST RCODPERFIL SEM01NUMCODUSUARIO SEM_SEM03ST RCODAPLICACION SEM05ST RCODPERFIL character(1) character(1) long integer character(1) long integer character(1) character(1) <pk> <pk> <pk> <fk1> <fk2> <fk3> FK_Association2 SEM01STRESTADO SEM01NUMCODUSUARIO SEM01STRAPELLIDOS SEM01STRNOMBRES SEM01STRUSUARIO SEM01STRCLAVE SEM01STRDIRECCION SEM01STRTELEFONO SEM01STRMAIL SEM01STRSEXO SEM01STRCARGO SEM01STRFECHANAC SEM01STRPAIS SEM01STRPROVINCIA SEM01STRCIUDAD SEM01STRTIPOUSUARIO SEM01STRSIFACTURA SEM01NUMCODPUNT OVENTA character(1) long integer <pk> variable character(254) variable character(254) variable character(254) variable character(254) variable character(254) variable character(254) variable character(254) character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) integer SEM02(APLICACIONES O MODULOS) SEM03ST RESTADO SEM03ST RCODAPLICACION SEM03ST RDESCRIPCION SEM03ST RICONO character(1) character(1) <pk> variable character(254) variable character(254) FK_Association7 FK_Association5 SEM04(TRANSACCIONES X PERFIL) FK_Association4 SEM05(PERFILES) SEM05ST RESTADO character(1) SEM05ST RCODPERFIL character(1) <pk> SEM05ST RDESCRIPCIONPERFIL variable character(254) FK_Association8 SEM04ST RESTADO SEM04ST RCODAPLICACION SEM04ST RCODPERFIL SEM04ST RCODMENU SEM04ST RCODTRANSACCION SEM05ST RCODPERFIL SEM03ST RCODAPLICACION SEM07ST RCODAPLICACION SEM07ST RCODMENU SEM07ST RCODTRANSACCION SEM06ST RCODAPLICACION SEM06ST RCODMENU SEM04ST RDESCRIPCION FK_Association6 SEM07(TRANSACCIONES APLICACION) character(1) character(1) character(1) character(1) character(1) character(1) character(1) variable character(254) variable character(254) variable character(254) <pk> <pk> <pk> <pk> <fk1> <fk4> <fk3> <fk3> <fk3> <fk2> <fk2> SEM06(MENU O SUBMODULOS) FK_Association9 SEM07STRESTADO SEM07STRCODAPLICACION SEM07STRCODMENU SEM07STRCODTRANSACCION SEM06STRCODAPLICACION SEM06STRCODMENU SEM03STRCODAPLICACION SEM07STRDESCRIPCIONTRANS SEM07STRDESCRIPCIONLINK SEM07STRICONO character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) character(1) variable character(254) <pk> <pk> <pk> <fk2> <fk2> <fk1> SEM06STRESTADO SEM06STRCODAPLICACION SEM06STRCODMENU SEM06STRDESCRIPCIONMENU SEM06STRLINK SEM06STRDESCRIPCIONLINK SEM06STRICONO character(1) character(1) <pk> character(1) <pk> variable character(254) character(1) variable character(254) variable character(254) 56 ADMINISTRAR GUIAS Y FACTURACIÓN 16 CLM01(CLIENTES) CLM01STRESTADO CLM01NUMCODCLIENTE CLM01STRAPELLIDOS CLM01STRNOMBRES CLM01STRDIRECCION CLM01STRTELEFONOS CLM01STRCONTACTO CLM01STRCARGO CLM01STRNUMID character(1) long integer <pk,ak1,ak2,ak3> variable character(254) variable character(254) variable character(254) variable character(254) variable character(254) character(1) variable character(254) COM01(COURIER) COM01STRESTADO COM01NUMCODCOURIER COM02NUMORDEN COM02NUMCODCOURIER COM01STRAPELLIDOS COM01STRNOMBRES COM01STRNUMID character(1) <pk> integer long integer <fk> integer <fk> variable character(254) variable character(254) variable character(254) FK_Association3 FK_Association10 COM02(ASIGNACION DE GUIAS) FCM02(CABECERA FACTURA) FCM02NUMPEDIDO FCM02NUMCODCLIENTE CLM01NUMCODCLIENTE FCM01NUMCODCLIENTE FCM02NUMORDEN FCM_FCM02NUMPEDIDO FCM02NUMSUBTOTAL FCM02NUMVALORTOTAL FCM02NUMVALORIVA FCM02NUMPORCENTAJEIVA FCM02STRFECHA FCM02STRDESCRIPCIONNUMEROS FCM02STRNOMBREFACTURA FCM02STRTIPOFACTURA FCM02NUMFACTURA FCM02NUMPUNTOVENTA FCM02STRESTADO FCM02STRUSUARIOING ... long integer long integer long integer long integer long integer long integer long float long float long float long float character(1) variable character(254) variable character(254) character(1) long integer integer character(1) Chart <pk> <pk> <fk2> <fk1> <fk1> <fk1> COM02NUMORDEN COM02NUMCODCOURIER GIM01NUMCODCLIENTE GIM01NUMORDEN COM02STRFECHAASIGNACION FK_Association1 FK_Association9 long integer long integer long integer long integer long integer character(1) character(1) <pk> <pk> <fk> <fk> FK_Association2 FCM01(GUIAS FACTURADAS) FCM01NUMCODCLIENTE FCM02NUMORDEN FCM02NUMPEDIDO GIM01NUMCODCLIENTE GIM01NUMORDEN FCM02STRFECHA FCM01TIPOCIUDAD long integer integer long integer long integer character(1) <pk> <pk> <pk> <fk> <fk> GIM01(GUIAS) FK_Association6 FK_Association8 FK_Association7 FCM03(DETALLE FACTURA) FCM03NUMCODETALLE FCM03NUMPEDIDO FCM02NUMPEDIDO FCM02NUMCODCLIENTE FCM03NUMCANTIDAD FCM03STRDETALLE FCM03NUMVALORUNITARIO FCM03NUMVALORTOTAL 16 long integer long integer long integer long integer integer variable character(254) long float long float Ver anexo Manual Técnico. <pk> <pk> <fk> <fk> FCM04(PUNTOS DE VENTA) FCM04STRESTADO FCM04NUMCODPUNTOVENTA FCM02NUMPEDIDO FCM02NUMCODCLIENTE FCM04STRCODUBICACION FCM04STRDESCRIPCION FCM04NUMSECUENCIALFACTURA character(1) integer <pk> long integer <fk> long integer <fk> character(1) variable character(254) long integer GIM01NUMCODCLIENTE GIM01NUMORDEN CLM01NUMCODCLIENTE GIM01STRFECHAPROCESO GIM01STRESTADO GIM01STROBSERVACIONES GIM01STRORIGEN GIM01STROSERVICIO GIM01STREMPRESADESTINO GIM01STRTIPOENVIO GIM01NUMPESO GIM01STRPERSONARECIBE GIM01STRNOMBRESDESTINATARIO GIM01STRAPELLIDOSDESTINATARIO GIM01STRDIRECCION GIM01STRTELEFONOS GIM01STRDEPARTAMENTO GIM01STRFECHAENTREGA long integer <pk,ak1,ak2> long integer <pk,ak1,ak3> long integer <fk> character(1) character(1) variable character(254) character(1) character(1) character(1) character(1) long float variable character(254) variable character(254) variable character(254) variable character(254) variable character(254) character(1) character(1) 57 4.3 Aplicación de la ingeniería de Software en el desarrollo del Sistema. Para el desarrollo del sistema se utilizó los siguientes niveles o diseños de la ingeniería del software: 4.3.1 Diseño Conceptual El diseño conceptual se consideró en el análisis de actividades y consistió en la solución de los procesos para el usuario los cuales se expresan con los casos de uso del sistema a desarrollarse. Este diseño consistió de las siguientes tareas: - Identificar los usuarios y sus roles. - Obtener datos de los usuarios. - Evaluar la información. - Documentar los escenarios de uso. - Validar con los usuarios. Para la obtención de estos requerimientos se realizaron entrevistas y visitas a los usuarios obteniendo así una solución adecuada para el desarrollo del sistema. 4.3.2 Diseño Lógico El diseño lógico traduce los escenarios de uso creados en el diseño conceptual en un conjunto de objetos de negocio y sus servicios; este diseño es independiente de la tecnología. El diseño lógico refina, organiza y detalla la solución del proceso además define formalmente las reglas y políticas específicas del proyecto. Este diseño fue utilizado para realizar las siguientes actividades: - Identificar y definir los objetos del negocio y sus servicios. - Definir las interfaces. - Identificar las dependencias entre objetos. 58 - Revisar y refinar tanto como sea necesario. 4.3.3 Diseño Físico El diseño físico traduce al diseño lógico a una solución implementable y costo efectiva o económica conveniente. Las tareas utilizadas para el desarrollo del sistema dentro de este diseño fueron: - Definir los componentes. - Refinar el comportamiento y distribución de componentes. - Especificar las interfaces de los componentes. - Distribuir los repositorios físicos de datos. - Ejecutar pruebas de funcionamiento. 4.3.3.1 Requerimientos Servidor.17 17 • 1 GB libres en RAM. • Sistema Operativo Windows XP, 2003, 2008. • Mínima resolución de pantalla 1024 x 768. • Microsoft SQL Server 2008 como servidor de base de datos(BDD) • Internet Information Server 7 o superior (IIS) • Framework 3.5 • Componente Cristal Report 2008 • Rad Controls 2010 • Internet Explorer 6 o superior. Ver anexo Manual de Instalación. 59 4.3.3.2 Partes de la pantalla principal del sistema.18 Aplicaciones o Módulos Menú o Sub Módulos Transacciones Programas o Interfaz de usuario 18 Ver anexo Manual de Usuario. 60 CAPITULO V CONCLUSIONES Y RECOMENDACIONES 5.1 CONCLUSIONES. - El desarrollo del presente proyecto ha contribuido con la Empresa Conserfast en un mejor control de la información, de forma que se optimizaron los procesos de control, administración, búsquedas y reportes para el envío de paquetes y documentos. - Se redujo tiempos de operatividad, ya que antes toda la información se manejaba en papeles o archivos Excel improvisados, ahora toda la información residirá en el sistema permitiendo el acceso a la misma de una manera más rápida y segura. - Para la definición de los requerimientos se realizó prototipos del sistema con una funcionalidad inicial elemental, pero con pantallas que visualmente se aproximaban a lo requerido por el usuario, con esto se pudo evitar demoras en la definición final de las pantallas y el manejo de los procesos del sistema. - El haber realizado un análisis previo de toda la funcionalidad del sistema y el haber utilizado de una forma correcta las herramientas para el análisis, diseño y construcción, ha ayudado a concluir el mismo de una forma mucho más rápida y eficiente, dando como resultado una plena satisfacción en los usuarios finales. 61 - El haber utilizado controles Ajax (Rad Controls), permitió obtener una aplicación mucho más rápida e interactiva, haciendo la navegación del usuario más sencilla y fácil de manejar, adicionalmente proporciona un atractivo visual en la presentación del sistema. 5.2 RECOMENDACIONES. - Se recomienda que el responsable de la administración del sistema establezca políticas para la creación de usuarios y contraseñas para facilitar el acceso al sistema y agilitar el soporte al usuario. - Se recomienda que la base de datos deberá ser respaldada como mínimo semanalmente, para que no exista inconvenientes y la información se mantenga correcta y actualizada. - Se recomienda capacitar al usuario final en el manejo del sistema, para que el uso del mismo sea adecuado y la información sea ingresada correctamente. - Se recomienda que a futuro se desarrolle el sistema contable junto con el manejo de un tarifario para el control de precios al momento de generar una factura. - Para el óptimo rendimiento del sistema se recomienda instalar en los clientes Internet explore 6 o superior. 5.3 BIBLIOGRAFIA 5.3.1 Libros - Pressman, Roger S. Ingeniería de software (5ta Edición) Editorial McGrawHill de España. 62 - Ivar Jacobson, Grady Booch y James Rumbaugh (2000) El Lenguaje Unificado de Modelado Editorial Pearzón Educación. 5.3.2 Referencia Web http://www.um.es/docencia/barzana/IAGP/Iagp3.html http://en.wikipedia.org/wiki/Methodology http://www.monografias.com/trabajos13/metomt/metomt.shtml http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado http://www.monografias.com/trabajos5/insof/insof.shtml http://www.monografias.com/trabajos15/ingenieria-software/ingenieria software.shtml http://www.monografias.com/trabajos5/inso/inso.shtml http://es.wikipedia.org/wiki/Microsoft_.NET http://www.webestilo.com/aspnet/aspnet00.phtml http://msdn.microsoft.com/es-es/library/zw4w595w%28v=vs.80%29.aspx http://es.wikipedia.org/wiki/Common_Language_Runtime http://es.wikipedia.org/wiki/ASP.NET http://msdn.microsoft.com/es-es/library/kwdt6w2k%28v=vs.80%29.aspx http://es.wikipedia.org/wiki/ADO.NET http://commons.wikimedia.org/wiki/File:DotNet3.0.svg http://www.intercambiosvirtuales.org/software/microsoft-sql-server-2008-r2enterprise-edition-dvd-espanol http://es.wikipedia.org/wiki/Internet_Information_Services http://es.wikipedia.org/wiki/Microsoft_Visual_Studio http://es.wikipedia.org/wiki/Cliente-servidor http://www.telerik.com/support/documentation-and-tutorials.aspx http://www.telerik.com/purchase.aspx http://es.wikipedia.org/wiki/Servicio_web http://es.wikipedia.org/wiki/AJAX http://www.sparxsystems.com.ar/resources/tutorial/uml2_sequencediagram.html MANUAL TÉCNICO DICCIONARIO DE CLASES. 1 SISTEMA DE ADMINISTRACION Y CONTROL DE ENVIOS O ENTREGAS DE PAQUETES Y DOCUMENTOS. ADMINISTRAR PARAMETROS. CLASE: GEP01 (CABECERA PARAMETRIZACIÓN) TIPO ATRIBUTOS DE DATO DESCRIPCIÓN Estado en que se encuentra la definición GEP01STRESTADO Char del parámetro(ACTIVO,INACTIVO) Código único autogenerado para asignar la GEP01NUMCODPARAMETRO Integer definición del parámetro Código del módulo (CLIENTES, o aplicación COURIER, GUIAS, FACTURACIÓN, ETC) al cual la definición del parámetro va a pertenecer, para la información GEP01STRAPLICACION Char del mismo se visualice únicamente en el módulo asignado. Descripción específica de la definición a la GEP01STRDEFINICION String cual hace referencia. Descripción general de la definición a la GEP01STRDESCRIPCION String cual hace referencia. CLASE: GEP03 (DETALLE PARAMETRIZACIÓN) TIPO ATRIBUTOS DATO DE DESCRIPCIÓN Código de la definición de las cabecera GEP03NUMCODPARAMETRO Integer parametrización GEP03STRSERIE Char Código del parámetro GEP03STRSECUENCIA Char Código del parámetro, si este pertenece a 2 un parámetro padre GEP03STRVALOR String Descripción especifica del parámetro GEP03STRDESCRIPCION String Descripción general del parámetro ADMINISTRAR SEGURIDADES CLASE: SEM01 (USUARIO) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN SEM01STRESTADO Char Estado del usuario (ACTIVO, INACTIVO) Código único auto numérico que se asigna SEM01NUMCODUSUARIO Long al usuario Apellidos tanto paterno y materno del SEM01STRAPELLIDOS String usuario Primer nombre y segundo nombre del SEM01STRNOMBRES String usuario Nombre del usuario con el que se va a SEM01STRUSUARIO String identificar en el sistema SEM01STRCLAVE String Contraseña para el ingreso al sistema SEM01STRDIRECCION String Dirección de domicilio del usuario SEM01STRTELEFONO String Teléfonos pertenecientes al usuario SEM01STRMAIL String Dirección de correo electrónico del usuario SEM01STRSEXO Char Género al que pertenece el usuario SEM01STRCARGO Char Cargo que ocupa el usuario SEM01STRFECHANAC Char Fecha de nacimiento del usuario SEM01STRPAIS Char País en el que residencia del usuario SEM01STRPROVINCIA Char Provincia de residencia del usuario SEM01STRCIUDAD Char Ciudad de residencia del usuario SEM01STRTIPOUSUARIO Char Identifica si el usuario es un funcionario de 3 la empresa o un cliente Identifica si el usuario va a poder realizar SEM01STRSIFACTURA Char procesos de facturación SEM01NUMCODPUNTOVENTA Integer Código del punto de venta asignado CLASE: SEM02 (APLICACIONES O MODULOS) TIPO ATRIBUTOS DE DATO DESCRIPCIÓN Estado de la aplicación o modulo(ACTIVA, SEM03STRESTADO Char INACTIVA) SEM03STRCODAPLICACION Char Código de la aplicación SEM03STRDESCRIPCION String Descripción general de la aplicación SEM03STRICONO String Path donde se ubica la imagen del icono CLASE: SEM03 (PERFIL X USUARIO) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN SEM03STRESTADO Char Estado (ACTIO, INACTIVO) SEM03STRCODAPLICACION Char Código de la aplicación SEM03NUMCODUSUARIO Long Código de usuario SEM03STRCODPERFIL Char Código de perfil CLASE: SEM04 (TRANSACCIONES X PERFIL) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN SEM04STRESTADO Char Estado (ACTIVO, INACTIVO) SEM04STRCODAPLICACION Char Código de la aplicación SEM04STRCODPERFIL Char Código del perfil SEM04STRCODMENU Char Código del menú o submódulo 4 SEM04STRCODTRANSACCION Char Código de la transacción SEM04STRDESCRIPCION Descripción general u observación String CLASE: SEM05 (PERFILES) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN SEM05STRESTADO Char Estado (ACTIVO, INACTIVO) SEM05STRCODPERFIL Char Código de Perfil SEM05STRDESCRIPCIONPERFIL String Descripción general del perfil CLASE: SEM06 (MENU O SUBMODULO) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN SEM06STRESTADO Char Estado(ACTIVO, INACTIVO) SEM06STRCODAPLICACION Char Código de la aplicación SEM06STRCODMENU Char Código del menú SEM06STRDESCRIPCIONMENU String Descripción general del menú o submódulo Indica si va a contener transacciones o directamente desde el menú arranca el SEM06STRLINK Char programa Dirección SEM06STRDESCRIPCIONLINK String o enlace del programa a ejecutarse Path donde se guarda la imagen para el SEM06STRICONO String icono del menú CLASE: SEM07 (TRANSACCIONES X APLICACIÓN) TIPO ATRIBUTOS DATO DE DESCRIPCIÓN 5 SEM07STRESTADO Char Estado (ACTIVO, INACTIVO) SEM07STRCODAPLICACION Char Código de la aplicación SEM07STRCODMENU Char Código del menú SEM07STRCODTRANSACCION Char Código de la transacción SEM07STRDESCRIPCIONTRANS String Descripción general de la transacción Dirección SEM07STRDESCRIPCIONLINK String o enlace del programa a ejecutarse Path donde se guarda la imagen para el SEM07STRICONO String icono de la transacción ADMINISTRAR GUIAS Y FACTURACIÓN CLASE: GIM01 (GUIAS O ORDENES) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN GIM01NUMCODCLIENTE Long Código del cliente GIM01NUMORDEN Long Número autogenerado de guía u orden Fecha de ingreso o subida al sistema de GIM01STRFECHAPROCESO Char la guía GIM01STRESTADO Char Estado en que se encuentra la guía GIM01STROBSERVACIONES String Descripción u observaciones Ciudad GIM01STRORIGEN Char desde donde documento o paquete envían el 6 Ciudad a donde envían el documento o GIM01STROSERVICIO Char paquete Nombre de la empresa destino del GIM01STREMPRESADESTINO Char documento o paquete GIM01STRTIPOENVIO Char Indica si es un documento o paquete GIM01NUMPESO Double Indica el peso que posee el paquete Nombre de la persona que recibe la GIM01STRPERSONARECIBE String entrega Nombre de la persona a quien se envía el GIM01STRNOMBRESDESTINATARIO String documento o paquete Apellido de la persona a quien se envía el GIM01STRAPELLIDOSDESTINATARIO String documento o paquete Dirección del destinatario a donde se GIM01STRDIRECCION String envía el documento o paquete Teléfonos de la persona a quien se envía GIM01STRTELEFONOS String el documento o paquete Departamento de la empresa a donde se GIM01STRDEPARTAMENTO Char envía el documento o paquete Fecha efectiva de entrega del documento GIM01STRFECHAENTREGA Char o paquete CLASE: COM01 (COURIER) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN COM01STRESTADO Char Estado(ACTIVO, INACTIVO) COM01NUMCODCOURIER Integer Código Courier o mensajero COM01STRAPELLIDOS String Apellidos del Courier o mensajero COM01STRNOMBRES String Nombres del Courier o mensajero 7 Número de identificación del Courier o COM01STRNUMID String mensajero CLASE: COM02 (ASIGNACIÓN DE GUIAS) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN COM02NUMORDEN Long Número de la guía u orden COM02NUMCODCOURIER Integer Código del Courier o mensajero COM02STRFECHAASIGNACION Char Fecha de asignación CLASE: CLM01 (CLIENTES) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN CLM01STRESTADO Char Estado (ACTIVO, INACTIVO) CLM01NUMCODCLIENTE Long Código del cliente CLM01STRAPELLIDOS String Apellidos del cliente CLM01STRNOMBRES String Nombres del cliente CLM01STRDIRECCION String Dirección del cliente CLM01STRTELEFONOS String Teléfonos del cliente Persona a cargo o contacto directo de la CLM01STRCONTACTO String empresa Cargo que ocupa el contacto dentro de la CLM01STRCARGO Char empresa CLM01STRNUMID String Número de identificación del contacto CLASE: FCM01(GUIAS FACTURADAS) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN FCM01NUMCODCLIENTE Long Código de cliente 8 FCM02NUMORDEN Long Número de orden o guía FCM02NUMPEDIDO Long Código de pedido FCM02STRFECHA Char Fecha de registro FCM02STRESTADO Char Estado(CENCELADO, ANULADO) Indica FCM02STRTIPOREGION Char el tipo de región(LOCAL, NACIONAL , VALLE) CLASE: FCM02(CABECERA FACTURA) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN FCM02NUMPEDIDO Long Código de pedido FCM02NUMCODCLIENTE Long Código de cliente FCM02NUMSUBTOTAL Double Valor del subtotal de la factura FCM02NUMVALORTOTAL Double Valor total de la factura FCM02NUMVALORIVA Double Valor del cálculo del IVA FCM02NUMPORCENTAJEIVA Double Porcentaje del IVA FCM02STRFECHA Char Fecha de la factura ROS String Descripción del valor total en letras FCM02STRNOMBREFACTURA String Nombre de la persona se hace la factura FCM02STRDESCRIPCIONNUME Indica el tipo de factura (AUTOMATICA, FCM02STRTIPOFACTURA Char MANUAL) FCM02NUMFACTURA Long Indica el número de la factura Indica el punto de venta en donde se FCM02NUMPUNTOVENTA Integer realizó la factura Indica FCM02STRESTADO Char el estado de (CANCELADO, ANULADO) la factura 9 CLASE: FCM03(DETALLE FACTURA) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN FCM03NUMCODETALLE Long Código detalle de la factura FCM03NUMPEDIDO Long Código de pedido de la factura Indica la cantidad del artículo de cada uno FCM03NUMCANTIDAD Integer de los detalles FCM03STRDETALLE String Descripción del articulo a facturarse FCM03NUMVALORUNITARIO Double Valor unitario de cada uno de los artículos FCM03NUMVALORTOTAL Double Valor total de cada uno de los artículos CLASE: FCM04(PUNTOS DE VENTA) TIPO DE ATRIBUTOS DATO DESCRIPCIÓN FCM04STRESTADO Char Indica el estado (ACTIVO, INACTIVO) FCM04NUMCODPUNTOVENTA Integer Código del punto de venta Código de la ubicación (ciudad) en donde FCM04STRCODUBICACION Char se encuentra el punto de venta FCM04STRDESCRIPCION String Descripción general del punto de venta Long Número secuencial de la factura FCM04NUMSECUENCIALFACTU RA MODELO DINÁMICO DIAGRAMAS DE INTERACCIÓN DIAGRAMAS DE SECUENCIA 10 SISTEMA DE ADMINISTRACION Y CONTROL DE ENVIOS O ENTREGAS DE PAQUETES Y DOCUMENTOS. ADMINISTRAR PARAMETROS Ingresar nueva Definición Administrar Parametros Nuevo Definición Capa Usuario Servicio Web Capa Negocio Capa Datos Definición Administrador Sistema P_LimpiarControles() F BuscaRegistro() P Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaT ransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GEP01PI01(Inserta Definición) 11 Modificar Definición Administrar Parametros - Modificar Definición Capa Usuario Servicio Web Capa Negocio Capa Datos Definición Administrador Sistema P_CargarGrilla() Consultar Cliente F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GEP01PS01(Consulta Definición) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() GEP01PU01(Modifica Definición) Ingresar Nuevo detalle de parametros. Administrar Parametro - Nuevo Detalle de Parametro Capa Usuario Servicio Web Capa Negocio Capa Datos Detalle Parametro Administrador Sistema P_LimpiarControles() F BuscaRegistro() P Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GEP03PI01(Inserta Detalle) 12 Modificar Detalle de Parámetros Administrar Parametros - Modificar Detalle de Parametros Capa Usuario Servicio Web Capa Negocio Capa Datos Detalle Parametro Administrador Sistema P_CargarGrilla() Consultar Cliente F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GEP03PS01(Consulta Detalle Parametro) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GEP03PU01(Modifica Detalle Parametro) 13 ADMINISTRAR SEGURIDADES Ingresar Nuevo Usuario Administrar Usuario - Nuevo Usuario Capa Usuario Servicio Web Capa Negocio Capa Datos Usuario Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaT ransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM01PI01(Inserta Usuario) Modificar Usuario Administrar Usuario - Modificar Usuario Capa Usuario Servicio Web Capa Negocio Capa Datos Usuario Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM01PS01(Consulta Usuario) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM01PU01(Modifica Usuario) 14 Modificar Clave Administrar Usuario - Modificar Clave Capa Usuario Servicio Web Capa Negocio Capa Datos Usuario Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM01PS02(Consulta Usuario) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM01PU02(Modifica Clave) Ingresar Nueva Transacción Administrar Aplicacion - Nuevo Transacciones Capa Usuario Servicio Web Capa Negocio Capa Datos Transacciones Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM07PI01(Inserta T ransacciones) 15 Modificar Transacción Administrar Aplicacion - Modificar Transacción Capa Usuario Servicio Web Capa Negocio Capa Datos Transacción Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM07PS01(Consulta Transacción) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM07PU01(Modifica Transacción) Ingresar Transacciones x perfil Administrar Seguridades - Transacción x perfil Capa Usuario Servicio Web Capa Negocio Capa Datos T ransacción x Perfil Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM04PI01(Inserta Transacción x Perfil) 16 Modificar Transacciones x Perfil Admini strar Seguridades - Modificar Transacción x perfil Capa Usuario Servici o Web Capa Negocio Capa Datos Transacción x Perfil Administrador Sistema P_CargarGri lla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimi entoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM04PS03(Consulta Transacción x Perfil) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimi entoP() P_EjecutaTransaccionNegoci o() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM03PU01(Modifica Transacción x Perfil) Eliminar Transacción por Perfil Admini strar Seguridades - Eliminar Transacción x Perfil Capa Usuario Servici o Web Capa Negocio Capa Datos Transacción x Perfil Administrador Sistema P_CargarGri lla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimi entoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM04PS03(Consulta Transacción x Perfil) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimi entoP() P_EjecutaTransaccionNegoci o() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM04PD01(El imi na Transacción x Perfil ) 17 Ingresar Nuevo Perfil Administrar Seguridades - Nuevo Perfil Capa Usuario Servicio Web Capa Negocio Capa Datos Perfiles Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaT ransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM05PI01(Inserta Perfil) Modificar Perfil Admini strar Seguridades - Modificar Perfil Capa Usuario Servici o Web Capa Negocio Capa Datos Administrador Sistema P_CargarGri lla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimi entoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM05PS01(Consulta Perfil) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimi entoP() P_EjecutaTransaccionNegoci o() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM05PU01(Modifi ca Perfil) Perfil 18 Ingresar Perfiles x Usuario Administrar Seguridades - Perfil x Usuario Capa Usuario Servicio Web Capa Negocio Capa Datos Perfil-Usuario Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM03PI01(Inserta Perfil-Usuario) Modifica Perfiles x Usuario Admini strar Seguridades - Modificar Perfil x Usuario Capa Usuario Servici o Web Capa Negocio Capa Datos Perfil-Usuari o Administrador Sistema P_CargarGri lla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimi entoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM01PS02(Consulta Perfil-Usuario) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimi entoP() P_EjecutaTransaccionNegoci o() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM03PU01(Modifica Perfil-Usuari o) 19 Elimina Perfil x Usuario Administrar Seguridades - Elimina perfil x usuario Capa Usuario Servicio Web Capa Negocio Capa Datos Perfil-Usuario Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM01PS02(Consulta Perfil-Usuario) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM03PD01(Elimina Perfil-Usuario) Ingresar Nueva aplicación o módulo. Administrar Seguridades - Nuevo Aplicacion o modulo Capa Usuario Servicio Web Capa Negocio Capa Datos Menu o SubModulos Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM06PI01(Inserta Menu o SubModulo) 20 Modificar Aplicación o módulo. Administrar Seguridades - Modificar Aplicacion Capa Usuario Servicio Web Capa Negocio Capa Datos Aplicación o Modulo Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM02PS01(Consulta Aplicacion) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM02PU01(Modifica Aplicacion) Ingresar Nuevo menú o submódulos. Administrar Seguridades - Nuevo Aplicacion o modulo Capa Usuario Servicio Web Capa Negocio Capa Datos Menu o SubModulos Administrador Sistema P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM06PI01(Inserta Menu o SubModulo) 21 Modificar Menu o submódulo. Administrar Seguridades - Modificar menu o submodulo Capa Usuario Servicio Web Capa Negocio Capa Datos Menu o Submodulo Administrador Sistema P_CargarGrilla() Consultar Usuario F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() SIM06PS01(Consulta Menu o submodulo) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() SIM06PU01(Modifica Menu o submodulo) Modificar máscara o skin Administrar Seguridades - Modificar Skin Capa Usuario Servicio Web Capa Negocio Capa Datos Mascara o Skin Administrador Sistema CargarPantalla() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GEP03PU02(Modifica Skin) 22 ADMINISTRAR CLIENTES Ingresar Nuevo Cliente Administrar Cliente - Nuevo Cliente Capa Usuario Servicio Web Capa Negocio Capa Datos Usuario Administrador Sistema P_LimpiarControles() F BuscaRegistro() P Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaT ransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() CLM01PI01(Inserta Cliente) Modificar Cliente Administrar Cliente - Modificar Cliente Capa Usuario Servicio Web Capa Negocio Capa Datos Administrador Sistema P_CargarGrilla() Consultar Cliente F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() CLM01PS01(Consulta Cliente) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() CLM01PU01(Modifica Cliente) Usuario 23 ADMINISTRAR GUIAS U ÓRDENES Ingresar Nuevo Courier Administrar Courier Nuevo Courier Capa Usuario Servicio Web Capa Negocio Capa Datos Usuario Supervisor P_Lim piarControles() F BuscaRegistro() P Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() COM 01PI01(Inserta Courier) Modificar Courier Administrar Courier Modificar Courier Capa Usuario Servicio Web Capa Negocio Capa Datos Supervisor P_CargarGrilla() Consultar Cliente F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() COM01PS01(Consulta Courier) SeleccionarFila() F BuscaRegistro() P_Modificar() P_EjecutaT ransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() COM01PU01(Modifica Courier) Usuario 24 Ingresar Nueva Orden Ingresar Orden - Nueva Orden Capa Usuario Servicio Web Capa Negocio Capa Datos Guias Supervisor P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() GIM01PI01(Inserta Guia) Modificar Orden Ingresar Orden - Modificar Orden Capa Usuario Servicio Web Capa Negocio Capa Datos Supervisor P_CargarGrilla() Consultar Guia F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GIM01PS01(Consulta Guias) SeleccionarFila() P_Modificar() P_EjecutaT ransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GIM01PU01(Modifica Guia) Guias 25 Eliminar Orden Ingresar Orden - Modificar Orden Capa Usuario Servicio Web Capa Negocio Capa Datos Guias Supervisor P_CargarGrilla() Consultar Guia F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GIM01PS01(Consulta Guias) SeleccionarFila() F_ValidarGuia() Unicamente se podra eliminar la Guia si esta se encuentra en estado C(Cargado) P_Eliminar() P_EjecutaT ransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GIM01PD01(Elimina Guia) Imprimir Guias Imprimir Guias Capa Usuario Servicio Web Capa Negocio Capa Datos Supervisor P_CargarGrilla() Consultar Guia F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GIM01PS01(Consulta Guias) Imprimir() Guias 26 Cargar Archivo Excel Administrar Ordenes o Guias - Cargar Archivo Capa Usuario Servicio Web Capa Negocio Capa Datos Guias Supervisor P_XLS_LoadData(): Carga archivo excel F_ValidarRegistros() Si el registro a subir ya se encuentra procesado, es decir esta con un estado diferente a C P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GIM01PI02 (Ingresar Guia) Capturar Guías Capturar Guia Capa Usuario Servicio Web Capa Negocio Capa Datos Supervisor P_CargarGrilla() Consultar Guia F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GIM01PS2(Consulta Guias) SeleccionarFila() P_Modificar() P_EjecutaT ransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() GIM01PU01(Modifica Guia) Guias 27 Asignar Courier Admi nistrar Courier - Asignar Courier Capa Usuari o Servi cio Web Capa Negocio Capa Datos Guias Supervisor P CargarGrilla(): Consultar Gui as F_RetornaDatos_Con_Parametros() F_Consul taNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() GIM01PS06(Consulta Guias) SeleccionarFilas() F BuscaCourier() P_Ingresar() P_Ej ecutaTransaccion() F_Consul taNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() COM02PI01(Ingresa Asignaci ón) Asignación de Guias 28 ADMINISTRAR FACTURACION Emitir Factura Emitir Factura Capa Usuario Servicio Web Capa Negocio Capa Datos Clientes Guias Guias Facturadas Cajero CargarDatosCliente() F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() CLM01PS01(Consulta Cliente) GenerarFactura() F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() Consulta las guias que se hayan procesado, guias que se encuentren con estado diferente de I (INGRESADO) o C (CARGADA) FCM01PS02(Consulta Guias) Guardar() F_Vali daDetalle() F_ValidaCantidad() F_ValidaCeros() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() FCM01PI01(Ingresa Guias Procesadas) FCM02PI01(Ingresa Cabecera Factura) FCM03PI01(Ingresa Detalle Factura) Cabecera Factura Detalle Factura 29 Consultar, Anular Factura Modifi car Puntos de Venta Capa Usuario Servi ci o Web Capa Negoci o Capa Datos Factura Supervi sor P CargarGri l la() Consultar Facturas F_RetornaDatos_Con_Parametros() F_Consul taNomProcedi mientoP() F2_RetornaDatos() Fn_DtsGeneral () Fd_Conectar() Fd_Procesar() FCM02PS01(Consul ta Facturas) Sel ecci onarFi l a() P_Anul arFactura() P_Ej ecutaT ransaccion() F_Consul taNomProcedi mientoP() P_EjecutaTransacci onNegoci o() P_Ej ecutaSPTransN() Fd_Conectar() F_Ej ecutaProcesoDatos() FCM02PU01(Modifi ca Factura) Ingresar Nuevo Punto de Venta Nuevo Puntos de Venta Capa Usuario Servicio Web Capa Negocio Capa Datos Punto de Venta Supervisor P_LimpiarControles() F BuscaRegistro() P_Ingresar() P_EjecutaTransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPT ransN() Fd_Conectar() F_EjecutaProcesoDatos() FCM04PI01(Inserta Punto de Venta) 30 Modificar Punto de Venta Modificar Puntos de Venta Capa Usuario Servicio Web Capa Negocio Capa Datos Puntos de Venta Supervisor P_CargarGrilla() Consultar Puntos de Venta F_RetornaDatos_Con_Parametros() F_ConsultaNomProcedimientoP() F2_RetornaDatos() Fn_DtsGeneral() Fd_Conectar() Fd_Procesar() FCM04PS01(Consulta Puntos de Venta) SeleccionarFila() P_Modificar() P_EjecutaT ransaccion() F_ConsultaNomProcedimientoP() P_EjecutaTransaccionNegocio() P_EjecutaSPTransN() Fd_Conectar() F_EjecutaProcesoDatos() FCM04PU01(Modifica Punto de Venta) DIAGRAMAS DE COLABORACIÓN 31 ADMINISTRAR PARAMETROS - NUEVA DEFINICION 3: P Ingresar() 2: F BuscaRegistro() Capa Usuario 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() 1: P_LimpiarControles() Servicio Web 6: P_EjecutaTransaccionNegocio() Administrador Sistema 9: F_EjecutaProcesoDatos() 7: P_EjecutaSPTransN() Capa Negocio 10: GEP01PI01(Inserta Definición) Capa Datos Definición 8: Fd_Conectar() ADMINISTRAR PARAMETROS - MODIFICAR DEFINICION 11: P_Modificar() 10: F BuscaRegistro() 13: F_ConsultaNomProcedimientoP() Capa Usuario 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() 9: SeleccionarFila() 1: P_CargarGrilla() Consultar Cliente Servicio Web Administrador Sistema 14: P_EjecutaTransaccionNegocio() 4: F2_RetornaDatos() Definición 15: P_EjecutaSPTransN() 18: GEP01PU01(Modifica Definición) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 8: GEP01PS01(Consulta Definición) 16: Fd_Conectar() Capa Negocio 5: Fn_DtsGeneral() Capa Datos 32 ADMINISTRAR PARAMETROS - NUEVO DETALLE PARAMETROS 3: P Ingresar() 2: F BuscaRegistro() Capa Usuario 1: P_LimpiarControles() 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Administrador Sistema Servicio Web 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() Detalle Parametro 8: Fd_Conectar() 10: GEP03PI01(Inserta Detalle) Capa Datos Capa Negocio 33 ADMINISTRAR PARAMETROS - MODIFICAR DETALLE PARAMETROS 11: P_Modificar() 10: F BuscaRegistro() Capa Usuario 12: P_EjecutaTransaccion() 9: SeleccionarFila() 1: P_CargarGrilla() Consultar Cliente 2: F_RetornaDatos_Con_Parametros() 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() Administrador Sistema Servicio Web 4: F2_RetornaDatos() 14: P_EjecutaTransaccionNegocio() Detalle Parametro 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 18: GEP03PU01(Modifica Detalle Parametro) 6: Fd_Conectar() 8: GEP03PS01(Consulta Detalle Parametro) 15: P_EjecutaSPTransN() 16: Fd_Conectar() Capa Datos Capa Negocio 5: Fn_DtsGeneral() ADMINISTRAR SEGURIDADES - NUEVO USUARIO 3: P_Ingresar() 2: F BuscaRegistro() Capa Usuario 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Servicio Web 1: P_LimpiarControles() 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPT ransN() Administrador Sistema 9: F_EjecutaProcesoDatos() 8: Fd_Conectar() Usuario 10: SIM01PI01(Inserta Usuario) Capa Datos Capa Negocio 34 ADMINISTRAR SEGURIDADES - MODIFICAR USUARIO 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Administrador Sistema1: P_CargarGrilla() Consultar Usuario Capa Usuario 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web Usuario 14: P_EjecutaTransaccionNegocio() 4: F2_RetornaDatos() 18: SIM01PU01(Modifica Usuario) 8: SIM01PS01(Consulta Usuario) 17: F_EjecutaProcesoDatos() 15: P_EjecutaSPTransN() 7: Fd_Procesar() 6: Fd_Conectar() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() ADMINISTRAR SEGURIDADES - MODIFCAR CLAVE USUARIO 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario 1: P_CargarGrilla() Consultar Usuario Administrador Sistema 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() Servicio Web 14: P_EjecutaT ransaccionNegocio() Usuario 4: F2_RetornaDatos() 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 18: SIM01PU02(Modifica Clave) 6: Fd_Conectar() 8: SIM01PS02(Consulta Usuario) 15: P_EjecutaSPTransN() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 35 ADMINISTRAR SEGURIDADES - NUEVA APLICACION 3: P_Ingresar() 2: F BuscaRegistro() Administrador Sistema Capa Usuario 1: P_LimpiarControles() 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Servicio Web Aplicaciones o Modulos 6: P_EjecutaTransaccionNegocio() 10: SIM02PI01(Inserta Aplicación o Modulo) 7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() 8: Fd_Conectar() Capa Negocio Capa Datos ADMINISTRAR SEGURIDADES - MODIFICAR APLICACION 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario 1: P_CargarGrilla() Consultar Usuario Administrador Sistema 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web Aplicación o Modulo 14: P_EjecutaTransaccionNegocio() 4: F2_RetornaDatos() 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 18: SIM02PU01(Modifica Aplicacion) 6: Fd_Conectar() 8: SIM02PS01(Consulta Aplicacion) 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 15: P_EjecutaSPTransN() 36 ADMINISTRAR SEGURIDADES - NUEVO MENU O SUBMODULO 3: P_Ingresar() 2: F BuscaRegistro() 1: P_LimpiarControles() Capa Usuario Administrador Sistema 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Servicio Web 6: P_EjecutaTransaccionNegocio() Menu o SubModulos 7: P_EjecutaSPTransN() 10: SIM06PI01(Inserta Menu o SubModulo) 9: F_EjecutaProcesoDatos() Capa Negocio 8: Fd_Conectar() Capa Datos ADMINISTRAR SEGURIDADES - MODIFICAR MENU O SUBMODULO 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Administrador Sistema Capa Usuario 13: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Usuario 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web Menu o Submodulo 14: P_EjecutaTransaccionNegocio() 18: SIM06PU01(Modifica Menu o submodulo) 8: SIM06PS01(Consulta Menu o submodulo) 4: F2_RetornaDatos() 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 15: P_EjecutaSPTransN() 16: Fd_Conectar() Capa Datos Capa Negocio 5: Fn_DtsGeneral() 37 ADMINISTRAR SEGURIDADES - NUEVA TRANSACCION 3: P_Ingresar() 2: F BuscaRegistro() 1: P_LimpiarControles() Capa Usuario Administrador Sistema 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Servicio Web 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() T ransacciones 9: F_EjecutaProcesoDatos() 10: SIM07PI01(Inserta Transacciones) Capa Negocio 8: Fd_Conectar() Capa Datos ADMINISTRAR SEGURIDADES - MODIFICA TRANSACCIÓN 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Administrador Sistema 1: P_CargarGrilla() Consultar Usuario 13: F_ConsultaNomProcedimientoP() Capa Usuario 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web 4: F2_RetornaDatos() 14: P_EjecutaTransaccionNegocio() 15: P_EjecutaSPTransN() Transacción 18: SIM07PU01(Modifica Transacción) 8: SIM07PS01(Consulta Transacción) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 38 ADMINISTRAR SEGURIDADES - NUEVO PERFIL 3: P_Ingresar() 2: F BuscaRegistro() 5: F_ConsultaNomProcedimientoP() Capa Usuario 1: P_LimpiarControles() 4: P_EjecutaTransaccion() Servicio Web Administrador Sistema 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() Perfiles 9: F_EjecutaProcesoDatos() 10: SIM05PI01(Inserta Perfil) Capa Negocio 8: Fd_Conectar() Capa Datos ADMINISTRAR SEGURIDADES - MODIFICAR PERFIL 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario 13: F_ConsultaNomProcedimientoP() Administrador Sistema 3: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Usuario 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web 4: F2_RetornaDatos() 14: P_EjecutaTransaccionNegocio() Perfil 18: SIM05PU01(Modifica Perfil) 8: SIM05PS01(Consulta Perfil) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 15: P_EjecutaSPT ransN() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 39 ADMINISTRAR SEGURIDADES - NUEVO TRANSACCION X PERFIL 3: P_Ingresar() 2: F BuscaRegistro() Capa Usuario 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() Servicio Web 1: P_LimpiarControles() Administrador Sistema 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() Transacción x Perfil Capa Negocio 9: F_EjecutaProcesoDatos() 10: SIM04PI01(Inserta Transacción x Perfil) 8: Fd_Conectar() Capa Datos 40 ADMINISTRAR SEGURIDADES - MODIFICAR TRANSACCION X PERFIL 11: P_Modificar() 10: F BuscaRegistro() 13: F_ConsultaNomProcedimientoP() Capa Usuario 9: SeleccionarFila() 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() 1: P_CargarGrilla() Consultar Usuario Servicio Web Administrador Sistema 4: F2_RetornaDatos() 14: P_EjecutaTransaccionNegocio() 15: P_EjecutaSPTransN() Transacción x Perfil 18: SIM03PU01(Modifica Transacción x Perfil) 8: SIM04PS03(Consulta Transacción x Perfil) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() Capa Negocio 16: Fd_Conectar() Capa Datos 5: Fn_DtsGeneral() ADMINISTRAR SEGURIDADES - ELIMINAR TRANSACCIONES X PERFIL 9: SeleccionarFila() 11: P_Modificar() 10: F BuscaRegistro() 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 1: P_CargarGrilla() Consultar Usuario Administrador Sistema 2: F_RetornaDatos_Con_Parametros() Capa Usuario Servicio Web 14: P_EjecutaTransaccionNegocio() Transacción x Perfil 4: F2_RetornaDatos() 15: P_EjecutaSPTransN() 18: SIM04PD01(Elimina Transacción x Perfil) 8: SIM04PS03(Consulta Transacción x Perfil) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() Capa Negocio 16: Fd_Conectar() Capa Datos 5: Fn_DtsGeneral() 41 ADMINISTRAR SEGURIDADES - NUEVO PERFIL X USUARIO 3: P_Ingresar() 2: F BuscaRegistro() Capa Usuario 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaTransaccion() 1: P_LimpiarControles() Servicio Web Administrador Sistema 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() Perfil-Usuario 9: F_EjecutaProcesoDatos() 10: SIM03PI01(Inserta Perfil-Usuario) Capa Negocio 8: Fd_Conectar() Capa Datos ADMIN ISTRAR SEGURIDADES - MODIFICAR PERFIL X USUARIO 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() 13: F_ConsultaNomProcedimientoP() Capa Usuario 1: P_CargarGrilla() Consultar Usuario Administrador Sistema 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaT ransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web Perfil-Usuario 4: F2_RetornaDatos() 14: P_EjecutaT ransaccionNegocio() 18: SIM03PU01(Modifica Perfil-Usuario) 8: SIM01PS02(Consulta Perfil-Usuario) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 15: P_EjecutaSPTransN() 16: Fd_Conectar() Capa Datos Capa Negocio 5: Fn_DtsGeneral() 42 ADMINISTRAR SEGURIDADES - ELIMINAR PERFIL X USUARIO 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario Administrador Sistema 13: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Usuario 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web Perfil-Usuario 4: F2_RetornaDatos() 14: P_EjecutaTransaccionNegocio() 17: F_EjecutaProcesoDatos() 18: SIM03PD01(Elimina Perfil-Usuario) 8: SIM01PS02(Consulta Perfil-Usuario) 15: P_EjecutaSPTransN() 7: Fd_Procesar() 6: Fd_Conectar() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() ADMINISTRAR SEGURIDADES - MODIFICAR SKIN 2: P_Modificar() Administrador Sistema 1: CargarPantalla() Capa Usuario 4: F_ConsultaNomProcedimientoP() 3: P_EjecutaTransaccion() Servicio Web 5: P_EjecutaTransaccionNegocio() Mascara o Skin 6: P_EjecutaSPTransN() 8: F_EjecutaProcesoDatos() 9: GEP03PU02(Modifica Skin) Capa Negocio 7: Fd_Conectar() Capa Datos 43 ADMINISTRAR CLIENTES - NUEVO CLIENTE 3: P Ingresar() 2: F BuscaRegistro() Capa Usuario 1: P_LimpiarControles() 5: F_ConsultaNomProcedimientoP() Secretaria 4: P_EjecutaTransaccion() Servicio Web Usuario 6: P_EjecutaTransaccionNegocio() 9: F_EjecutaProcesoDatos() 7: P_EjecutaSPTransN() 10: CLM01PI01(Inserta Cliente) Capa Datos 8: Fd_Conectar() Capa Negocio ADMINISTRAR CLIENTES - MODIFICAR CLIENTE 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario 1: P_CargarGrilla() Consultar Cliente Secreataria 13: F_ConsultaNomProcedimientoP() 12: P_EjecutaT ransaccion() 2: F_RetornaDatos_Con_Parametros() 3: F_ConsultaNomProcedimientoP() Servicio Web Usuario 14: P_EjecutaTransaccionNegocio() 17: F_EjecutaProcesoDatos() 18: CLM01PU01(Modifica Cliente) 8: CLM01PS01(Consulta Cliente) 4: F2_RetornaDatos() 15: P_EjecutaSPTransN() 7: Fd_Procesar() 6: Fd_Conectar() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 44 ADMINISTRAR GUIAS - NUEVO COURIER 3: P Ingresar() 2: F BuscaRegi stro() Capa Usuario 1: P_LimpiarControles() 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaT ransaccion() Supervisor Servicio Web 6: P_EjecutaTransaccionNegocio() Courier 7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() 10: COM01PI01(Inserta Courier) 8: Fd_Conectar() Capa Negocio Capa Datos ADMINISTRAR GUIAS - MODIFCAR COURIER 11: P_Modificar() 10: F BuscaRegistro() 9: SeleccionarFila() Capa Usuario 13: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Cliente 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() 3: F_ConsultaNomProcedimientoP() Supervisor Servicio Web 14: P_EjecutaTransaccionNegocio() Courier 4: F2_RetornaDatos() 17: F_EjecutaProcesoDatos() 18: COM01PU01(Modifica Courier) 8: COM01PS01(Consulta Courier) 7: Fd_Procesar() 6: Fd_Conectar() 15: P_EjecutaSPTransN() 16: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 45 ADMINISTRAR GUIAS - ASIGNACION DE GUIAS 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() Capa Datos 18: COM02PI01(Ingresa Asignación) Guias 8: GIM01PS06(Consulta Guias) 16: Fd_Conectar() Supervisor 5: Fn_DtsGeneral() Asignación de Guias 15: P_EjecutaSPTransN() 1: P CargarGrilla(): Consultar Guias Capa Negocio 9: SeleccionarFilas() 14: P_EjecutaTransaccionNegocio() 11: P_Ingresar() 10: F BuscaCourier() 4: F2_RetornaDatos() 13: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() 12: P_EjecutaTransaccion() Capa Usuario 2: F_RetornaDatos_Con_Parametros() Servicio Web 46 ADMINISTRAR GUIAS - NUEVA ORDEN 3: P_Ingresar() 2: F BuscaRegistro() Capa Usuario 1: P_LimpiarControles() 5: F_ConsultaNomProcedimientoP() 4: P_EjecutaT ransaccion() Supervisor Servicio Web 6: P_EjecutaTransaccionNegocio() 7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() Guias 10: GIM01PI01(Inserta Guia) 8: Fd_Conectar() Capa Datos Capa Negocio ADMINISTRAR GUIAS - MODIFICAR ORDEN 10: P_Modificar() 9: SeleccionarFila() Capa Usuario Supervisor 1: P_CargarGrilla() Consultar Guia 11: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() 12: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() Servicio Web 13: P_EjecutaTransaccionNegocio() Guias 4: F2_RetornaDatos() 14: P_EjecutaSPTransN() 16: F_EjecutaProcesoDatos() 17: GIM01PU01(Modifica Guia) 8: GIM01PS01(Consulta Guias) 7: Fd_Procesar() 6: Fd_Conectar() 15: Fd_Conectar() Capa Datos 5: Fn_DtsGeneral() Capa Negocio 47 ADMINISTRAR GUIAS - ELIMINAR GUIA 11: P_Eliminar() 10: F_ValidarGuia() 9: SeleccionarFila() 13: F_ConsultaNomProcedimientoP() Capa Usuario Supervisor 3: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Guia 12: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Servicio Web 14: P_EjecutaTransaccionNegocio() Guias 4: F2_RetornaDatos() 15: P_EjecutaSPTransN() 18: GIM01PD01(Elimina Guia) 8: GIM01PS01(Consulta Guias) 17: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() Capa Negocio 16: Fd_Conectar() Capa Datos 5: Fn_DtsGeneral() ADMINISTRAR GUIAS - IMPRIMIR GUIAS 9: Imprimir() 3: F_ConsultaNomProcedimientoP() Capa Usuario 1: P_CargarGrilla() Consultar Guia 2: F_RetornaDatos_Con_Parametros() Servicio Web Supervisor 4: F2_RetornaDatos() Guias 7: Fd_Procesar() 6: Fd_Conectar() 8: GIM01PS01(Consulta Guias) 5: Fn_DtsGeneral() Capa Datos Capa Negocio 48 ADMINISTRAR GUIAS - CARGAR ARCHIVO 3: P_Ingresar() 2: F_Vali darRegistros() Capa Usuario 5: F_ConsultaNomProcedimientoP() 1: P_XLS_LoadData(): Carga archivo excel Supervisor 4: P_EjecutaTransacci on() Servicio Web 6: P_EjecutaT ransaccionNegocio() Guias 7: P_EjecutaSPTransN() 10: GIM01PI02 (Ingresar Guia) 9: F_EjecutaProcesoDatos() Capa Negocio 8: Fd_Conectar() Capa Datos ADMINISTRAR GUIAS - CAPTURAR GUIA 10: P_Modificar() 9: SeleccionarFila() 12: F_ConsultaNomProcedimientoP() 3: F_ConsultaNomProcedimientoP() Capa Usuario 2: F_RetornaDatos_Con_Parametros() 1: P_CargarGrilla() Consultar Guia 11: P_EjecutaTransaccion() Servicio Web Supervisor 13: P_EjecutaTransaccionNegocio() 4: F2_RetornaDatos() 14: P_EjecutaSPTransN() Guias 16: F_EjecutaProcesoDatos() 17: GIM01PU01(Modifica Guia) 8: GIM01PS2(Consulta Guias) 7: Fd_Procesar() 6: Fd_Conectar() 15: Fd_Conectar() Capa Datos 5: Fn_DtsGeneral() Capa Negocio 49 ADMINISTRAR FACTURACION - NUEVO PUNTO DE VENTA 3: P_Ingresar() 2: F BuscaRegistro() Capa Usuario 5: F_ConsultaNomProcedimientoP() 1: P_LimpiarControles() 4: P_EjecutaTransaccion() Supervisor Servicio Web 6: P_EjecutaTransaccionNegocio() Punto de Venta 7: P_EjecutaSPTransN() 9: F_EjecutaProcesoDatos() 10: FCM04PI01(Inserta Punto de Venta) Capa Datos 8: Fd_Conectar() Capa Negocio ADMINISTRAR FACTURACION - MODIFICAR PUNTO DE VENTA 10: P_Modificar() Capa Usuario 9: SeleccionarFila() 12: F_ConsultaNomProcedimientoP() 1: P_CargarGrilla() Consultar Puntos de Venta 11: P_EjecutaTransaccion() 3: F_ConsultaNomProcedimientoP() 2: F_RetornaDatos_Con_Parametros() Supervisor Servicio Web 13: P_EjecutaTransaccionNegocio() Puntos de Venta 17: FCM04PU01(Modifica Punto de Venta) 8: FCM04PS01(Consulta Puntos de Venta) 16: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 4: F2_RetornaDatos() 14: P_EjecutaSPTransN() 15: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() 50 ADMINISTRAR FACTURACION - EMITIR FACTURA 27: F_EjecutaProcesoDatos() 15: Fd_Procesar() 14: Fd_Conectar() 7: Fd_Procesar() 6: Fd_Conectar() Capa Datos 26: Fd_Conectar() 13: Fn_DtsGeneral() 5: Fn_DtsGeneral() 30: FCM03PI01(Ingresa Detalle Factura) 28: FCM01PI01(Ingresa Guias Procesadas) 25: P_EjecutaSPTransN() Detalle Factura 8: CLM01PS01(Consulta Cliente) 29: FCM02PI01(Ingresa Cabecera Factura) Capa Negocio 16: FCM01PS02(Consulta Guias) Cabecera Factura Clientes Guias Facturadas Guias 24: P_EjecutaTransaccionNegocio() 12: F2_RetornaDatos() 4: F2_RetornaDatos() 23: F_ConsultaNomProcedimientoP() 11: F_ConsultaNomProcedimientoP() 2: F_ConsultaNomProcedimientoP() Servicio Web 10: F_RetornaDatos_Con_Parametros() 22: P_EjecutaTransaccion() 3: F_RetornaDatos_Con_Parametros() 21: P_Ingresar() 20: F_ValidaCeros() 19: F_ValidaCantidad() 18: F_ValidaDetalle() Capa Usuario 17: Guardar() 9: GenerarFactura() 1: CargarDatosCliente() Cajero 51 ADMINISTRAR FACTURACION - ANULAR FACTURA 10: P_AnularFactura() 9: SeleccionarFila() Capa Usuario 12: F_ConsultaNomProcedimientoP() 1: P CargarGrilla() Consultar Facturas 3: F_ConsultaNomProcedimientoP() 11: P_EjecutaTransaccion() 2: F_RetornaDatos_Con_Parametros() Supervisor Servicio Web 13: P_EjecutaTransaccionNegocio() Factura 4: F2_RetornaDatos() 14: P_EjecutaSPTransN() 17: FCM02PU01(Modifica Factura) 8: FCM02PS01(Consulta Facturas) 16: F_EjecutaProcesoDatos() 7: Fd_Procesar() 6: Fd_Conectar() 15: Fd_Conectar() Capa Negocio Capa Datos 5: Fn_DtsGeneral() MODELO FUNCIONAL DIAGRAMAS DE ACTIVIDADES 52 SISTEMA DE ADMINISTRACION Y CONTROL DE ENVIOS O ENTREGAS DE PAQUETES Y DOCUMENTOS. ADMINISTRAR PARAMETROS - NUEVO DEFINICION Cargar Apl icaciones Ingresar Validar Definici on Deci sion_1 Desplega Mensaje Desplegar dialogo de confi rmacion Deci sion_4 Iniciar Transacción BDD Insertar Definici on BDD Decision_2 Confi rmar Transaccion BDD Finali zar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 53 ADMINISTRAR PARAMETROS – MODIFICAR DEFINICION Consultar y seleccionar definicion Modificar Validar Definicion Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar T ransacción BDD Modifica Definicion BDD Decision_2 Confirmar T ransaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 54 ADMINISTRAR PARAMETROS - NUEVO PARAMETRO NIVEL 1 Cargar Definiciones Ingresar Validar Parametro Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Parametro BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 55 ADMINISTRAR PARAMETROS - MODIFICAR PARAMETRO NIVEL 1 Consultar y seleccionar parametro nivel 1 Modi ficar Vali dar Parametro Decisi on_1 Despl ega Mensaje Desplegar di alogo de confirmacion Decisi on_4 Ini ciar T ransacción BDD Modifi ca Parametro nivel 1 BDD Decision_2 Confirmar T ransaccion BDD Fi nalizar Transaccion BDD Actuali zar Vista Cancelar T ransaccion BDD Decision_3 56 ADMINISTRAR SEGURIDADES - NUEVO USUARIO Cargar Parametros Ingresar Validar Usuario Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Usuario BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 57 ADMINISTRAR SEGURIDADES - MODIFICAR USUARIO Consultar y seleccionar usuario Cargar Parametros Modi ficar Validar Usuario Decision_1 Desplega Mensaje Despl egar cuadro de di alogo Deci sion_4 Inici ar Transacción BDD Modi fica Usuari o BDD Deci sion_2 Confirmar Transaccion BDD Finalizar Transacci on BDD Actual izar Vista Cancelar T ransaccion BDD Decision_3 58 ADMINISTRAR SEGURIDADES – MODIFICAR CLAVE USUARIO Consul tar y sel eccionar usuari o Modi ficar Validar Usuario Decisi on_1 Despl ega Mensaje Desplegar di alogo de confirmacion Decisi on_4 Ini ciar T ransacción BDD Modifi ca Cl ave Usuari o BDD Decision_2 Confirmar T ransaccion BDD Fi nalizar Transaccion BDD Actuali zar Vista Cancelar T ransaccion BDD Decision_3 59 ADMINISTRAR SEGURIDADES - NUEVA APLICACION O MODULO Ingresar Validar Aplicacion o modulo Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Aplicacion BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 60 ADMINISTRAR SEGURIDADES - MODIFICAR APLICAION O MODULO Consultar y seleccionar Aplicacion Modificar Validar Aplicacion Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar T ransacción BDD Modifica Aplicacion BDD Decision_2 Confirmar T ransaccion BDD Finalizar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 61 ADMINISTRAR SEGURIDADES - NUEVO MENU O SUBMODULO Cargar Aplicaciones Ingresar Validar Menu Decision_1 Desplega Mensaje Desplegar cuadro de dialogo Decision_4 Iniciar Transacción BDD Insertar Menu BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 62 ADMINISTRAR SEGURIDADES - MODIFICAR MENU O SUBMODULO Consultar y seleccionar menu Cargar Aplicaciones Modificar Validar menu Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar T ransacción BDD Modificar Menu BDD Decision_2 Confirmar T ransaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 63 ADMINISTRAR SEGURIDADES - NUEVA TRANSACCION Cargar Aplicaciones Cargar Menu Ingresar Validar Transaccion Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar T ransaccion BDD Decision_2 Confirmar T ransaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 64 ADMINISTRAR SEGURIDADES - MODIFICAR TRANSACCIONES Consultar y sel eccionar T ransaccion Cargar Apli caciones Cargar Menu Modificar Validar Transaccion Decision_1 Desplega Mensaje Despl egar cuadro de dialogo Decision_4 Inici ar Transacción BDD Modificar T ransaccion BDD Deci sion_2 Confirmar T ransaccion BDD Finalizar Transaccion BDD Actual izar Vista Cancelar Transaccion BDD Decision_3 65 ADMINISTRAR SEGURIDADES – NUEVO PERFIL Ingresar Validar Perfil Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Perfil BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 66 ADMINISTRAR SEGURIDADES - MODIFICAR PERFIL Consultar y seleccionar perfil Modificar Validar Perfil Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Modificar Perfil BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 67 ADMINISTRAR SEGURIDADES - NUEVA TRANSACCION X PERFIL Cargar Aplicaciones Cargar Menus Cargar T ransacciones Cargar Perfiles Ingresar Validar T ransaccion x Perfil Decision_1 Desplega Mensaje Desplegar cuadro de dialogo Decision_4 Iniciar T ransacción BDD Insertar T ransaccion x perfil BDD Decision_2 Confirmar T ransaccion BDD Finalizar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 68 ADMINISTRAR SEGURIDADES - MODIFICAR TRANSACCION X PERFIL Consul tar y sel ecci onar transacci on x perfi l Cargar Apl i caci ones Cargar Menus Cargar T ransacci ones Cargar Perfi l es Modi fi car Val i dar T ransacci on x Perfi l Deci si on_1 Despl ega Mensaj e Despl egar di al ogo de confi rmaci on Deci si on_4 Ini ci ar T ransacci ón BDD Modi fi car T ransacci onPerfi l BDD Deci si on_2 Confi rmar T ransacci on BDD Fi nal i zar T ransacci on BDD Actual i zar Vi sta Cancel ar T ransacci on BDD Deci si on_3 69 ADMIISTRAR SEGURIDADES - ELIMINAR TRANSACCION X PERFIL Consultar y seleccionar transaccion x perfil Cargar Aplicaciones Cargar Menus Cargar T ransacciones Cargar Perfiles Modificar Desplegar dialogo de confirmacion Decision_4 Desplega Mensaje Iniciar T ransacción BDD Eliminar T ransaccionPerfil BDD Decision_2 Confirmar T ransaccion BDD Finalizar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 70 ADMINISTRAR SEGURIDADES- NUEVO PERFIL X USUARIO Consultar y selecci onar usuario Cargar Aplicaciones Cargar Perfi les Ingresar Validar Perfi l x usuario Deci sion_1 Desplega Mensaj e Desplegar di alogo de confirmacion Deci sion_4 Iniciar Transacci ón BDD Insertar Perfi l x usuario BDD Decisi on_2 Confirmar Transacci on BDD Final izar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 71 ADMINISTRAR SEGURIDADES - MODIFICAR PERFIL X USUARIO Consultar y seleccionar usuario Consultar y seleccionar Perfil x usuario Cargar Aplicaciones Cargar Perfil es Modificar Validar Perfil x usuario Decision_1 Desplega Mensaj e Desplegar dial ogo de confi rmaci on Deci sion_4 Inici ar Transacción BDD Modifi car Perfil x Usuario BDD Decision_2 Confi rmar Transaccion BDD Finali zar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 72 ADMINISTRAR SEGURIDADES - ELIMINAR PERFIL X USUARIO Consultar y seleccionar usuario Consultar y seleccionar Perfi l x usuario Cargar Aplicaciones Cargar Perfil es El iminar Desplegar dial ogo de confirmaci on Decision_4 Desplega Mensaje Inici ar Transacción BDD Eliminar Perfi l x Usuario BDD Deci sion_2 Confi rmar Transaccion BDD Finali zar T ransacci on BDD Actual izar Vista Cancelar T ransaccion BDD Decision_3 73 ADMINISTRAR SEGURIDADES - MODIFICAR SKIN Modificar Validar skin Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Modificar Skin BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 74 ADMINISTRAR CLIENTES - NUEVO CLIENTE Cargar Parametros Ingresar Validar Cliente Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Cliente BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 75 ADMINISTRAR CLIENTES - MODIFICAR CLIENTES Consul tar y sel eccionar cliente Cargar Parametros Modifi car Validar cli ente Decisi on_1 Despl ega Mensaje Desplegar di alogo de confirmacion Decisi on_4 Ini ciar T ransacción BDD Modificar Cliente BDD Decision_2 Confirmar T ransaccion BDD Fi nalizar Transaccion BDD Actuali zar Vista Cancelar T ransaccion BDD Decision_3 76 ADMINISTRAR COURIER - NUEVO COURIER Ingresar Validar Courier Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Courier BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 77 ADMINISTRAR COURIER - MODIFICAR COURIER Consultar y seleccionar courier Modificar Validar courier Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar T ransacción BDD Modificar Courier BDD Decision_2 Confirmar T ransaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 78 ADMINISTRAR COURIER - ASIGNAR COURIER Consultar gui as Selecci onar grupo de gui as Consultar courier Grabar Val idar asi gnaci on Deci sion_1 Desplega Mensaj e Desplegar dialogo de confi rmacion Deci sion_4 Iniciar T ransacci ón BDD Modifi car Asignacion BDD Decisi on_2 Confirmar T ransacci on BDD Final izar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 79 ADMINISTRAR GUIAS - CARGAR ARCHIVO Cargar Parametros Buscar archi vo Cargar archivo Grabar Val idar Guias Deci sion_1 Desplega Mensaje Desplegar dialogo de confi rmacion Deci sion_4 Iniciar Transacción BDD Insertar Guias BDD Decision_2 Confi rmar Transaccion BDD Finali zar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 80 ADMINISTRAR GUIAS - NUEVA GUIA Cargar Parametros Ingresar Validar Guia Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Guia BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 81 ADMINISTRAR GUIAS - MODIFICAR GUIAS Consultar y selecci onar guia Cargar Parametros Modifi car Vali dar gui a Decision_1 Desplega Mensaje Desplegar di alogo de confirmacion Decisi on_4 Ini ciar T ransacción BDD Modificar Guia BDD Deci sion_2 Confirmar T ransaccion BDD Finalizar Transacci on BDD Actual izar Vista Cancelar T ransaccion BDD Decision_3 82 ADMINISTRAR GUIAS - ELIMINAR GUIAS Consultar y seleccionar guia Cargar Parametros Eliminar Desplegar dialogo de confirmacion Decision_4 Desplega Mensaje Iniciar Transacción BDD Eliminar Guia BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 83 ADMINITRAR GUIAS - IMPRIMIR GUIAS Consultar Guias Decision_1 Generar reporte Desplega Mensaje Decision_3 84 ADMINISTRAR GUIAS - CAPTURAR GUIAS Consultar y selecci onar guia Cargar Parametros Modifi car Vali dar gui a Decision_1 Desplega Mensaje Desplegar di alogo de confirmacion Decisi on_4 Ini ciar T ransacción BDD Modificar Guia BDD Deci sion_2 Confirmar T ransaccion BDD Finalizar T ransacci on BDD Actual izar Vista Cancelar T ransaccion BDD Decision_3 85 ADMINISTRAR FACTURACION - NUEVO PUNTO DE VENTA Cargar Parametros Ingresar Validar Punto de venta Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Punto de Venta BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3 86 ADMINISTRAR FACTURACION - MODIFICAR PUNTO DE VENTA Consultar y seleccionar Punto de venta Cargar Parametros Modi ficar Val idar Punto de venta Decision_1 Desplega Mensaje Despl egar cuadro de di alogo Deci sion_4 Inici ar Transacción BDD Modificar Punto de Venta BDD Deci sion_2 Confirmar Transaccion BDD Finalizar Transacci on BDD Actual izar Vista Cancelar T ransaccion BDD Decision_3 87 ADMINISTRAR FACTURACION - EMITIR FACTURA MANUAL Cargar Parametros Consultar Cliente Ingresar Validar Datos Factura Decision_1 Desplega Mensaje Desplegar dialogo de confirmacion Decision_4 Iniciar Transacción BDD Insertar Factura BDD Decision_2 Confirmar Transaccion BDD Finalizar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 88 ADMINISTRAR FACTURACION - EMITIR FACTURA AUTOMATICA Cargar Parametros Consultar Cli ente Consultar Guias Procesadas Ingresar Validar Datos Factura Deci sion_1 Desplega Mensaje Desplegar dialogo de confi rmacion Deci sion_4 Iniciar Transacción BDD Insertar Factura BDD Decision_2 Confi rmar Transaccion BDD Finali zar T ransaccion BDD Actualizar Vista Cancelar T ransaccion BDD Decision_3 89 ADMINISTRAR FACTURACION - ANULAR FACTURA Consultar y seleccionar Factura Modificar Desplegar dialogo de confirmacion Decision_4 Desplega Mensaje Iniciar Transacción BDD Anular Factura BDD Decision_2 Confirmar Transaccion BDD Finalizar Transaccion BDD Actualizar Vista Cancelar Transaccion BDD Decision_3