Want to make creations as awesome as this one?

Transcript

Empezar

Metodologías desarrollo de software

11.Metodos formales

9.. Metodos formales

GRACIAS

7. Metodología software agil

6. Metodología de desarrollo de software agil

5. Metodología tradicionales

4. Imagen

3. ¿Qué es?

2. Metodología de desarrollo de software

1. Sección

ÍNDICE

Las metodologías de desarrollo de software se utilizan en el ámbito de la programación, entre otros, con el objetivo de trabajar en equipo de manera organizada. Estas metodologías han ido evolucionando a lo largo del tiempo, pasando de ser un mero trámite de organización a ser una base importantísima a la hora de desarrollar software de una manera productiva y eficaz.

Metodología de desarrollo de software

+ info

Cuando se trata de desarrollar productos o soluciones para un cliente o mercado concreto, es necesario tener en cuenta factores como los costes, la planificación, la dificultad, el equipo de trabajo disponible, los lenguajes utilizados, etc. Todos ellos se engloban en una metodología de desarrollo que permite organizar el trabajo de la forma más ordenada posible..

¿Qué es la metodología de desarrollo de software?

+ info

Metodologías tradicionales y Metodologías agiles

paso 5

DISEÑO RAPIDO DE APLICACIONES

paso 4

paso 3

paso 2

paso 1

INCREMENTAL

ESPIRAL

PROTOTIPADO

CASCADA

Metodologías de desarrollo Tradicionales

+ info

+ info

+ info

+ info

+ info

Las metodologías ágiles de desarrollo de software son las más utilizadas hoy en día debido a su alta flexibilidad y agilidad. Los equipos de trabajo que las utilizan son mucho más productivos y eficientes, ya que saben lo que tienen que hacer en cada momento. Además, la metodología permite adaptar el software a las necesidades que van surgiendo por el camino, lo que facilita construir aplicaciones más funcionales.

Metodología de desarrollo de software agiles

+ info

+ info

+ info

KANBAN

+ info

+ info

SCRUM

LEAN

PROGRAMACIÓN EXTREMA

Metodologías de desarrollo de software agiles

“Revista Virtual Universidad Católica del Norte”. No. 30, (mayo - septiembre de 2010, Colombia), acceso: [http://revistavirtual.ucn.edu.co/], ISSN 0124-5821 - Indexada Publindex-Colciencias, Latindex, EBSCO Information Services y Actualidad Iberoamericana.

En Ingeniería de Software, un método formal es un proceso que se aplica para desarrollar programas, y que explota el poder de la notación y de las pruebas matemáticas. Además, los requisitos, la especificación y el sistema completo deben validarse con las necesidades del mundo realReferencia bibliografica:

METODOS FORMALES

En los últimos años, la idea de que la formalización matemática del SW es el enfoque más apropiado para conseguir mejorar su calidad va adquiriendo cada vez más fuerza. Los partidarios de los métodos formales defienden que su empleo, a lo largo de todo el ciclo de vida, facilita el desarrollo de especificaciones claras, concisas y no ambiguas, permite el análisis funcional de la especificación y posibilita el desarrollo de implementaciones correctas respecto a su especificación.

El papel de los metodos formales en ingeniería de software

•El desarrollo de herramientas que apoyen la aplicación de métodos formales es complicado y los programas resultantes son incómodos para los usuarios.•Los investigadores por lo general no conocen la realidad industrial. •Es escasa la colaboración entre la industria y el mundo académico, que en ocasiones se muestra demasiado dogmático. •Se considera que la aplicación de métodos formales encarece los productos y ralentiza su desarrollo.

problematicas

•Se comprende mejor el sistema. •La comunicación con el cliente mejora ya que se dispone de una descripción clara y no ambigua de los requisitos del usuario. •El sistema se describe de manera más precisa. •El sistema se asegura matemáticamente que es correcto según las especificaciones. •Mayor calidad software respecto al cumplimiento de las especificaciones. •Mayor productividad

Ventajas

Clasificación

Proponen una descripción de estructuras de datos estableciendo tipos y operaciones sobre esos tipos.

Especificaciones algebraicas

Permiten especificar el sistema mediante un concepto formal de estados y operaciones sobre estados. Los datos y relaciones/funciones se describen en detalle y sus propiedades se expresan en lógica de primer orden. La semántica de los lenguajes está basada en la teoría de conjuntos. Los métodos de este tipo más conocidos son: Z, VDM y B.

Especificaciones basadas en logica de primer orden y teoría de conjuntos

Wynnie Calero. Metodos Formales [En línea] viernes 17 de septiembre de 2010 Disponible en: http://ingenieraupoliana.blogspot.com/2010/09/metodos-formales.html

Ingieneria de software

Santander Universidades. Metodología de Desarrollo de Software: ¿Qué son? [En línea]. 21 diciembre de 2020. Disponible en: https://www.becas-santander.com/es/blog/metodologias-desarrollo-software.html

-metodologias de desarrollo de software: ¿qué son?

PMaida, EG, Pacienzia, J. Metodologías de desarrollo de software [en línea]. Tesis de Licenciatura en Sistemas y Computación. Facultad de Química e Ingeniería “Fray Rogelio Bacon”. Universidad Católica Argentina, 2015. Disponible en: http://bibliotecadigital.uca.edu.ar/repositorio/tesis/metodologias-desarrollo-software.pdf [

-metodologías de desarrollo de software

bibliografia

¡Gracias!

Diseño rapido de aplicaciones

Esta metodología permite desarrollar software de alta calidad en un corto periodo de tiempo. Los costes son mucho más altos y el desarrollo más flexible, aunque requiere una mayor intervención de los usuarios. Por otro lado, el código puede contener más errores, y sus funciones son limitadas debido al poco tiempo del que se dispone para desarrollarlas. El objetivo es iterar el menor número posible de veces para conseguir una aplicación completa de forma rápida.

Programación extrema

Es una metodología de desarrollo de software basada en las relaciones interpersonales, que se consideran la clave del éxito. Su principal objetivo es crear un buen ambiente de trabajo en equipo y que haya un feedback constante del cliente. El trabajo se basa en 12 conceptos: diseño sencillo, testing, refactorización y codificación con estándares, propiedad colectiva del código, programación en parejas, integración continua, entregas semanales e integridad con el cliente, cliente in situ, entregas frecuentes y planificación.

Espiral

Es una combinación de los dos modelos anteriores, que añade el concepto de análisis de riesgo. Se divide en cuatro etapas: planificación, análisis de riesgo, desarrollo de prototipo y evaluación del cliente. El nombre de esta metodología da nombre a su funcionamiento, ya que se van procesando las etapas en forma de espiral. Cuanto más cerca del centro se está, más avanzado está el proyecto.

¿Sabías que?

Este tipo de metodologías permite construir equipos de trabajo autosuficientes e independientes que se reúnen cada poco tiempo para poner en común las novedades.

Scrum

Es también una metodología incremental que divide los requisitos y tareas de forma similar a Kanban. Se itera sobre bloques de tiempos cortos y fijos (entre dos y cuatro semanas) para conseguir un resultado completo en cada iteración. Las etapas son: planificación de la iteración (planning sprint), ejecución (sprint), reunión diaria (daily meeting) y demostración de resultados (sprint review). Cada iteración por estas etapas se denomina también sprint.

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!

Incremental

En esta metodología de desarrollo de software se va construyendo el producto final de manera progresiva. En cada etapa incremental se agrega una nueva funcionalidad, lo que permite ver resultados de una forma más rápida en comparación con el modelo en cascada. El software se puede empezar a utilizar incluso antes de que se complete totalmente y, en general, es mucho más flexible que las demás metodologías.

Cascada

Es una metodología en la que las etapas se organizan de arriba a abajo, de ahí el nombre. Se desarrollan las diferentes funciones en etapas diferenciadas y obedeciendo un riguroso orden. Antes de cada etapa se debe revisar el producto para ver si está listo para pasar a la siguiente fase. Los requisitos y especificaciones iniciales no están predispuestos para cambiarse, por lo que no se pueden ver los resultados hasta que el proyecto ya esté bastante avanzado.

Prototipado

Se basa en la construcción de un prototipo de software que se construye rápidamente para que los usuarios puedan probarlo y aportar feedback. Así, se puede arreglar lo que está mal e incluir otros requerimientos que puedan surgir. Es un modelo iterativo que se basa en el método de prueba y error para comprender las especificidades del producto.

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!

Kanban

Metodología de trabajo inventada por la empresa de automóviles Toyota. Consiste en dividir las tareas en porciones mínimas y organizarlas en un tablero de trabajo dividido en tareas pendientes, en curso y finalizadas. De esta forma, se crea un flujo de trabajo muy visual basado en tareas prioritarias e incrementando el valor del producto.

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!

¿En que ayuda?

El trabajo con una metodología de desarrollo de software permite reducir el nivel de dificultad, organizar las tareas, agilizar el proceso y mejorar el resultado final de las aplicaciones a desarrollar.

Lean

Está configurado para que pequeños equipos de desarrollo muy capacitados elaboren cualquier tarea en poco tiempo. Los activos más importantes son las personas y su compromiso, relegando así a un segundo plano el tiempo y los costes. El aprendizaje, las reacciones rápidas y potenciar el equipo son fundamentales.

¿Sabías que?

En las últimas décadas, las metodologías ágiles de desarrollo de software se han impuesto sobre las demás, tal como indica el último estudio de Project Manager Institute (PMI), que señala que el 71 % de las empresas de ingeniería de software utiliza estas metodologías. Por lo tanto, si quieres dedicar tu carrera profesional al desarrollo de software, deberás aprender cómo funcionan las metodologías ágiles.