Programación

En algunas organizaciones existe una separación entre las responsabilidades del programador y las del analista, pero por lo general se prefiere que ambos compartan responsabilidades en el proyecto y exista una adecuada comunicación entre ellos ya que una vez comenzada la fase de programación, el diseñador contesta preguntas, aclara dudas y maneja los problemas que enfrenta el programador cuando utiliza las especificaciones de diseño.

El encargado de desarrollar el software puede instalar (o modificar y después instalar) software comprado a terceros o escribir programas diseñados a la medida del solicitante. La elección muchas veces depende del costo de cada alternativa, en otras ocasiones depende del tiempo disponible para escribir el software y de la disponibilidad de los programadores ya que no siempre el programador (o el analista programador) pertenece al personal de la empresa.

Las empresas pequeñas, que no cuentan con programadores, por lo general contratan servicios externos de programación. La programación es parte importante de la investigación de sistemas. Las especificaciones del diseño de los programas deben desarrollarse con cuidado usando diagramas de flujo y otras técnicas, y las actividades de programación deben ser monitoreadas.

Son frecuentes los casos en que el esfuerzo de programación requerido es mucho mayor que lo que se anticipó, y los programas terminados no satisfacen la calidad esperada. Si se implanta un sistema mal desarrollado, puede ocasionar pérdidas de recursos o causar errores en los archivos de la computadora ocasionando facturas incorrectas.

Los procedimientos utilizados para controlar el desarrollo de programas son similares tanto al desarrollar los nuevos programas como al modificar los ya existentes (un procedimiento de control enlista las actividades desde el diseño del programa hasta su implantación sustituyendo al anterior).

Es recomendable que se destine una computadora (que no sea usada en los procesos de rutina) para realizar la programación, esto facilita la escritura de programas en línea lo cual aumenta la eficiencia del programador, y elimina la posibilidad de que éste altere o interfiera con el software usado para el procesamiento normal de datos mientras desarrolla sus propios programas.

Los esfuerzos de programación deben conducirse con eficiencia, la que se promueve con un buen “sistema de administración de proyectos”. La eficiencia también se mejora con las técnicas de “programación estructurada”. Esta última reduce un programa (que de otra forma sería monolítico) a varios módulos pequeños unidos para el procesamiento.

Cada módulo sólo tiene un punto de entrada y uno de salida (una interfase con un módulo precedente y una con uno siguiente), sin necesidad de usar ramificaciones, como lo ejemplifican las instrucciones GO TO de los programas. La lógica de los programas estructurados es mucho más simple y sencilla de entender que la de otros programas, lo que permite su escritura y revisión fácilmente.

El diseño, la documentación y los estándares de definiciones de datos también son ingredientes importantes en la eficiencia de programación. Los estándares de diseño tratan de los asuntos tales como los formatos de archivos y las convenciones de diagramas de flujo.

Los estándares de documentación ponen en papel los requerimientos para las descripciones narrativas, de diagramas de flujo y otras descripciones de programas. Un diccionario de datos reúne los estándares de datos que eliminan definiciones múltiples de los datos de los mismos artículos, que de otra forma podrían estar presentes en diferentes archivos y programas.

Siempre va a ser necesario un programa de estándares, sobre todo en pequeñas instalaciones de procesamiento de datos donde puede ser que sólo una persona esté relacionada con un sistema; en caso de que esa persona se vaya, la documentación estandarizada puede permitir, a otra persona, entender el sistema con mayor rapidez. Sin embargo, mantener los estándares se convierte en algo molesto bajo la presión de las fechas límites de terminación de sistemas.

Para asegurar la continuidad de un programa de estándares, se recomienda preparar un manual que detalle los estándares de la instalación. Los analistas y programadores deben entenderlos y asegurarse de su cumplimiento. Por supuesto, estos estándares requieren revisiones periódicas.

Otra forma de mejorar la eficiencia del desarrollo de programas es mediante el uso de “terminales en línea” para realizar la programación. Se supone que las eficiencias de la programación en línea duplican la productividad de los programadores.

La capacidad de desarrollar programas de procesamiento con sutileza y hacer cambios poco a poco y en su momento, en general es la base principal sobre la cual la administración evalúa el desempeño de procesamiento de datos ya que desafortunadamente es muy difícil lograr, en forma global y eficiente, el desarrollo y el mantenimiento de los programas.

Una vez concluido el desarrollo del programa, el programador es responsable de documentar adecuadamente los programas (debe proporcionar una explicación de cómo y por qué ciertos procedimientos se codifican en determinada forma). La documentación es esencial para probar el programa y llevar a cabo el mantenimiento una vez que la aplicación se encuentra instalada.

Fuente: Informática I de la facultad de contaduría y administración, UNAM.