ADS - Sesion1 - RUP

37
Análisis y Diseño de Sistemas I EL RATIONAL UNIFIED PROCESS RUP Profesores del Curso

description

Sesión 1 Analisis de Diseño de Sistemas (ADS) El Rational Unified Process.

Transcript of ADS - Sesion1 - RUP

Page 1: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

EL RATIONAL UNIFIED PROCESS RUP

Profesores del Curso

Page 2: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

AdministradorBase de Datos

Líder deProyecto

AnalistaDiseñador/

Desarrollador

Ingeniero deDesempeño

Pruebas

Administrador deConfiguración

–1 Base de conocimiento –1 Proceso

–1 Enfoque de cómo desarrollar software

–1 Lenguaje Modelamiento (UML)

RUP y el incremento de la Productividad en Equipo

Page 3: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Desarrollo Iterativo

Modelamiento VisualVerificación de

la CalidadArquitecturas

con Componentes

Administración de Requerimientos

Control de Cambios

RUP y las 6 mejores Prácticas

“Best Practices”

Page 4: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Modelo de Diseño Modelo de

ImplementaciónModelo de

Prueba

verificarealización influenciado por

Los casos de uso dirigen el trabajo desde el análisis

hasta las pruebas

1. Administración de Requerimientos

• Organizar y documentar la funcionalidad y restricciones requeridas.

• Los requerimientos de negocio son fácilmente capturados y comunicados a través de diagramas.

• Llevar un registro y documentación de cambios y decisiones.

Page 5: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

2. Desarrollo iterativo de Software

• Dados los sistemas de software sofisticados de la actualidad, no es posible hacer de manera secuencial la definición completa del problema, diseñar la solución completa, construir el software y por último probarlo.

• El descubrimiento de defectos en fases posteriores de diseño dan como resultado un aumento en los costos y/ó la cancelación del proyecto.

El tiempo y dinero gastados en

la implementación de un

diseño fallido, son no

recuperablesEl tiempo y dinero gastados en

la implementación de un

diseño fallido, son no

recuperables

Page 6: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Requerimientos Análisis y DiseñoImplementación

PruebasEvaluación

Cada iteraciónproduce un producto

ejecutable

•¿Cómo se produce la Iteración?

Page 7: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

• Las características fundamentales son:Permite un entendimiento incremental del

problema a través de refinamientos sucesivos.Habilita una fácil retroalimentación del usuario.Permite lograr metas específicas al equipo de

desarrollo porque sabe que resultados generar.El progreso es medido conforme avanzan las

implementaciones.

Page 8: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3. Modelamiento Visual del Software

• Captura la estructura y comportamiento de arquitecturas y componentes.

• Muestra como encajan de forma conjunta los componentes del sistema.

• Mantiene la consistencia entre un diseño y su implementación.

• Promueve una comunicación no ambigua.

Page 9: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

4. Verificación de la calidad del Software

• Crea pruebas de validación para asegurar que todos los requerimientos estén implementados apropiadamente.

• Verifica la calidad del software con respecto a las especificaciones técnicas basadas en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema.

• Prueba cada iteraciónLos problemas del softw

are son de 100 a

1000 veces mas costosos

de encontrar y reparar después del

desarrollo

Page 10: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

5. Arquitectura basada en Componentes

Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta.• Resistente al cambio mediante el uso de componentes bien definidos.

• Intuitivamente comprensible.• Promueve la reutilización efectiva de software.• Es la base del Software Factory.

Page 11: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Administración deEspacios de Trabajo

Desarrollo enParalelo

Administraciónde

Construcción

Integración deProceso

ALERTREPORT

6. Control de cambios de Software

• Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo.

• Establece espacios de trabajo seguros para cada desarrollador. Controla todos los

artefactos de softwaremodelos, código,documentos, etc…

Page 12: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Definiciones en RUP

ROL• Un rol define las responsabilidades y el comportamiento de un individuo.

• Es como un “sombrerosombrero” que la persona usa durante el proyecto:Una persona puede tener varios sombreros.Es el rol que desempeña en un momento

dado.

Page 13: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

ACTIVIDAD:• Es una unidad de trabajo que se asigna a un rol. Ejemplos: Crear o modificar una clase.

• Una actividad lleva entre un par de horas y un par de días, involucra un solo rol y un número pequeño de artefactos.

• Las actividades se consideran en la planificación y evaluación del progreso de un proyecto.

Page 14: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Recurso Rol Actividad

Pablo Diseñador Diseño de Objetos

María Autor de Casos de Uso Detallar un Caso de Uso

José Diseñador de Casos de Uso Diseñar un Caso de Uso

Silvia Revisor de Diseño Revisar el Diseño

Eduardo Arquitecto Análisis de Arquitectura Diseño de Arquitectura

ASIGNACION DE ACTIVIDADES

¿Cómo realizo una asignación de actividades?

Page 15: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

ARTEFACTO :

• Elementos de información producidos, modificados o usados por el proceso.

• Son usados por los roles para realizar nuevas actividades y son el resultado de esas actividades.

• Ejemplos: Especificaciones funcionales, código fuente,documento de arquitectura, etc.

Page 16: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Análisis deArquitectura

Diseño deArquitectura

DescribirConcurrencia

DescribirDistribución

Análisis deCasos de Uso

Diseño deCasos de Uso

Análisis deObjetos Diseño de

Objetos

Revisar elAnálisis

Revisar elDiseño

Revisar laArquitecturaRevisor de

Diseño

Diseñador

Diseñador deCasos de Uso

Arquitecto

FLUJOS DE TRABAJO:

Es una lista de actividades, roles y artefactos.

Es una secuenciade actividades que produce un resultado de valor.

Page 17: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Estructura de RUP

El proceso puede describirse en dos dimensiones, o a lo largo de dos ejes:• El eje horizontal representa tiempo y muestra el aspecto dinámico del proceso, expresado en términos de ciclos, fases, iteraciones, y metas.

• El eje vertical representa el aspecto estático del proceso; como está descrito en términos de actividades, artefactos, trabajadores y flujos de trabajo.

Page 18: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Admin. de Proyectos

Ambiente o Entorno

Modelación de Negocios

Implementación

Prueba

Análisis y Diseño

Iteración(es)Preliminar

Iter.#1

FasesFlujos de Trabajo de Procesos

Iteraciones

Flujos de Trabajo de Soporte

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Implantación

Admin. Configuración

Requerimientos

Elaboración TransiciónInicio Construcción

Con

ten

ido

Page 19: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Inicio Elaboración Construcción

Transición<-------------------------------------Tiempo------------------------------------->

MetasPrincipales

1. Fases de RUP

• Inicio – Define el alcance y objetivos del proyecto.• Elaboración – Plan del proyecto, Especificación de características y Arquitectura base.

• Construcción – Construye y opera el producto.• Transición – Transición del producto a la comunidad del usuario.

Page 20: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

1.1. Fase de INICIO

Propósito• Establece la propuesta técnica para un nuevo sistema o para alguna actualización importante de un sistema existente

• Especificar el alcance del proyecto• Define el plan

Page 21: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Ejemplo: MCUN

Caso de Negocios: modelar laempresa (como funciona laempresa a la que se le va adesarrollar el software) Gestionar Horarios

(from Casos de Uso de Negocio)Sistema Horarios

(from Actores del Negocio)

Gestionar Registro de Docentes

(from Casos de Uso de Negocio)

Gestionar Dictado Profesor

(from Casos de Uso de Negocio)

Profesor

(from Actores del Negocio)

Gestion Estadistica de horario

(from Casos de Uso de Negocio)

Gestionar Cursos

(from Casos de Uso de Negocio)

Jefe Carreras

(from Actores del Negocio)

Pre-Matricular

(from Casos de Uso de Negocio)

Gestionar Matricula

(from Casos de Uso de Negocio)

Gestionar Retiro/cambio

(from Casos de Uso de Negocio)

Alumno.

(from Actores del Negocio)

Page 22: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

1.2. Fase de ELABORACION

Propósito• Analizar el dominio del problema.• Establecer una buena arquitectura.• Lidiar con los elementos de riesgo más altos del proyecto.

• Desarrollar un plan detallado mostrando como el proyecto será completado.

Page 23: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

1.3. Fase de CONSTRUCCION

Propósito• Desarrollar incrementalmente el producto de software completo.

• Operar la aplicación

Page 24: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

Hello, everyone!

Hello, everyone!

1.4. Fase de TRANSICION

Propósito• Hacer la transición final del producto de software al usuario.

Page 25: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas Iiteraciones

IteraciónIteraciónPreliminarPreliminar

Iteración deIteración deArquitecturaArquitectura

Iteración deIteración deArquitecturaArquitectura

Iteración deIteración deDesarrolloDesarrollo

Iteración deIteración deDesarrolloDesarrollo

Iteración deIteración deDesarrolloDesarrollo

Iteración deIteración deTransiciónTransición

Iteración deIteración deTransiciónTransición

InicioInicio ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransición

Liberaciones

externasinternas

2. ITERACIONES

Cada fase en RUP puede descomponerse en iteraciones. Una iteración es un ciclo de desarrollo completo que genera como resultado una entrega de producto ejecutable (interna o externa).

Page 26: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3. Flujos de Trabajo

Una enumeración de todos los roles, actividades y artefactos no constituyen un proceso. Se necesita una forma de describir secuencias significativas que produzcan algún resultado válido, y que muestre la interacción entre los elementos que participan.

Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable.

Page 27: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

• Flujos de Trabajo para el desarrollo del sistema– Modelado del negocio– Requerimientos– Análisis y Diseño– Implementación– Prueba– Implantación

• Flujos de Trabajo para la gestión del proyecto– Configuración y administración de cambios– Administración del proyecto– Administración del entorno

Page 28: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.1. Modelo del Negocio

• Su objetivo es que el analista entienda los procesos de la empresa que son el contexto que necesita para realizar su propuesta informática.

• Asegurarse que clientes, usuarios, desarrolladores y otros involucrados tengan igual entendimiento de la empresa.

Page 29: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.2. Requerimientos

• Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer:Documentar funcionalidad y restriccionesRelevar requerimientosDocumentar decisionesIdentificar actoresIdentificar casos de uso

Page 30: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.3. Análisis y Diseño

• Descripción de cómo se implementará el sistema: un plano

• Definición de la arquitectura tecnológica, de datos y funcional

• Identificación de los componentes• Planteamiento de algoritmos• Definición de patrones de diseño

Page 31: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.4. Implementación

• Definir la organización del código• Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.)

• Probar los componentes desarrollados• Integrar los componentes en un sistema ejecutable.

Page 32: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.5. Pruebas

• Verificar la interacción entre los objetos• Verificar la integración apropiada de componentes• Validar que se satisfacen los requerimientos• Identificar los defectos y corregirlos antes de la instalación.

Page 33: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.6. Distribución /Despliegue

• Producir un producto y hacerlo llegar a sus usuarios finales.

• Incluye varias actividades:Producir un “release”Empaquetar el softwareDistribuir el softwareInstalar el softwareApoyar a los usuarios

Page 34: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.7. Administración de Proyectos

• Gestiona el cumplimiento de objetivos, maneja riesgos y conduce la producción del software hacia la satisfacción de clientes y usuarios.

• Existen pocos proyectos realmente exitosos.• RUP incluye:

Un framework para manejo de proyectos de softwareGuías para planificación, provisión de personal,

ejecución y monitoreo de planesUn framework para manejar riesgos.

Page 35: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.8. Configuración y Administración de Cambios

• Forma de controlar los artefactos producidos por las personas que trabajan en el proyecto.

• Algunos problemas habituales:Actualizaciones simultáneasMúltiples versiones

• RUP da guías para:Control de versionesSeguimiento a los cambiosAdministrar defectos

Page 36: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

3.9. Administración del Entorno

• Prepara el ambiente y herramientas de despliegue que harán posible llevar a cabo el proyecto.

• RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.

• Provee el soporte al equipo de desarrollo durante todo el ciclo de vida del proyecto.

Page 37: ADS - Sesion1 - RUP

Análisis y Diseño de Sistemas I

RUP

• Guiado por lo casos de uso: Los casos de uso son el instrumento para validar la arquitectura del software y extraer los casos de prueba.

• Centrado en la arquitectura: Los modelos son proyecciones del análisis y el diseño constituye la arquitectura del producto a desarrollar.

• Iterativo e incremental: Durante todo el proceso de desarrollo se producen versiones incrementales (que se acercan al producto terminado) del producto en desarrollo.