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

Metodologias modernas para el desarrollo de software

on

  • 14,976 views

 

Statistics

Views

Total Views
14,976
Views on SlideShare
14,400
Embed Views
576

Actions

Likes
5
Downloads
546
Comments
2

8 Embeds 576

http://engineeringsystemsinformatic.blogspot.com 420
http://dmae.utpuebla.edu.mx 66
http://engineeringsystemsinformatic.blogspot.mx 54
http://127.0.0.1 20
http://engineeringsystemsinformatic.blogspot.com.ar 10
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
  • 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!