Ingeniería de Software: Metodologías

Documentos relacionados
Ingeniería de Software: Metodologías

Ingeniería de Software: Metodologías

Ingeniería de Software: Parte 2

QUÉ SON EL ANÁLISIS Y EL DISEÑO?

Introducción a Rational Unified Process (RUP)

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

Tema 9: Método de Craig Larman

Personas. Tecnología. Producto. Proceso

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

CICLOS DE VIDA Y METODOLOGIAS

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

Marcos López Sanz Ingeniería del Software de Gestión. Introducción El proceso unificado Principios básicos Las 4 p

Proceso de Desarrollo de SW

Ingeniería de Software

Tema 4c: El Proceso Unificado de Desarrollo

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

Ingeniería de Requisitos

Interacción Persona - Ordenador

Obligatoria asignatura Programa elaborado por:

Programa Educativo: PROGRAMA DE ESTUDIO Área de Formación : Horas teóricas: Horas prácticas: Total de Horas: Total de créditos:

Implementacion y prueba de unidades. Figura 2.1. El ciclo de vida del software. 1

RUP Vs. XP. Sandra Lorena Anaya

Tema 13: El Proceso Unificado de Desarrollo

Ingeniería de Software. Algunas Metodologías de Desarrollo de Software. Ingeniería de Software. Metodologías de Desarrollo de Software página 0

Oscar Alberto, Custodio Izquierdo Carlos Arturo, Hernández Torruco José Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

Qué es RUP? RUP es un proceso de desarrollo de software: Objetivos: Es también un producto:

TEMA 4. PROCESO UNIFICADO

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

Rational Unified Process

ESTUDIO DE LA RELACIÓN ENTRE ARQUITECTURA DE SOFTWARE Y USABILIDAD

El Ciclo de Vida del Software

Uso de Metodología ICONIX

Motivación. ELO329: Diseño y programación orientados a objetos Agustín J. González 1s06

octubre de 2007 Arquitectura de Software

El Ciclo de Vida del Software

INGENIERÍA DE SOFTWARE Rational Unified Process RUP

Tema 4g: Proceso Unificado: Implementación

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

El lenguaje Unificado de Modelado (UML)

Proceso Unificado (Iterativo e incremental)

El Lenguaje Unificado de Modelado (UML)

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FUNDAMENTOS DE LA METODOLOGIA RUP RATIONAL UNIFIED PROCESS JUAN PABLO GOMEZ GALLEGO ING JORGE GALVES

Ingeniería del Software de Gestión

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA CICLO ACADEMICO 2003 II SILABO

SISTEMAS DE INFORMACIÓN II TEORÍA

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

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

INGENIERÍA DE SOFTWARE I CICLO DE VIDA ING. VÍCTOR ANCAJIMA MIÑÁN

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

Procesos de Software

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Personas. Tecnología. Producto. Proceso

Procesos del software

Los modelos de proceso que se discuten en este capítulo son:

Tema II Ciclo de Vida del Software

TEMA 10: INTRODUCCIÓN AL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE

A continuación se describe con mayor detalle cada una de tales unidades:

Estrategia de éxito para escalar Testing Agile en grandes corporaciones. 8 de junio de 2016

Contenido. Introducción. Buenas Prácticas. Buenas Prácticas. Introducción al RUP. Disciplina Requerimientos. Conclusiones. Desarrollo Iterativo

RUP. Rational Unified Process

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

SIGPRE Sistema de Gestión Presupuestaria

Análisis y Diseño Orientado a Objetos. 2 - Análisis

Lineamientos para Establecer los Estándares

INGENIERÍA N DEL SOFTWARE

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

Presentación de la Asignatura.

Modelos de desarrollo de sistemas

UMECIT Universidad Metropolitana de Educación, Ciencia y Tecnología

Proveedores de Software

Capítulo 5 Proceso Unificado Rational Aplicado

DESARROLLO DE UN SISTEMA COMPUTARIZADO PARA GESTIONAR Y CONTROLAR LA ORDEN DE VUELO EN LA EMPRESA DE TRANSPORTE AÉREO TAME

SISTEMA PARA GESTIÓN DE PERSONAL DE LA EMPRESA AVÍCOLA REPROAVI CÍA. LTDA. CAPÍTULO II

Ingeniería de Software. UML.

PROGRAMA ANALÍTICO DE ASIGNATURA

Modelos de Procesos para el Desarrollo de Software Orientado a Objetos. Jonas A. Montilva, Ph.D.

Modelos de Procesos de desarrollo de Software I NGENIERIA D E S O F T WA R E P R I MAVERA

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

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

Estructura básica del proceso unificado de desarrollo de software

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Proceso Unificado de Desarrollo de Software. Fase de Inicio

SEMESTRE: CREDITOS: 3 Horas Presénciales: 3 Horas de Acompañamiento: 1 Total Horas Semanales 4 CODIGO: Sistemas de Información

Curso: El Proceso de Desarrollo de Software

I JORNADAS DE COMPUTACIÓN Y SISTEMAS Universidad Dr. José Gregorio Hernández Maracaibo

METODOLOGÍAS ÁGILES. Proceso Unificado Ágil (AUP) Ingeniería del Software II Análisis de Sistemas

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

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

División Académica de Informática y Sistemas

Modelos de desarrollo de software. septiembre de

Diagrama de secuencia (interacción)

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

Proceso Integral del Desarrollo de Objetos de Aprendizaje: Modelo Prescriptivo de Proceso Evolutivo.

TRABAJO DE TITULACIÓN, PREVIO A LA OBTENCIÓN DEL TÍTULO DE MAGÍSTER EN INGENIERÍA DE SOFTWARE

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

ORGANIZACIÓN DOCENTE del curso

Transcripción:

Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Algunas Metodologías... Personal Software Process y Team software Process XP (Programación Extrema) RUP (Rational Unified Process) V-model

Proceso de Desarrollo Iterativo e Incremental Elo329: Diseño y Programación Orientados a Objetos 3

Recordar el proceso de desarrollo de software completo Sueño Investigación Desarrollo Lanzamiento Soporte Parte a ser considerada en adelante Tiempo Elo329: Diseño y Programación Orientados a Objetos 4

Desarrollo Iterativo e Incremental Esta idea es la base de varios métodos de desarrollo de software como RUP (Rational Unified Proecess), Extreme Programming y otros métodos de desarrollo ágiles. La idea básica es desarrollar el sistema siguiendo etapas incrementales caracterizadas por generación de sucesivas versiones que van abarcando requerimientos hasta completar el sistema. Cada versión tiene sentido para el cliente. Elo329: Diseño y Programación Orientados a Objetos 5

Principales metodologías en el tiempo Definición de Requerimientos Inicialmente se usó el Modelo Tradicional de Cascada 1980 Tiempo Modelo Iterativo Incremental 1990 Análisis & Diseño Implementación y Test Unitarios Construcción/Pruebas Integración y test del sistema t Operación y mantención Iteración 1 Iteración 2 Iteración 3 R R R A&D A&D A&D C C C P P P Tiempo t Elo329: Diseño y Programación Orientados a Objetos 6

Desarrollo Iterativo e Incremental Iterativo: cada vez re-visitamos las etapas del modelo en cascada, rehacemos, refinamos y extendemos lo hecho. Incremental: regularmente integramos los avances para generar una versión con sentido para el cliente. Elo329: Diseño y Programación Orientados a Objetos 7

Desarrollo Iterativo e incremental: RUP es uno de los: sus Características Guiado y Manejado por Casos de Uso Centrado en la Arquitectura Iterativo e Incremental Desarrollo Basado en Componentes Utilización de UML Proceso Integrado Elo329: Diseño y Programación Orientados a Objetos 8

RUP Define Fases de Desarrollo... Áreas de trabajo (Workflow) Concepción Elaboración Construcción Transición Requerimientos Análisis & Diseño Construcción Pruebas Distribución Esfuerzo Necesario por Actividad R A & D C P D R A & D C P D R A & D C P D R A & D C P D Iteración Preliminar Iteración 1 Iteración 2........ Iteración n Iteración n+1 Tiempo

Fases del Ciclo de Vida El ciclo de vida consiste en una serie de fases que en su conjunto conducen al sistema final. Cada fase está compuesta por un número de iteraciones que generan versiones del sistema. Las fases son 4: Concepción, Inicio o Estudio de oportunidad Elaboración Construcción Transición Elo329: Diseño y Programación Orientados a Objetos 10

...Fases del Ciclo de Desarrollo Inicio o Estudio de oportunidad (inception) 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 Elo329: Diseño y Programación Orientados a Objetos 11

...Fases del Ciclo de Desarrollo 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 Elo329: Diseño y Programación Orientados a Objetos 12

...Fases del Ciclo de Desarrollo 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 Elo329: Diseño y Programación Orientados a Objetos 13

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, en 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 Elo329: Diseño y Programación Orientados a Objetos 14

... Proceso Iterativo e Incremental Las actividades se encadenan en una minicascada con un alcance limitado por los objetivos de la iteración Análisis Diseño n veces Codific. Pruebas e Integración Elo329: Diseño y Programación Orientados a Objetos 15

... Proceso Iterativo e Incremental 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 hecho en iteraciones anteriores se hace gradualmente durante la construcción Evaluación de la entrega de 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) Elo329: Diseño y Programación Orientados a Objetos 16

Importancia de los Hitos en RUP... Compromiso de recursos para fase elaboración Aceptación del cliente Concepción Elaboración Construcción Transición Tiempo Hito Objetivos, visión Hito Arquitectura Hito Capacidad Operacional Liberación Producto Elo329: Diseño y Programación Orientados a Objetos 17

... Elementos en RUP Artefactos Es el 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 Elo329: Diseño y Programación Orientados a Objetos 18

Características Esenciales de RUP Proceso Iterativo e Incremental Proceso Dirigido por los Casos de Uso Proceso Centrado en la Arquitectura Elo329: Diseño y Programación Orientados a Objetos 19

Casos de uso: Idea general Un caso de uso es una colección de escenarios de éxito y fallas relacionados que describen actores usando el sistema para alcanzar algún objetivo. Un escenario es una secuencia específica de acciones e interacciones entre actores y el sistema bajo discusión. Un actor es algo externo al sistema en discusión que interactúa con éste. Por ejemplo: Una persona, otro sistema computacional, un sensor, etc. Los casos de uso muestran el comportamiento observable del sistema. Elo329: Diseño y Programación Orientados a Objetos 20

Proceso Centrado en la Arquitectura La 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 Inception Elaboration Construction Transition Architecture Elo329: Diseño y Programación Orientados a Objetos 21

Otra visión similar con más Actividades Elo329: Diseño y Programación Orientados a Objetos 22

Otra visión similar con más Actividades Disciplinas o áreas de trabajo Modelado del Negocio Requisitos Análisis y Diseño Implementación Pruebas Distribución Gestión de configuración y cambios Gestión del proyecto Entorno Primarios De Apoyo Elo329: Diseño y Programación Orientados a Objetos 23

Proceso dirigido por los Casos de Uso Requisitos Análisis & Diseño Implementación Pruebas Casos de Uso integran el trabajo Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que se satisfacen los casos de uso Elo329: Diseño y Programación Orientados a Objetos 24

... Proceso dirigido por los Casos de Uso Realización de Análisis «trace» «trace» Caso de Uso Realización de Diseño «trace» Pruebas Funcionales X «trace» Pruebas Unitarias Caso de Prueba [The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999] Elo329: Diseño y Programación Orientados a Objetos 25

... Proceso dirigido por los Casos de Uso Elo329: Diseño y Programación Orientados a Objetos 26

Proceso Iterativo e Incremental Grado de completitud de cada área de trabajo Enfoque Cascada Enfoque Iterativo e Incremental Elo329: Diseño y Programación Orientados a Objetos 27

... Proceso Iterativo e Incremental Grado de Finalización de Artefactos Elo329: Diseño y Programación Orientados a Objetos 28

Esfuerzo respecto de las Áreas de Trabajo (Workflows) Requisitos Análisis Concepción Elaboración Construcción Transición Una iteración en la fase de elaboración 15% 10% Diseño 15% Implementación 30% Pruebas 15% P re lim ina ry Ite ra tion (s) ite r. # 1 ite r. # 2 ite r. # n ite r. # n+ 1 ite r. # n+2 ite r. #m ite r. #m +1 Elo329: Diseño y Programación Orientados a Objetos 29

...Esfuerzo respecto de las Fases Concepción Elaboración Construcción Transición Requisitos Análisis Una iteración en la fase de elaboración Diseño Implementación Pruebas P re lim ina ry Ite ra tion (s) ite r. # 1 ite r. # 2 ite r. # n ite r. # n+ 1 ite r. # n+2 ite r. #m ite r. #m +1 Esfuerzo: 5% 20% 65% 10% Duración: 10% 30% 50% 10% Elo329: Diseño y Programación Orientados a Objetos 30

Comparar con V-Model Elo329: Diseño y Programación Orientados a Objetos 31

Dos lecciones importantes El tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana. Es mucho más fácil ahorrar tiempo al inicio del proyecto (cuando los entregables son menos claros). Conclusión: Cómo se aplica esto al proyecto del ramo? Elo329: Diseño y Programación Orientados a Objetos 32