El Software
Se define como proceso, en este caso particular, al conjunto ordenado de pasos a seguir 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. 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.
Considerando los de gran porte, es necesario realizar complejas tareas. La complejidad de ello ha llevado aque 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 pueden realizar la tarea. Aunque, siempre en casos de mediano y gran porte se deben seguir ciertas etapas que son necesarias para la construcción del software. Tales etapas 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.
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 objetivosprevistos, y con variedad de fallos inaceptables. Entre tales procesos los hay ágiles o livianos (ejemplo XP), pesados y lentos (ejemplo RUP), y variantes intermedias. 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.
Se estima que, del total deproyectos software grandes emprendidos, un 28% fracasan, un 46% caen en severas modificaciones que lo retrasan y un 26% son totalmente exitosos.
Cuando un proyecto fracasa, rara vez es debido a fallas técnicas, la principal causa de fallos y fracasos es la falta de aplicación de una buena metodología o proceso de desarrollo. Entre otras, una fuerte tendencia, desde hace pocas décadas, es mejorarlas metodologías o procesos de desarrollo, o crear nuevas y concientizar a los profesionales de la informática a su utilización adecuada. Normalmente los especialistas en el estudio y desarrollo de estas áreas (metodologías) y afines (tales como modelos y hasta la gestión misma de los proyectos) son los ingenieros en software, es su orientación.
Es común para el desarrollo de software de medianoporte que los equipos humanos involucrados apliquen metodologías propias, normalmente un híbrido de los procesos anteriores y a veces con criterios propios.
El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión y el gerenciamiento. Pero casi siempre se cumplen ciertas etapas mínimas; las que se pueden resumir comosigue:
Captura, elicitación, especificación y análisis de requisitos (ERS)
Diseño
Codificación
Pruebas (unitarias y de integración)
Instalación y paso a producción
Mantenimiento
Modelos de proceso o ciclo de vida
Para cada una de las fases o etapas listadas en anteriormente, existen sub-etapas (o tareas). El modelo de proceso o modelo de ciclo de vida utilizado para el desarrollo define elorden de las tareas o actividades involucradas, también define la coordinación entre ellas, y su enlace y realimentación. Entre los más conocidos se puede mencionar: modelo en cascada o secuencial, modelo espiral y el modelo iterativo incremental.
Modelo cascada
El modelo en cascada puro, difícilmente se utiliza tal cual, pues esto implicaría un previo y absoluto conocimiento de los...
Regístrate para leer el documento completo.