Ingeniería de Software: Parte 2



Documentos relacionados
Introducción a Rational Unified Process (RUP)

Ingeniería de Software: Metodologías

Ingeniería de Software

Ingeniería de Software: Metodologías

Ingeniería de Software I

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Ingeniería de Software

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

El Proceso Unificado de Desarrollo de Software

RUP. Rational Unified Process

Rational Unified Process (RUP)

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Syllabus.

6 Anexos: 6.1 Definición de Rup:

El Proceso Unificado Rational para el Desarrollo de Software.

Interacción Persona - Ordenador

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS


Curso: El Proceso de Desarrollo de Software

El Proceso de Desarrollo de Software. Diseño de Software Avanzado Departamento de Informática

METODOLOGÍA TRADICIONAL.

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Proceso Unificado de Rational (RUP)

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

Elementos requeridos para crearlos (ejemplo: el compilador)

Introducción al Unified Process. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010

Anteproyecto Fin de Carrera

INGENIERÍA DE SOFTWARE Rational Unified Process RUP

Testing. Tipos, Planificación y Ejecución de Pruebas

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

PDSM: PROCESO DE DESARROLLO DE SOFTWARE MIXTO COMBINANDO RUP Y SCRUM. Mariani, María Florencia Okabe, Evangelina

Estándar de Ingeniería de Software de la European Space Agency (ESA)

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Guía metodologíca para la gestión de proyectos de software basada en metodologías agiles, que integre las herramientas de seguimiento de actividades,

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

GUÍA METODOLÓGICA DE DESARROLLO DE SISTEMAS TABLA DE CONTENIDO

Ingeniería del Software II

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

Ciclos desde su nacimiento hasta su muerte. Nacimiento. Muerte

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Capitulo 3: Procesos de la Dirección de Proyectos para un proyecto

METODOLOGÍA TRADICIONAL.

Gestión y Desarrollo de Requisitos en Proyectos Software

Instituto Educación Superior Tecnológico Privado El Buen Pastor

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

INGENIERÍA DEL SOFTWARE

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Ciclo de Ingeniería de Software

Desarrollo de software

<Generador de exámenes> Visión preliminar

Figure 9-1: Phase C: Information Systems Architectures

Ingeniería de Software

Ciclo de vida del Software

Base de Datos, Teoría General de Sistemas Área:

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Aseguramiento de la Calidad, QA. Materia: Desarrollo Industrial de Software Alumno: David Alejandro González Díaz y Froylan Ruiz Cirilo.

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

Plan de estudios ISTQB: Nivel Fundamentos

Anexo 4 Documento de Arquitectura

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

Proceso de Desarrollo de Software: Herramientas de Configuración de Procesos. Elisa Herrmann Ingeniería del Software de Gestión

Asignaturas antecedentes y subsecuentes

Figure 7-1: Phase A: Architecture Vision

El tema del proyecto de tesis que estoy desarrollando, según la clasificación de la ACM (Association for Computing Machinery) es la siguiente:

El Proceso Unificado

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

Proceso Unificado de Rational

Programación orientada a

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

Tecnología de la Información. Administración de Recursos Informáticos

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version Copyright Rational Software Corporation

Ciclo de vida del software

Gestión de Proyectos Informáticos

Nombre de la asignatura: Gestión de Proyectos de Software

Participantes

Plan de Administración del Proyecto

Ingeniería Web. Pablo Sevilla Jarquín

Metodología de Gestión de Proyectos

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP

Enginyeria del Software III

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Transcripción:

Ingeniería de Software: Parte 2 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) La familia Cristal de Cockburn Código Abierto ASD (Desarrollo de Software Adaptable) SCRUM FFD (Desarrollo Manejado por Rasgos) DSDM (Método de desarrollo de sistema dinámico) Yo no conozco todas, pero vale la pena conocer al menos una. Aquellas en rojo son populares.

RUP...

Desarrollo de software: Características de RUP... Guiado y Manejado por Casos de Uso Centrado en la Arquitectura Iterativo e Incremental Desarrollo Basado en Componentes Utilización de UML Proceso Integrado

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

Recordar el proceso de desarrollo de software completo Sueño Investigación Desarrollo Lanzamiento Soporte Parte a ser considerada en adelante Tiempo

Principales metodologías en el tiempo Definición de Requerimientos Modelo Tradicional de Cascada 1980 Análisis & Diseño Implementación y Test Unitarios Construcción/Pruebas Integración y test del sistema Tiempo Operación y mantención t Modelo Iterativo Incremental 1990 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

Rational Unified Process (RUP) Rational Unified Process 1998 Rational Objectory Process 1996-1997 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 Objectory Process 1987-1995 UML Enfoque Ericsson

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 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 4: Concepción, Inicio o Estudio de oportunidad Elaboración Construcción Transición

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

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

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

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

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

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

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

... 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 Deployment Set Project Management Set Configuration & Change Management Set Implementation Set Environment Set Test Set

Mejores Prácticas de RUP... Desarrolle Iterativamente Administre los Requerimientos Use Arquitectura de Componentes Modele Visualmente Verifique Calidad Controle los Cambios

Características Esenciales de RUP Proceso Dirigido por los Casos de Uso Proceso Iterativo e Incremental Proceso Centrado en la Arquitectura

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

Otra visión similar con más Actividades

Otra visión similar con más Actividades Disciplinas o áreas de trabajo Modelado del Negocio Requisitos Análisis y Diseño Primarios Implementación Pruebas Despliegue, distribución Gestión de configuración y cambios Gestión del proyecto De Apoyo Entorno

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

... Proceso dirigido por los Casos de Uso «trace» Realización de Análisis «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]

... Proceso dirigido por los Casos de Uso

Proceso Iterativo e Incremental Grado de completitud de cada área de trabajo Enfoque Cascada Enfoque Iterativo e Incremental

... Proceso Iterativo e Incremental Grado de Finalización de Artefactos

Esfuerzo respecto de las Áreas de Trabajo (Workflows) Inception Elaboration Construction Transition Requisitos Análisis 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

...Esfuerzo respecto de las Fases Inception Elaboration Construction Transition 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%

Un Ejemplo: Comparar con V-Model (Motorola)

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?