Antecedentes
Es un sistema financiero, propio de Bolivia, que mantiene aún la sabiduría ancestral para solucionar los problemas de supervivencia humana. Es un procedimiento simple y solidario, basado en la confianza mutua y en el control social, sin la relevancia de contratos.
El Pasanaku es mucho más que un acuerdo económico, tiene un fondo de ayuda mutua para cooperación mutua entre amigos, compañeros o familiares. Consiste en conformar un grupo de personas que se comprometen a aportar un monto económico o que se entrega periódicamente y por turno a cada uno de los participantes de la sociedad transitoria hasta que todos los participantes hayan recibido el monto económico total de aporte de todos los participantes.
El pasanaku, considerado como un sistema rudimentario de ahorro y financiamiento se ha ido rescatando y practicando en los grupos sociales más diversos y ha ido difundiéndose desde la zona occidental de Bolivia hasta el oriente.
Los aportes diarios, semanales o mensuales van desde sumas muy pequeñas como 1,00 Bs. (casos de niños, comerciantes minoristas o vendedores ambulantes), hasta miles de dólares (casos de comerciantes mayoristas, dueños de locales de diversión, importadores y exportadores de mercaderías, etc).
El proceso se realiza de la siguiente manera: Alguien que está en necesidad de dinero busca ayuda para conformar un grupo que esté de acuerdo en cooperar "jugando" un Pasanaku. Cada componente aporta una cantidad semanal o mensual. La primera vez se entrega el dinero al necesitado para que invierta o solucione su problema (el primero que recibe no requiere tener su cuota). La segunda entrega se hace a otro que tiene mayor necesidad que los restantes y en esta segunda vez y posteriores ya se cuenta con la cuota del primer beneficiado. Así sucesivamente. Hay quienes prefieren recibir los últimos turnos, por considerar sus cuotas como un ahorro para determinados fines. Por ejemplo se adscriben a un Pasanaku que se inicia en Febrero o Marzo, calculando recibir su turno para las fiestas de fin de año.
El Pasanaku no sólo se "juega" con dinero en efectivo, muchas veces se lo hace con diversas especies de productos alimenticios, enseres para el hogar o cualesquier producto que acuerdan, generalmente, las amas de casa, quienes son las más afectas a solucionar de esta forma las carencias del hogar, debidas a los bajos ingresos por salarios. Muchas veces es una costumbre criticada u otras es venerada, ya que mas que por colaborar uno puede llegar a ahorrar por miedo a la exclusión social.
Resumen
En la presente documentación se explica y documenta la aplicación realizada para la materia programación III de la Universidad Católica Boliviana "San Pablo", materia de la carrera de Ingeniería de Sistemas. Este proyecto tuvo como objetivo abstraer el juego del Pasanaku mediante el desarrollo del juego en Android. Por otra parte se hizo uso de la base de datos SQlite, varios patrones de diseño y técnicas en programación aprendidas en la materia.
Conceptos Generales
Android es un sistema operativo inicialmente pensado para teléfonos móviles, al igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma.
El sistema permite programar aplicaciones en una variación de Java llamada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido como es Java.
SQLite es un sistema de gestión debases de datos relacional compatible con ACID, contenida en una relativamente pequeña escrita en C. Por otra parte es un proyecto de dominio público1 creado por D. Richard Hipp.
A diferencia de los sistema de gestión de bases de datos cliente–servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.
Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.
La lista circular es una especie de lista enlazada simple o doblemente enlazada, pero que posee una característica adicional para el desplazamiento dentro de la lista, "ésta no tiene fin". Para que la lista sea sin fin, el puntero siguiente del último elemento apuntará hacia el 1er elemento de la lista en lugar de apuntar al valor NULL, como hemos visto en el caso de listas enlazadas simples o doblemente enlazadas En las listas circulares, nunca se llega a una posición en la que ya no sea posible desplazarse.
Cuando se llegue al último elemento, el desplazamiento volverá a comenzar desde el primer elemento.
Este tipo de listas fueron utilizadas para el sorteo de ganadores en el presente juego.
Desarrollo
Primero se desarrolló un entorno grafico para una buena interacción con el usuario.
Se desarrolló el registro de usuario que brinda seguridad a la aplicación, este registro de nombre y contraseña solo sucede la primera vez que se utiliza la aplicación. Para los posteriores usos de la aplicación la siguiente pantalla es la que será mostrada.
Cabe recalcar que si el usuario olvida la contraseña y intenta ingresar una contraseña errada entonces se procede a la recuperación de contraseña.
Luego del ingreso por primera vez tenemos un activity que nos muestra los pasos a seguir para jugar además de mostrarnos en que consiste el juego.
Lo siguiente es el activity principal, explicare este con mas detalle.
1: Botón para desplegar el menú izquierdo, este nos permite configurar el nombre de usuario y contraseña.
2: Boton para agregar un nuevo participante en el juego.
3: Icono que nos indica que jugadores son cumplidos con los pagos y quiénes no.
4: Identifica la prioridad del participante para ganar el juego por el periodo de tiempo.
5: Botón que nos permite visualizar el menú inferior, a su vez este nos permite ver la presentación de ayuda como también realizar el sorteo para el ganador del Pasanaku.
En el ingreso de participantes del juego tenemos la siguiente tabla:
En el que debemos de acceder el nombre del usuario, el apellido, teléfono, dirección.
Tambein debemos de escoger si el participante es cumplido o deudor. Por default todo participante es cumplido pero cuando el pase el primer mes todos los usuarios se vuelven deudores. El usuario que controla el juego debe cambiar esto según el pago de los participantes.
Alguno de los métodos más importantes en el desarrollo de la aplicación fueron:
DataBaseHelper nos permite crear la base de datos, crear la tabla jugador, como también actualizar la base de datos en el caso de que se hayan modificado algunos campos
La clase DBAdapter nos permite ingresar nuevos jugadores, actualizar algún jugador en específico, realizar consultas ordenas por prioridad, como también eliminar jugadores.
El sorteo de los jugadores es realizado por el siguiente método:
Donde la lista dará tantas vueltas determine n, una especie de ruleta rusa.
Autor:
Edwin Salcedo