metodologÍas de desarrollo de software modernas

18
METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS Ing. Sonia Godoy Hortua 1

Upload: lois

Post on 11-Jan-2016

76 views

Category:

Documents


1 download

DESCRIPTION

METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS. Principales metodologías de software. 1968 Conceptos sobre la programación estructurada de DIJKSTRA 1974 Técnicas de programación estructurada de WARNIER y JACKSON 1975 Primeros conceptos sobre diseño estructurado de MYERS y YOURDON - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

METODOLOGÍAS DE

DESARROLLO DE SOFTWAREMODERNAS

Ing. Sonia Godoy Hortua 1

Page 2: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

Principales metodologías de software

1968 Conceptos sobre la programación estructurada de DIJKSTRA 1974 Técnicas de programación estructurada de WARNIER y JACKSON 1975 Primeros conceptos sobre diseño estructurado de MYERS y

YOURDON 1977 Primeros conceptos sobre análisis estructurado GANE y SARSON 1978 Análisis estructurado: DEMARCO y WEINBERG Nace MERISE 1981 SSADM (versión inicial) Information Engineering (versión inicial) 1985 Análisis y Diseño estructurado para sistemas de tiempo real de WARD y MELLOR 1986 SSADM Versión 3 1987 Análisis y Diseño estructurado para sistemas de tiempo real de HATLEY y PIRHBAY 1989 METRICA (versión inicial) 1990 SSADM Versión 4 1993 METRICA Versión 2 1995 METRICA Versión 2.1

Page 3: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

MODELO SCRUM

ESTRUCTURA DE DESARROLLO AGIL

Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto.

Ing. Sonia Godoy Hortua 3

Es un modo de desarrollo de

carácter adaptable más que predictivo.

Orientado a las personas más

que a los procesos.

Emplea la estructura de desarrollo ágil

incremental basada en

iteraciones y revisiones.

Page 4: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

CARACTERISTICAS

Ing. Sonia Godoy Hortua 4

INDIVIDUOS E ITERACIONES

SOBRE PROCESOS Y HERRAMIENTAS

SOFTWARE FUNCIONANDO

SOBRE DOCUMENTACION EXTENSIVA

COLABORACION CON EL CLIENTE

SOBRE NEGOCIACIÓN CONTRACTUAL

RESPUESTA ANTE EL CAMBIO

SOBRE SEGUIR UN PLAN

Page 5: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

ROLES

5

Ing. S

onia

Godoy H

ortu

a

Page 6: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

Elementos Pila del producto: lista de

requisitos de usuario que se origina con la visión inicial del producto y va creciendo y evolucionando durante el desarrollo.

Pila del sprint: Lista de los trabajos que debe realizar el equipo durante el sprint para generar el incremento previsto.

Incremento: Resultado de cada sprint

Ing. Sonia Godoy Hortua 6

Page 7: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

HISTORIA DE USUARIOS

7

Ing. S

onia

Godoy H

ortu

a

Page 8: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

8

Ing. Sonia G

odoy Hortua

Page 9: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

EXTREME PROGRAMMING. (PROGRAMACIÓN EXTREMA - XP)

¿Qué es XP? Metodología para un ágil desarrollo de software.Programación basada en los deseos del cliente.El equipo lo conforman los jefes de proyecto,

desarrolladores y el cliente.Se rige por valores y principios.

¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS

PEQUEÑOS?

Page 10: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

PROGRAMACION EXTREMA

10

Ing. Sonia G

odoy Hortua

SCRUM

XP

¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS

PEQUEÑOS?

CONTROL DE CODIGO FUENTE

METAFORAS

PROGRAMACIÓN EN PAREJAS

TRABAJO EN EQUIPO COMPLETO

INTEGRACIÓN CONTINUA

MEJORA DEL DISEÑO

NORMAS DE CODIFICACIÓN

EL CODIGO ES DE TODOS

PLANIFICACIÓN

TEST DEL CLIENTE

VERSIONES PEQUEÑAS

DISEÑO SIMPLE

RITMO SOSTENIBLE

Page 11: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

CARACTERISTICAS DE XP

Comunicación: Crear software requiere de sistemas comunicados.

Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí.

Retroalimentacion: Del sistema, del cliente, y del equipo.

Valentia: Programa para hoy y no para mañana.

Respeto: El equipo debe trabajar como uno, sin tomar decisiones repentinas.

Ciclo de la XP

Page 12: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

EJEMPLO

METODOLOGIA TRADICIONAL

METODOLOGIA AGIL

Ing. Sonia Godoy Hortua 12

Page 13: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

DUM

Características:

Proporciona una guía para las actividades de un equipo de desarrollo.

Dirige las tareas de cada desarrollador por separado y del equipo en conjunto.

Especifica los productos que deben desarrollarse.Ofrece criterios para el control, medición de los

productos y actividades del proyecto.

Desarrollo Unificado con Métrica

Page 14: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

DUM

Las cuatro primeras fases (Inicio, elaboración, construcción, transición) atraviesan cinco flujos de trabajo que son conocidos como iteración:

Captura de requisitos

Análisis

DiseñoImplementac

ión.

Prueba.

Page 15: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

Rapid Application Development (Desarrollo rápido de aplicaciones – RAD )

El RAD es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución

El Desarrollo Rápido de Aplicaciones (DRA) (Rapid Application Development RAD) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un “sistema completamente funcional” dentro de periodos cortos de tiempo.

Page 16: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

Modelado de gestión

Modelado de datos

Modelado de procesos

Generación de aplicaciones

Pruebas y Volumen

De 60 a 90 días

Fases:Ventajas de RAD•Comprar puede ahorrar dinero en comparación con construir. •Los entregables pueden ser fácilmente trasladados a otra plataforma. •El desarrollo se realiza a un nivel de abstracción mayor. •Visibilidad temprana. •Mayor flexibilidad. •Menor codificación manual. •Mayor involucramiento de los usuarios. •Posiblemente menos fallas. •Posiblemente menor costo. •Ciclos de desarrollo más pequeños. •Interfaz gráfica estándar.

Page 17: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

RATIONAL UNIFIED PROCESS. (PROCESO RACIONAL UNIFICADO - RUP) Es un proceso de desarrollo de

software y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP es una guía de cómo usar UML de la forma más efectiva. RUP es un refinamiento realizado por Rational Software del más genérico Proceso Unificado.

Es una forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo).

Es también un producto:•Desarrollado y mantenido por Rational.•Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.•Su objetivo principal es asegurar la producción de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones).

Page 18: METODOLOGÍAS  DE  DESARROLLO DE SOFTWARE MODERNAS

AGILE UNIFIED PROCESS. (PROCESO ÁGIL UNIFICADO - AUP)

El Proceso Unificado Agil de Scott Ambler o Agile Unified Process (AUP) en inglés es una versión simplificada del Proceso Unificado de Rational (RUP). Este describe de una manera simple y fácil de entender la forma de desarrollar aplicaciones de software de negocio usando técnicas ágiles y conceptos que aún se mantienen válidos en RUP. El AUP aplica técnicas ágiles incluyendo Desarrollo Dirigido por Pruebas (test driven development – TDD), Modelado Agil, Gestión de Cambios Agil, y Refactorización de Base de Datos para mejorar la productividad.