Rational Unified Process

Documentos relacionados
INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

octubre de 2007 Arquitectura de Software

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

TEMA 4. PROCESO UNIFICADO

Procesos y desarrollo de SW Proceso Unificado

Proceso de Desarrollo de SW

Ingeniería del Software 2

El Lenguaje Unificado de Modelado (UML)

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Diagramas De Casos De Uso

Curso Aseguramiento de la Calidad De los Procesos y Productos de Software

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

ALLSOFT S.A. de C.V. Monterrey, N.L.

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Proceso Unificado (Iterativo e incremental)

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

INDICE CARTAS DESCRIPTIVAS S3

Procesos del software

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

Capítulo 5 Proceso Unificado Rational Aplicado

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

TEMA 6: INTRODUCCIÓN A UML

Técnicas de Pruebas de

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

Diplomado Ingeniería de Software para Aplicaciones de Negocio

ANEXO TECNICO. Fábrica de Software

Ingeniería en Desarrollo de Software 3 er semestre. Programa de la asignatura: Introducción a la ingeniería de software

Diagramas de interacción

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

Introducción al Personal Software Process (PSP)

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

El Ciclo de Vida del Software

Métodos para el diseño de soluciones

Historial de Revisiones

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

SIBO Sistema de Información de Boletería Plan de Iteración. Versión 3.0

Sistemas de Información II Requerimientos. Análisis de Requisitos

Proceso de Testing Funcional Independiente

Programación Orientada a Objetos

Aseguramiento de Calidad en el Desarrollo de Software Libre

CICLO DE VIDA DEL SOFTWARE

Figure 14-1: Phase F: Migration Planning

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

ARQUITECTURA EMPRESARIAL

Estrategia de Pruebas

PROCESO UNIFICADO. ARTEFACTOS DE LA FASE DE INICIO. Terminología clave del dominio.

Tecnología hardware y software

Procesos de la Dirección de Proyectos para un proyecto

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

CICLO DE VIDA DEL SOFTWARE

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

Contenido. Introducción. Herramientas de apoyo a RUP. Herramientas de apoyo en la captura de requisitos Herramientas de modelado con UML

TÍTULO RELATO DE PRÁCTICA OBSERVATORIO DISCIPLINARIO NOMBRE AUTOR JUAN CAMPO

Método de Desarrollo de Sistemas Dinámicos (DSDM)

<NOMBRE DE LA UNIVERSIDAD, Y NOMBRE DE LA COMUNIDAD>. <TITULO PROYECTO>

Programación Avanzada. Requerimientos de Software

Figure 13-1: Phase E: Opportunities & Solutions

Requerimientos de Software

Syllabus.

Modelo de Casos de Uso

Unified modeling language

SISTEMA DE INFORMACION PARA EL CONTROL DE NOTAS DE LOS ESTUDIANTES SICNE PLAN DE PROYECTO SICNE

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia

Procesos de la Dirección de Proyectos para un proyecto

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

INTERPRETACIÓN NORMA OHSAS 18001:2007 MÓDULO 1 SESIÓN 1 INTERPRETACIÓN DE LA NORMA OHSAS 18001:2007 DOCENTE: Ing. Dª. Ana I.

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

Clasificación de las Herramientas CASE

Ingeniería a de Software CC51A

UNIVERSIDAD NACIONAL DE LA AMAZONÍA PERUANA FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

RUP. Rational Unified Process

Transcripción:

Rational Unified Process 1

Qué es un Proceso? Un proceso define Quién está haciendo Qué, Cuándo y Cómo para lograr un cierto objetivo. En la ingeniería de software el objetivo es construir un producto de software ó mejorar alguno existente. Requerimientos Proceso de Ingeniería Sistema Nuevos ó Modificados de Software Nuevo ó Modificado 2

El Problema Si un proceso es utilizado, equipos funcionales diferentes normalmente utilizan procesos y lenguajes de modelación inconsistentes. La mayoría de los proyectos de software utilizan procesos que no están bien definidos. En su lugar los miembros del equipo (re)inventan sus propios procesos.??????? Requerimientos Pruebas Análisis Diseño Los procesos no están apropiadamente Proceso? relacionados con herramientas, ó no están propiamente automatizados. 3 Herramienta

Rational Unified Process (RUP) Captura varias de las mejores prácticas en el desarrollo moderno de software en una forma que es aplicable para un amplio rango de proyectos y organizaciones. Es una guía de cómo utilizar de manera efectiva UML. Provee a cada miembro de un equipo un fácil acceso a una base de conocimiento con guías, plantillas y herramientas para todas las actividades críticas de desarrollo. Crea y mantiene modelos, en lugar de enfocarse en la producción de una gran cantidad de papeles de documentación. 4

Incremento de la Productividad en Equipo Todos los miembros del equipo comparten 1 Base de conocimiento 1 Proceso 1 Vista de cómo desarrollar software 1 Lenguaje de modelamiento (UML) Administrador Base de Datos Ingeniero de Desempeño Administrador de Configuración Líder de Proyecto Analista Diseñador/ Desarrollador Pruebas 5

6 Mejores Prácticas (Best Practices) RUP describe como utilizar de forma efectiva procedimientos comerciales probados en el desarrollo de software para equipos de desarrollo de software, conocidos como mejores prácticas. Administración de Requerimientos Desarrollo Modelamiento Verificación de Arquitecturas Iterativo Visual la Calidad con Componentes Control de Cambios 6

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 recuperables 7

Desarrollar Software Iterativamente Cada iteración resulta en un release ejecutable Planeamiento Requerimientos Análisis y Diseño Planeamiento Inicial Management Environment Implementación Evaluación Prueba Distribución 8

Desarrollo Iterativo Requerimientos Análisis y Diseño Implementación Evaluación Pruebas Cada iteración produce un producto ejecutable 9

Características del Desarrollo Iterativo Permite un entendimiento incremental del problema a través de refinamientos sucesivos. Habilita una fácil retroalimentación de usuario. Metas específicas permiten que el equipo de desarrollo mantenga su atención en producir resultados. El progreso es medido conforme avanzan las implementaciones. 10

Administración de Requerimientos Organizar y documentar la funcionalidad ycuales son las restricciones requeridas. Llevar un registro y documentación de cambios y decisiones. Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso. Los casos de uso son instrumentos importantes de planeación. Los casos de uso dirigen el trabajo desde el análisis hasta las pruebas realización Modelo de Diseño influenciado por Modelo de Implementación verifica Modelo de Prueba 11

Arquitectura Basada en Componentes Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta. Resistente al cambio mediante el uso de interfaces bien definidas. Intuitivamente comprensible. Promueve un reuso más efectivo de software. Es derivada a partir de los casos de uso más importantes. 12

Modelación Visual de Software Captura la estructura y comportamiento de arquitecturas y componentes. Muestra como encajan de forma conjunta los elementos del sistema. Mantiene la consistencia entre un diseño y su implementación. Promueve una comunicación no ambigua. 13

Verificación de la Calidad del Software Crea pruebas para cada escenario (casos de uso) para asegurar que todos los requerimientos están propiamente implementados. Verifica la calidad del software con respecto a los requerimientos basados en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema. Prueba cada iteración Los problemas del software son de 100 a 1000 veces mas costosos de encontrar y reparar después del desarrollo 14

Control de Cambios del Software Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo. Establece espacios de trabajo seguros para cada desarrollador Provee aislamiento de cambios hechos en otros espacios de trabajo Controla todos los artefactos de software - modelos, código, documentos, etc Administración de Espacios de Trabajo Desarrollo en Paralelo Integración de REPORTALERT Administración de Proceso Construcción 15

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

Estructura de RUP Cont. Fases Flujos de Trabajo de Procesos Inicio Elaboración Construcción Transición Modelación de Negocios Requerimientos Análisis y Diseño Contenido Implementación Prueba Desarrollo Flujos de Trabajo de Soporte Admin. Configuración Administración Ambiente Iteración(es) Iter. Iter. Iter. Iter. Iter. Iter. Iter. Preliminar #1 #2 #n #n+1 #n+2 #m #m+1 Iteraciones 17

Fases en RUP Inicio - Define el alcance del proyecto Elaboración - Plan del proyecto, especificación de características, arquitectura base Construcción - Construir el producto Transición - Transición del producto a la comunidad del usuario Metas Principales Inicio Elaboración Construcción Transición Tiempo 18

Fase de Inicio Propósito Establecer casos de negocios para un nuevo sistema o para alguna actualización importante de un sistema existente Especificar el alcance del proyecto Resultado Una visión general de los requerimientos del proyecto, i.e., los requerimientos principales Un modelo inicial de casos de uso y modelo del dominio (1020%) Un caso de negocios inicial, incluyendo: Evaluación inicial de riesgos Una estimación de los recursos requeridos 19

Fase de Elaboración 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 comprensivo mostrando como el proyecto será completado Resultado Un modelo del dominio y de casos de uso 80% completo Requerimientos suplementarios que capturen los requerimientos no funcionales y cualesquiera requerimientos que no estén asociados con un caso de uso específico Una lista de riesgos revisada 20

Fase de Construcción Propósito Desarrollar incrementalmente producto de software completo el cual estará listo para ser transferido al usuario Productos Un modelo completo de diseño y casos de uso Liberaciones de productos ejecutables de funcionalidad incremental Documentación de usuario Una liberación beta del producto 21

Fase de Transición Hacer la transición final del producto de software al usuario Productos Liberaciones ejecutables de producto Pruebas beta para validar el nuevo sistema vs. las expectaciones del usuario Manuales de usuario actualizados Documentación de desarrollo actualizada Está el usuario satisfecho? Gastos reales de los recursos vs. Gastos previstos Aceptables? 22

Iteraciones Liberaciones Cada fase en RUP puede descomponerse en iteraciones. Una iteración es un ciclo de desarrollo completo dando como resultado una entrega de producto ejecutable (interna o externa) Inicio Elaboración Construcción Transición Iteración Iteración de Iteración de Preliminar Arquitectura Arquitectura Iteración de Iteración de Desarrollo Desarrollo Iteración de Iteración de Iteración de Desarrollo Transición Transición iteraciones internas externas 23

Noción de Proceso Trabajador/Quién? Rol que puede ser desempeñado por un individuo o conjunto de individuos en la organización de desarrollo Caso de Uso Diseñador responsable de Paquete de Caso de Uso Actividad/Cómo? Diseño de Casos de uso Artefacto/Qué? Describe una unidad de trabajo que puede ser asignada a un trabajador. Pieza de información que es producida, modificada, ó utilizada por un proceso 24

Modelos y Flujos de Trabajo Una mera enumeración de todos los trabajadores, 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 trabajadores. Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable. En términos de UML pueden ser expresados como un diagrama de secuencia, un diagrama de colaboración, ó como un diagrama de actividad. Los grupos de trabajo agrupan actividades en forma lógica 25

Modelos y Flujos de Trabajo Cont. Modelación de Negocios Flujo de Trabajo de Requerimientos Modelo de Negocios realizado por Cada flujo de trabajo describe como crear y mantener un modelo en particular Flujo de Trabajo de Diseño de Análisis Flujo de Trabajo de Implementación Modelo de Caso de Uso Modelo de Diseño Implementado por verificado por Flujo de Trabajo de Prueba Modelo de Implementación Modelo de Prueba 26