3. • A fin de poder asegurar que un sistema cumpla con el sistema
requerido por el cliente, no basta simplemente con un
levantamiento y diseño funcional, especificación de los casos de
uso y descripción de procesos. Es imprescindible la comunicación
con el Equipo de Desarrollo. Es decir, con la participación del
programador.
• Para Doc. IRS, un programador debe participar del análisis de los
problemas delineados por el ingeniero de procesos en términos de
los requerimientos detallados. Desde ahí va diseñando la estrategia
a seguir en la estructura del programa. Codifica las instrucciones
implementando algoritmos en el lenguaje de programación
adecuado. Verifica la lógica del programa preparando rutinas de
prueba. Revisa, depura y corrige los programas. Evalúa y modifica
los programas existentes para tomar en cuenta los cambios
producidos en los requerimientos del sistema. Finalmente prepara
el documento base de la ayuda de usuarios.
4. • Cualquier consideración del proceso de programación mismo debe
comenzar aislando cada una de sus fases componentes. Se
identifica las siguientes cinco fases:
1. Análisis del problema
2. Desarrollo de la solución
3. Construcción de la solución en forma de programa
4. Prueba
5. Mantenimiento
5. • El análisis del problema
• se refiere a la etapa del proceso en la que el programador toma
conocimiento del problema antes de proceder a desarrollar una
solución. Es un proceso de “introducción”, de naturaleza
cognoscitiva y muy difícil de describir. Son demasiados los
programadores que recorren esta etapa muy rápidamente, lo que
hace que entiendan mal o malinterpreten las especificaciones.
Algunos programadores prefieren devolver las especificaciones del
problema al diseñador, para reducir la posibilidad de malentendido.
Los errores que se cometen en esta etapa son con mucha
frecuencia difíciles de detectar y consumen mucho tiempo cuando
se les trata de remediar en las etapas posteriores.
6. • desarrollo de la solución
• es eminentemente creativa. Aquí se debe hacer hincapié en la
formulación del algoritmo antes que en su codificación en un
lenguaje de programación en particular. Aunque algunos podrían
argumentar que la habilidad para resolver problemas es algo innato
y que es difícil educar o mejorar la creatividad, existe suficiente
evidencia en el sentido de que algunos enfoques sistemáticos
tienen mucho valor.
• También es una alternativa recurrir a desarrollos anteriores hechos
para otras soluciones (la librería propia) y desde allí comenzar el
proceso de creación. Siempre y cuando el problema central haya
sido resuelto realmente, puesto que si no es así esta situación
acarreará problemas en las fases posteriores
7. • construcción de la solución desarrollada en
forma de un programa
real (o código). Considerando que la solución ha sido bien definida,
este proceso es casi directo, pues es un proceso mental
inmediato de las fases anteriores. Mediante rutinas, funciones,
script, procedimientos y reglas del lenguaje de programación, se va
ensamblando la aplicación de acuerdo con los estándares de estilo
y de estructura.
8. • revisión y corrección del programa
• Es inevitable realizar pruebas mientras va construyendo las
componentes de la aplicación. Todo programador experto prueba
no sólo mentalmente cada instrucción cuando la está escribiendo,
sino que va ejecutando las rutinas de cualquier módulo o sección
de su programa antes de proceder a pasar a Ambiente de Prueba,
donde probarán los que establecieron el diseño funcional del
sistema. La prueba de las aplicaciones nunca es sencilla; Es natural
que las pruebas muestran la presencia de errores y nunca se puede
demostrar la ausencia de ellos.
9. proceso de programación, el mantenimiento del
programa.
• Sin embargo, su importancia en el trabajo real nunca debe
despreciarse. En general, el costo de mantenimiento de un
programa de uso generalizado es del orden del 40% o más del
costo de su desarrollo”. Al contrario de lo que sucede con el
mantenimiento de hardware, el mantenimiento de los programas no
se refiere a la reparación o cambio de partes deterioradas, sino a
las modificaciones que deben hacerse a los defectos del diseño, lo
cual puede incluir el desarrollo de funciones adicionales para reunir
nuevas necesidades. El tiempo de los desarrolladores para producir
nuevos programas se ve siempre afectado por el tiempo que deben
dedicar al mantenimiento de los programas viejos