Se define como proceso al
conjunto ordenado de pasos a seguir para llegar a la solución de un problema u
obtención de un producto, en este caso particular, para lograr un producto
software que resuelva un problema específico.
El proceso de creación de
software puede llegar a ser muy complejo, dependiendo de su porte,
características y criticidad del mismo. Por ejemplo la creación de un sistema
operativo es una tarea que requiere proyecto, gestión, numerosos recursos y
todo un equipo disciplinado de trabajo. En el otro extremo, si se trata de un
sencillo programa (por ejemplo, la resolución de una ecuación de segundo
orden), éste puede ser realizado por un solo programador (incluso aficionado)
fácilmente. Es así que normalmente se dividen en tres categorías según su
tamaño (líneas de código) o costo: de «pequeño», «mediano» y «gran porte».
Existen varias metodologías para estimarlo, una de las más populares es el
sistema COCOMO que provee métodos y un software (programa) que calcula y provee
una aproximación de todos los costos de producción en un «proyecto software»
(relación horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a
lenguaje usado, etc.).
Considerando los de gran
porte, es necesario realizar complejas tareas, tanto técnicas como de gerencia,
una fuerte gestión y análisis diversos (entre otras cosas), la complejidad de
ello ha llevado a que desarrolle una ingeniería específica para tratar su
estudio y realización: es conocida como Ingeniería de Software.
En tanto que en los de mediano
porte, pequeños equipos de trabajo (incluso un avezado analista-programador
solitario) pueden realizar la tarea. Aunque, siempre en casos de mediano y gran
porte (y a veces también en algunos de pequeño porte, según su complejidad), se
deben seguir ciertas etapas que son necesarias para la construcción del
software. Tales etapas, si bien deben existir, son flexibles en su forma de
aplicación, de acuerdo a la metodología o proceso de desarrollo escogido y
utilizado por el equipo de desarrollo o por el analista-programador solitario
(si fuere el caso).
Los «procesos de desarrollo
de software» poseen reglas preestablecidas, y deben ser aplicados en la
creación del software de mediano y gran porte, ya que en caso contrario lo más
seguro es que el proyecto no logre concluir o termine sin cumplir los objetivos
previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras).
Entre tales «procesos» los hay ágiles o livianos (ejemplo XP), pesados y lentos
(ejemplo RUP), y variantes intermedias. Normalmente se aplican de acuerdo al
tipo y porte del software a desarrollar, a criterio del líder (si lo hay) del
equipo de desarrollo. Algunos de esos procesos son Programación Extrema (en
inglés eXtreme Programming o XP), Proceso Unificado de Rational (en inglés
Rational Unified Process o RUP), Feature Driven Development (FDD), etc.
Por Rocio Rocio Ramirez PDVSA
No hay comentarios.:
Publicar un comentario