[[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
}}}