[[TOC(heading=This section pages, WikiStart, PropuestaDesarrollo16, AnalisisDominio16, IdentificacionFuncionalidades16, EstandaresDesarrollo16, AnalisisyDiseno16, PrototipoInterfaz, Codificacion16, Pruebas16, Liberacion16, noheading, heading=Tabla de Contenido)]] = Especificación de las Funcionalidades = == 1.- Cargar Matriz - (Optimizar V. 1.2) == {{{ #!plantuml @startuml title Cargar Matriz de Contabilidad Social left to right direction Sistema -- (Solicitar parámetros\n de la matriz) note right of (Solicitar parámetros\n de la matriz) ruta del archivo, y número\n de decimales que mostrará\n el sistema. end note Sistema -- (Leer archivos .csv) Sistema -- (Mostrar Matriz) @enduml }}} ||'''''Nombre del caso de uso:'''''[[BR]]||Cargar Matriz de Contabilidad Social (Optimización)|| ||'''''Actores participantes:'''''[[BR]]||Usuario|| ||'''''Condiciones de entrada:'''''[[BR]]||El usuario cuenta con archivo .csv donde se encuentra tanto los nombres de las cuentas (primera fila) y sub-cuentas(segunda fila) como los valores de cada una de las celdas|| ||'''''Condiciones de salida:'''''[[BR]]||Es sistema muestra en la interfaz la matriz cargada|| ||'''''Flujo de básico:'''''[[BR]]||1.- El usuario hace click sobre el menú archivo.\\2.- El sistema despliega tres opciones: Nuevo Proyecto, Cargar Matriz, Exportar Matriz y Salir. \\3.- El Usuario selecciona '''Cargar Matriz'''\\4.- El sistema despliega una ventana solicitando: número de decimales y lugar donde se encuentra ubicado el archivo .csv \\ 5.- El Usuario introduce los datos solicitados\\6.- El Sistema verifica la validez de los datos. \\ 7.- Sistema carga archivo .csv \\8.- El Sistema identifica en la primera fila el número y nombre de las cuentas. \\9.- El sistema duplica y traspone dicha fila y la coloca en la primera columna \\10.- El Sistema identifica en la segunda fila el nombre de las sub-cuentas.\\9.- El sistema duplica y traspone dicha fila y la coloca en la segunda columna \\ 11. El sistema suma cada una de las filas '''i''' y guarda cada valor en un vector columna.\\12.- El sistema suma cada una de las columnas '''j''' y guarda cada valor en un vector fila.\\13.- El sistema verifica que el total de la fila i-ésima sea igual a la columna j-ésima.\\---13.a.- Si el total de la Fila i-ésima es diferente al total de la columna j-ésima el sistema muestra un aviso.\\ 14.- El sistema muestra la matriz con división de las cuentas, tanto en las filas como columnas.\\|| ||'''''Requisitos especiales:'''''||El archivo .csv debe tener el nombre de las filas(y columnas) sólo en la primera fila, estos nombres se replicaran y se colocaran por el lado de la columna.|| == 2.- Estimar coeficientes técnicos -Versión 1.0 == {{{ #!plantuml @startuml title Coeficientes Técnicos left to right direction Sistema -- (Sumar total de\n la columna j-ésima) Sistema -- (Sumar total de\n la fila i-ésima) (Sumar total de\n la columna j-ésima) --> (Dividir cada elemento\n de la matriz con el\n total columna j-ésima) (Sumar total de\n la fila i-ésima) --> (Dividir cada elemento\n de la matriz con el\n total fila i-ésima) Sistema --(Mostrar resultados obtenidos) Sistema -- (Exportar matriz en formato .csv) @enduml }}} ||'''''Nombre del caso de uso:'''''[[BR]]||Coeficientes Técnicos|| ||'''''Actores participantes:'''''[[BR]]||Usuario|| ||'''''Condiciones de entrada:'''''[[BR]]||Ya debe estar cargada la matriz base|| ||'''''Condiciones de salida:'''''[[BR]]||Es sistema muestra en la interfaz la matriz de coeficientes técnicos|| ||'''''Flujo de básico:'''''[[BR]]||1.- El usuario hace click en el menú '''Herramienta'''\\2.- El usuario selecciona una de las opciones '''Coeficientes técnicos'''\\3.- El sistema muestra un sub-menú: a.- Verticales. b.- Horizontales.\\4.- El usuario selecciona una de las opciones\\5.- El sistema calcula el total por fila o columna según sea el caso.\\6.- El sistema divide cada uno de los elementos de la matriz por columna o fila de acuerdo caso. \\7.- El Sistema verifica que el total de la columna o fila sea igual a (1) de acuerdo al caso. \\9.- El Sistema muestra los resultados en una pestaña.|| == 3.- Definir variables exógenas (Optimizar V. 1.2) == {{{ #!plantuml @startuml title Clasificar Cuentas Endógenas - Exógenas left to right direction Usuario -- (Seleccionar Cuentas) (Seleccionar Cuentas)--> (Seleccionar sub-cuentas) Sistema -- (Mostrar matriz\n endógena-endógena) Sistema -- (Exportar matriz en formato .csv) @enduml }}} ||'''''Nombre del caso de uso:'''''[[BR]]||Definir Cuentas Exógenas|| ||'''''Actores participantes:'''''[[BR]]||Usuario|| ||'''''Condiciones de entrada:'''''[[BR]]||Ya debe estar cargada la matriz base|| ||'''''Condiciones de salida:'''''[[BR]]||Se muestra pestaña con la matriz Endógenas -Endógenas y la pestaña: Tipo de Variable muestra las cuentas endógenas y exógenas|| ||'''''Flujo de básico:'''''[[BR]]||1.- El Usuario hace click en el Menú '''Herramientas'''\\2.- El Usuario hace click sobre la opción '''Definir Variables Exógenas'''.\\3.- Es Sistema muestra una ventana preguntando si seleccionará las variables exógenas por cuenta o sub-cuenta.\\---3.1.- Si selecciona '''Cuenta''': El sistema mostrará una lista de la cuentas.\\------a.- Usuario podrá seleccionar más de una opción.\\------b.- Usuario presiona el botón '''Finalizar'''.\\---3.2.- Si el usuario selecciona '''Sub-cuenta''': el sistema mostrará un panel con las cuentas y otro con las sub-cuentas.\\------a.- Usuario selecciona cuenta.\\------b.- Sistema actualiza y muestra las sub-cuentas asociadas a la cuenta.\\------c.- Usuario selecciona un o más sub-cuentas y presiona el botón '''Agregar'''\\------d.- Usuario repite el procedimiento a). Una vez, que seleccione todas las sub-cuentas exógenas el usuario deberá presionar el botón '''Finalizar'''.\\4.- Sistema muestra matriz endógena-endógena.\\5.- Sistema muestra matriz base identificando las cuentas exógenas y endógenas.|| == 4. Encadenamientos - (Optimizar V. 1.2) == {{{ #!plantuml @startuml title Encadenamiento left to right direction Sistema -- (Estimar Encadenamientos) Sistema -- (Exportar matriz en formato .csv) @enduml }}} ||'''''Nombre del caso de uso:'''''[[BR]]||Encadenamientos|| ||'''''Actores participantes:'''''[[BR]]||Usuario|| ||'''''Condiciones de entrada:'''''[[BR]]||Ya debe estar cargada la matriz base|| ||'''''Condiciones de salida:'''''[[BR]]||Se muestra los encadenamientos por sub-cuentas y cuentas|| ||'''''Flujo de básico:'''''[[BR]]||1.- El Usuario hace click en el Menú '''Herramientas'''\\2.- El Usuario hace click sobre la opción '''Estimar Encadenamientos'''.\\3.- Es Sistema muestra una ventana preguntando si desea ver los encadenamientos por cuenta o sub-cuenta.\\---3.1.- Si selecciona '''Cuenta''': El sistema mostrará una lista de la cuentas.\\------a.- Usuario podrá seleccionar más de una opción.\\------b.- Usuario selecciona matriz a utilizar An (efectos directos) o Ma (efectos directos e indirectos)\\------c.- Usuario presiona el botón '''Finalizar'''.\\---3.2.- Si el usuario selecciona '''Sub-cuenta''': el sistema mostrará un panel con las cuentas y otro con las sub-cuentas.\\------a.- Usuario selecciona cuenta.\\------b.- Sistema actualiza y muestra las sub-cuentas asociadas a la cuenta.\\------c.- Usuario selecciona un o más sub-cuentas y presiona el botón '''Agregar'''\\------d.- Usuario repite el procedimiento a). Una vez, que seleccione todas las sub-cuentas exógenas el usuario deberá presionar el botón '''Finalizar'''.\\------d.- Usuario selecciona matriz a utilizar An (efectos directos) o Ma (efectos directos e indirectos)\\4.- Sistema estima los encadenamientos (Ver en el siguiente apartado las operaciones).\\5.- Sistema muestra matriz base identificando las encadenamiento hacia atrás y hacia adelante.|| ||Requerimientos especiales:||El usuario también tendrá la opción de seleccionar Matriz Endógena-Endógena|| '''Operaciones Encadenamiento''' `4.a. Matriz Base` ||Nombre||Cuenta 1||Cuenta 2||Cuenta 3|| ... ||Cuenta j|| ||Cuenta 1||T,,11,,||T,,12,,||T,,13,,||...||T,,1j,,|| ||Cuenta 2||T,,21,,||T,,22,,||T,,23,,||...||T,,2j,,|| ||Cuenta 3||T,,31,,||T,,32,,||T,,33,,||...||T,,3j,,|| ||....||...||...||...||...||...|| ||Cuenta i||T,,i1,,||T,,i2,,||T,,i3,,||...||T,,ij,,|| `4.b. Total Columna` Sumatoria (T,,j,,) vector fila: ||Total j-ésima columna||T,,1,,||T,,2,,||T,,3,,||...||T,,j,,|| `4.c. Total Fila` Sumatoria (T,,i,,) Vector Columna: ||Total i-ésima fila|| ||T,,1,,|| ||T,,2,,|| ||T,,3,,|| ||...|| ||T,,i,,|| `4.d. Sub-Matriz Endógena-Endógena` : Es definida por el usuario. ||Nombre||Cuenta 1||Cuenta 2||Cuenta j|| ||Cuenta 1||T,,11,,||T,,12,,||T,,1j,,|| ||Cuenta 2||T,,21,,||T,,22,,||T,,2j,,|| ||Cuenta i||T,,i1,,||T,,i2,,||T,,ij,,|| `4.e. Estimar An` Matriz de Coeficientes Técnicos i. Dividir cada elemento '''T,,ij,,''' de la sub-matriz endógena-endógena por el total columna '''T,,j,,'''. ||Nombre||Cuenta 1||Cuenta 2||Cuenta j|| ||Cuenta 1||a,,11,,||a,,12,,||a,,1j,,|| ||Cuenta 2||a,,21,,||a,,22,,||a,,2j,,|| ||Cuenta i||a,,i1,,||a,,i2,,||a,,ij,,|| i. Encadenamiento hacia adelante con An: Sumar cada fila. (a,,i1,, + a,,i2,, + a,,ij,,)= a,,i,, Vector Columna: ||Nombre||Total i-ésima fila|| ||Cuenta 1||a,,1,,|| ||Cuenta 2||a,,2,,|| ||Cuenta i||a,,i,,|| En caso que la estructura de la matriz tenga cuentas y sub-cuentas, el sistema calculará además los encadenamientos parciales por cuenta, la suma de todas las filas de las sub-cuentas que conformen la cuenta k-ésima. i. Encadenamiento hacia atrás con An: Sumar cada columna. (a,,1j,, + a,,2j, + a,,ij,,)= a,,j,, vector fila: ||Total j-ésima columna||a,,1,,||a,,2,,||a,,3,,||...||a,,j,,|| En caso que la estructura de la matriz tenga cuentas y sub-cuentas, el sistema calculará además los encadenamientos parciales por cuenta, la suma de todas las columnas de las sub-cuentas que conformen la cuenta k-ésima. == 5. Clasificar Cuentas - (Optimizar V. 1.2) == {{{ #!plantuml @startuml title Clasificar Cuenta left to right direction Sistema -- (Clasificar Cuenta) Sistema -- (Exportar matriz en formato .csv) Sistema -- (Generar reporte) @enduml }}}