2. Fase del proceso del programación
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.
3. Para Decirse, 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.
Nótese que un programador debe comprender y expresarse a través
de un lenguaje de alta programación. Este conocimiento puede ser
por oficio práctico, intuición o por estudio formales . Los lenguajes de
programación utilizan formalización matemática, tanto en su
estructura como en su simbología. Sus convenciones y usos se
realizan especialmente utilizando leyes algebraicas, tales como la
Lógica de Bool, particularmente Algebra de Proposiciones, Teoría de
Conjuntos, Funciones (algebra y sus propiedades), Series
Numéricas, Recursividad, etc. y por tanto un programador trabaja
fundamentado en conceptos matemáticos.
4. Se identifica las siguientes cinco fases:
1. Análisis del problema
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.
5. Desarrollo de la solución
el 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.
6. . Construcción de la solución en forma de
programa
la 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.
7. . Prueba
La prueba de un programa es una tarea tan
creativa como su mismo desarrollo, por lo que
debe considerarse con la misma diligencia y
entusiasmo. Algunos principios de las pruebas
son claros: trátese de iniciar las pruebas de un
programa mi saboteador, casi disfrutando la
tarea de buscar un error. Hay que sospechar de
todo. Los casos de prueba deberían diseñarse a
partir de las especificaciones originales, en lugar
del programa mismo; si se efectúan a partir del
programa, algunos aspectos del problema que
han sido pasados por alto durante su
construcción también lo serán cuando se le
pruebe. Para reducir las posibilidades de que esto
ocurra en las compañías profesionales de
programación, los encargados suelen insistir en
que sean personas diferentes a los
programadores originales quienes tengan a su
cargo la prueba de los programas. Los usuarios
de los programas disponen, con frecuencia, de
sus propios datos de prueba desarrollados,
independientemente, para usarlos cuando el
programa esté a su disposición.
8. 1. . Mantenimientoel mantenimiento del programa sin
embargo, su importancia en el trabajo real nunca debe
despreciarse. En general, el costo de mantenimiento de
un neralizado 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. La inevitabilidad del
mantenimiento debe reconocerse y, en consecuencia,
deben realizarse las acciones que sean necesarias para
reducir el tiempo que ello implica
mantenimiento