Your SlideShare is downloading. ×
METODOLOGÍAS <br />DE<br /> DESARROLLO DE SOFTWARE<br />
Software<br />Es  el conjunto de programas  y procedimientos  necesarios  para hacer posible la realización  de una tarea ...
Tipos del software<br />Software de sistema<br />Software de programación<br />Software de aplicación<br />Proporciona her...
 Lenguaje  de  programación<br />Es un lenguaje  que puede ser  utilizado  para  controlar  el comportamiento de una maqui...
Software (pronunciación AFI:[soft'ɣware]) es una palabra proveniente del inglés (literalmente: partes blandas o suaves), q...
METODOLOGIA<br />“Conjunto de actividades necesarias para transformar los requisitos de los usuarios en un sistema softwar...
Desarrollo Unificado con Métrica<br />Características:<br />Proporciona una guía para las actividades de un equipo de desa...
DUM<br />Las cuatro primeras fases (Inicio, elaboración, construcción, transición) atraviesan cinco flujos de trabajo que ...
Principales metodologías de        software<br />1968 Conceptos sobre la programación estructurada de DIJKSTRA<br />1974 T...
Metodologías estructuradas<br />METODOLOGIAS ORIENTADAS A PROCESOS<br />Especificación estructurada:<br />Diagramas de Flu...
metodologías modernas para el desarrollo de software<br />
Rapid Application Development (Desarrollo rápido de aplicaciones – RAD )<br />El RAD es un proceso de desarrollo de softwa...
Ventajas de RAD<br /><ul><li>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.
Upcoming SlideShare
Loading in...5
×

Metodologias modernas para el desarrollo de software

17,213

Published on

2 Comments
10 Likes
Statistics
Notes
No Downloads
Views
Total Views
17,213
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
600
Comments
2
Likes
10
Embeds 0
No embeds

No notes for slide

Transcript of "Metodologias modernas para el desarrollo de software"

  1. 1. METODOLOGÍAS <br />DE<br /> DESARROLLO DE SOFTWARE<br />
  2. 2. Software<br />Es el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea especifica<br />
  3. 3. Tipos del software<br />Software de sistema<br />Software de programación<br />Software de aplicación<br />Proporciona herramientas para ayudar al programador a escribir programas informáticos y a buscar diferentes lenguajes de programación.<br />es la parte que permite funcionar al hardware .<br />Permite a los usuarios llevar a cabo una o varias tareas mas especificas . <br />
  4. 4. Lenguaje de programación<br />Es un lenguaje que puede ser utilizado para controlar el comportamiento de una maquina , particularmente de una computadora<br />Se clasifican en:<br />Según el nivel de abstracción<br />Según la forma de ejecución<br />Según el paradigma de programación<br />Lenguajes de bajo nivel:<br />Se acercan al funcionamiento de una computadora.<br />Lenguajes de medio nivel:<br />sus cualidades que los hacen un lenguaje mas cercano al hombre<br />Lenguajes de alto nivel: Están formados por elementos de lenguajes naturales .<br />Lenguajes compilados:<br />Son aquellos cuya función es traducir un programa escrito en determinado lenguaje a un idioma que la computadora entienda.<br />Lenguajes interpretados: elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa.<br />Lenguajes imperativos :son un conjunto de instrucciones que le indican al computador cómo realizar una tarea. Lenguajes declarativos:está basado en el desarrollo de programasespecificando "un conjunto de condiciones, proposiciones y afirmaciones que describen el problema y detallan su solución Funcionales: se pueden realizar programas usando exclusivamente funciones definidas por el usuario<br />Lógicos:consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguaje de programación.<br />Lenguajes orientados a objetos:<br />
  5. 5. Software (pronunciación AFI:[soft'ɣware]) es una palabra proveniente del inglés (literalmente: partes blandas o suaves), que en español no posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y así fue admitida por la Real Academia Española(RAE).Aunque no es estrictamente lo mismo, suele sustituirse por expresiones tales como programas (informáticos) o aplicaciones (informáticas).<br />Software es lo que se denomina producto en Ingeniería de Software<br />ETIMOLOGIA<br />SOFTWARE<br />CODIFICACION<br />por ejemplo se tardaría más tiempo en codificar un algoritmo en lenguaje ensamblador que el mismo programado en lenguaje C.<br />Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel<br />Código objeto<br />Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel <br />Código fuente<br />
  6. 6. METODOLOGIA<br />“Conjunto de actividades necesarias para transformar los requisitos de los usuarios en un sistema software“<br />
  7. 7. Desarrollo Unificado con Métrica<br />Características:<br />Proporciona una guía para las actividades de un equipo de desarrollo.<br />Dirige las tareas de cada desarrollador por separado y del equipo en conjunto.<br />Especifica los productos que deben desarrollarse.<br />Ofrece criterios para el control, medición de los productos y actividades del proyecto.<br />DUM<br />
  8. 8. DUM<br />Las cuatro primeras fases (Inicio, elaboración, construcción, transición) atraviesan cinco flujos de trabajo que son conocidos como iteración:<br />1.Captura de requisitos.<br />2.Análisis.<br />3.Diseño.<br />4.Implementación.<br />5.Prueba.<br />
  9. 9. Principales metodologías de software<br />1968 Conceptos sobre la programación estructurada de DIJKSTRA<br />1974 Técnicas de programación estructurada de WARNIER y JACKSON<br />1975 Primeros conceptos sobre diseño estructurado de MYERS y YOURDON<br />1977 Primeros conceptos sobre análisis estructurado GANE y SARSON<br />1978 Análisis estructurado: DEMARCO y WEINBERG<br />Nace MERISE<br />1981 SSADM (versión inicial)<br />Information Engineering (versión inicial)<br />1985 Análisis y Diseño estructurado para sistemas de tiempo real de<br />WARD y MELLOR<br />1986 SSADM Versión 3<br />1987 Análisis y Diseño estructurado para sistemas de tiempo real de<br />HATLEY y PIRHBAY<br />1989 METRICA (versión inicial)<br />1990 SSADM Versión 4<br />1993 METRICA Versión 2<br />1995 METRICA Versión 2.1<br />
  10. 10. Metodologías estructuradas<br />METODOLOGIAS ORIENTADAS A PROCESOS<br />Especificación estructurada:<br />Diagramas de Flujo de Datos<br />Diccionario de Datos<br />Especificaciones de procesos<br />
  11. 11. metodologías modernas para el desarrollo de software<br />
  12. 12. Rapid Application Development (Desarrollo rápido de aplicaciones – RAD )<br />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<br />El Desarrollo Rápido de Aplicaciones (DRA) (Rapid ApplicationDevelopment 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.<br />
  13. 13. Ventajas de RAD<br /><ul><li>Comprar puede ahorrar dinero en comparación con construir.
  14. 14. Los entregables pueden ser fácilmente trasladados a otra plataforma.
  15. 15. El desarrollo se realiza a un nivel de abstracción mayor.
  16. 16. Visibilidad temprana.
  17. 17. Mayor flexibilidad.
  18. 18. Menor codificación manual.
  19. 19. Mayor involucramiento de los usuarios.
  20. 20. Posiblemente menos fallas.
  21. 21. Posiblemente menor costo.
  22. 22. Ciclos de desarrollo más pequeños.
  23. 23. Interfaz gráfica estándar. </li></ul>Fases:<br />Modelado de gestión<br />Modelado de datos<br />Modelado de Procesos<br />Generación de Aplicaciones<br />Pruebas y Volumen<br />De 60 a 90 días <br />
  24. 24. Scrum<br />Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle.<br />Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los<br />últimos 10 años. Está especialmente indicada para proyectos con un rápido cambio de<br />requisitos. Sus principales características se pueden resumir en dos. El desarrollo de<br />software se realiza mediante iteraciones, denominadas sprints, con una duración de 30<br />días. El resultado de cada sprint es un incremento ejecutable que se muestra al cliente.<br />La segunda característica importante son las reuniones a lo largo proyecto. Éstas son<br />las verdaderas protagonistas, especialmente la reunión diaria de 15 minutos del equipo<br />de desarrollo para coordinación e integración.<br />
  25. 25. Proceso:<br />En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta de dos semanas, si así se necesita). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.<br />
  26. 26. Extreme Programming. (Programación extrema - XP) <br />¿Qué es XP? <br /><ul><li>Metodología para un ágil desarrollo de software.
  27. 27. Programación basada en los deseos del cliente.
  28. 28. El equipo lo conforman los jefes de proyecto, desarrolladores y el cliente.
  29. 29. Se rige por valores y principios.</li></li></ul><li>Caracteristicas de XP<br /><ul><li>Comunicación: Crear software requiere de sistemas comunicados.
  30. 30. Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí.
  31. 31. Retroalimentacion: Del sistema, del cliente, y del equipo.
  32. 32. Valentia: Programa para hoy y no para mañana.
  33. 33. Respeto: El equipo debe trabajar como uno, sin hacer desiciones repentinas.</li></ul>Ciclo de la XP<br />
  34. 34. Rational Unified Process. (Proceso Racional Unificado - RUP) <br />Es también un producto:<br /><ul><li>Desarrollado y mantenido por Rational.
  35. 35. Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.
  36. 36. 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).</li></ul>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.<br />Es una forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo).<br />
  37. 37. Agile Unified Process. (Proceso Ágil Unificado - AUP) <br />El Proceso Unificado Agil de Scott Ambler o Agile UnifiedProcess (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 drivendevelopment – TDD), Modelado Agil, Gestión de Cambios Agil, y Refactorización de Base de Datos para mejorar la productividad.<br />
  38. 38. Las fases son implementadas de una forma serial a lo largo de un proyecto de Agile UP. Estas fases son:<br />
  39. 39. Sistemas<br />“El computador es capaz de multiplicar por mil; una estupidez humana”<br />¡Muchas gracias!<br />

×