Introducción a RUP: Mejores Prácticas para el Desarrollo de Software
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,01 KB
Introducción a RUP
Mejores Prácticas para el Desarrollo de Software
Administrar los Requerimientos
Arquitecturas Basadas en Componentes - Enfoque sistemático que involucra:
- Área Clave de Proceso para CMM (Modelo de Capacidad y Madurez)
- Los requerimientos pueden ser adecuadamente capturados y comunicados a través de Casos de Uso.
- Los Casos de Uso son importantes instrumentos de planificación.
Arquitecturas Basadas en Componentes
- Vista Lógica: Usuario - Funcionalidad
- Vista del Proceso: Performance, Escalabilidad, Rendimiento
- Vista de Implementación: Programadores, Administración del Software
- Vista de Desarrollo: Ingeniería: Topología, Distribución, Instalación, Comunicación
Beneficios de Administrar los Requerimientos:
- Las comunicaciones están basadas en requerimientos bien definidos.
- Los requerimientos pueden ser priorizados, filtrados y monitoreados.
- Es posible realizar evaluaciones objetivas acerca del éxito de un proyecto.
- Las inconsistencias se detectan fácilmente.
- Con herramientas adecuadas: repositorio de requerimientos, con atributos y relaciones.
Modelar Software Visualmente
Diagramas de Casos de Uso
Diagramas de Clases
Diagramas de Estados
Diagramas de Componentes
Diagramas de Implementación
Beneficios de Modelar Software Visualmente:
- Los casos de uso permiten especificar comportamiento sin ambigüedades.
- Quedan expuestas las arquitecturas inflexibles o no modulares.
- El diseño refleja sus inconsistencias más rápidamente.
- Existen herramientas que proveen soporte para la modelización visual.
Verificar la Calidad del Software
La actividad fundamental de esta práctica es el testing.
Evaluar continuamente la calidad de un sistema con respecto a funcionalidad, confiabilidad, performance.
Beneficios de Verificar la Calidad:
- La evaluación del estado del proyecto es objetiva, se evalúan resultados de test.
- Se exponen inconsistencias en requerimientos, diseños e implementaciones.
- Se focaliza en las áreas de riesgo más alto.
- Los defectos se identifican en forma temprana.
- Existen herramientas automatizadas para el testing de funcionalidad, confiabilidad y performance.
Controlar los Cambios al Software
Controlar, registrar y monitorear los cambios para posibilitar el desarrollo iterativo.
Establecer “Espacios de trabajo” seguros para cada desarrollador.
Automatizar la integración y la administración de “Módulos”.
Beneficios de Controlar los Cambios:
- Las solicitudes de cambios formales facilitan la claridad de comunicación.
- Los espacios de trabajo aislados reducen la interferencia entre los miembros del equipo que trabajan en paralelo.
- Las estadísticas de cantidad de cambios proveen buenas métricas para evaluar objetivamente el estado del proyecto.
- La propagación del cambio es evaluable y controlable.
Los Síntomas que Indican la Necesidad de RUP
No se comprendieron las necesidades del usuario.
No se previó el impacto de los requerimientos de cambios.
Se descubrieron muy tarde falencias graves en el Proyecto.
Hay módulos que no se pueden integrar.
Interferencias entre los miembros del equipo.
RUP - Principales Beneficios
- Provee lineamientos para un desarrollo eficiente de software de calidad.
- Captura y presenta las mejores prácticas.
- Permite aprender de la experiencia anterior.
- Disponer de un “mentor en su desktop”.
- Extensión del material de capacitación.
- Promueve una visión y una cultura “común”.
- Guías sobre cómo utilizar herramientas.
- Reduce “riesgos” e incrementa la productividad.
El Ciclo de Vida del Software - Etapas
- Concepción: La idea. La visión del producto y su objeto de negocio.
- Elaboración: Planeamiento de actividades, recursos, cualidades, arquitectura.
- Construcción: Construcción del producto. Evolución de la visión, arquitectura, planes.
- Transición: Liberación del producto a la comunidad de usuarios.
- Evolución: Siguientes versiones.
Estructura del Ciclo de Vida
Cuatro fases consecutivas en desarrollo: Conceptualización, Elaboración, Construcción, Transición.
Un Proceso
Define “Quién” está haciendo “Qué”, “Cuándo” y “Cómo” alcanzar un objetivo. En la Ingeniería de Software el objetivo es construir un producto de software o actualizar uno existente.