Hoy, mucho de la actividad humana depende del procesamiento de
información. Actualmente, la información no sólo puede ser almacenada,
recobrada, comunicada y difundida en grandes cantidades y velocidades,
sino que también puede ser re-ordenada seleccionada, dirigida
y transformada mediante el uso de software. Hasta hace relativamente
poco, todas estas actividades eran solo del dominio del cerebro humano.
Sin embargo, ahora, todo procesamiento mecánico y repetitivo de
información es susceptible de realizarse mediante el uso de computadoras y
software. De hecho, cualquier procesamiento, en forma de una secuencia de
operaciones que pueda ser precisamente especificada, puede realizarse sin
mayor intervención humana, de tal forma que el cerebro humano
puede dedicarse a actividades mas complejas como la creatividad, juicio,
apreciación estética o moral.

El
desarrollo de los sistemas tradicionales de ciclo de vida se originó en la
década de 1960 para desarrollar a gran escala funcional de sistemas de negocio
en una época de grandes conglomerados empresariales. La idea principal era
continuar el desarrollo de los sistemas de información en una muy deliberada,
estructurada y metódica, reiterando cada una de las etapas del ciclo de
vida. Los sistemas de información en torno a las actividades resueltas pesadas
para el procesamiento de datos y rutinas de cálculo.
Metodologías
de Desarrollo de Software tiene como objetivo presentar un conjunto de técnicas
tradicionales y modernas de modelado de sistemas que permitan desarrollar
software de calidad, incluyendo heurísticas de construcción y criterios de
comparación de modelos de sistemas.
Para tal fin se describen,
fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML),
sus diagramas, especificación, y criterios de aplicación de las mismas. Como
complemento se describirán las metodologías de desarrollo de software que
utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el
proceso de desarrollo de software más adecuado para las diferentes aplicaciones
ejemplos que se presentarán. Principalmente, se presentará el Proceso Unificado
el cual utiliza un ciclo de vida iterativo e incremental.
Cada
metodología de desarrollo de software tiene más o menos su propio enfoque para
el desarrollo de software. Estos son los enfoques más generales, que se
desarrollan en varias metodologías específicas. Estos enfoques son los
siguientes:
- Modelo en cascada: Framework
lineal.
- Prototipado: Framework
iterativo.
- Incremental: Combinación de
framework lineal e iterativo.
- Espiral: Combinación de
framework lineal e iterativo.
- RAD: Rapid Application Development, framework iterativo.