Este documento describe una práctica de sistemas distribuidos que implementa un sistema de gestión de comercio remoto usando Java RMI. La práctica consta de cuatro proyectos: Regulador, Cliente, Distribuidor y Common. El proyecto Regulador contiene las clases necesarias para controlar la autenticación y mercancías. El proyecto Cliente permite a los usuarios realizar demandas y compras. El proyecto Distribuidor permite a los vendedores ofrecer productos y realizar ventas. El proyecto
Este documento proporciona instrucciones para crear y utilizar macros en Excel. Explica cómo grabar una macro, ejecutar macros de diferentes maneras como a través de botones o al cambiar el valor de una celda, asignar macros a botones, eliminar macros, y describe las funciones SI, SI anidada, PROMEDIO, CONTAR SI, MAX y MIN. También define qué son las macros, Visual Basic y algunas de sus aplicaciones. Finalmente, incluye enlaces a sitios web con más información sobre macros en Excel y Visual Basic.
Este documento presenta un manual básico de MATLAB. Explica las características principales de MATLAB como el espacio de trabajo, operaciones matemáticas básicas, almacenamiento y recuperación de datos, formatos de visualización de números, variables, funciones matemáticas comunes, vectores y matrices, gráficas, programación, análisis de datos y numérico, e importación de archivos de datos. El manual contiene ejemplos y comandos de MATLAB para cada una de estas áreas.
Este documento presenta la práctica "Space Invaders" para un curso de Programación Orientada a Objetos. Describe el juego original y las reglas simplificadas para la práctica. Explica los elementos del juego que se implementarán como clases en Java, incluyendo naves alienígenas, la nave del jugador, láseres y misiles. También propone un plan de trabajo dividido en varias semanas para completar la práctica.
El documento presenta un caso de estudio sobre una tienda de conveniencia que desea automatizar sus procesos de compra, venta y seguimiento de clientes a través de una tienda en línea. Se describe el patrón Model-View-Controller (MVC) como la solución arquitectónica seleccionada, el cual separa la interfaz de usuario, la lógica del negocio y los datos. Adicionalmente, se incluye código de ejemplo en Java para acceder a una base de datos y manipular datos.
Este documento describe un proyecto de simulación realizado en Arena que modela el sistema de una ventanilla bancaria. El proyecto analiza medidas de desempeño como la utilización del cajero, el número promedio en cola, el número promedio en el sistema, los tiempos de espera promedio y evalúa opciones para mejorar el servicio al cliente. El documento explica los pasos seguidos para construir el modelo en Arena, incluyendo la configuración de los módulos Create, Process y Dispose, y presenta los resultados obtenidos.
Este documento especifica los requerimientos funcionales y no funcionales para el desarrollo de un Sistema Móvil de Gestión de Pedidos (SMGP) para la empresa King Monster. El SMGP permitirá a los vendedores realizar pedidos de productos, administrar información de productos, vendedores y usuarios, y acceder a una galería de nuevos productos utilizando una aplicación móvil Android. El documento describe los requerimientos del sistema web backend y la aplicación móvil, incluyendo funciones de administración, validación de usuarios,
Este documento presenta un manual de usuario para un sistema de gestión de ventas y almacén desarrollado para la empresa Inversiones y Tecnología Óptica Molina S.A.C. El sistema consta de tres módulos principales: negocio, compras y ventas. El manual describe las funcionalidades de cada módulo, incluyendo la capacidad de agregar, editar y eliminar datos de clientes, proveedores, empleados y productos. Además, explica cómo generar órdenes de compra, registrar compras realizadas y
Este documento explica cómo crear un reporte interactivo en Pentaho Report Designer (PRD) que muestre las ventas por producto y mes de una tienda y año seleccionados por el usuario. Primero se crean tres consultas SQL para cargar los combos de años y tiendas y mostrar los datos de ventas. Luego se definen parámetros para pasar los valores seleccionados y se diseña el reporte con encabezados, detalles y pie de página. Finalmente, el reporte generado permite filtrar dinámicamente los datos mostrados.
Este documento proporciona instrucciones para crear y utilizar macros en Excel. Explica cómo grabar una macro, ejecutar macros de diferentes maneras como a través de botones o al cambiar el valor de una celda, asignar macros a botones, eliminar macros, y describe las funciones SI, SI anidada, PROMEDIO, CONTAR SI, MAX y MIN. También define qué son las macros, Visual Basic y algunas de sus aplicaciones. Finalmente, incluye enlaces a sitios web con más información sobre macros en Excel y Visual Basic.
Este documento presenta un manual básico de MATLAB. Explica las características principales de MATLAB como el espacio de trabajo, operaciones matemáticas básicas, almacenamiento y recuperación de datos, formatos de visualización de números, variables, funciones matemáticas comunes, vectores y matrices, gráficas, programación, análisis de datos y numérico, e importación de archivos de datos. El manual contiene ejemplos y comandos de MATLAB para cada una de estas áreas.
Este documento presenta la práctica "Space Invaders" para un curso de Programación Orientada a Objetos. Describe el juego original y las reglas simplificadas para la práctica. Explica los elementos del juego que se implementarán como clases en Java, incluyendo naves alienígenas, la nave del jugador, láseres y misiles. También propone un plan de trabajo dividido en varias semanas para completar la práctica.
El documento presenta un caso de estudio sobre una tienda de conveniencia que desea automatizar sus procesos de compra, venta y seguimiento de clientes a través de una tienda en línea. Se describe el patrón Model-View-Controller (MVC) como la solución arquitectónica seleccionada, el cual separa la interfaz de usuario, la lógica del negocio y los datos. Adicionalmente, se incluye código de ejemplo en Java para acceder a una base de datos y manipular datos.
Este documento describe un proyecto de simulación realizado en Arena que modela el sistema de una ventanilla bancaria. El proyecto analiza medidas de desempeño como la utilización del cajero, el número promedio en cola, el número promedio en el sistema, los tiempos de espera promedio y evalúa opciones para mejorar el servicio al cliente. El documento explica los pasos seguidos para construir el modelo en Arena, incluyendo la configuración de los módulos Create, Process y Dispose, y presenta los resultados obtenidos.
Este documento especifica los requerimientos funcionales y no funcionales para el desarrollo de un Sistema Móvil de Gestión de Pedidos (SMGP) para la empresa King Monster. El SMGP permitirá a los vendedores realizar pedidos de productos, administrar información de productos, vendedores y usuarios, y acceder a una galería de nuevos productos utilizando una aplicación móvil Android. El documento describe los requerimientos del sistema web backend y la aplicación móvil, incluyendo funciones de administración, validación de usuarios,
Este documento presenta un manual de usuario para un sistema de gestión de ventas y almacén desarrollado para la empresa Inversiones y Tecnología Óptica Molina S.A.C. El sistema consta de tres módulos principales: negocio, compras y ventas. El manual describe las funcionalidades de cada módulo, incluyendo la capacidad de agregar, editar y eliminar datos de clientes, proveedores, empleados y productos. Además, explica cómo generar órdenes de compra, registrar compras realizadas y
Este documento explica cómo crear un reporte interactivo en Pentaho Report Designer (PRD) que muestre las ventas por producto y mes de una tienda y año seleccionados por el usuario. Primero se crean tres consultas SQL para cargar los combos de años y tiendas y mostrar los datos de ventas. Luego se definen parámetros para pasar los valores seleccionados y se diseña el reporte con encabezados, detalles y pie de página. Finalmente, el reporte generado permite filtrar dinámicamente los datos mostrados.
Este documento presenta los requerimientos funcionales y no funcionales para un sistema de gestión de ventas y almacén para la empresa Inversiones y Tecnología Óptica Molina S.A.C. Incluye 13 requerimientos funcionales relacionados con la gestión de clientes, órdenes de compra, productos, ventas, proveedores e inventario, así como requerimientos de validación y entrenamiento de usuarios.
Trabajo final lenguaje unificado de modelado uml 200609 18 rubenchouml2012
Este documento presenta el trabajo final de un curso sobre el Lenguaje Unificado de Modelado (UML). Se analiza el caso de la tienda electrónica Electric mediante diagramas UML. Se creó un blog que simula el portal web de la tienda, con secciones de inventario, proveedores, productos, clientes y ventas. También se hizo un portafolio en SlideShare con diagramas UML que muestran el funcionamiento del sistema, incluyendo casos de uso, clases, actividades y secuencias. El documento concluye que se aplicaron los conocimientos
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube.
Ayudas online de eFactory Software ERP/CRM en la nube:
https://efactoryerp.com/ayudas-manuales-online-software-efactory-erp-crm-en-la-nube.html
Modulos de las Soluciones eFactory:
Modulo de Obras y Proyectos:
https://efactoryerp.com/soluciones/software-gestion-obras-proyectos-erp-crm.html
Modulo de Contabilidad:
https://efactoryerp.com/soluciones/software-contabilidad-erp-crm.html
Modulo de Nomina y RRHH:
https://efactoryerp.com/soluciones/software-rrhh-nomina-erp-crm.html
Modulo de CRM:
https://efactoryerp.com/soluciones/software-crm.html
Modulo de Ventas:
https://efactoryerp.com/soluciones/software-ventas-erp-crm.html
Modulo de Compras:
https://efactoryerp.com/soluciones/software-compras-erp-crm.html
Modulo de Inventarios:
https://efactoryerp.com/soluciones/software-control-de-inventarios-erp-crm.html
Modulo de Ventas:
https://efactoryerp.com/soluciones/software-punto-de-ventas-erp-crm.html
Modulo de Tesoreria:
https://efactoryerp.com/soluciones/software-tesoreria-erp-crm.html
Modulo de Produccion:
https://efactoryerp.com/soluciones/software-control-de-produccion-erp-crm.html
Modulo de Costos y Gastos de Importaciones:
https://efactoryerp.com/soluciones/software-importaciones-erp-crm.html
Soluciones Moviles:
https://efactoryerp.com/soluciones/software-para-moviles-erp-crm.html
Modulo de Inmobiliarios:
https://efactoryerp.com/soluciones/software-inmobiliario-erp-crm.html
SoftDoit (Buscador/Comparador de Software):
https://www.softwaredoit.com/mx/factory-soft-venezuela-c.a./factory-soft-venezuela-c.a..html
Este documento presenta un proyecto de fin de carrera para desarrollar un sistema CRM de código abierto para la empresa Japan Tobacco International. Se analizan varios sistemas CRM comerciales para determinar cuál se ajusta mejor a los requisitos de la empresa. Se elige SugarCRM y se desarrolla una aplicación basada en los requisitos de JTI, detallando todo el proceso. El documento también incluye un manual de usuario y detalles sobre la instalación y pruebas funcionales del sistema CRM.
Venta en Ruta.
Su función principal es administrar y controlar la distribución de productos a clientes finales, haciendo uso de la tecnología de computo móvil y tecnología de identificación automatica como lo es el código de barras; proporcionando información actualizada de los procesos de venta al detalle, pedidos y análisis de mercado.
Permite al vendedor tener comunicación con el sistema central desde cualquier ubicación física obteniendo información como: clientes a visitar, listas de precios actualizadas, stock disponible, productos nuevos etc.
Así la tarea del vendedor será realizada con una EDA (términal portátil) para la toma de pedidos, consulta de precios, ejecución de cobranza, promociones especiales, notas, entre otras funciones. Al terminar la tarea se envian los pedidos realizados y toda la información del día hacia el sistema central , desde cualquier lugar, sin importar donde se encuentre y sin necesidad de desplazarse hacia la empresa.
Ventajas
- Multiempresa.
- Apoyo a las actividades diarias de los vendedores
- Control GPS, y evaluación de actividades del vendedor
- Aumenta productividad y maximiza ganancias
- Permite optimizar las rutas de venta
- Reduce envíos erróneos
- Proporciona reportes que permiten identificar oportunidades de negocio y mejorar el recorrido de las rutas
- Permite opcionalmente comunicación en tiempo real vía GPRS
- Proporciona una visión global de los clientes
- Mantiene el inventario de producto adecuado a las necesidades de cada cliente
Registro de Venta y Preventa
Esta función está orientada en el caso de venta al registro unitario de lo que el cliente demanda y el operador le deja físicamente en su establecimiento, en la Terminal portátil se seleccionan los productos que el cliente requiere y se cotiza la venta, con la aceptación del cliente se graba la venta y se imprime un ticket o factura.
En el caso de preventa, el sistema registra la demanda de productos del cliente, permite cotizar antes de cerrar el pedido y si se tiene GPRS se puede consultar y validar la existencia en firme. Igual que en el caso de venta directa, en esta opción también se puede imprimir el ticket de pedido formalizando la operación con el cliente.
Este documento proporciona una introducción al entorno de desarrollo BlueJ para Java, incluyendo cómo crear objetos, invocar métodos, usar parámetros, inspeccionar el estado de objetos, y realizar pruebas y depuración de código. Explica conceptos como clases, objetos, métodos, firmas de métodos, tipos de datos, compilación y depuración. También cubre técnicas como pruebas de unidad, pruebas automatizadas, seguimiento manual e impresión de sentencias para depurar código.
LENGUAJE DE MODELADO UNIFICADO (UML II)
Evaluación final – segundo trimestre
Crear un portafolio de servicios para la empresa ELECTRIC, donde se planten los logos de la empresa, diagramas de casos de uso, diagrama de clases y diagrama de secuencia.
Mcvs ad-03 prototipo del sistema de informaciónlnavarros
Este documento presenta el prototipo de un sistema de información para la gestión de ventas y almacén de una empresa. Describe 20 pantallas prototipo que cubren casos de uso como la gestión de usuarios, clientes, ventas, productos, proveedores y almacén. El objetivo es reducir las brechas entre los requerimientos de los usuarios y su entendimiento.
El objetivo de la aplicación será crear un módulo de “punto de venta” para una zapatería que vende a precios de fábrica, el cual tendrá la capacidad de registrar las ventas diarias por vendedor, llevará el control de las existencias y permitirá publicar sus catálogos de zapatos para niños, niñas, hombres y mujeres en la Web, podrá publicar imágenes, promociones y artículos referentes a los nuevos productos de la temporada, los visitantes a la web podrán suscribirse para poder comprar y recibir boletines a sus correos cuando haya nuevos productos o bien promociones y ofertas.
Los usuarios podrán registrarse como compradores y realizar el apartado de su calzado.
Este documento presenta el manual de instalación e interfaz del software PSEINT. Explica los pasos para descargar e instalar el programa, así como las diferentes secciones y herramientas que componen la interfaz como la barra de menús, barra de accesos rápidos, barra de comandos, área de trabajo e información de ejecución. Finalmente, incluye una bibliografía con enlaces de referencia.
Este documento describe un programa propuesto para ayudar a una empresa comercializadora a evaluar la calidad de los cargamentos entrantes mediante el muestreo aleatorio. El programa permitiría al usuario introducir variables como el tamaño del cargamento, el tamaño de la muestra, y los estándares de calidad del fabricante y la empresa para determinar si el cargamento será aceptado o devuelto. El programa se aplicaría a eventos de Bernoulli para evaluar probabilidades cuando el tamaño del lote es pequeño en relación con el tamaño de la muestra.
Este documento presenta varios ejercicios relacionados con diagramas de casos de uso. El primer ejercicio consiste en indicar si varias afirmaciones sobre casos de uso son verdaderas o falsas. El segundo ejercicio analiza un diagrama de casos de uso existente. El tercer ejercicio pide corregir errores en otros diagramas. Los ejercicios 4 y 5 analizan la identificación de actores y casos de uso en diagramas específicos de sistemas de ventas. En general, el documento proporciona ejemplos y preguntas para practicar
El documento describe cómo implementar el control Rate Application Reminder de Telerik para recordar a los usuarios calificar las aplicaciones. Explica que este componente mejora las calificaciones y comentarios al recordar a los usuarios. Luego guía al lector a través de los pasos para agregar el control a una aplicación de Windows Phone, incluida la configuración de los parámetros de recordatorio y la personalización del mensaje. Finalmente, comparte un ejemplo completo de código para implementar este control.
El documento presenta información sobre un servicio de asesoría y resolución de ejercicios de ciencias, incluyendo su correo electrónico, página web y solicitud de cotizaciones. También incluye preguntas sobre productividad, eficiencia y toma de decisiones en una empresa de vidrio llamada Glass-Mil.
Este documento presenta el informe técnico de diseño de un sistema de liquidación de nómina. Incluye objetivos, una explicación de la tecnología GPL, diagramas de casos de uso, actividades, clases, secuencia y despliegue para modelar el diseño conceptual del sistema. El propósito es especificar de manera gráfica cómo funcionará el software solicitado por el cliente.
Este documento proporciona instrucciones para crear una aplicación de registro de operadores utilizando visualizaciones, variables y condiciones de salto en U90 Ladder. Se crea una visualización inicial que pide al operador que introduzca su número de identificación. Luego, se vincula una variable a la visualización para almacenar el número introducido. Finalmente, se crean condiciones de salto para aprobar o rechazar la identificación y dirigir al usuario a visualizaciones posteriores.
Este documento describe modelos de análisis y diseño basados principalmente en UML. Comienza con un mapa de procesos y un flujograma de información. Luego presenta la clase "Recepción por Compras" y describe las etapas de análisis y diseño de sistemas, incluida la documentación de contratos de operaciones.
Presentacion del proyecto de ventas.pptxYARI321467
Este documento presenta un resumen de tres oraciones del proyecto de desarrollo de un sistema de información para la gestión de compras y ventas de productos de limpieza en la empresa "La Estrella". El documento describe la situación problemática actual de registro manual, los objetivos de desarrollar un sistema transaccional para optimizar procesos, y el enfoque metodológico de utilizar las fases de Programación Extrema junto con el marco SCRUM para el desarrollo del producto.
Manual de Usuario, Admin e Instalacion MeganaturaAngeles Cañas
El manual describe los pasos para instalar y acceder al modo de administración de la base de datos, incluyendo la instalación del servidor, copiar los archivos en la carpeta correcta, iniciar el servidor, y escribir la URL especial para acceder al modo de administración. Una vez iniciada la sesión, se puede administrar la base de datos, incluyendo realizar copias de seguridad, restaurar la base de datos, y gestionar productos, presentaciones, proveedores, ventas, compras, devoluciones y usuarios.
Este documento presenta los requerimientos funcionales y no funcionales para un sistema de gestión de ventas y almacén para la empresa Inversiones y Tecnología Óptica Molina S.A.C. Incluye 13 requerimientos funcionales relacionados con la gestión de clientes, órdenes de compra, productos, ventas, proveedores e inventario, así como requerimientos de validación y entrenamiento de usuarios.
Trabajo final lenguaje unificado de modelado uml 200609 18 rubenchouml2012
Este documento presenta el trabajo final de un curso sobre el Lenguaje Unificado de Modelado (UML). Se analiza el caso de la tienda electrónica Electric mediante diagramas UML. Se creó un blog que simula el portal web de la tienda, con secciones de inventario, proveedores, productos, clientes y ventas. También se hizo un portafolio en SlideShare con diagramas UML que muestran el funcionamiento del sistema, incluyendo casos de uso, clases, actividades y secuencias. El documento concluye que se aplicaron los conocimientos
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube.
Ayudas online de eFactory Software ERP/CRM en la nube:
https://efactoryerp.com/ayudas-manuales-online-software-efactory-erp-crm-en-la-nube.html
Modulos de las Soluciones eFactory:
Modulo de Obras y Proyectos:
https://efactoryerp.com/soluciones/software-gestion-obras-proyectos-erp-crm.html
Modulo de Contabilidad:
https://efactoryerp.com/soluciones/software-contabilidad-erp-crm.html
Modulo de Nomina y RRHH:
https://efactoryerp.com/soluciones/software-rrhh-nomina-erp-crm.html
Modulo de CRM:
https://efactoryerp.com/soluciones/software-crm.html
Modulo de Ventas:
https://efactoryerp.com/soluciones/software-ventas-erp-crm.html
Modulo de Compras:
https://efactoryerp.com/soluciones/software-compras-erp-crm.html
Modulo de Inventarios:
https://efactoryerp.com/soluciones/software-control-de-inventarios-erp-crm.html
Modulo de Ventas:
https://efactoryerp.com/soluciones/software-punto-de-ventas-erp-crm.html
Modulo de Tesoreria:
https://efactoryerp.com/soluciones/software-tesoreria-erp-crm.html
Modulo de Produccion:
https://efactoryerp.com/soluciones/software-control-de-produccion-erp-crm.html
Modulo de Costos y Gastos de Importaciones:
https://efactoryerp.com/soluciones/software-importaciones-erp-crm.html
Soluciones Moviles:
https://efactoryerp.com/soluciones/software-para-moviles-erp-crm.html
Modulo de Inmobiliarios:
https://efactoryerp.com/soluciones/software-inmobiliario-erp-crm.html
SoftDoit (Buscador/Comparador de Software):
https://www.softwaredoit.com/mx/factory-soft-venezuela-c.a./factory-soft-venezuela-c.a..html
Este documento presenta un proyecto de fin de carrera para desarrollar un sistema CRM de código abierto para la empresa Japan Tobacco International. Se analizan varios sistemas CRM comerciales para determinar cuál se ajusta mejor a los requisitos de la empresa. Se elige SugarCRM y se desarrolla una aplicación basada en los requisitos de JTI, detallando todo el proceso. El documento también incluye un manual de usuario y detalles sobre la instalación y pruebas funcionales del sistema CRM.
Venta en Ruta.
Su función principal es administrar y controlar la distribución de productos a clientes finales, haciendo uso de la tecnología de computo móvil y tecnología de identificación automatica como lo es el código de barras; proporcionando información actualizada de los procesos de venta al detalle, pedidos y análisis de mercado.
Permite al vendedor tener comunicación con el sistema central desde cualquier ubicación física obteniendo información como: clientes a visitar, listas de precios actualizadas, stock disponible, productos nuevos etc.
Así la tarea del vendedor será realizada con una EDA (términal portátil) para la toma de pedidos, consulta de precios, ejecución de cobranza, promociones especiales, notas, entre otras funciones. Al terminar la tarea se envian los pedidos realizados y toda la información del día hacia el sistema central , desde cualquier lugar, sin importar donde se encuentre y sin necesidad de desplazarse hacia la empresa.
Ventajas
- Multiempresa.
- Apoyo a las actividades diarias de los vendedores
- Control GPS, y evaluación de actividades del vendedor
- Aumenta productividad y maximiza ganancias
- Permite optimizar las rutas de venta
- Reduce envíos erróneos
- Proporciona reportes que permiten identificar oportunidades de negocio y mejorar el recorrido de las rutas
- Permite opcionalmente comunicación en tiempo real vía GPRS
- Proporciona una visión global de los clientes
- Mantiene el inventario de producto adecuado a las necesidades de cada cliente
Registro de Venta y Preventa
Esta función está orientada en el caso de venta al registro unitario de lo que el cliente demanda y el operador le deja físicamente en su establecimiento, en la Terminal portátil se seleccionan los productos que el cliente requiere y se cotiza la venta, con la aceptación del cliente se graba la venta y se imprime un ticket o factura.
En el caso de preventa, el sistema registra la demanda de productos del cliente, permite cotizar antes de cerrar el pedido y si se tiene GPRS se puede consultar y validar la existencia en firme. Igual que en el caso de venta directa, en esta opción también se puede imprimir el ticket de pedido formalizando la operación con el cliente.
Este documento proporciona una introducción al entorno de desarrollo BlueJ para Java, incluyendo cómo crear objetos, invocar métodos, usar parámetros, inspeccionar el estado de objetos, y realizar pruebas y depuración de código. Explica conceptos como clases, objetos, métodos, firmas de métodos, tipos de datos, compilación y depuración. También cubre técnicas como pruebas de unidad, pruebas automatizadas, seguimiento manual e impresión de sentencias para depurar código.
LENGUAJE DE MODELADO UNIFICADO (UML II)
Evaluación final – segundo trimestre
Crear un portafolio de servicios para la empresa ELECTRIC, donde se planten los logos de la empresa, diagramas de casos de uso, diagrama de clases y diagrama de secuencia.
Mcvs ad-03 prototipo del sistema de informaciónlnavarros
Este documento presenta el prototipo de un sistema de información para la gestión de ventas y almacén de una empresa. Describe 20 pantallas prototipo que cubren casos de uso como la gestión de usuarios, clientes, ventas, productos, proveedores y almacén. El objetivo es reducir las brechas entre los requerimientos de los usuarios y su entendimiento.
El objetivo de la aplicación será crear un módulo de “punto de venta” para una zapatería que vende a precios de fábrica, el cual tendrá la capacidad de registrar las ventas diarias por vendedor, llevará el control de las existencias y permitirá publicar sus catálogos de zapatos para niños, niñas, hombres y mujeres en la Web, podrá publicar imágenes, promociones y artículos referentes a los nuevos productos de la temporada, los visitantes a la web podrán suscribirse para poder comprar y recibir boletines a sus correos cuando haya nuevos productos o bien promociones y ofertas.
Los usuarios podrán registrarse como compradores y realizar el apartado de su calzado.
Este documento presenta el manual de instalación e interfaz del software PSEINT. Explica los pasos para descargar e instalar el programa, así como las diferentes secciones y herramientas que componen la interfaz como la barra de menús, barra de accesos rápidos, barra de comandos, área de trabajo e información de ejecución. Finalmente, incluye una bibliografía con enlaces de referencia.
Este documento describe un programa propuesto para ayudar a una empresa comercializadora a evaluar la calidad de los cargamentos entrantes mediante el muestreo aleatorio. El programa permitiría al usuario introducir variables como el tamaño del cargamento, el tamaño de la muestra, y los estándares de calidad del fabricante y la empresa para determinar si el cargamento será aceptado o devuelto. El programa se aplicaría a eventos de Bernoulli para evaluar probabilidades cuando el tamaño del lote es pequeño en relación con el tamaño de la muestra.
Este documento presenta varios ejercicios relacionados con diagramas de casos de uso. El primer ejercicio consiste en indicar si varias afirmaciones sobre casos de uso son verdaderas o falsas. El segundo ejercicio analiza un diagrama de casos de uso existente. El tercer ejercicio pide corregir errores en otros diagramas. Los ejercicios 4 y 5 analizan la identificación de actores y casos de uso en diagramas específicos de sistemas de ventas. En general, el documento proporciona ejemplos y preguntas para practicar
El documento describe cómo implementar el control Rate Application Reminder de Telerik para recordar a los usuarios calificar las aplicaciones. Explica que este componente mejora las calificaciones y comentarios al recordar a los usuarios. Luego guía al lector a través de los pasos para agregar el control a una aplicación de Windows Phone, incluida la configuración de los parámetros de recordatorio y la personalización del mensaje. Finalmente, comparte un ejemplo completo de código para implementar este control.
El documento presenta información sobre un servicio de asesoría y resolución de ejercicios de ciencias, incluyendo su correo electrónico, página web y solicitud de cotizaciones. También incluye preguntas sobre productividad, eficiencia y toma de decisiones en una empresa de vidrio llamada Glass-Mil.
Este documento presenta el informe técnico de diseño de un sistema de liquidación de nómina. Incluye objetivos, una explicación de la tecnología GPL, diagramas de casos de uso, actividades, clases, secuencia y despliegue para modelar el diseño conceptual del sistema. El propósito es especificar de manera gráfica cómo funcionará el software solicitado por el cliente.
Este documento proporciona instrucciones para crear una aplicación de registro de operadores utilizando visualizaciones, variables y condiciones de salto en U90 Ladder. Se crea una visualización inicial que pide al operador que introduzca su número de identificación. Luego, se vincula una variable a la visualización para almacenar el número introducido. Finalmente, se crean condiciones de salto para aprobar o rechazar la identificación y dirigir al usuario a visualizaciones posteriores.
Este documento describe modelos de análisis y diseño basados principalmente en UML. Comienza con un mapa de procesos y un flujograma de información. Luego presenta la clase "Recepción por Compras" y describe las etapas de análisis y diseño de sistemas, incluida la documentación de contratos de operaciones.
Presentacion del proyecto de ventas.pptxYARI321467
Este documento presenta un resumen de tres oraciones del proyecto de desarrollo de un sistema de información para la gestión de compras y ventas de productos de limpieza en la empresa "La Estrella". El documento describe la situación problemática actual de registro manual, los objetivos de desarrollar un sistema transaccional para optimizar procesos, y el enfoque metodológico de utilizar las fases de Programación Extrema junto con el marco SCRUM para el desarrollo del producto.
Manual de Usuario, Admin e Instalacion MeganaturaAngeles Cañas
El manual describe los pasos para instalar y acceder al modo de administración de la base de datos, incluyendo la instalación del servidor, copiar los archivos en la carpeta correcta, iniciar el servidor, y escribir la URL especial para acceder al modo de administración. Una vez iniciada la sesión, se puede administrar la base de datos, incluyendo realizar copias de seguridad, restaurar la base de datos, y gestionar productos, presentaciones, proveedores, ventas, compras, devoluciones y usuarios.
1. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Sistema de Gestión de Comercio Remoto usando Java RMI
DATOS DEL ALUMNO
Marcos Fernández Vega
71665585T
marcosfervega@gmail.com
mfernande4363@alumno.uned.es
2. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
ÍNDICE
DESCRIPCIÓN DE LA EJECUCIÓN DE LA PRÁCTICA .................................................................................................. 3
DESCRIPCIÓN DEL FUNCIONAMIENTO DE LA PRÁCTICA ......................................................................................... 6
PROYECTO REGULADOR.............................................................................................................................................. 6
CLASE REGULADOR ................................................................................................................................................. 6
CLASE SERVICIOAUTENTICACIONIMPL .................................................................................................................... 7
CLASE SERVICIOMERCANCIASIMPL ......................................................................................................................... 8
PROYECTO CLIENTE..................................................................................................................................................... 9
CLASE CLIENTE ........................................................................................................................................................ 9
PROYECTO DISTRIBUIDOR ......................................................................................................................................... 10
CLASE DISTRIBUIDOR ............................................................................................................................................ 10
CLASE SERVICIOVENTAIMPL.................................................................................................................................. 10
CLASE VENTA ........................................................................................................................................................ 10
PROYECTO COMMON ............................................................................................................................................... 11
CLASE OFERTA....................................................................................................................................................... 11
CLASE PRODUCTO ................................................................................................................................................. 11
CLASE CODEBASE .................................................................................................................................................. 11
INTERFAZ SERVICIOAUTENTICACIONINTERFACE................................................................................................... 11
INTERFAZ SERVICIOMERCANCIASINTERFACE ........................................................................................................ 12
INTERFAZ SERVICIOVENTASINTERFACE................................................................................................................. 12
DIAGRAMA DE RELACIONES REMOTAS ............................................................................................................... 12
CONCLUSIONES .................................................................................................................................................. 13
2
3. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
DESCRIPCIÓN DE LA EJECUCIÓN DE LA PRÁCTICA
Para el funcionamiento de la práctica se necesitan los tres archivos .jar de cada uno de los proyectos
(Distribuidor.jar, Cliente.jar y Regulador.jar) y de sus correspondientes ficheros .bat para arrancar las aplicaciones
(Distribuidor.bat, Cliente.bat y Regulador.bat).
Una vez situado en la raíz del proyecto se procede a ejecutar los tres ficheros de arranque, escribiendo Regulador,
Distribuidor o Cliente como se indica en el enunciado de la práctica, teniendo en cuenta que Regulador ha de ser el
primero en ser ejecutado, sino la ejecución tanto de Cliente como de Distribuidor fallará. Se pueden ejecutar tantos
Clientes y Distribuidores como se quiera.
Cuando se ejecuta el Regulador, se lanza rmiregistry.exe y se activan los servicios para el control de Autentificación y
el control de Mercancías y aparece su menú principal como se ve en la Captura 1.
Captura 1
Cuando se ejecuta o bien un Cliente o bien un Distribuidor lo primero que se nos requerirá será introducir su nombre
de usuario para identificarse en el sistema; el cual, tras recibirlo, devolverá la clave única del usuario: una C ante un
número para los clientes (C1, C2, C3…) o una D ante un número para los distribuidores (D1, D2, D3…). Después de
recibir la clave de usuario aparecerá el menú correspondiente a cada caso (Capturas 2 y 3).
Captura 2
Captura 3
3
4. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
Desde el menú de distribuidor se permite introducir una nueva oferta o visualizar las ventas realizadas (Captura 4).
Cuando introducimos una nueva oferta nos preguntara por el tipo de producto que queremos ofertar, el precio y el
número de kilos. Al introducir correctamente estos datos se registraría la oferta en el sistema. Si intentásemos
introducir una oferta con las mismas caráteristicas que otra oferta existente para el mismo distribuidor se nos
informaría de que la oferta ya existe en el sistema por lo que no se realizaría acción alguna.
Captura 4
Desde el menú de cliente se nos permitirá introducir una nueva demanda, recibir ofertas, comprar una mercancía o
bien finalizar la sesión. Si elegimos introducir una nueva demanda se nos listará el tipo de productos que existen y se
nos pedirá que elijamos aquel que deseamos demandar. Si intentásemos realizar una demanda de un producto ya
demandado el sistema nos indicará que el producto ya se encuentra demandado actualmente y no añadirá una
nueva demanda (Captura 5).
Captura 5
Cuando intentemos recibir las ofertas disponibles recibiremos las ofertas de todos aquellos vendedores que hayan
añadido alguna de los productos que tengamos demandados. Es decir, si hubiésemos hecho una demanda de Arroz y
Lentejas solamente nos aparecerían las ofertas de estos dos productos y no aparecería una oferta de, por ejemplo,
judías.
Al elegir la opción de Comprar Mercancía aparecerá una lista con las ofertas disponibles y a continuación se nos
preguntará a qué vendedor deseamos comprar y se introducirá el ID del vendedor. Una vez introducido el número
de identificación del vendedor nos aparecerán numeradas las ofertas de ese vendedor en concreto y se nos solicitará
que elijamos la oferta en la que estamos interesados (Captura 6). Es necesario añadir que todos los distribuidores se
4
5. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
abastecen en el momento de su creación con 1000 kilos de cada producto y cada vez que se realiza una venta la
cantidad disponible de ese producto disminuye. Por tanto, si intentamos comprar una oferta y no existe la suficiente
cantidad de producto para suministrarnos se nos informará de la excepción y no se realizará la compra.
Captura 6
Desde la interfaz del Regulador se pedirá elegir entre las opciones de Listar ofertas actuales que mostrará un lista de
todas las ofertas añadidas por todos los distribuidores, Listar demandas actuales que listaría las demandas de todos
los clientes registrados en el sistema; y por último las opciones de listar todos los clientes y los distribuidores
respectivamente (Captura 7).
Captura 7
5
6. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
DESCRIPCIÓN DEL FUNCIONAMIENTO DE LA PRÁCTICA
Para realizar la práctica se ha utilizado Eclipse y se han creado cuatro proyectos: Cliente (con las clases del cliente),
Distribuidor (con las clases del distribuidor), Regulador (con las clases del regulador) y Common (con las clases
comunes que serán utilizadas por el resto de proyectos). A continuación se muestran los proyectos y sus respectivas
clases para a continuación pasar a detallar cada una de ellas.
Regulador
o pq.regulador
Regulador.java
ServicioAutenticacionImpl.java
ServicioMercanciasImpl.java
Cliente
o pq.cliente
Cliente.java
Distribuidor
o pq.distribuidor
ServicioVentaImpl.java
Venta.java
Distribuidor.java
Common
o pq.common
Oferta.java
Producto.java
ServicioAutenticacionInterface.java
ServicioMercanciasInterface.java
ServicioVentaInterface.java
Codebase.java
PROYECTO REGULADOR
CLASE REGULADOR
Esta clase contiene el main del proyecto Regulador. Lo primero que hará el main será una llamada al método
Utils.setCodeBase pasándole como parámetro una clase cualquiera para definir la ruta de ésta como la ruta del
proyecto para Java RMI. A continuación se crearan los objetos ServicioAutenticacionImpl y ServicioMercanciasImpl y
se les casteará como objetos remotos asignándoles un número de puerto y se les asignará un nombre en el registro
para poder ser accesibles por el resto de proyectos que intenten conectarse.
Una vez arrancados los servicios de Autenticación y de Mercancias se entra en un bucle donde se elige la opción que
deseamos para continuar la cual es interpretada por un switch que maneja cuatro opciones:
6
7. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
1) Llamada al método local listarOfertas().
Este método que recibe como parámetro la clase que implementa el servicio Mercancias crea un objeto de
tipo Map de tipo HashMap donde almacena todas las ofertas disponibles que recoge a través del método
getTOfertas() del objeto Mercancias. Después, utilizando como clave los números de 1 a 5 (tipos de
mercancías), recorre todo el Map mostrando las ofertas disponibles utilizando el método getOferta() del
objeto oferta.
2) Llamada al método local listarDemandas()
De manera muy parecida al método anterior listarDemandas recoge en un Map todas las demandas del
sistema a través del método getDemandas() de la clase Mercancias. Luego con un par de for anidados donde
el primero recorre los clientes y el segundo sus respectivas demandas se van mostrando las distintas
demandas de todos los clientes. Se hace uso del método getNombreCliente(clave) de la clase
ServicioAutenticacionImpl para recibir el nombre del cliente.
3) Llamada al método local listarClientes()
Este método recibe una lista de todos los clientes a través del método getClientes() de
ServicioAutenticacionImpl y los muestra uno por uno recorriendo esta lista con un bucle for.
4) Llamada al método local listarDistribuidores()
De la misma manera que se hizo con el método anterior se recorren todos los distribuidores pero esta vez
utilizando el método getDistribuidores() de la clase ServicioAutenticacionImpl.
CLASE SERVICIOAUTENTICACIONIMPL
Esta clase almacena en dos integer el valor actual del último número de identificación tanto de los clientes como de
los proveedores y tiene dos HashMap: id_nombre_cliente donde guarda el nombre de cliente utilizando como clave
su ID y otro llamado id_nombre_distribuidor que hace lo propio para los distribuidores. Contiene los siguientes
métodos:
autenticar(String nombre, boolean cliente)
Asigna a cada cliente su ID personal, si el parámetro cliente es true, entonces se trata de un cliente. Para dar
el número correspondiente se utilizan los métodos darIdC o darIdD dependiendo de que se trate de un
cliente o un distribuidor y se la pone delante una C o una D de la misma manera. También almacena el
cliente y su ID en el HashMap correspondiente. La clase es del tipo String ya que esta ID es devuelta al objeto
que realiza la llamada.
getClientes()
Clase del tipo List que devuelve todos los clientes almacenados en id_nombre_cliente
getDistribuidores()
Lo mismo que el método anterior pero para los distribuidores.
getNombreCliente(String id)
Este método de tipo String recibe como parámetro una ID de cliente que devolverá como resultado al
utilizarla como clave del método get de id_nombre_cliente;
7
8. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
darIdC ()
Devuelve el siguiente valor del número de ID de cliente.
darIdD ()
Devuelve el siguiente valor del número de ID de cliente.
numClientes()
Devuelve el número total de clientes
CLASE SERVICIOMERCANCIASIMPL
Almacena en un HashMap llamado id_demanda la lista de demandas de determinados clientes que hayan sido
añadidos. En un HashMap llamado tipo_ofertas almacena una lista de ofertas de cada tipo. Consta de los siguientes
métodos:
getOfertas(int tipo)
Método del tipo List que recoge en una lista todas las ofertas del tipo que se pase como parámetro y es
devuelta al objeto que lo llame.
registrarOferta(int tipo, float precio, int kilos, String idVendedor)
Registra una oferta en la lista de ofertas de tipo_ofertas. Para ello crea un objeto del tipo List que estará
vinculado con la lista del HashMap por lo que al agregar una oferta en esta se actualizará la lista del
HashMap. El método es de tipo String así que si existe ya una oferta de ese tipo, con el mismo vendedor, al
mismo precio y el mismo número de kilos devolverá “Oferta ya existente” de lo contrario, si se realizará con
existo, devolverá “Oferta agregada al sistema”.
registrarDemanda(int tipo, String idCliente)
Funciona de la misma manera que el método anterior sólo que esta vez se utiliza para almacenar las
demandas de los clientes en id_demanda.
getTOfertas()
Devuelve el HashMap tipo_ofertas
getDemandas()
Devuelve el HashMap id_demanda
8
9. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
PROYECTO CLIENTE
CLASE CLIENTE
Es la única clase que contiene el proyecto Cliente. Lo primero que se hace desde el main será crear las dos interfaces
remotas, Autenticacion y Mercancias, y a continuación una llamada al método autenticar() para recibir el ID de
cliente con el método autenticar() del objeto Autenticacion al que se le pasa como parámetros el nombre de cliente
y true para indicar que se trata de un cliente. A continuación se repite en un bucle do-while las distintas opciones
que se pueden manejar desde la interfaz de cliente, opción que es recogida en un switch con las siguientes opciones:
1) Llamada al método local demandar()
Se pregunta qué producto se desea demandar y se lista a través del método listaProdutos() los productos
existentes. Si la opción elegida esta entre 1 y 5 se registra la demanda con el método registrarDemanda del
objeto Mercancias, si la demanda ya ha sido efectuada con anterioridad el método devolverá la String
“Demanda ya existente”.
2) Llamada al método recibirOfertas()
Si no hubiera ninguna demanda se devuelve por pantalla un mensaje indicándolo, en caso contrario para
cada demanda se recogería en una lista las ofertas para ese producto desde el método getOfertas del objeto
Mercancias. Después se imprime por pantalla la información de cada una de esas ofertas con el método
getOferta de la clase Oferta.
3) Llamada al método iniciarCompra()
Desde este método se llama al anterior para listar todas las ofertas disponibles según nuestras demandas.
Después se pregunta por la ID del vendedor al que queremos realizar la compra y se utiliza esta misma para
conectarnos al Servicio de Venta de este vendedor. Después, en un HashMap se recogen todas las ofertas de
este vendedor numeradas mediante el método getOfertasVendedor, el cual recoge en un Map todas las
ofertas del vendedor que se pasa como parámetro, utilizando un valor entero que se incrementa por cada
iteración como clave del mapa de manera que aparecen numeradas. Si este HashMap no estuviese vacío se
pregunta por pantalla que producto se desea comprar y se utiliza la opción elegida para extraer del Map la
Oferta correspondiente. Por último se muestra el resultado de la venta utilizando el método iniciarVenta del
objeto Venta y dándole como parámetros el nombre de cliente, id y las características de la oferta.
9
10. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
PROYECTO DISTRIBUIDOR
CLASE DISTRIBUIDOR
Esta clase define a un distribuidor y contiene el main del proyecto Distribuidor. En primer lugar se crea un objeto del
tipo ServicioVentasImpl, Ventas, casteado como objeto remoto y se le asigna de número de puerto un entero
aleatorio entre 20.000 y 60.000. Más adelante se crean las dos interfaces remotas Autenticacion y Mercancias. El
cuerpo central del main se trata de un bucle do-while donde se recoge la opción a realizar por el programa de las dos
disponibles:
1) Llamada al método introducirOferta()
Este método introduce una nueva oferta en Mercancias, utilizando su método registrarOferta(), con los
parámetros que son recogidos a través de pantalla. En caso de existir una oferta con las mismas
características se informará de lo sucedido.
2) Utiliza el método getVentas() del objeto Ventas
CLASE SERVICIOVENTAIMPL
Clase que implementa la interfaz remota ServicioVentaInterface. Contiene un ArrayList llamado Ventas donde se
almacenan las Ventas realizadas por su distribuidor y un HashMap donde se almacenan las cantidades de producto
restantes de cada tipo de producto. Contiene los siguientes métodos:
iniciarVenta(String nombreCliente, String sesionIdCliente, Producto producto, int kilos, float precio)
Tras comprobar que existe la suficiente cantidad de producto para los kilos demandados se añade un nuevo
objeto Venta con las características que se pasan como parámetro al Array Ventas.
avastecer()
Rellena el HashMap con 5 claves de números enteros (1-5) que representan los 5 tipos de productos con 500
como valor que representa la cantidad inicial de producto.
getVentas()
Si el ArrayList Ventas estuviera vacío se informaría de ello y de lo contrario se obtendría la información de
cada Venta que contiene utilizando su método getInfoVenta().
CLASE VENTA
Clase que representa cada Venta realizada con éxito. Al construirse rellena información relativa al nombre y ID del
Cliente que realizó la compra, al tipo de producto, al número de kilos y al precio por el que fue vendido. A su vez se
le asigna un número de venta. Contiene un único método, getInfoVenta(), que escribe por pantalla toda su
información.
10
11. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
PROYECTO COMMON
Este proyecto es compartido por el resto de proyectos y forma parte del Build Path de todos ellos.
CLASE OFERTA
Describe una Oferta y tiene como variables: el Producto ofertado, el precio de la oferta, la cantidad de kilos, la ID del
vendedor que la oferta y una cadena para almacenar el nombre del producto. Es un objeto del tipo Serializable lo
que quiere decir que se enviará una copia del mismo al terminal que lo solicite. Contiene los siguiente métodos:
getVendedor()
Devuelve una String con el nombre del vendedor.
getKilos()
Devuelve un entero con el número de kilos.
getPrecio()
Devuelve un float con el precio de la oferta.
getProducto()
Devuelve el Producto.
getOferta()
Devuelve un String con la descripción de la oferta.
CLASE PRODUCTO
Al igual que la clase anterior implementa Serializable. Almacena un entero con el tipo de producto (1-5) y el nombre
del producto. Cuando se construye un producto se le pasa el tipo de producto y según el tipo le asigna el nombre
correspondiente. Contiene dos métodos:
getTipo()
Devuelve un entero con el tipo de producto.
getNombre()
Devuelve un String con el nombre de producto.
CLASE CODEBASE
Esta clase sirve para indicarle a Java RMI donde va a estar el código que necesitará cuando se solicite. Por tanto se le
pasa una clase cualquiera y de esta se extrae la ruta de donde se encuentra para luego asignarse a la propiedad de la
máquina virtual de java: java.rmi.server.codebase.
INTERFAZ SERVICIOAUTENTICACIONINTERFACE
Interfaz, que extiende a Remote, que incluye los métodos que implanta la clase ServicioAutenticacionImpl que vimos
anteriormente.
11
12. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
INTERFAZ SERVICIOMERCANCIASINTERFACE
Interfaz, que extiende a Remote, que incluye los métodos que implanta la clase ServicioMercanciasImpl que vimos
anteriormente.
INTERFAZ SERVICIOVENTASINTERFACE
Interfaz, que extiende a Remote, que incluye los métodos que implanta la clase ServicioVentasImpl que vimos
anteriormente.
DIAGRAMA DE RELACIONES REMOTAS
En el anterior diagrama de clases se muestran las relaciones que existen entre clases e interfaces ubicadas
remotamente y se omiten algunas relaciones que existen entre alguna clase con clases del paquete common por
claridad. Por ejemplo, se ha omitido la relación entre Distribuidor y Producto. Hay que tener en cuenta que el
paquete common se encuentra en cada uno de los programas tanto en Regulador.jar, Cliente.jar o Distribuidor.jar.
12
13. PRÁCTICA DE SISTEMAS DISTRIBUIDOS
Marcos Fernández Vega
CONCLUSIONES
A lo largo de la práctica se ha utilizado Java RMI para compartir código remotamente. Se han utilizado dos tipos de
objetos: Serializables y Remote. Cuando se utiliza un objeto Serializable se pasa una copia exacta del objeto para que
sea manipulada por el programa que lo recibe por lo que los cambios no se verán alterados en el objeto original. En
el caso del objeto Remote se enviará una referencia del objeto y los cambios se verán reflejados en ambos lados.
El uso de Java RMI resulta relativamente sencillo y su aplicación puede utilizarse para ejecutar código remoto de una
manera bastante intuitiva, prácticamente como si tratásemos con código local.
Respecto a la presente práctica se podrían haber realizado varias mejoras de diseño como el uso de una interfaz
gráfica o una mayor complejidad a la hora de tratar los tratos mercantiles como, por ejemplo, la posibilidad de
comprar productos fuera de las ofertas o la de añadir nuevos productos desde la interfaz de vendedor. Muchas de
estas cuestiones no se han abordado por entenderse fuera de los requisitos de la práctica.
13