Juicio al “creador” del modelo waterfall

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

OOA- Introducción a Casos de Uso
IBD Plan 90 y 2003 Clase 11.
MANTENIMIENTO DE SOFTWARE
SISTEMAS II CICLO DE VIDA.
UML DCU -DS Alvaro Garrido V..
Pruebas de Diseño Diplomado en Calidad en el Software NOTAS
Validación de Requerimientos
SISTEMAS II CICLO DE VIDA.
DISEÑO ORIENTADO AL OBJETO
2. Diseño y Desarrollo del Producto
Estadística Teórica II
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
Otros métodos de Diseño de Sistemas...
PROYECTO DE GRADO ANÁLISIS, DISEÑO, DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA WEB PARA EL CONTROL DE UN TALLER TÉCNICO AUTOMOTRIZ EN PLATAFORMA PHP –
Fase Elaboración Conclusiones Grupo 6 – PIS
Proceso de Originación de Crédito: Banco de los Alpes
Proyecto de Ingeniería de Software 2008
Administración de Procesos de Pruebas
Versión 2004 Enrique Bañuelos Gómez
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
Investigación en acción
Desarrollo Orientado a Objetos con UML
Metodología Investigación Científica
DSOO - María Eugenia Valencia
Herramientas para la Redacción y Publicación Científica 09. Pautas para redactar la discusión Módulo II: Anatomía del artículo.
Managing the Development of Large Software Systems Adrián Ducet – 271/99 David Alejandro Gonzalez Marquez - 286/03 Martín Sigal - 95/00 Matías Alejandro.
Las etapas de un proyecto
Ingenieria de software
04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia.
El Ciclo de Vida de los Sistemas
Tema 7: Introducción a los contrastes de hipótesis
Estadística aplicada a la educación
Tema : Introducción a los contrastes de hipótesis
ANALISIS Y DISEÑO DE SISTEMA Ing. Sanchez Castillo Eddye Arturo
Tema 1: Introducción al análisis y diseño de aplicaciones software
Modelos de desarrollo de Software
Ingeniería de Software
Ingeniería del Software
Tema 1: Introducción a la Ingeniería de Software
Tema: Pruebas de hipótesis
Excel es un software que permite crear tablas, y calcular y analizar datos. Este tipo de software se denomina software de hoja de cálculo. Excel permite.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Trainning DFD.
Sistema de gestión de amonestaciones y sanciones en centros educativos
Ingeniería del software
Ingeniería en Software Paradigmas de la ingeniería de software Ing. Gabriel Enrique Castillo González Instituto Tecnológico Superior de Chapala.
¿Qué es el Ensayo Crítico?
ASIGNACIÓN DE ROLES.
Verificación y Validación del Software
Juan Carlos Olivares Rojas
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Lenguaje programación
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Ingeniería de software
Ingeniería en Software
Microsoft Office Project INTRODUCCIÓN A LA GESTIÓN DE PROYECTOS Microsoft Office Project 2010.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
TEMA: RESPONSABILIDAD DE ERRORES
Ciclo de Vida del Software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
1. El diseño viene primero ¿Quién debe hacer diseño? ANALISTA.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
Proyecto de Ingeniería de Software 2008 Proyecto TITA Soft. Grupo 02.
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Fundamentos de Computación
Título de la Presentación Estado del arte sobre el testeo de software en las Pymes de Aragón 12 de Noviembre de 2015.
Conalep 150 Tehuacán inmi 309 soma
Productos de Pruebas Hace hambre!! . Las bases. La verificación consiste en corroborar que el programa respeta su especificación, mientras que validación.
Proceso de Investigación
Transcripción de la presentación:

Juicio al “creador” del modelo waterfall Winston W. Royce Juicio al “creador” del modelo waterfall

Abogados Defensores Cecilia Sanchez Marta Ponzoni Matías Pérez Santiago Avendaño

? El acusado Winston W. Royce (1929-1995) Doctor en ingeniería aeronáutica Trabajó para la NASA (hasta 1970) Director del Lockheed Software Technology Center in Austin, Texas (desde 1970) Information Systems Award (AIAA, 1975) ? 1) , 2) y 3)estas dos cosas van a influenciar los tipos de problemas a los que Royce se enfrentó en el desarrollo de software

El Contexto 1968 Crisis del Software Primera Fase. Los albores (1945-1955) Programar no es una tarea diferenciada del diseño de una máquina Uso de lenguaje máquina y ensamblador Segunda Fase. El florecimiento (1955-1965) Aparecen multitud de lenguajes “Todo es posible” Tercera Fase. La crisis (1965-1970) Desarrollo inacabable de grandes programas Ineficiencia, errores, coste impredecible “Nada es posible” Cuarta Fase. Innovación conceptual (1970-1980) Fundamentos de programación Verificación de programas Metodologías de desarrollo Quinta Fase. El diseño es el problema (1980-199?) Especificación formal Programación automática 1968 Crisis del Software La historia del desarrollo del software puede dividirse a grandes rasgos en 5 etapas

El Delito “Managing the development of Large Software Systems.” El delito del que se lo acusa es haber publicado el paper “Managing the development of Large Software Systems.” “Managing the development of Large Software Systems.” (Proceedings of the IEEE Wescon.) Agosto de 1970

Imputados secundarios Departamento de Defensa de los Estados Unidos (DoD) MIL-STD-1521B (1976) DOD-STD-2167 (1988) NASA Otros JSP-188 (Británico), German V-Model GAM-T-17 (Francés) Y la cáscada se transformó en avalancha Como un simple paper se transformó, en una metodología a seguir.

Preguntas Qué es lo que dice el paper? Es Royce el creador del modelo en cascada? Royce describe el modelo en cascada en su paper? Royce defiende el modelo en cascada como la forma correcta de desarrollar grandes sistemas de software?

Análisis de la prueba Introducción “I am going to describe my personal views about managing large software development” “I have become prejudiced by my experiences and I am going to relate some of these prejudices in this presentation.”

Step 1. El diseño viene primero

1. El diseño viene primero

1. El diseño viene primero ¿Quién debe hacer diseño? ANALISTA

1. El diseño viene primero ¿Quién debe hacer diseño? PROGRAMADOR

1. El diseño viene primero Comenzar el proceso de diseño con diseñadores, no analistas ni programadores. DISEÑADOR

1. El diseño viene primero Comenzar el proceso de diseño con diseñadores, no analistas ni programadores. Diseñar, definir y alocar los módulos de procesamiento de datos aún a riesgo de equivocarnos. Escribir un documento entendible, informativo y actualizado

Step 2 . Documentar el Diseño ¿Cuánta documentación? Mucha!!!!!!

Step 2 . Documentar el Diseño ¿Cuánta documentación? Mucha!!!!!! Para que???

Evitar el síndrome “90% finalizado”

Evitar el síndrome “90% finalizado” La documentación “es” la especificación y “es” el diseño. El verdadero valor de la documentación se verá a la hora del testing, en la fase operacional y en el rediseño. Testing: evitar que el que testea sea el mismo que cometió los errores. Operacional: poder hace el “testeo” mejor y más barato

Operacional: poder hace el “testeo” mejor y más barato

Evitar el síndrome “90% finalizado” La documentación “es” la especificación y “es” el diseño. El verdadero valor de la documentación se verá a la hora del testing, en la fase operacional y en el rediseño. Testing: evitar que el que testea sea el mismo que cometió los errores. Operacional: poder hace el “testeo” mejor y más barato Rediseño: facilitar los cambios

Step 3. Hacerlo dos veces

3. Hacerlo dos veces Para testear hipótesis Para probar distintas alternativas Para estimar

Step 4. Plan control and monitor Testing Es la fase de mayor riesgo económico. Ocurre al final del proceso. Los 3 pasos anteriores son para descubrir y solucionar problemas antes de la fase de testing Igual sigue siendo una fase crítica. Da algunas consideraciones para hacerlo bien

Consideraciones: Usar “testers”. Hacer un scan visual. Testear todo camino lógico al menos una vez. Detecto errores “simples” => pasar al área de testing. Consid 1) Testers, son especialistas, muchas tareas de testing las saben hacer mejor (como los diseñadores el diseño)‏ 2) Muchos errores son obvios - Los errores que hoy nos dirías eclipse - Habla de “jump to wrong addresses” [Saltos a direcciones erróneas] (Assembler)‏ - Pair programing 3) Testear todo camino lógico. Test de unidad - El cliente es lo menos que pide. - Descubre mayor parte de los errores - Muchos dirás “Es imposible” - No importa hay que hacerlo dice 4) Test de integración, - En cierto momento la compu es la mejor herramienta para detectar bugs ¿Quien lo hace? ¿Cuando?

Step 5. involve the customer Involucrar... Mas bien implicar. Por alguna razón los requerimientos están sujetos a interpretaciones -> hacerlo firmar algo lo más formal posible. Varios checkpoints -> hacerlo en varias etapas de todo el proyecto

1) Diseño preliminar 2) Docuentacion 3) Simulacion paralela 4) Testing Resumiendo... 1) Diseño preliminar 2) Docuentacion 3) Simulacion paralela 4) Testing 5) Checkpoints

Conclusiones‏ Muchos... Pero... Ya pasamos por esto... Si bien Royce no definió el modelo en cascada, el modelo que propone tiene gran parte de los problemas como ser: Muchos... Pero... Ya pasamos por esto...

Ahora sí... conclusiones El paper no trata de introducir un modelo teórico de desarrollo, sino que intenta ser una recopilación de la experiencia de Winston. Alguno de los problemas del modelo Waterfall Royce ya los había visto y tratado de combatir. Es criticable la visión de que hay que hacer que el cliente se comprometa con una serie de requerimientos para que luego no de marcha atrás... No trata de introducir teoría, sino que recopila experiencias personales Había problemas que ya los había visto desde el vamos Criticable lo de comprometer de esa manera al cliente

Preguntas Qué es lo que dice el paper? El paper presenta la situación en que se encontraba el desarrollo de software en ese momento (1970) y propone mejoras Es Royce el creador del modelo en cascada? No, Royce solo lo utiliza para mostrar como se desarrollaba software en ese momento. Royce describe el modelo en cascada en su paper? No, solo muestra un dibujito Royce defiende el modelo en cascada como la forma correcta de desarrollar grandes sistemas de software? No, al contrario, lo critica y propone mejoras

Referencias “Managing the development of Large Software Systems" http://portal.acm.org/citation.cfm?id=41801 Agile and Iterative Development: A Manager's Guide By Craig Larman   August 11, 2003 ISBN : 0-13-111155-8 on page 102ff (The Historical Accident of Waterfall Validity?)

¿ Preguntas ? ¿ No ? Listo !