Metodologias modernas para el desarrollo de software
Upcoming SlideShare
Loading in...5
×
 

Metodologias modernas para el desarrollo de software

on

  • 14,520 views

 

Statistics

Views

Total Views
14,520
Views on SlideShare
13,966
Embed Views
554

Actions

Likes
5
Downloads
519
Comments
2

8 Embeds 554

http://engineeringsystemsinformatic.blogspot.com 403
http://dmae.utpuebla.edu.mx 66
http://engineeringsystemsinformatic.blogspot.mx 50
http://127.0.0.1 20
http://engineeringsystemsinformatic.blogspot.com.ar 9
http://tecnologiasdelainfo.p.ht 4
http://engineeringsystemsinformatic.blogspot.com.es 1
http://engineeringsystemsinformatic.blogspot.jp 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • xd
    Are you sure you want to
    Your message goes here
    Processing…
  • como hago para descargar el documeto
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Metodologias modernas para el desarrollo de software Metodologias modernas para el desarrollo de software Presentation Transcript

    • METODOLOGÍAS
      DE
      DESARROLLO DE SOFTWARE
    • Software
      Es el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea especifica
    • Tipos del software
      Software de sistema
      Software de programación
      Software de aplicación
      Proporciona herramientas para ayudar al programador a escribir programas informáticos y a buscar diferentes lenguajes de programación.
      es la parte que permite funcionar al hardware .
      Permite a los usuarios llevar a cabo una o varias tareas mas especificas .
    • Lenguaje de programación
      Es un lenguaje que puede ser utilizado para controlar el comportamiento de una maquina , particularmente de una computadora
      Se clasifican en:
      Según el nivel de abstracción
      Según la forma de ejecución
      Según el paradigma de programación
      Lenguajes de bajo nivel:
      Se acercan al funcionamiento de una computadora.
      Lenguajes de medio nivel:
      sus cualidades que los hacen un lenguaje mas cercano al hombre
      Lenguajes de alto nivel: Están formados por elementos de lenguajes naturales .
      Lenguajes compilados:
      Son aquellos cuya función es traducir un programa escrito en determinado lenguaje a un idioma que la computadora entienda.
      Lenguajes interpretados: elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa.
      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
      Lógicos:consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguaje de programación.
      Lenguajes orientados a objetos:
    • 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).
      Software es lo que se denomina producto en Ingeniería de Software
      ETIMOLOGIA
      SOFTWARE
      CODIFICACION
      por ejemplo se tardaría más tiempo en codificar un algoritmo en lenguaje ensamblador que el mismo programado en lenguaje C.
      Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel
      Código objeto
      Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel
      Código fuente
    • METODOLOGIA
      “Conjunto de actividades necesarias para transformar los requisitos de los usuarios en un sistema software“
    • Desarrollo Unificado con Métrica
      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.
      DUM
    • DUM
      Las cuatro primeras fases (Inicio, elaboración, construcción, transición) atraviesan cinco flujos de trabajo que son conocidos como iteración:
      1.Captura de requisitos.
      2.Análisis.
      3.Diseño.
      4.Implementación.
      5.Prueba.
    • 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
    • Metodologías estructuradas
      METODOLOGIAS ORIENTADAS A PROCESOS
      Especificación estructurada:
      Diagramas de Flujo de Datos
      Diccionario de Datos
      Especificaciones de procesos
    • metodologías modernas para el desarrollo de software
    • 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 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.
    • 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.
      Fases:
      Modelado de gestión
      Modelado de datos
      Modelado de Procesos
      Generación de Aplicaciones
      Pruebas y Volumen
      De 60 a 90 días
    • Scrum
      Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle.
      Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los
      últimos 10 años. Está especialmente indicada para proyectos con un rápido cambio de
      requisitos. Sus principales características se pueden resumir en dos. El desarrollo de
      software se realiza mediante iteraciones, denominadas sprints, con una duración de 30
      días. El resultado de cada sprint es un incremento ejecutable que se muestra al cliente.
      La segunda característica importante son las reuniones a lo largo proyecto. Éstas son
      las verdaderas protagonistas, especialmente la reunión diaria de 15 minutos del equipo
      de desarrollo para coordinación e integración.
    • Proceso:
      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.
    • 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.
    • 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 hacer desiciones repentinas.
      Ciclo de la XP
    • Rational Unified Process. (Proceso Racional Unificado - RUP)
      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).
      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).
    • Agile Unified Process. (Proceso Ágil Unificado - AUP)
      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.
    • Las fases son implementadas de una forma serial a lo largo de un proyecto de Agile UP. Estas fases son:
    • Sistemas
      “El computador es capaz de multiplicar por mil; una estupidez humana”
      ¡Muchas gracias!