Disciplinas de la RUP

Administración de Proyectos. La administración de proyectos de software es el arte de balancear los objetivos, los riesgos y las restricciones para entregar un producto que satisfaga las necesidades del cliente y los usuarios finales.

Sus propósitos son:

– Proveer de un marco de trabajo para administrar proyectos de software.
– Proveer líneas guía para planear, organizar, ejecutar y controlar proyectos.
– Proveer un marco de trabajo para administrar el riesgo.

Modelado Negocio. Sus propósitos son:

– Entender la estructura y la dinámica de la organización en que el sistema se desarrollará.
– Entender el problema correcto en la organización destino e identificar mejoras potenciales.
– Asegurar que los clientes, usuarios finales, y desarrolladores tengan un común entendimiento en la organización destino.
– Identificar los requerimientos del sistema para apoyar la organización destino.

Requerimientos. Describe cómo definir la visión del sistema y traducir la visión a un modelo de casos de uso que, con el apoyo de especificaciones suplementarias, defina los requerimientos detallados de software.

Además, describe cómo los atributos de los requerimientos ayudan a administrar el alcance y cambiar los requerimientos en el sistema.

Las metas son:

– Establecer y mantener el acuerdo con los clientes y los demás stakeholders de lo que debe hacer el sistema y por qué.
– Provee a los desarrolladores del sistema un mejor entendimiento de los requerimientos del sistema.
– Define los límites del sistema.
– Provee una base para la planeación de cada iteración.
– Provee una base para estimar el costo y tiempo de desarrollo del sistema.

Análisis y Diseño. Su propósito es traducir los requerimientos a especificación que describan cómo implementar el sistema. Para hacer esta traducción, se debe entender los requerimientos y transformarlos a un diseño de sistema para seleccionar la mejor estrategia de implementación.

Implementación.

Sus propósitos son:

– Definir la organización del código en términos de implementación de subsistemas organizados en capas.
– Implementar clases y objetos en términos de componentes (archivos fuente, binarios, ejecutables, y otros).
– Probar los componentes desarrollados como unidades.
– Integrar en un sistema ejecutable los resultados producidos por implementadores individuales o por equipos.

Pruebas. Esta disciplina es un proveedor de servicios a otras disciplinas. Las pruebas se enfocan principalmente en evaluar y asegurar la calidad del producto, usando ciertas prácticas principales:

– Encontrar y documentar la fallas en el producto de software: defectos y problemas.
– Aconsejar a la administración desde una perspectiva de calidad del software.
– Validar que el producto de software trabaje como se diseño.
– Validar que los requerimientos están implementados apropiadamente.

Administración de Cambios y la Configuración. Su propósito es rastrear y mantener la integridad de la evolución de los activos del proyecto.

Durante el desarrollo muchos productos de trabajo son creados, los cuales son activos importantes que deben ser salvaguardados y estar disponibles para volver a usarlos.

Estos productos de trabajo evolucionan, especialmente en un desarrollo iterativo, son actualizados una y otra vez. Al menos que una persona sea usualmente responsable de un artefacto, no podemos confiar en la memoria individual para guardar los activos de cada proyecto.

Ambiente. Su propósito es apoyar el desarrollo de la organización con procesos y herramientas.

Esto incluye lo siguiente:

– Seleccionar y adquirir herramientas.
– Configurar las herramientas en la organización.
– Configurar el proceso.
– Mejorar el proceso.
– Proporcionar apoyo técnico a los procesos de: infraestructura de tecnologías de información, administración de contabilidad, recuperación.

Despliegue. Su propósito es llevar el producto de software al usuario, lo que involucra las siguientes actividades:

– Probar el software en ambiente final de operación.
– Empaquetar el software para su entrega.
– Distribuir el software.
– Instalar el software.
– Capacitar a los usuarios finales y a los vendedores.
– Migrar software existente o convertir bases de datos.

XP (Extreme Programming – Programación Extrema).

XP es un método que tiene como objetivo principal disminuir el costo del cambio en los requerimientos, a través de valores, principios, prácticas, etc.

XP intenta mantener relativamente fijo el costo del cambio en cada una de las etapas del proyecto.

XP cuenta con 4 áreas y cada una de ellas define un conjunto de prácticas

Fuente: Apuntes de Informática IV de la FCA de la UNAM