fbpx
Wikipedia

Metodología de desarrollo de software

La metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.[1]

Tres patrones básicos en las metodologías de desarrollo de software.

Introducción

Una metodología de desarrollo de software se refiere a un framework (entorno o marco de trabajo) que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.

A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.

Un framework para metodología de desarrollo de software consiste en:

  • Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software
  • Herramientas, modelos y métodos para asistir al proceso de desarrollo de software

Estos frameworks son a menudo vinculados a algún tipo de organización que desarrolla, apoya el uso y promueve la metodología.

Historia

El desarrollo de los sistemas tradicionales de ciclo de vida se originó en la década de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una época de grandes conglomerados empresariales. La idea principal era continuar el desarrollo de los sistemas de información de manera deliberada, estructurada y metódica, reiterando cada una de las etapas del ciclo de vida.

Las metodologías de desarrollo de software tienen como objetivo presentar un conjunto de técnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad, incluyendo heurísticas de construcción y criterios de comparación de modelos de sistemas.

Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML), sus diagramas, especificación, y criterios de aplicación de las mismas. Como complemento se describirán las metodologías de desarrollo de software que utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el proceso de desarrollo de software más adecuado para las diferentes aplicaciones ejemplos que se presentarán. Principalmente, se presentará el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental.

  • Kendall y Kendall

I. Identificación del problema, oportunidades y objetivos. II. Determinación de los requerimientos de información. III. Análisis de las necesidades del sistema. IV. Diseño del sistema recomendado. V. Desarrollo y documentación del software. VI. Pruebas y mantenimiento del sistema. VII. Implantación y evaluación del sistema.

  • James Senn

I. Ciclo de vida y desarrollo del sistema. II. Desarrollo por análisis estructurado III. Prototipo del sistema.

  • Llorens Fabregas

I. Requerimientos. II. Análisis/Diseño. III. Construcción. IV. Pruebas. V. Producción y mantenimiento.

  • Jonas Montilva

I. Definir el proyecto. II. Análisis del contexto. III. Definición de los requerimientos. IV. Diseño preliminar. V. Diseño detallado.

  • Roger Pressman

I. Análisis de los requerimientos del Software. II. Diseño. III. Generación de código. IV. Pruebas. V. Mantenimiento;

Metodologías de desarrollo de software

1970
1980
  • Structured Systems Analysis and Design Methodology (SSADM) desde 1980
  • Structured Analysis and Design Technique (SADT) desde 1980
  • Ingeniería de la información (IE/IEM) desde 1981
1990
Nuevo milenio
  • Enterprise Unified Process (EUP) extensiones RUP desde 2002
  • Constructionist design methodology (CDM) desde 2004 por Kristinn R. Thórisson
  • Agile Unified Process (AUP) desde 2005 por Scott Ambler

Enfoques de desarrollo de software

Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son los siguientes:[1]

  • Modelo en cascada: Framework lineal.
  • Prototipado: Framework iterativo.
  • Incremental: Combinación de framework lineal e iterativo.
  • Espiral: Combinación de framework lineal e iterativo.
  • RAD: Rapid Application Development, framework iterativo.

Modelo en cascada

Es un proceso secuencial, fácil de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implantación, pruebas (validación), la integración, y mantenimiento. La primera descripción formal del modelo de cascada se cita a menudo a un artículo publicado por Winston Royce W.[2]​ en 1970, aunque Royce no utiliza el término "cascada" de este artículo.

Los principios básicos del modelo de cascada son los siguientes:[1]

  • El proyecto está dividido en fases secuenciales, con cierta superposición y splashback aceptable entre fases.
  • Se hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de todo un sistema de una sola vez.
  • Un estricto control se mantiene durante la vida del proyecto a través de la utilización de una amplia documentación escrita, así como a través de comentarios y aprobación / signoff hechas por el usuario y la gestión del área TI al final de la mayoría de las fases y antes de comenzar la próxima fase.

Prototipo

El prototipo permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características del modelo terminado. El prototipo permite al cliente evaluar en forma temprana el producto, e interactuar con los diseñadores y desarrolladores para saber si se está cumpliendo con las expectativas y las funcionalidades acordadas. Los Prototipos no poseen la funcionalidad total del sistema pero si condensa la idea principal del mismo, Paso a Paso crece su funcionalidad, y maneja un alto grado de participación del usuario.

Incremental

Provee una estrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro.

Espiral

Los principios básicos son:

  • La atención se centra en la evaluación y reducción del riesgo del proyecto dividiendo el proyecto en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo, así como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideración de la continuación del proyecto durante todo el ciclo de vida.
  • Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: (1) determinar objetivos, alternativas, y desencadenantes de la iteración; (2) Evaluar alternativas; Identificar y resolver los riesgos; (3) desarrollar y verificar los resultados de la iteración, y (4) plan de la próxima iteración.[3]
  • Cada ciclo comienza con la identificación de los interesados y sus condiciones de ganancia, y termina con la revisión y examinación.[3]

Rapid Application Development (RAD)

El desarrollo rápido de aplicaciones (RAD) es una metodología de desarrollo de software, que implica el desarrollo iterativo y la construcción de prototipos. El desarrollo rápido de aplicaciones es un término originalmente utilizado para describir un proceso de desarrollo de software introducido por James Martin en 1991.

Principios básicos:

  • Objetivo clave es para un rápido desarrollo y entrega de una alta calidad en un sistema de relativamente bajo coste de inversión.
  • Intenta reducir los riesgos inherentes del proyecto partiéndolo en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo.
  • Orientación dedicada a producir sistemas de alta calidad con rapidez, principalmente mediante el uso de iteración por prototipos (en cualquier etapa de desarrollo), promueve la participación de los usuarios y el uso de herramientas de desarrollo computarizadas. Estas herramientas pueden incluir constructores de Interfaz gráfica de usuario (GUI), Computer Aided Software Engineering (CASE) las herramientas, los sistemas de gestión de bases de datos (DBMS), lenguajes de programación de cuarta generación, generadores de código, y técnicas orientada a objetos.
  • Hace especial hincapié en el cumplimiento de la necesidad comercial, mientras que la ingeniería tecnológica o la excelencia es de menor importancia.
  • Control de proyecto implica el desarrollo de prioridades y la definición de los plazos de entrega. Si el proyecto empieza a aplazarse, se hace hincapié en la reducción de requisitos para el ajuste, no en el aumento de la fecha límite.
  • En general incluye Joint application development (JAD), donde los usuarios están intensamente participando en el diseño del sistema, ya sea a través de la creación de consenso estructurado en talleres, o por vía electrónica.
  • La participación activa de los usuarios es imprescindible.
  • Iterativamente realiza la producción de software, en lugar de enfocarse en un prototipo.
  • Produce la documentación necesaria para facilitar el futuro desarrollo y mantenimiento.

Otros enfoques de desarrollo de software

  • Metodologías de desarrollo Orientado a objetos, Diseño orientado a objetos (OOD) de Grady Booch, también conocido como Análisis y Diseño Orientado a Objetos (OOAD). El modelo incluye seis diagramas: de clase, objeto, estado de transición, la interacción, módulo, y el proceso.
  • Top-down programming, evolucionado en la década de 1970 por el investigador de IBM Harlan Mills (y Niklaus Wirth) en Desarrollo Estructurado.
  • Proceso Unificado, es una metodología de desarrollo de software, basado en UML. Organiza el desarrollo de software en cuatro fases, cada una de ellas con la ejecución de una o más iteraciones de desarrollo de software: creación, elaboración, construcción, y las directrices. Hay una serie de herramientas y productos diseñados para facilitar la aplicación. Una de las versiones más populares es la de Rational Unified Process.

Referencias

  1. SELECTING A DEVELOPMENT APPROACH el 2 de enero de 2019 en Wayback Machine.. Revalidated: March 27, 2008. Consultado el 27 de octubre de 2008.
  2. Wasserfallmodell > Entstehungskontext, Markus Rerych, Institut für Gestaltungs- und Wirkungsforschung, TU-Wien. Accessed on line November 28, 2007.
  3. (Boehm, 2000)
  •   Datos: Q1378470
  •   Multimedia: Software development methodology

metodología, desarrollo, software, este, artículo, sección, necesita, revisión, ortografía, gramática, puedes, colaborar, editándolo, cuando, haya, corregido, puedes, borrar, este, aviso, iniciado, sesión, puedes, ayudarte, corrector, ortográfico, activándolo,. Este articulo o seccion necesita una revision de ortografia y gramatica Puedes colaborar editandolo Cuando se haya corregido puedes borrar este aviso Si has iniciado sesion puedes ayudarte del corrector ortografico activandolo en Mis preferencias Accesorios Navegacion El corrector ortografico resalta errores ortograficos con un fondo rojo Este aviso fue puesto el 21 de septiembre de 2017 La metodologia de desarrollo de software en ingenieria de software es un marco de trabajo usado para estructurar planificar y controlar el proceso de desarrollo en sistemas de informacion 1 Tres patrones basicos en las metodologias de desarrollo de software Indice 1 Introduccion 2 Historia 3 Metodologias de desarrollo de software 4 Enfoques de desarrollo de software 4 1 Modelo en cascada 4 2 Prototipo 4 3 Incremental 4 4 Espiral 4 5 Rapid Application Development RAD 4 6 Otros enfoques de desarrollo de software 5 ReferenciasIntroduccion EditarUna metodologia de desarrollo de software se refiere a un framework entorno o marco de trabajo que es usado para estructurar planear y controlar el proceso de desarrollo en sistemas de informacion A lo largo del tiempo una gran cantidad de metodos han sido desarrollados diferenciandose por su fortaleza y debilidad Un framework para metodologia de desarrollo de software consiste en Una filosofia de desarrollo de programas de computacion con el enfoque del proceso de desarrollo de software Herramientas modelos y metodos para asistir al proceso de desarrollo de softwareEstos frameworks son a menudo vinculados a algun tipo de organizacion que desarrolla apoya el uso y promueve la metodologia Historia EditarEl desarrollo de los sistemas tradicionales de ciclo de vida se origino en la decada de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una epoca de grandes conglomerados empresariales La idea principal era continuar el desarrollo de los sistemas de informacion de manera deliberada estructurada y metodica reiterando cada una de las etapas del ciclo de vida Las metodologias de desarrollo de software tienen como objetivo presentar un conjunto de tecnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad incluyendo heuristicas de construccion y criterios de comparacion de modelos de sistemas Para tal fin se describen fundamentalmente herramientas de Analisis y Diseno Orientado a Objetos UML sus diagramas especificacion y criterios de aplicacion de las mismas Como complemento se describiran las metodologias de desarrollo de software que utilizan dichas herramientas ciclos de vida asociados y discusion sobre el proceso de desarrollo de software mas adecuado para las diferentes aplicaciones ejemplos que se presentaran Principalmente se presentara el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental Kendall y KendallI Identificacion del problema oportunidades y objetivos II Determinacion de los requerimientos de informacion III Analisis de las necesidades del sistema IV Diseno del sistema recomendado V Desarrollo y documentacion del software VI Pruebas y mantenimiento del sistema VII Implantacion y evaluacion del sistema James SennI Ciclo de vida y desarrollo del sistema II Desarrollo por analisis estructurado III Prototipo del sistema Llorens FabregasI Requerimientos II Analisis Diseno III Construccion IV Pruebas V Produccion y mantenimiento Jonas MontilvaI Definir el proyecto II Analisis del contexto III Definicion de los requerimientos IV Diseno preliminar V Diseno detallado Roger PressmanI Analisis de los requerimientos del Software II Diseno III Generacion de codigo IV Pruebas V Mantenimiento Metodologias de desarrollo de software Editar1970Programacion estructurada sol desde 1969 Programacion estructurada de Jackson desde 19751980Structured Systems Analysis and Design Methodology SSADM desde 1980 Structured Analysis and Design Technique SADT desde 1980 Ingenieria de la informacion IE IEM desde 19811990Rapid application development RAD desde 1991 Programacion orientada a objetos OOP a lo largo de la decada de los 90 s Virtual finite state machine VFSM desde 1990s Dynamic Systems Development Method desarrollado en UK desde 1995 Scrum desarrollo en la ultima parte de los 90 s Rational Unified Process RUP desde 1999 Extreme Programming XP desde 1999Nuevo milenioEnterprise Unified Process EUP extensiones RUP desde 2002 Constructionist design methodology CDM desde 2004 por Kristinn R Thorisson Agile Unified Process AUP desde 2005 por Scott AmblerEnfoques de desarrollo de software EditarCada metodologia de desarrollo de software tiene mas o menos su propio enfoque para el desarrollo de software Estos son los enfoques mas generales que se desarrollan en varias metodologias especificas Estos enfoques son los siguientes 1 Modelo en cascada Framework lineal Prototipado Framework iterativo Incremental Combinacion de framework lineal e iterativo Espiral Combinacion de framework lineal e iterativo RAD Rapid Application Development framework iterativo Modelo en cascada Editar Es un proceso secuencial facil de desarrollo en el que los pasos de desarrollo son vistos hacia abajo como en una cascada de agua a traves de las fases de analisis de las necesidades el diseno implantacion pruebas validacion la integracion y mantenimiento La primera descripcion formal del modelo de cascada se cita a menudo a un articulo publicado por Winston Royce W 2 en 1970 aunque Royce no utiliza el termino cascada de este articulo Los principios basicos del modelo de cascada son los siguientes 1 El proyecto esta dividido en fases secuenciales con cierta superposicion y splashback aceptable entre fases Se hace hincapie en la planificacion los horarios fechas presupuestos y ejecucion de todo un sistema de una sola vez Un estricto control se mantiene durante la vida del proyecto a traves de la utilizacion de una amplia documentacion escrita asi como a traves de comentarios y aprobacion signoff hechas por el usuario y la gestion del area TI al final de la mayoria de las fases y antes de comenzar la proxima fase Prototipo Editar El prototipo permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad basica de la misma sin necesariamente incluir toda la logica o caracteristicas del modelo terminado El prototipo permite al cliente evaluar en forma temprana el producto e interactuar con los disenadores y desarrolladores para saber si se esta cumpliendo con las expectativas y las funcionalidades acordadas Los Prototipos no poseen la funcionalidad total del sistema pero si condensa la idea principal del mismo Paso a Paso crece su funcionalidad y maneja un alto grado de participacion del usuario Incremental Editar Provee una estrategia para controlar la complejidad y los riesgos desarrollando una parte del producto software reservando el resto de aspectos para el futuro Espiral Editar Los principios basicos son La atencion se centra en la evaluacion y reduccion del riesgo del proyecto dividiendo el proyecto en segmentos mas pequenos y proporcionar mas facilidad de cambio durante el proceso de desarrollo asi como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideracion de la continuacion del proyecto durante todo el ciclo de vida Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes basicos 1 determinar objetivos alternativas y desencadenantes de la iteracion 2 Evaluar alternativas Identificar y resolver los riesgos 3 desarrollar y verificar los resultados de la iteracion y 4 plan de la proxima iteracion 3 Cada ciclo comienza con la identificacion de los interesados y sus condiciones de ganancia y termina con la revision y examinacion 3 Rapid Application Development RAD Editar El desarrollo rapido de aplicaciones RAD es una metodologia de desarrollo de software que implica el desarrollo iterativo y la construccion de prototipos El desarrollo rapido de aplicaciones es un termino originalmente utilizado para describir un proceso de desarrollo de software introducido por James Martin en 1991 Principios basicos Objetivo clave es para un rapido desarrollo y entrega de una alta calidad en un sistema de relativamente bajo coste de inversion Intenta reducir los riesgos inherentes del proyecto partiendolo en segmentos mas pequenos y proporcionar mas facilidad de cambio durante el proceso de desarrollo Orientacion dedicada a producir sistemas de alta calidad con rapidez principalmente mediante el uso de iteracion por prototipos en cualquier etapa de desarrollo promueve la participacion de los usuarios y el uso de herramientas de desarrollo computarizadas Estas herramientas pueden incluir constructores de Interfaz grafica de usuario GUI Computer Aided Software Engineering CASE las herramientas los sistemas de gestion de bases de datos DBMS lenguajes de programacion de cuarta generacion generadores de codigo y tecnicas orientada a objetos Hace especial hincapie en el cumplimiento de la necesidad comercial mientras que la ingenieria tecnologica o la excelencia es de menor importancia Control de proyecto implica el desarrollo de prioridades y la definicion de los plazos de entrega Si el proyecto empieza a aplazarse se hace hincapie en la reduccion de requisitos para el ajuste no en el aumento de la fecha limite En general incluye Joint application development JAD donde los usuarios estan intensamente participando en el diseno del sistema ya sea a traves de la creacion de consenso estructurado en talleres o por via electronica La participacion activa de los usuarios es imprescindible Iterativamente realiza la produccion de software en lugar de enfocarse en un prototipo Produce la documentacion necesaria para facilitar el futuro desarrollo y mantenimiento Otros enfoques de desarrollo de software Editar Metodologias de desarrollo Orientado a objetos Diseno orientado a objetos OOD de Grady Booch tambien conocido como Analisis y Diseno Orientado a Objetos OOAD El modelo incluye seis diagramas de clase objeto estado de transicion la interaccion modulo y el proceso Top down programming evolucionado en la decada de 1970 por el investigador de IBM Harlan Mills y Niklaus Wirth en Desarrollo Estructurado Proceso Unificado es una metodologia de desarrollo de software basado en UML Organiza el desarrollo de software en cuatro fases cada una de ellas con la ejecucion de una o mas iteraciones de desarrollo de software creacion elaboracion construccion y las directrices Hay una serie de herramientas y productos disenados para facilitar la aplicacion Una de las versiones mas populares es la de Rational Unified Process Referencias Editar a b c SELECTING A DEVELOPMENT APPROACH Archivado el 2 de enero de 2019 en Wayback Machine Revalidated March 27 2008 Consultado el 27 de octubre de 2008 Wasserfallmodell gt Entstehungskontext Markus Rerych Institut fur Gestaltungs und Wirkungsforschung TU Wien Accessed on line November 28 2007 a b Boehm 2000 Datos Q1378470 Multimedia Software development methodologyObtenido de https es wikipedia org w index php title Metodologia de desarrollo de software amp oldid 136136444, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos