martes, 29 de mayo de 2012

¿Como Hacer un Software para Microfinancieras?.- Part V.- Herramientas

¿Como hacer un software para Financieras?.- Part V.- Las Herramientas.

Sin presupuesto, es difícil elaborar un sistema de microfinanzas, sobre todo porque requieren alta calidad en el sistema.
En el mundo Open Source existen herramientas igual de competitivas que en el lado comercial. Es por ello que es un gran apoyo para el proyecto.

Sistema Operativo para desarrollo.

Linux: La Navaja Suiza Hiper vitaminada, la plataforma friki por excelencia. Soporta multitud de Lenguajes, emuladores, compiladores, virtualización,  etc, etc. La plataforma 64 Bits de Linux es casi tan competitiva como la x86, así que Linux es un excelente candidato.
Pero entre todas las distros, solo las basadas en Ubuntu Y Gnome (por desgracia) prometen una estabilidad deseable sin tantos dolores de cabeza. único defecto de la Plataforma 64 bits es su integración con las ultimas versiones de java, esencial en el trabajo diario. Por lo que Linux Mint es la mejor opción.
En el mundo Linux disparata la cantidad de versiones que existen, por eso es preferible versiones comerciales de RedHat u OpenSUSE, afortunadamente Canonical liberó la versión LTS de Ubuntu, de la cual esta basada Linux Mint, con la garantía de que se mantendrá por cinco años... La Opción Linux Mint 13 64 Bits.

Base de datos de Desarrollo.

Aunque el sistema será independiente del motor de base de datos, solo MySQL cuenta con herramientas de desarrollo RAD y que son open source, además que el soporta varios engines. Postgresql tiene un entorno de desarrollo, pero todavía no es capaz de llegar a las herramientas que tiene MySQL. por lo que MySQL es la opción.
Usaremos la edición comunity de MySQL Workbench para diseñar la base de datos. SQLYog emulado con wine para ejecutar las consultas, MySQL Administrator para gestionar respaldos y AQUA Data Studio 4.7 para diseñar consultas complejas.
Recordemos que todas son Open Source y nuestro proyecto es Open Source.

Lenguaje de Desarrollo.

Al usar PHP, tambien abrimos la infinidad de herramientas que se pueden usar en el desarrollo del sistema, aunque existen muchos frameworks, no existen ninguno que soporte las reglas de negocios e interactividad usuario-sistema como lo necesitamos. así que no usaremos framework alguno. PHP es la mejor opción, solo tiene dos detalles importantes.

1. Existe un problema al operar con gran precisión (bueno, dicen que no es problema de PHP, si no del compilador).
2.- No existen tipos date definidos tal y como deberían ser. Y eso es critico en cálculos basados en tiempo.

Por supuesto, que para la interacción con el usuario usaremos jquery-mobile, ¿Porqué mobile?... pues porque lo corre un desktop y un dispositivo móvil.

Utilizaremos Librerías afines de utilerías, como para escribir pdf, excel, etc. Existen buenas practicas de programación para el llamado de archivos, buenas costumbres nacidas en Java, y que adaptaremos al lenguaje.

Para el IDE usaremos Eclipse PDT, con actualizaciones en español. Es lo más cercano a Zend Studio, algunos dicen que netbeans es mejor, pero a a mi me ha dado más lata trabajarlo, ni decir con el consumo de memoria
 Para el UML usaremos Argo UML, pues es el único que corre correctamente en Ubuntu 12.04, no decir único, pero comparando sus prestaciones, portabilidad, facilidad de uso, consumo de RAM, etc, etc... es la mejor opción.

Herramientas de Apoyo.

Usaremos Xmind para ordenar nuestra ideas, Gantt Poject para la Planeación del Desarrollo, Dropbox para sincronizar el código. Skype y pidgin para comunicarnos.

La próxima empezaremos por el diseño de la Base de Datos.

No hay comentarios: