Você está na página 1de 7

Metodologa de desarrollo de software

Metodologa de desarrollo de software en ingeniera de software es un marco de trabajo


usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de
informacin.1

Tres patrones bsicos en las metodologas de desarrollo de software.


ndice [ocultar]
1 Introduccin
2 Historia
3 Metodologas de desarrollo de software
4 Enfoques de desarrollo de software
4.1 Modelo en cascada
4.2 Prototipado
4.3 Incremental
4.4 Espiral
4.5 Rapid Application Development (RAD)
4.6 Otros enfoques de desarrollo de software
5 Referencia
Introduccin[editar]
Una metodologa de desarrollo de software se refiere a un framework que es usado para
estructurar, planear y controlar el proceso de desarrollo en sistemas de informacin.

A lo largo del tiempo, una gran cantidad de mtodos han sido desarrollados
diferencindose por su fortaleza y debilidad.

El framework para metodologa de desarrollo de software consiste en:

Una filosofa de desarrollo de programas de computacion con el enfoque del proceso de

desarrollo de software
Herramientas, modelos y mtodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algn tipo de organizacin, que adems
desarrolla, apoya el uso y promueve la metodologa. La metodologa es a menudo
documentada en algn tipo de documentacin formal.

Historia[editar]
El desarrollo de los sistemas tradicionales de ciclo de vida se origin en la dcada 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 informacin en una muy deliberada, estructurada y metdica, reiterando
cada una de las etapas del ciclo de vida. Los sistemas de informacin en torno a las
actividades resueltas pesadas para el procesamiento de datos y rutinas de clculo.

Metodologas de Desarrollo de Software tiene como objetivo presentar un conjunto de


tcnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar
software de calidad, incluyendo heursticas de construccin y criterios de comparacin de
modelos de sistemas.

Para tal fin se describen, fundamentalmente, herramientas de Anlisis y Diseo Orientado


a Objetos (UML), sus diagramas, especificacin, y criterios de aplicacin de las mismas.
Como complemento se describirn las metodologas de desarrollo de software que
utilizan dichas herramientas, ciclos de vida asociados y discusin sobre el proceso de
desarrollo de software ms adecuado para las diferentes aplicaciones ejemplos que se
presentarn. Principalmente, se presentar el Proceso Unificado el cual utiliza un ciclo de
vida iterativo e incremental.

Kendall y Kendall
I. Identificacin del problema, oportunidades y objetivos. II. Determinacin de los
requerimientos de informacin. III. Anlisis de las necesidades del sistema. IV. Diseo del
sistema recomendado. V. Desarrollo y documentacin del software. VI. Pruebas y
mantenimiento del sistema. VII. Implantacin y evaluacin del sistema.

James Senn
I. Ciclo de vida y desarrollo del sistema. II. Desarrollo por anlisis estructurado III.
Prototipo del sistema.

Llorens Fabregas
I. Requerimientos. II. Anlisis/Diseo. III. Construccin. IV. Pruebas. V. Produccin y
mantenimiento.

Jonas Montilva
I. Definir el proyecto. II. Anlisis del contexto. III. Definicin de los requerimientos. IV.
Diseo preliminar. V. Diseo detallado.

Roger Pressman
I. Anlisis de los requerimientos del Software. II. Diseo. III. Generacin de cdigo. IV.
Pruebas. V. Mantenimiento;

Metodologas de desarrollo de software[editar]


1970
Programacin estructurada sol desde 1969
Programacin estructurada Jackson desde 1975
1980
Structured Systems Analysis and Design Methodology (SSADM) desde 1980
Structured Analysis and Design Technique (SADT) desde 1980
Ingeniera de la informacin (IE/IEM) desde 1981
1990
Rapid application development (RAD) desde 1991.
Programacin orientada a objetos (OOP) a lo largo de la dcada de los 90's
Virtual finite state machine (VFSM) desde 1990s
Dynamic Systems Development Method desarrollado en UK desde 1995.
Scrum (desarrollo), en la ltima parte de los 90's
Rational Unified Process (RUP) desde 1999.
Extreme Programming(XP) desde 1999

Nuevo milenio
Enterprise Unified Process (EUP) extensiones RUP desde 2002
Constructionist design methodology (CDM) desde 2004 por Kristinn R. Thrisson
Agile Unified Process (AUP) desde 2005 por Scott Ambler
Enfoques de desarrollo de software[editar]
Cada metodologa de desarrollo de software tiene ms o menos su propio enfoque para el
desarrollo de software. Estos son los enfoques ms generales, que se desarrollan en
varias metodologas especficas. Estos enfoques son los siguientes:1

Modelo en cascada: Framework lineal.


Prototipado: Framework iterativo.
Incremental: Combinacin de framework lineal e iterativo.
Espiral: Combinacin de framework lineal e iterativo.
RAD: Rapid Application Development, framework iterativo.
Modelo en cascada[editar]
Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia
abajo (como en una cascada de agua) a travs de las fases de anlisis de las
necesidades, el diseo, implantacin, pruebas (validacin), la integracin, y
mantenimiento. La primera descripcin formal del modelo de cascada se cita a menudo a
un artculo publicado por Winston Royce W.2 en 1970, aunque Royce no utiliza el trmino
"cascada" de este artculo.

Los principios bsicos del modelo de cascada son los siguientes:1

El proyecto est dividido en fases secuenciales, con cierta superposicin y splashback


aceptable entre fases.
Se hace hincapi en la planificacin, los horarios, fechas, presupuestos y ejecucin de
todo un sistema de una sola vez.
Un estricto control se mantiene durante la vida del proyecto a travs de la utilizacin de
una amplia documentacin escrita, as como a travs de comentarios y aprobacin /
signoff por el usuario y la tecnologa de la informacin de gestin al final de la mayora de
las fases antes de comenzar la prxima fase.

Prototipado[editar]
El prototipado permite desarrollar modelos de aplicaciones de software que permiten ver
la funcionalidad bsica de la misma, sin necesariamente incluir toda la lgica o
caractersticas del modelo terminado. El prototipado permite al cliente evaluar en forma
temprana el producto, e interactuar con los diseadores 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 participacin 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.

Los principios bsicos son:

Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la cascada modelo
de desarrollo se han completado para una pequea parte de los sistemas, antes de
proceder a la prxima incremental.
Se definen los requisitos antes de proceder con lo evolutivo, se realiza un mini-Cascada
de desarrollo de cada uno de los incrementos del sistema.
El concepto inicial de software, anlisis de las necesidades, y el diseo de la arquitectura
y colectiva bsicas se definen utilizando el enfoque de cascada, seguida por iterativo de
prototipos, que culmina en la instalacin del prototipo final.
Espiral[editar]
Los principios bsicos son:

La atencin se centra en la evaluacin y reduccin del riesgo del proyecto dividiendo el


proyecto en segmentos ms pequeos y proporcionar ms facilidad de cambio durante el
proceso de desarrollo, as como ofrecer la oportunidad de evaluar los riesgos y con un
peso de la consideracin de la continuacin del proyecto durante todo el ciclo de vida.
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes bsicos: (1) determinar
objetivos, alternativas, y desencadenantes de la iteracin; (2) Evaluar alternativas;
Identificar y resolver los riesgos; (3) desarrollar y verificar los resultados de la iteracin, y
(4) plan de la prxima iteracin.3
Cada ciclo comienza con la identificacin de los interesados y sus condiciones de

ganancia, y termina con la revisin y examinacin.3


Rapid Application Development (RAD)[editar]
El desarrollo rpido de aplicaciones (RAD) es una metodologa de desarrollo de software,
que implica el desarrollo iterativo y la construccin de prototipos. El desarrollo rpido de
aplicaciones es un trmino originalmente utilizado para describir un proceso de desarrollo
de software introducido por James Martin en 1991.

Principios bsicos:

Objetivo clave es para un rpido desarrollo y entrega de una alta calidad en un sistema
de relativamente bajo coste de inversin.
Intenta reducir el riesgos inherente del proyecto partindolo en segmentos ms pequeos
y proporcionar ms facilidad de cambio durante el proceso de desarrollo.
Orientacin dedicada a producir sistemas de alta calidad con rapidez, principalmente
mediante el uso de iteracin por prototipos (en cualquier etapa de desarrollo), promueve
la participacin de los usuarios y el uso de herramientas de desarrollo computarizadas.
Estas herramientas pueden incluir constructores de Interfaz grfica de usuario (GUI),
Computer Aided Software Engineering (CASE) las herramientas, los sistemas de gestin
de bases de datos (DBMS), lenguajes de programacin de cuarta generacin,
generadores de cdigo, y tcnicas orientada a objetos.
Hace especial hincapi en el cumplimiento de la necesidad comercial, mientras que la
ingeniera tecnolgica o la excelencia es de menor importancia.
Control de proyecto implica el desarrollo de prioridades y la definicin de los plazos de
entrega. Si el proyecto empieza a aplazarse, se hace hincapi en la reduccin de
requisitos para el ajuste, no en el aumento de la fecha lmite.
En general incluye Joint application development (JAD), donde los usuarios estn
intensamente participando en el diseo del sistema, ya sea a travs de la creacin de
consenso estructurado en talleres, o por va electrnica.
La participacin activa de los usuarios es imprescindible.
Iterativamente realiza la produccin de software, en lugar de enfocarse en un prototipo.
Produce la documentacin necesaria para facilitar el futuro desarrollo y mantenimiento.
Otros enfoques de desarrollo de software[editar]
Metodologas de desarrollo Orientado a objetos, Diseo orientado a objetos (OOD) de
Grady Booch, tambin conocido como Anlisis y Diseo Orientado a Objetos (OOAD). El
modelo incluye seis diagramas: de clase, objeto, estado de transicin, la interaccin,

mdulo, y el proceso.
Top-down programming, evolucionado en la dcada de 1970 por el investigador de IBM
Harlan Mills (y Niklaus Wirth) en Desarrollo Estructurado.
Proceso Unificado, es una metodologa de desarrollo de software, basado en UML.
Organiza el desarrollo de software en cuatro fases, cada una de ellas con la ejecucin de
una o ms iteraciones de desarrollo de software: creacin, elaboracin, construccin, y
las directrices. Hay una serie de herramientas y productos diseados para facilitar la
aplicacin. Una de las versiones ms populares es la de Rational Unified Process.

Você também pode gostar