[[TOC(heading=This section pages, heading=Contenido)]] = Análisis de Dominio = En el marco del proyecto Mapa Productivo de Venezuela, se pretende desarrollar la versión 2.0 del Simulador Integral de Cadenas Productivas (SICP), de manera de incluir en la visualización información procedente de distintas fuentes de información y de generar información acerca de los monopolios existentes a nivel horizontal, así como una estimación de las divisas requeridas por cada unidad económica para su producción y el nivel de dependencia de insumo importados. == Funcionalidades == * Construir la gestión de usuarios y sus permisos y/o roles para el sistema. * Estimación de la cantidad de divisas requeridas para la producción de determinado bien: la aplicación debe distinguir entre insumos nacionales e importados para así calcular las divisas necesarias (Dólares, Euros, Pesos, etc) para que la unidad económica pueda producir cierta cantidad de bienes, es decir calcular el costo de los insumos importados en divisas. * Estimar el nivel de dependencia: Conociendo los insumos importados presentes en una cadena productiva, estimar la proporción de los insumos importados respecto a los nacionales por cada uno de los eslabones. * Verificar la existencia de monopolios horizontales: La aplicación debe realizar consultas en las distintas tablas que conforman la base de datos del SIGESIC y mostrar alertas cuando se repita una misma persona jurídica o natural como socio en más de una empresa en los distintos niveles de la cadena productiva. * Modificar la cadena generada por el sistema: El usuario debe tener la posibilidad de eliminar una o más relaciones entre nodos (Insumo-unidad económica) que considere pertinente. Del mismo modo debe guardar estos cambios de manera que otros usuarios puedan tomar en cuenta dicha modificación si así lo creen necesario. Además es necesario la existencia de un usuario “validador” el cual tendrá el permiso de guardar la nueva cadena modificada por uno o varios usuarios y eliminar la generada por el sistema inicialmente. * Visualizar escenarios simulados por diversos usuarios para una cadena productiva determinada. * Comparar una cadena productiva de un producto de una unidad económica en diferentes años. * Comparar escenarios de una misma cadena productiva del mismo o distintos usuarios, para visualizar los cambios entre ellas. * Integrar distintas fuentes de información en la cadena productiva: Dado que la cadena productiva se genera utilizando la base de datos del SIGESIC, el sistema debe mostrar información agregada de la matriz insumo producto y de las encuestas levantadas por el INE, como por ejemplo: a. Valor de la producción del país de acuerdo a la actividad económica (CIIU) de la unidad económica en estudio (UE raíz). Esta información será tomada de la Matriz Insumo Producto. b. Tabla de las principales 5 empresas que dominan la producción del bien en estudio (producto raíz). Información del SIGESIC. c. Principales productos importados tomando en cuenta la actividad CIIU que desarrolla la UE raíz. Información tomada de la Matriz Insumo Producto, por lo que se mostrará los productos de acuerdo al Clasificador de Productos de Venezuela (CPV). d. Si la empresa raíz fue encuestada por el INE se muestra los clientes de la misma. Información tomada de la Encuesta Industrial. * Visualizar cadena productiva con la información adicional: De acuerdo a cada una de las funcionalidades expuestas anteriormente, la aplicación debe contar con una visualización integral, con cada uno de los elementos planteados, permitiendo así tener una visión general de un sector económico en particular. * Generar un análisis de tendencias para una cadena productiva de un producto de una unidad económica según las simulaciones realizadas por todos los usuarios del sistema. == Procesos == === Usuarios === * Registro y autenticación de usuarios {{{ #!plantuml @startuml Partition Proceso_1 { skinparam titleFontSize 24 title Sistema | Usuario (*)-->"Solicitar un\n usuario y clave" -->"Generar imagen\n de captcha" -right--> if "¿Cuenta con \n un usuario?" then -right--> [true] "Introducir usuario" --> "Introducir contraseña" else -down--> [false]"solicitar usuario\n y contraseña" -left--> "Solicitar datos\n personales" -down--> "Solicitar correo\n electrónico" --> "Crear usuario\n y contraseña" --> "Enviar a correo\n electrónico" -left--> "Introducir contraseña" --> "Introducir imagen de captcha" -left-->"Verificar usuario contraseña \n e imagen de captcha" -->if "¿Son correctos?" then -left-->[true] "Dar acceso\n al sistema" -->(*) else --> [false] "solicitar nuevamente\n usuario y contraseña" -left--> (*) } @enduml }}} === Simulación de escenarios === * Estimación de divisas necesarias para producir un bien El resultado de los cálculos realizados por el sistema se mostrarán en la misma pantalla que la cadena productiva, y siempre que se solicite una cadena el sistema estimará y mostrará dichos valores, por lo tanto el proceso comienza una vez que el usuario determine el producto que desea modelar. Para este proceso, la base de datos debe contener nuevos campos como: precio unitario USD, requerimientos USD. Por otro lado, en el diseño del prototipo no funcional se mostrará la forma en que se presentará la información obtenida. {{{ #!plantuml @startuml Partition Estimacion_divisas_bien { (*)-->if "¿Existen UE importadoras\n en la cadena productiva?" then -right-->[NO] "Mostrar un aviso\n que indique:\n No se importan insumos" --> (*) else -left-->[SI] "Buscar relación insumo producto\n y el precio de compra\n registrado por la UE que requiere\n dicho insumo" --> "Buscar en la base\n en la base de datos\n el tipo de cambio asociado\n al año utilizado para\n modelar la cadena" --> "Calcular el precio unitario USD $:\n precio en Bs./tipo de cambio" --> "Almacenar el valor obtenido\n en precio unitario USD $" --> "Calcular el valor de los\n requerimientos por insumo en USD:\n requerimientos * Precio unitario USD$" --> "Almacenar el valor obtenido\n en requerimientos en USD" --> "Sumar los requerimientos\n en USD por niveles" --> "Sumar los requerimientos\n en USD de toda la cadena" --> "Mostrar en la tabla de información\n los requerimientos en USD\n por Unidad Económica" --> "Mostrar los requerimientos en USD\n por niveles y el total de la cadena" -right--> (*) } @enduml }}} * Verificación de la existencia de monopolios horizontales El algoritmo parte luego que el usuario introduzca el número de niveles aguas arriba, aguas abajo y el año de registro, parámetros necesarios para modelar una cadena productiva. {{{ #!plantuml @startuml Partition Monopolios_horizontales { (*)-->"Consultar socios de\n cada una de las unidades\n económicas que conforman\n la cadena productiva" --> if "¿Se repite el RIF\n en más de una UE" then -right--> [NO] "Mostrar un aviso:\n Los socios y accionistas de\n cada unidad económica\n son diferentes" -->(*) else -left--> [SI] "Representar en una tabla\n RIF, Nombre, Unidad Económica (socio)" --> "Mostrar tabla" -right--> (*) } @enduml }}} * Modificación de una cadena productiva Para este proceso debe existir una base de datos separada del SIGESIC, que permita guardar los cambios realizados a cada cadena productiva. {{{ #!plantuml @startuml title Sistema | Usuario Partition Modificación_cadenas_productivas { (*)-->"Mostrar al lado de cada\n eslabón un checkbox" -right-->"Hacer click en los\n eslabones a eliminar" -->"Presionar el Botón Aceptar" -left--> "Generar la nueva\n cadena productiva" -->"Guardar cadena productiva\n" -->"Verificar la existencia\n de una cadena productiva\n con los mismos cambios" -->if "existen" then -->[NO] "Mostrar en pantalla\n las modificaciones realizadas\n por todos los usuarios\n incluyendo la original" else -right-->[SI] "Agregar un atributo al archivo\n que indique el número de\n de usuarios que han generado\n los mismos cambios a la cadena" --> "Mostrar en pantalla\n las modificaciones realizadas\n por todos los usuarios\n incluyendo la original" --> (*) } @enduml }}} * Visualización de datos complementarios {{{ #!plantuml @startuml Partition Visualización_datos_complementarios { (*)-->"Consultar en Base de datos\n de la Matriz Insumo Producto\n la producción generada por\n la actividad económica (CIIU)\n desarrollada por el nodo raíz" -->"Consultar en la Base de datos\n de la Matriz Insumo Producto\n los principales 5 productos importados\n por la actividad CIIU\n desarrollada por el nodo raíz" -->if "¿La unidad económica se\n encuentra en la encuesta industrial? " then -right--> [SI] "Consultar cadena productiva\n por empresa, de acuerdo a la\n encuesta industrial" --> "Mostrar cadena productiva" -left--> "Presentar la información\n consultada" else -->[NO] "Presentar la información\n consultada" --> (*) } @enduml }}} {{{#!comment * Comparación entre escenarios simulados por diversos usuarios {{{ #!plantuml @startuml Partition Comparación_entre_escenarios { (*)-->"xx" -->"xx" -->"xx" --> "xx\n yy" --> (*) } @enduml }}} }}} * Guardar escenarios de simulación Para que dicho proceso se implemente, debe crearse en la base de datos una tabla donde se encuentre el id del usuario, las variables exógenas y el nombre del escenario, de manera que el sistema sepa donde guardar los valores introducidos por el usuario. {{{ #!plantuml @startuml title Usuario | Sistema Partition Guardar_escenarios { (*)-->"Introducir en el sistema\n nombre de la unidad económica" -right-->"Buscar en la base\n de datos los productos\n asociados a la UE" -->"Mostrar una lista de\n los productos encontrados" -left--> "Seleccionar producto a consultar" -->"Introducir los datos\n solicitado por el sistema\n (niveles y año de registro)" -right--> "Construir cadena productiva" --> "Mostrar cadena en forma de\n árbol y tabla de información" --> "Presionar botón\n Construir Escenario" -right--> "Mostrar tabla de escenarios" --> "Activar botón Guardar Escenario " -left--> "Introducir valores en\n la tabla de escenarios" --> "Presionar botón Guardar Escenario" --> "Introducir nombre del escenario" --> "Definir carpeta donde\n se guardará el archivo" -right--> "Almacenar en los campos\n de la tabla de escenarios\n los datos asociados a la\n variable y nombre del archivo" --> (*) } @enduml }}} * Consulta de escenarios simulados por otros usuarios {{{ #!plantuml @startuml Partition Consulta_escenarios_de_varios_usuarios { (*)-->"Introducir en el sistema\n nombre de la unidad económica" -right-->"Buscar en la base\n de datos los productos\n asociados a la UE" -->"Mostrar una lista de\n los productos encontrados" -left--> "Seleccionar producto a consultar" -->"Introducir los datos\n solicitado por el sistema\n (niveles y año de registro)" -right--> "Construir cadena productiva" --> "Mostrar cadena en forma de\n árbol y tabla de información" --> "Presionar botón\n Consultar Escenario" -right--> "Buscar en la Tabla de escenarios\n la información solicitada" --> "Mostrar lista de escenarios\n evaluados por todos usuarios" -left--> "Seleccionar el escenario a consultar" --> "Presionar el botón Ver" -right--> "Mostrar tabla de escenario\n consultado" --> "Activar botón Evaluar Escenario" --> "Estimar las variables" --> "Mostrar resultados" --> (*) } @enduml }}} {{{#!comment * Análisis de tendencias en los escenarios simulados por los usuarios del sistema {{{ #!plantuml @startuml Partition Análisis_de_tendencias_en_escenarios_simulados { (*)-->"xx" -->"xx" -->"xx" --> "xx\n yy" --> (*) } }}} @enduml }}}