CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez

2

¿QUÉ ES UN PROCESO DE DESARROLLO DE SOFTWARE?
Define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo

Requisitos nuevos o modificados

Sistema nuevo

Proceso de Desarrollo de Software

o modificado

No existe un proceso de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 3

EL TRIANGULO DEL DESARROLLO DE SOFTWARE

Proce so Herramienta Visual

Notaci ón

PROCESO UNIFICADO DE RATIONAL (RUP) Rational Unified Process Ultima Versión 2003.06.00 199 8 • • • • Pruebas funcionales Pruebas de desempeño Gestión de requisitos Gestión de cambios y configuración • Ingeniería de Negocio • Ingeniería de datos • Diseño de interfaces Rational Objectory Process 1996-1997 Objectory Process UML 1987-1995 .

Enfoque Ericsson .

¿QUÉ ES UN DESARROLLO ITERATIVO E INCREMENTAL? El desarrollo iterativo e incremental es el proceso de construir el sistema en pequeños pasos  Beneficios  Reducción de riesgos basado en una respuesta temprana  Mejor flexibilidad para acomodar requerimientos nuevos o modificados  Incrementar la calidad del programa  .

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 6 .

¿QUÉ ES UNA ITERACIÓN? Una iteración es un ciclo de desarrollo que termina en la entrega de un subconjunto de productos finales  Cada iteración pasa por todos los aspectos de desarrollo del programa  Análisis de Requerimientos  Diseño e Implementación  Prueba  Documentación  Cada entrega iterativa es una “pieza” totalmente documentada del sistema final  CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 6 .

Iteración arquitect.Iteración preliminar Iteración arquitect. Iteración desarrollo Iteración desarrollo Iteración desarrollo Iteración de Iteración de transición transición CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 7 .

ITERACIONES PARA LA CONDUCCIÓN DE LA REDUCCIÓN DE RIESGOS Riesgo inicial Campo de acción inicial del proyecto Definir la iteración para consignar el mayor riesgo Planificar y desarrollar la iteración Iteración N Estimar la iteración Revisión del plan CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez del proyecto 8 .

Revisión de la Evaluación de riesgo Eliminación del riesgo CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 9 .

PROCESO DE PLANIFICACIÓN DE UNA ITERACIÓN   Identificar y priorizar los riesgos del proyecto Seleccionar un número pequeño de escenarios que contengan los mayores riesgos Los escenarios seleccionados son usados por:  Los  desarrolladores para identificar lo que será implementado para la iteración  probadores para desarrollar el plan de pruebas y el procedimiento de prueba para la iteración Al final de la iteración  Determinar qué riesgo ha sido reducido o eliminado  Determinar si algún nuevo riesgo ha sido descubierto  Los .

Poner al día el plan para las iteraciones restantes  .

en la cual el resultado de estos ciclos es la generación de un producto (Ejecutable)   Cada ciclo es una sucesión de fases     Concepción Elaboración Construcción Transición Elaboración Construcción tiempo Transición Concepción CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 10 1 .EL CICLO DE VIDA DE UN PROGRAMA El ciclo de vida de un programa desencadena una secuencia de ciclos de desarrollo.

PROCESO UNIFICADO DE RATIONAL CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 11 1 .

FASES E HITOS (MILESTONES) Inception Elaboration Construction Transition Objetivo s (Visión) Arquitectura Capacidad Operacion al Inicial Release del Producto Tiempo CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 12 1 .

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) .

  Las responsabilidades: hacer una serie de actividades.TRABAJADOR Un trabajador define el comportamiento y las responsabilidades de un individuo.  Es como un “sombrero” que la persona usa durante el proyecto:   Una persona puede tener varios sombreros. . es el rol que desempeña en un momento dado.

 ser el responsable de una serie de artefactos. .

 Una actividad lleva entre un par de horas y un par de días. crear o modificar un artefacto. involucra un solo trabajador y un número pequeño .ACTIVIDADES  Una una unidad de trabajo que se asigna a un trabajador:  actividad es de artefactos.

de pruebas de performance.  Ejecutar pruebas de performance .Analista.  Revisar el diseño Revisor de diseño. .  Ejemplos:  Planific ar una iteración Administrador de proyecto. Las actividades se consideran en la planificación y evaluación del progreso del proyecto.  Encontrar actores y casos de uso .Ing.

ASIGNACIÓN DE ACTIVIDADES Recurso Pablo María José Silvia Eduardo Trabajador Diseñador Autor de Casos de Uso Actividad Diseño de Objetos Detallar un Caso de Uso Diseñador de Casos de Uso Diseñar un Caso de Uso Revisor de Diseño Arquitecto Rever el Diseño Análisis de Arquitectura Diseño de Arquitectura .

 Código ejecutable. como una clase o un caso de uso.ARTEFACTOS información producido.  Son los productos tangibles del proyecto.  .  Elemento de  Ejemplos: Un modelo como el modelo de casos de uso o el modelo de diseño.  Un documento tal como el Caso del Negocio o la Arquitectura del Software.  Son usados por los trabajadores para realizar nuevas actividades y son el resultado de esas actividades.  Código fuente. modificado o usado por el proceso.  Un elemento del modelo.

.

. Actividades y Artefactos Workflow: Requirements Workflow Detail:Analyse the Problem Workers Actividad es Artefactos .. ELEMENTOS EN RUP Workflow. Workflow Detail .. Workers.

... ELEMENTOS EN RUP Workers Analyst workers Business-Process Analyst  Business Designer  Business-Model Reviewer  Requirements Reviewer  System Analyst  Use-Case Specifier  User-Interface Designer Developer workers    Designer Implementer  Integrator  Architect Architecture Reviewer  Capsule Designer  Code Reviewer  Database Designer  Design Reviewer  .

Testing professional workers  Tester  Test Designer Manager workers  Change Control Manager  Configuration Manager  Deployment Manager  Process Engineer Project Manager  Project Reviewer Other workers  Any Worker  Course Developer  Graphic Artist  Stakeholder  System Administrator  Technical Writer  Tool Specialist  .

... 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 . ELEMENTOS EN RUP Artefactos  Resultado parcial o final que es producido y usado durante el proyecto.

FASES DEL PROCESO UNIFICADO DE RATIONAL (RUP) 2 .

FASE DE CONCEPCION    Propósito  Establecer el caso de negocio para un nuevo sistema o para la puesta al día de un sistema ya existente Artefactos desarrollados  El núcleo de lo solicitado para el proyecto  Una asesoría de riesgo inicial Artefactos opcionales:  Un prototipo conceptual  Un modelo inicial de dominio (10% .20% completo) CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 21 2 .

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 22 2 .

FASE DE ELABORACIÓN  Propósito  Analizar el dominio del problema  Establecer una arquitectura sólida  Abordar el elemento más riesgoso del proyecto  Desarrollar un plan integral para mostrar cómo el proyecto será terminado CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 23 2 .

FASE DE ELABORACIÓN (CONT. incluyendo el contexto del sistema.)  Productos  Un modelo del comportamiento del sistema. escenarios y modelos del dominio (80% terminado)  Una arquitectura ejecutable  Una visión de la línea base del producto a partir del modelo del dominio  Una evaluación del riesgo  Un plan de desarrollo  Criterios de evaluación  Un manual preliminar para el usuario (opcional)  Estrategias de pruebas  Plan de pruebas CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 24 2 .

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 231 2 .

FASE DE CONSTRUCCIÓN   Objetivo  Desarrollar incrementalmente un producto completo (un programa) que está listo para introducirse en la comunidad de los usuarios Productos  Una secuencia de ejecutables  Prototipos de comportamiento  Resultados de calidad asegurados  Documentación del usuario y del sistema  Plan de despliegue  Criterios de evaluación para al menos la siguiente iteración CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 26 2 .

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 27 2 .

 Resultados de calidad asegurados  Documentación del usuario y del sistema actualizada  Análisis del rendimiento del proyecto “Postmortem”  28 CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 2 .FASE DE TRANSICIÓN  Propósito  Implantar el software en su entorno de operación  Productos Una secuencia de ejecutables.

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 29 2 .

PROCESO UNIFICADO DE RATIONAL 30 3 .

FLUJOS DE TRABAJO DEL PROCESO UNIFICADO DE RATIONAL (RUP)

3

FLUJOS DE TRABAJO
Análisis de Diseño de Describir lista de Arquitectura Arquitectura Concurrencia actividades, Arquitecto trabajadores y artefactos no constituye un proceso. Análisis de Diseño de Casos de Uso Casos de Uso  Un flujo de trabajo es Diseñador de Casos de Uso una secuencia de actividades Análisis de que produce un Objetos resultado Diseño de Objetos valioso. Diseñador  No siempre es posible representar fl uj o

 Una

Describir Distribución

s de trabajo.
3

Diseño Revisor de Revisar el Análisis Revisar el Diseño Revisar la Arquitectura

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez

32

3

RUP proporciona un lenguaje y proceso común para ambos ámbitos.MODELADO DEL NEGOCIO Existen habitualmente problemas de comunicación entre ingenieros de software e ingenieros de negocios. CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 33 . Para el modelado del negocio se usan “business use cases”:  la forma en que el software dará apoyo al negocio.

FLUJO DE TRABAJO: MODELADO DE NEGOCIOS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 34 .

ARTEFACTOS DEL MODELADO DE NEGOCIO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 35 .

REQUERIMIENTOS  Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer: relevar requerimientos.  identificar actores.  documentar decisiones.  identificar casos de  Imprimir Informe Operador Cliente Reciclar Administrar Depósito uso .  documentar funcionalidad y restricciones.

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 36 . Los casos de uso describen la funcionali dad.  Los requerimientos no funcionales se incluyen en una especificación complementaria.

FLUJO DE TRABAJO: REQUERIMIENTOS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 37 .

ARTEFACTOS DE REQUERIMIENTOS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 38 .

 satisfacer todos los requerimientos . ejecutar las tareas y funciones descritas en los casos de uso.  El diseño se centra en la noción de .ANÁLISIS Y DISEÑO  Descripción se implementará el sistema: un plano.  Debe:  de cómo arquitectura.  flexible a cambios.

 El model o de diseño consta de clases estructuradas en paquetes.  diseños de subsistemas con interfaces definidas (componentes).  forma de colaboración entre las clases. Diseñar y validad la arquitect ura es una tarea esencial.  39 CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez .

FLUJO DE TRABAJO: ANALISIS Y DISEÑO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 40 4 .

ARTEFACTOS DEL ANALISIS Y DISEÑO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 41 4 .

etc.). ejecutables.  CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 42 4 .  implementar clases y objetos en forma de componentes (fuente.  probar las componentes desarrolladas.IMPLEMENTACIÓN Propósito: definir la organización del código.  integrar las componentes en un sistema ejecutable.

FLUJO DE TRABAJO: IMPLEMENTACION CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 43 4 .

ARTEFACTOS DE LA IMPLEMENTACION CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 44 4 .

verificar la interacción entre los objetos.  verificar la integración apropiada de componentes.  identificar los defectos y corregirlos antes de la instalación.  verificar que se satisfacen los requerimientos.PRUEBAS  Propósitos: y ejecutar estas pruebas.   RUP describe como planear 4 .

45 4 .  Las confiabilid CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez pruebas de regresión son importantes en desarrollos iterativos.  Rational tiene herramientas para automatizar algunas pruebas. RUP las comp onent es desde el princi pio:  propone probar ad. funcionalidad y performance.

FLUJO DE TRABAJO: PRUEB A CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 46 .

ARTEFACTOS DE PRUEBA CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 47 .

 instalarlo.DESPLIEGUE  Producir un producto y hacerlo llegar a sus usuarios finales.  distribuir el software.  Incluye varias actividades: producir un “release”.  asistir a los  usuarios .  empaquetar el software.

A veces también incluye: realizar pruebas beta.  distribución ocurre durante la transición.  aceptación formal. CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 48 .  migración de datos.  Este  La mayor parte de la es uno de los flujos de trabajo menos documentados en RUP.

FLUJO DE TRABAJO: DESPLIEGU E CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 49 .

ARTEFACTOS DEL DESPLIEGUE CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 50 5 .

automatizar la construcción. notificación limitada. problemas habituales:     Algunos actualizaciones simultáneas. CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez  RUP    51 5 . da guías para desarrollos en paralelo. múltiples versiones.CONFIGURACIÓN Y ADMINISTRACION DE CAMBIOS  Forma de controlar los artefactos producidos por las personas que trabajan en el proyecto. administrar defectos.

FLUJO DE TRABAJO: CONFIGURACION & ADMINISTRACION DE CAMBIOS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 52 5 .

ARTEFACTOS DE CONFIGURACION & ADMINISTRACION DE CAMBIOS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 53 5 .

ADMINISTRACIÓN DE PROYECTOS Es el arte de balancear objetivos contrarios. ejecución y monitoreo de planes.  Existen pocos proyectos realmente exitosos. manejar riesgos y producir software que satisface a clientes y usuarios.  5 .  un framework para manejar riesgos. provisión de personal.  guías para planificación.   RUP incluye: un framework para manejo de proyectos de software.

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 54 5 .

FLUJO DE TRABAJO: ADMINISTRACIO N DEL PROYECTO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 55 5 .

ARTEFACTOS DE LA ADMINISTRACION DEL PROYECTO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 56 5 .

RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.ENTORNO Ambiente y herramientas de desarrollo que harán posible llevar a cabo el proyecto. 5 .

CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 57 5 .

FLUJO DE TRABAJO: ENTORNO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 58 5 .

ARTEFACTOS DEL ENTORNO CPDBA – CPNA – ECPMSD Miguel Arturo Valle Pelaez 59 5 .

MUCHAS GRACIAS CPDBA – CPNA – ECPMSD Miguel Arturo Valle Peláez Miguel_vpelaez@hotmail .com 6 .