¿Qué es un Proceso de Desarrollo de SW?
Define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo
No existe un proceso de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable
Rational Unified Process (RUP)
El Proceso Unificado Racional (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo a necesidades.
Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el Rational Unified Process, que se vendiera como producto independiente.
Dos dimensionesFases e Hitos (Milestones)
Elementos en RUP
- Workflows (Disciplinas)
Workflows Primarios
- Business Modeling (Modado del Negocio)
- Requirements (Requisitos)
- Analysis & Design (Análisis y Diseño)
- Implementation (Implementación)
- Test (Pruebas)
- Deployment (Despliegue)
Workflows de Apoyo
- Environment (Entorno)
- Project Management (Gestión del Proyecto)
- Configuration & Change Management (Gestión de Configuración y Cambios)
Analyst workers
- Business-Process Analyst
- Business Designer
- Business-Model Reviewer
- Requirements Reviewer
- System Analyst
- Use-Case Specifier
- User-Interface Designer
- Architect
- Architecture Reviewer
- Capsule Designer
- Code Reviewer
- Database Designer
- Design Reviewer
- Designer
- Implementer
- Integrator
- Test Designer
- Tester
- Change Control Manager
- Configuration Manager
- Deployment Manager
- Process Engineer
- Project Manager
- Project Reviewer
- Any Worker
- Course Developer
- Graphic Artist
- Stakeholder
- System Administrator
- Technical Writer
- Tool Specialist
Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividades
- Un artefacto puede ser un documento, un modelo o un elemento de modelo
Conjuntos de Artefactos
- Business Modeling Set
- Requirements Set
- Analysis & Design Set
- Implementation Set
- Test Set
- Deployment Set
- Project Management Set
- Configuration & Change Management Set
- Environment Set
- Proceso Dirigido por los Casos de Uso
- Proceso Iterativo e Incremental
- Proceso Centrado en la Arquitectura
Proceso Iterativo e Incremental
- El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes
- En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala.
- Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes.
- Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración
Cada iteración comprende:
- Planificar la iteración (estudio de riesgos)
- Análisis de los Casos de Uso y escenarios
- Diseño de opciones arquitectónicas
- Codificación y pruebas. La integración del nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción
- Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos)
- Preparación de la entrega (documentación e instalación del prototipo)
Arquitectura de un sistema es la organización o estructura de sus partes más relevantes
Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades
RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
Fases del Ciclo de Vida
El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto
Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones
Las fases son:
- Inicio o Estudio de oportunidad
- Elaboración
- Construcción
- Transición
- Define el ámbito y objetivos del proyecto
- Se define la funcionalidad y capacidades del producto
Elaboración
- Tanto la funcionalidad como el dominio del problema se estudian en profundidad
- Se define una arquitectura básica
- Se planifica el proyecto considerando recursos disponibles
Construcción
- El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación
- Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura)
- Gran parte del trabajo es programación y pruebas
- Se documenta tanto el sistema construido como el manejo del mismo
- Esta fase proporciona un producto construido junto con la documentación
Transición
- Se libera el producto y se entrega al usuario para un uso real
- Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc.
- Los manuales de usuario se completan y refinan con la información anterior
- Estas tareas se realizan también en iteraciones
No hay comentarios:
Publicar un comentario