Muchas veces nos preguntamos cuanto esfuerzo hay detras de un producto de software intangible. Normalmente las personas estamos acostumbrados que cuando compramos un producto, este facilmente lo podemos ver, tocar y casi siempre tiene un volumen considerable. El software es intangible y muchas veces uno puede pensar, ¿Cuanto pague por esta licencia?, $200.00, o que tal $20,000.00 y solo me dieron un CD y ademas tengo que pagarles la consultoría de la implementación y de remate me cobran una cuota mensual de soporte.
Estas son algunas de las situaciones a las que nos enfrentamos los vendedores de programas computacionales. Aqui tratare de explicar de manera bastente sencilla, que hacemos nosotros para producir el software que aqui en este sitio esta a la venta.
1.- Macro proceso
2.- Requerimientos obtenidos donde el cliente
Cada ves que nos reunimos con el cliente, este expone sus requerimientos y normalmente la información obtenida es totalmente desordenada. Es nuestra responsabilidad darle forma a esta, de tal manera que pueda irse moldeando el producto que necesita el cliente.Veamos el siguiente caso.
Un cliente nos pide que le creemos un sistema de facturación donde el pueda vender a diferentes clientes, ademas que el sistema de una vez descargue los inventarios cada vez que vende, luego que alimente la cuenta por cobrar cuando una venta sea realizada al credito, seguidamente que le de reportes de todo lo vendido y cuanto le deben sus clientes.
3.- Obtenidos los requerimientos, damos inicio a la creación de nuestro modelo de datos donde definimos las tablas que contendra el sistema para almacenar la información requerida
Diseñamos cuidadosamente nuestro modelo para asegurarnos que toda la información requerida por el sistema se ha considerado.4.-Creado nuestro modelo de datos, este lo escribimos en la base de datos de SQLSERVER
5.-Ahora utilizando una herramienta de desarrollo que puede Ser Visual Basic .Net, Java, PowerBuilder, etc, comensamos a definir todas las interfaces que veran los usuarios del sistema.
Lo primero que definimos es la pantalla de conexión a la base de datosEsta puede llevar una serie de codigo como el siguiente, lo cual garantiza que solo podran conectarse usuarios que han sido creados en la base de datos:
vendedor=sle_usuario.textgusuario =sle_usuario.text
if cbx_odbc.checked = true then
SQLCA.DBMS="ODBC"
SQLCA.dbparm="Connectstring='DSN="+ddlb_datasourcename.text+";"+"UID="+sle_usuario.text+";"+"PWD="+sle_password.text+"'"
else
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = ddlb_datasourcename.text
SQLCA.ServerName =sle_servidor.text
SQLCA.LogId =sle_usuario.text
SQLCA.LogPass =sle_password.text
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
end if
connect;
if SQLCA.SQLCODE <0 then
messagebox('Coneccion a la Base','No se ha podido Conectar :'+SQLCA.SQLERRTEXT)
return
else
6.- Seguidamente hacemos nuestro menu principal, el cual contendrá todas las opciones del sistema
7.- Definido nuestro menú principal, iniciamos la programación de las pantallas necesarias para todas las tablas maestras del sistema, siguiendo una plantilla estandar. Esto facilita el uso del sistema para los operadores por que solo explicamos como funciona la creación de registros en una tabla y facilmente pueden crear registros en las demas tablas.
8.- Terminado los mantenimientos comenzamos a programar las pantallas que contienen los procesos principales del sistema.
9.- Luego comenzamos a crear nuestros reportes
10.- Seguidamente creamos las consultas
11.- Después definimos procesos claves en la base de datos, estos procesos son fundamentales para garantizar el buen funcionamiento del sistema. (Reglas de negocio utilizando procedimientos almacenados y/o triguers).
12.- Cada una de las etapas anteriores vamos raelizando pruebas mediante el concepto de iteraciones. Esto nos permite ir haciendo mejoras en le camino y cada pantalla y/o reporte liberado esta listo para ser utilizado.
14.- Ya superadas las pruebas por parte de los usuarios, creamos el manual de usuario del sistema.
15.- Despues hacemos la instalación definitiva al cliente y le damos capacitación a los usuarios
16.- Damos seguimiento a la implantación de la solución hasta dejarla a entera satisfación del cliente
17.- De ahi en adelante, ofrecemos el servicio de soporte ante fallas que pudieren ocurrir o nuevas necesidades existentes.
Como pueden observar, el desarrollo de sistemas es una actividad bastante compleja, que requiere mucha experiencia. De manera simple hemos tratado de explicar los pasos que seguimos en el desarrollo de los requermientos de nuestros clientes.
Por tal razón, es que los sistemas según su complejidad pueden valer desde una pequeña cantidad de dolares hasta muchos miles. Imagínese cuantas horas hombres han sido invertidas, para tener un producto de acuerdo a las especificaciones del clietne. Asi que no se extrañe, si por un sistema se le piden varios cientos de dolares...