Sie sind auf Seite 1von 8

Ingeniera del Software

Mtodos de desarrollo Software

Metodologadedesarrollodesoftware
Es el conjunto de mtodos utilizados en la creacin de software, estos
mtodos son los llamados frameworks que no son ms que marcos
de trabajos definidos por actividades que definen las acciones de la
planificacin, estructura y control de procesos en un sistema. Estos
proporcionan una gua til para ingenieros del software y dems
integrantes de un equipo de desarrollo que se organizan en un flujo
de proceso. Los distintos modelos de desarrollo de software
comnmente estudiados son: los modelos prescriptivos de procesos,
los evolutivos, los especializados en procesos y los procesos
unificados.

Mtodos prescriptivos de procesos:


Cuando se requiere, por parte del equipo de desarrollo de software,
crear un marco de trabajo organizado, de estabilidad y control en las
distintas actividades que realizan dentro del proyecto, se adopta un
mtodo prescriptivo puesto que las actividades genricas del marco
de trabajo permanecen razonablemente consistentes a lo largo del
desarrollo del software, son modelos rigurosos sin embargo se pueden
adaptar para usarlos de manera efectiva.
Mtodos evolutivos:
A diferencia del anterior este metodologa es ideal para proyectos de
naturaleza cambiante ajustndose ms a la realidad de la mayora de
los proyectos, es muy til cuando existen fechas de presentacin de
resultados al cliente muy cortas, los proyectos bajo esta filosofa
funcionan con mapas de procesos de evolucin iterativa que sugieren
crear versiones limitadas pero funcionales capaz de ser mostradas al
cliente en un plazo corto de tiempo, aunado a la posibilidad de definir
con estas versiones detalles que quizs no se tengan claro en un
principio, hasta llegar a versiones cada vez ms completas del
software.

Realizado por Jefferson Valero


21.077.909

Ingeniera del Software


Mtodos de desarrollo Software

Desarrolloencascada
Es el mtodo ms antiguo de todos, fue propuesto por Winston Royce
en 1970, este se basa en la gravedad de la cascada, siguiere disear
un proyecto en secuencia lineal donde cada etapa sea impulsada por
la anterior, es decir, cada etapa sea consecuencia de la etapa
inmediata anterior pero para iniciar la siguiente se debe dar por
culminada la actual.
Son siete etapas o fases que inicia con:
El anlisis de los requisitos, para poder plantearse la solucin de
un problema, se debe conocer el mismo y lo que requerimos para
encontrarlo, ac se analiza la necesidad del usuario final y se crea el
primer documento llamado documento de especificacin de requisitos
(SRD, por sus siglas en ingls) que no es ms que registrar todas las
necesidades que el usuario final ver por solventada, con la
utilizacin del sistema, de manera general sin entrar en detalles.
La segunda etapa es el diseo del sistema, en esta etapa se
presume la solucin como un conjunto de mdulos con el fin de
manejar fragmentos para mayor manejabilidad y comprensin,
haciendo ms entendible el todo descomponindolo y estudiando las
relaciones creando as la estructura quedando registrado en el
documento de Diseo de Software (SDD).
La tercera etapa es el diseo del programa, una vez creada la
estructura del programa se debe disear los algoritmos, la receta en
s de las soluciones especficas para darle paso a la cuarta fase, la
fase de codificacin.
La cuarta etapa es la codificacin esta etapa el desarrollador crea el
cdigo fuente de la solucin, aqu se materializa los algoritmos creado
Realizado por Jefferson Valero
21.077.909

Ingeniera del Software


Mtodos de desarrollo Software
en la fase anterior, aqu se estudia los lenguajes de programacin a
utilizar, los frameworks que podran ser de utilidad y se establece
todos los parmetros para lograr compatibilidad de lenguajes,
herramientas de desarrollo con las plataformas en las que se
operaran.
La quinta etapa, las pruebas, permite a los desarrolladores realizar
pruebas reales uniendo todos los componentes del sistema y detectar
fallos que, de haber, redireccionara el proyecto a las etapas
anteriores provocando prdidas de tiempo y monetarias.
Una vez aprobado la etapa de pruebas por los desarrolladores, inicia
la etapa sexta, la verificacin por parte del usuario final y con ella
se descubre si el software cumple con los objetivos.
La ltima etapa es la de mantenimiento que es brindar soporte una
vez implementado el sistema.
Como desventajas tiene:

Su naturaleza sugiere que este mtodo es til cuando los


requerimientos son fijos y lineales y es muy raro encontrarse
proyectos que cumplan con estas caractersticas.
En la etapa inicial se plantea una completa recoleccin de los
requisitos del problema, sin embargo, la mayora de los clientes
desconocen por completo el problema propuesto lo que
implicara nuevos requisitos a lo largo del proyecto, caso que no
estn dentro de esta metodologa de desarrollo.
adems que el cliente solo puede observar resultados solo a
una etapa muy avanzada de desarrollo.
Otra desventaja planteada por Bradac son los estados de
bloqueo, existen actividades dependientes dentro de este
mtodo por lo cual miembros del equipo de trabajo podran
estar convirtiendo su tiempo productivo en tiempo de espera
mientras pueden iniciar actividades bloqueadas por las de su
compaero.

Modelodeprototipos
Se trata de crear modelos que permitan darle un vistazo del resultado
final al cliente, permitiendo al desarrollador orientarse, luego del
feedback por parte del usuario final, hacia el resultado ms optimo en

Realizado por Jefferson Valero


21.077.909

Ingeniera del Software


Mtodos de desarrollo Software
poco tiempo puesto que puede entender mejor los requerimientos del
cliente
Etapas de construccin de un prototipo:
La primera esta es la comunicacin donde generalmente se obtiene
una idea general de los objetivos del software, el ingeniero de
software o el usuario no tienen definidos los detalles pero mediante
de una compresin general de informacin, se completa la fase de
comunicacin.
La segunda fase, el plan rpido y modelado de diseo rpido es
la etapa donde se construye un algoritmo lgico que pueda solventar
el problema general sin entrar en detalle de cada actividad que har
el software sino ms al diseo de interfaces que sern visibles al
usuario final o al cliente.
En la tercera etapa, la construccin del prototipo, se codifica las
ideas planteadas en la fase de diseo o planificacin rpida.
En la ltima fase, es la fase de presentacin de resultados con el
desarrollo de entrega y retroalimentacin, donde una vez
mostrado el prototipo al usuario final o cliente, el mismo lo evala
para entonces solventar inquietudes del desarrollador y en conjunto
definir requisitos ms especficos del proyecto que puedan dar como
resultado un producto final que genere satisfaccin al cliente con un
ritmo acertado de trabajo por parte del ingeniero del software por
tener conocimiento de lo que se quiere.
Como desventaja se tiene que:

Como se muestra una versin funcional el cliente ajusta el


tiempo de la prxima entrega a muy corto plazo por pensar que
solo se realizaran ajustes, pero la realidad es que un prototipo
no tiene la calidad de un producto final por lo cual este primer
sistema puede que sea desechado en su totalidad para
entonces lograr una versin que cumpla con los estndares de
calidad que se quiere. No existe comprensin de que un
prototipo es solo una presentacin que tiende a no tomar la
calidad y la facilidad de mantenimiento como premisas de
construccin. Por la reconstruccin del software continua, puede
que el tiempo de desarrollo del software sea muy lento.
Por ser el prototipo una versin de planificacin y diseo rpido,
puede que no se tome en cuenta la interoperabilidad o la
solucin ms optima en las plataformas donde se utilizara el
software, por tanto se pueden aplicar algoritmos ineficientes
Realizado por Jefferson Valero
21.077.909

Ingeniera del Software


Mtodos de desarrollo Software
que no puedan ser reconocidos as sino al tiempo de haberse
aplicado y forme estos partes de la solucin integral.

Desarrolloincremental
Tomando en consideracin el cambio de opinin del cliente y los
cambios que ocurren en el desarrollo de un software, nace este
mtodo el cual se basa en bloques temporales que agrupan varias
tareas del mtodo en cascada como diseo de software, codificacin
y prueba para concretar entregables al usuario final y de all, con
cada iteracin ir evolucionando hasta llegar al resultado final
En ocasiones se encuentran definidos los requisitos del proyecto, sin
embargo es necesario hacer una entrega de limitada funcionalidad
que luego de ser requisada, es necesaria expandirla en forma de
incrementos, la diferencia con el mtodo evolutivo, es que combina
elementos del modelo de cascada por ser este secuencial sin dejar a
un lado la posibilidad que la entrega de un incremento puede ser
prototipo.
El modelo de proceso incremental tiene como otras similitudes al de
prototipo, la evaluacin del cliente que al dar una retroalimentacin
se obtiene los detalles para un prximo incremento que pueda
satisfacer mejor las necesidades del cliente, es de naturaleza iterativa
pero la diferencia es que se enfoca en incrementos completamente
operativos.
Es sumamente til cuando existe una fecha de presentacin de
resultado prxima sin embargo, lo suficiente como para mostrar
avances que sean base completa para un prximo incremento sin
desperdicio de cdigo.
Tiene las etapas del modelo de cascada pero aplicadas en
incrementos lo que reduce la complejidad del software a mostrar y
por ende el tiempo de presentacin de resultados
Como desventaja se tiene que

El software puede lucir simple ante el cliente o usuario final por


poco cambio en las interfaces as haya diferencia en el
algoritmo y cdigo significativo
Se debe tomar en consideracin que los incrementos no sean
solo basados en las retroalimentaciones del cliente sino ver
Realizado por Jefferson Valero
21.077.909

Ingeniera del Software


Mtodos de desarrollo Software

cules son necesarios por cuenta del ingeniero de software, ya


que se tiende a dirigir el trabajo del desarrollador a los puntos
que destaca el cliente
Requiere una presencia constante del cliente, mucho de ellos no
pueden o quieren invertir gran parte de tiempo a la
colaboracin del proyecto

Desarrolloenespiral
Est basado en el riesgo que es presentado en la ejecucin de un
proyecto entendindose por riesgo aquello que puede resultar un
impedimento para la culminacin exitosa del proyecto, se toma
entonces un conjunto de actividades no fijadas por prioridad, se toma
el riesgo ms asumible teniendo en cuenta el objetivo y se codifica
realizando sus pruebas correspondientes, una vez solventado este
riesgo se vuelve a analizar los riesgos, se toma el mas asumible y
comienza el ciclo nuevamente para llegar al objetivo final.
Tiene como similitud al modelo incremental por la conjugacin que
existe en la naturaleza iterativa de los modelos evolutivos y los
aspectos controlados de los modelos prescriptivos de procesos,
proporciona el material para el desarrollo rpido de versiones
incrementales.
Este se puede adoptar y aplicarlo a travs de ciclo de vida completo
de una aplicacin, desde el desarrollo del concepto hasta el
mantenimiento.
Las etapas del mtodo son las mismas que el mtodo de cascada con
la diferencia de que este proceso no define el proceso evolutivo en
cada etapa, es decir, cuando comienza el proceso evolutivo este pasa
por todas las etapas y una vez inicie el segundo circuito con
movimiento de sentido de reloj, se toma el riesgo para definir el paso
evolutivo y tomando el circuito anterior se genera las especificaciones
del producto que no se tomaron en cuenta en ese momento.
Una caracterstica de este mtodo, es que puede adoptarse esta
filosofa una vez entregado el proyecto y usarse en todo el ciclo de
vida de este en la computadora como paso a mejoras continuas.
Como desventaja tiene:
Genera mucho tiempo en eltiempo de desarrollo del sistema
Por el cambio continuo genera un costo mayor
Realizado por Jefferson Valero
21.077.909

Ingeniera del Software


Mtodos de desarrollo Software
Si un riesgo importante no se descubre y administra, ser un
descontrol en los futuros circuitos

Desarrollorpidodeaplicaciones
Toma conceptos de los modelos mencionados anteriores, se cree que se
obtiene un ms rpido desarrollo de un software involucrando al usuario
final para que este de feedbacks continuos, se construye rpidos modelos
prototipos y el uso de software de ingeniera asistida por computadores,
este tiene un desarrollo lineal secuencial muy corto que genera
componentes completamente funcionales lo que permite un rpido
desarrollo del proyecto.

Diseoorientadoaobjetos
Se cambia el paradigma tradicional a uno distinto donde los datos
toman formas de objetos, de entidades que agrupan procedimientos y
datos para ser tratados como uno y de eso forma interactuar con el
mismo. Basados en objetos e interacciones se logra la resolucin de
los problemas

Lenguajeunificadodemodelado
El proceso unificado busca unir los diferentes mtodos o procesos
desarrollados para de alguna forma reunir los mejores aspectos
basndose en el desarrollo agil de software como base, pero
rescatando aspectos fundamentales de los otros mtodos como la
primera etapa de levantamiento de informacin y la retroalimentacin
como base a un producto final capaz de satisfacer las necesidades de
ese cliente o usuario final. Se basa en tener informacin clara con un
buen levantamiento de informacin, adaptacin al cambio
entendindose la naturaleza no lineal de la mayora de los proyectos
en el mundo real y la reutilizacin para evitar costes innecesarios,
tiempo malgastado en cdigo que no tiende a aplicarse en las
mejoras.
Son 5 fases las que conforman este marco de trabajo, las cuales son:
Realizado por Jefferson Valero
21.077.909

Ingeniera del Software


Mtodos de desarrollo Software
La fase de elaboracin, que abarca el contacto con el cliente y la
idea general en un modelo genrico para dar cabida a una solucin
de objetivo general. La elaboracin refina y expande los casos de uso
preliminares que se desarrollaron como una parte de la fase de inicio
y se elabora un plan, que es la segunda fase para crear un
modelado que consta de un modelo de caso de uso, modelo de
anlisis, modelo de diseo, modelo de implementacin y modelo de
despliegue que son 5 visiones distintas del proyecto y conformndose
como la tercera fase. La fase de construccin, la cuarta no desvara
a las anteriores, no es ms que tomar el modelado que se hizo en la
fase anterior y hacerlo funcionar, ac se realiza el cdigo fuente que
logre ensamblar todos los componentes obtenidos de la fase ya
finalizada de elaboracin, por tanto es secuencial a ella, se disea y
ejecuta pruebas de cada unidad para luego de una aceptacin dar
lugar a la ltima etapa, la etapa de despliegue, abarca las ltimas
etapas de la actividad genrica de construccin una vez dado el
producto por los usuarios finales, realizadas las pruebas en la fase
beta y logrado una aceptacin del mismo que lo transforma en un
lanzamiento de software utilizable inicia entonces un monitoreo de
uso pos entrega que entonces define la fase de despliegue.
El UML no es considerado como un paradigma de programacin pues
es un diagrama de la realidad que tiene mucho parecido a la
programacin orientada a objetos y de hecho, se basa en los trabajos
dados en esta area, incluso en 1997 este se convirti en un estndar
de la industria para el desarrollo de software orientado a objetos.
UML es considerado un estndar por la ISO, fue definida como tal en
el 2005.

Realizado por Jefferson Valero


21.077.909

Das könnte Ihnen auch gefallen