Procesos de desarrollo más importantes
Hay que tomar en cuenta que el ciclo de vida de sistemas difiere de lo que es un proceso de desarrollo de software o también conocido como modelo de proceso de software, al respecto Weintzenfeld dice:
Un modelo de proceso de software define cómo solucionar la problemática del desarrollo de sistemas de software. Para desarrollar software se requiere resolver ciertas fases de su proceso, las cuales se conocen en su conjunto como el ciclo de vida del desarrollo de software.
Un modelo de proceso debe considerar una variedad de aspectos, como el conjunto de personas, estructuras organizacionales, reglas, políticas, actividades, componentes de software, metodologías y herramientas utilizadas.
La ingeniería de software es una tecnología multicapa. Cualquier enfoque de ingeniería (incluida ingeniería del software) debe apoyarse sobre un compromiso de organización de calidad.
El fundamento de la ingeniería del software es la capa de proceso. El proceso de la ingeniería de software es la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y oportuno de la ingeniería de software.
El proceso define un marco de trabajo para un conjunto de áreas clave de proceso que se deben de establecer para la entrega efectiva de la tecnología de la ingeniería de software.
Las áreas clave del proceso forman la base de control de gestión de proyectos del software y establecen el contexto en el que se aplican los métodos técnicos, se obtienen productos del trabajo (modelos, documentos, datos, informes, formularios, etc.), se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente.
Los métodos de la ingeniería del software indican cómo construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento.
Los métodos de la ingeniería de software dependen de un conjunto de principios básicos que gobiernan cada área de la tecnología e incluyen actividades de modelado y otras técnicas descriptivas.
De los procesos de desarrollo de software más utilizados en la industria del software tenemos: Rational Unified Process y Extreme Programming, aunque hay otros procesos, analizaremos sólo los mencionados.
RUP (Rational Unified Process – Proceso Unificado de Rational).- RUP es un proceso de ingeniería de software, como tal proporciona una estrategia para asignar tareas y responsabilidades en el equipo de desarrollo. Su meta es asegurar la producción de software con calidad de acuerdo con las necesidades de los usuarios finales en calendario y presupuesto planeado.
RUP es un proceso y a la vez un producto que es desarrollado y mantenido por Rational Software, y está integrado con una suite de herramientas de desarrollo.
Buenas prácticas de RUP
RUP, también, es el marco de trabajo de un proceso que puede ser adaptado y extendido de acuerdo con las necesidades de la organización que lo adopta. RUP captura 6 buenas prácticas del desarrollo de software moderno
Fuente: Apuntes de Informática IV de la FCA de la UNAM