You are on page 1of 9

Material Complementario U.C.

Ingeniera del Software

Modelos del ciclo de vida de desarrollo del software

Objetivo: Comprender los modelos utilizados para relacionar las actividades y los mtodos para desarrollarlas, las Ventajas y Limitaciones de cada uno: Modelo de Cascada, Cascada con Prototipaje, Modelo de Ensamblaje de Componentes y Generalidades del proceso Uni icado !UP"# Contenido Introduccin.................................................................................................................................................2 Modelos de desarrollo del software..............................................................................................................2 Modelo de Cascada......................................................................................................................................2

Ventajas........................................................................................................................................3 Desventajas...................................................................................................................................3
Modelo Evolutivo.........................................................................................................................................4 Modelo basado en Ensamblaje de Componentes..........................................................................................4 Modelo en espiral......................................................................................................................................... !roceso Incremental ...................................................................................................................................." Iteraciones...................................................................................................................................................." !roceso Iterativo ..........................................................................................................................................# !roceso $nificado........................................................................................................................................#

Caracter%sticas del !roceso $nificado..........................................................................................# Etapas del !roceso $nificado.......................................................................................................&


Esco'encia del Modelo de Desarrollo del (oftware a utili)ar.......................................................................*

,iblio'raf%a..................................................................................................................................................*

Introduccin $Con la de inici%n de un modelo del Proceso de Producci%n del &o t'are, podemos obtener al(unas de las ventajas de procesos estandardizados# Pero debemos tener presente dos caracter)sticas *ue distin(uen el so t'are de cul*uier otro producto# Primero, la producci%n del so t'are es en (ran parte una actividad intelectual, lo cual la +ace di icil de atomatizar# , en se(undo lu(ar, el so t'are es caracterizado por la alta inestabilidad: los re*uisitos cambian constantemente y, por consi(uiente, los productos mismos deben ser evolucionables#-./0# Entonces 1C%mo, debemos or(anizar un proceso de producci%n del so t'are, para *ue nos permita (enerar ! abricar" productos de so t'are de alta calidad2 con iable, iable, y e icientemente3 En este tema una vez conocidas las actividades en el proceso de desarrollo del so t'are, conoceremos entonces al(unos de los modelos del proceso de producci%n del so t'are2 desde el tradicional modelo de la cascada +asta el Proceso Uni icado#

Modelos de desarrollo del software Como ya +emos observado, las actividades son un elemento undamental en el proceso de desarrollo de so t'are, las cuales permiten la de inici%n de otros elementos !mtodo, modelos y +erramientas"# E4isten diversos modelos para desarrollar un so t'are, entre los cuales se encuentra el Modelo de Cascada, Evolutivo, de trans ormaciones y basado en reuso# En cada uno se relacionan las actividades de orma particular para lo(rar el desarrollo del producto !so t'are"# 5 continuaci%n se e4plicar6n al(unos de stos modelos# Modelo de Cascada El modelo de la cascada es uno de los primeros modelos empleados en el desarrollo de so t'are, se popularizo en /789 y a:n est6 vi(ente en al(unos desarrollos# ;ste modelo se de ine como una secuencia de actividades a ser se(uidas en orden, donde la estrate(ia principal es de inir y se(uir el pro(reso del desarrollo de so t'are +acia puntos de revisi%n bien de inidos, es decir, se codi ica y reparan los errores2 es un proceso continuo de codi icaci%n y reparaci%n# &us caracter)sticas principales son: Es lineal Las actividades est6n relacionadas secuencialmente Cada etapa tiene una entrada y una salida

Es r)(ido y sistem6tico: La entrada de una actividad es la salida de la etapa anterior, por lo cual no se puede dar inicio a la si(uiente ase# Es monol)tico: E4iste una :nica ec+a de entre(a# La implementaci%n se pospone +asta *ue no se comprendan los objetivos# Los documentos a entre(ar ri(en el proceso de so t'are

Las ases *ue contempla el modelo de la cascada son al 5n6lisis y especi icaci%n de re*uerimientos, dise<o, codi icaci%n, inte(raci%n y pruebas, liberaci%n y mantenimiento#

Ventajas =mpone la necesidad de muc+a disciplina plani icaci%n y administraci%n, en el proceso de desarrollo de so t'are, venciendo as) la iloso )a de los procesos de codi icar y probar =mpone la necesidad de *ue la realizaci%n del producto debe ser pospuesta +asta *ue los objetivos sean bien entendidos#

Desventajas >etrasa la detecci%n de errores +asta el inal por lo cual es muy di )cil realizar cambios cuando el proceso est6 en las :ltimas ases# ?oma muc+o tiempo ver los resultados Es di )cil mantener la trazabilidad entre los re*uerimientos iniciales y el c%di(o inal#

Cuando los re*uerimientos no est6n bien de inidos no es posible aplicar ste modelo pues ello incrementar)a los ries(os y retrasar)a el proceso# &i los re*uerimientos del usuario var)an es muy di )cil satis acerlo si el proceso se encuentra en las :ltimas ases# El costo de detectar errores en etapas avanzadas es muy alto dado *ue ello modi icar)a todo lo *ue se +a desarrollado# $El modelo de cascada +a introducido muc+a disciplina en el proceso de desarrollo de so t'are, pero sta disciplina est6 acompa<ada de ri(idez# ;sta ri(idez, introduce nuevos problemas al proceso, especialmente cuando el so t'are es desarrollado con una pobre comprensi%n de los re*uerimeintos# Entre los problemas asociados con la ri(idez del modelo est6n: Es di icil estimar con e4actitud los recursos cuando solo esta disponible in ormaci%n limitada# El modelo de la cascada con recuencia orza la estimaci%n de costos y la plani icaci%n del proyecto a ocurrir despus de *ue una cantidad limitada de an6lisis +a sido ejecutado# La especi icaci%n de re*uerimientos se plasma en un documento *ue describe los re*uerimientos# Pero no importa cuan precisa es la descripci%n, es muy di icil para el usuario anticipar si el sistema inal ser6 construido de acuerdo a las especi icaciones *ue espera# El usuario no sabe, con recuencia, o no conoce los re*uerimientos e4actos de la aplicaci%n# El modelo de la cascada no contempla la necesidad de anticipar los cambios# 5l contrario, la iloso )a subyacente es *ue nosotros deber)amos es orzarnos para mantener la linealidad con(elando todo como sea posible en las tempranas etapas##

El modelo +ace cumplir las normas *ue est6n basadas en la producci%n de ciertos documentos en determinados momentos# @e +ec+o, caracterizamos el proceso como el conducio por documentos# Este n asis conduce a un estilo al(o burocr6tico de trabajo, donde se re*uiere *ue muc+as ormas sean llenadas y aprobadas y el in(eniero de so t'are est6 inclinado a prestar m6s atenci%n a la sinta4is impuesta en el est6ndar *ue a su sem6ntica-# ./0

Modelo Evolutivo El modelo Evolutivo sur(e por la necesidad de (enerar una apro4imaci%n le4ible y no monol)tica al proceso de desarrollo del so t'are, se de ine como un modelo cuyas etapas consisten en ampliar los re*uerimientos de un so t'are, los re*uerimientos pueden ser entre(ados al cliente a medida *ue son desarrollados2 a esto se le denomina una entre(a evolutiva +e incremental# 5un*ue la entre(a incremental no implica un modelo evolutivo, esto a<ade un valor al modelo al proveer eedbacA al usuario desde el inicio del desarrollo# Un aspecto muy importante de estas entre(as al usuario es *ue estos incrementos deben consistir no solo de c%di(os y documentaciones internas del proyecto, sino tambin de documentaci%n orientada al usuario, *ue este redactada lo mas cercano al len(uaje natural y *ue provea de un (losario de a*uellos trminos tcnicos *ue se manejen en la documentaci%n# &e puede de inir un incremento como una unidad aut%noma uncional del so t'are *ue desarrolla al(unos objetivos :tiles para el usuario, con todo el material de apoyo !re*uerimientos y datos espec) icos de dise<o, proyectos de prueba, un manual de usuario, material de adiestramiento, entre otros"# El modelo evolutivo puede describirse de la si(uiente orma: /# Entre(ar al(o al usuario# B# Medir el valor a(re(ado al usuario en todas las dimensiones cr)ticas# C# 5justar tanto el dise<o como los objetivos en unci%n a la realidad observada# En el modelo evolutivo se puede decir *ue desaparece el mantenimiento como una etapa del ciclo de vida del so t'are o *ue todo el ciclo de vida es un mantenimiento, esto debido a *ue continuamente se eval:a y se mejora al so t'are# Dtra de las caracter)sticas del modelo evolutivo es el prototipaje# En el caso de este modelo el prototipo es pro(resivamente trans ormado en una aplicaci%n y permite a los desarrolladores realizar pruebas desde las primeras etapas del desarrollo a las uncionalidades del so t'are# Modelo basado en Ensamblaje de Componentes Este modelo se basa en la reutilizaci%n de componentes, esta reutilizaci%n puede +acerse de componentes de especi icaci%n, de pro(ramas y de cual*uier otro componente# El +ec+o de reutilizar componentes permite a los desarrolladores reducir el tiempo y los costos del desarrollo# La reutilizaci%n es la capacidad de los elementos de so t'are de servir para la construcci%n de muc+os elementos di erentes# La necesidad de la reutilizacin sur(i% de la observaci%n de *ue los sistemas so t'are a menudo si(uen patrones similares, por ello es posible e4plotar esta similitud y evitar reinventar soluciones a problemas *ue ya +an sido encontrados con anterioridad# Capturando tal patr%n, un elemento de so t'are reutilizable se podr6 aplicar en muc+os desarrollos di erentes#

En el modelo basado en reuso se (eneran nuevas actividades, estas son: 5daptaci%n# >ecuperaci%n Evaluaci%n Clasi icaci%n >ein(enier)a Cali icaci%n

?odas estas nuevas actividades necesitan de +erramientas para su asistencia, de tal orma *ue para las actividades de adaptaci%n, recuperaci%n y evaluaci%n se tiene un asistente de reusabilidad y para las actividades de clasi icaci%n, rein(enier)a y cali icaci%n se tiene un asistente de construcci%n de componentes# @e esta orma se puede tener un desarrollo para la reusabilidad o un desarrollo con reusabilidad#

Modelo en espiral La meta del modelo espiral del proceso de producci%n del so t'are es proporcionar un marco para dise<ar tales procesos, diri(ido por los niveles de ries(o en el proyecto actual# En comparaci%n con los actuales modelos, el modelo espiral se puede ver como metamodelo, por*ue puede acomodar cual*uier modelo de proceso del desarrollo# Us6ndolo como re erencia, se puede ele(ir el modelo de desarrollo m6s apropiado !e#(#, evolutivo con la cascada"# Los ries(os son las circunstancias potencialmente adversas *ue pueden deteriorar el proceso del desarrollo y la calidad del producto# Eoe+m ./7F70 de ine la (erencia de ries(o como Gdisciplina cuyo objetivos es identi icar, tratar, y eliminar art)culos del ries(o del so t'are antes de *ue se conviertan en las amenazas al adecuado uncionamiento del so t'are o la uente importante de la reanudaci%n costosa del so t'are#G El modelo de espiral se en oca en identi icar y eliminar los problemas de alto ries(o con el dise<o de un proceso cuidadoso, m6s *ue tratar problemas triviales# La caracter)stica principal del modelo espiral es *ue es c)clico y no lineal como el modelo de la cascada# Cada ciclo del espiral consiste en cuatro etapas, y cada etapa es representada por un cuadrante del plano cartesiano# El radio del espiral representa el coste acumulado +asta a+ora en el proceso2 la dimensi%n an(ular representa el pro(reso en el proceso# La etapa / identi ica los objetivos de la porci%n del producto bajo consideraci%n, en trminos de calidades +a alcanzar# 5dem6s, identi ica alternativas Htales como si comprar, dise<ar, o reutilizar cuales*uier so t'areH y restricciones en el uso de las alternativas# Las alternativas entonces se eval:an en la etapa B y se identi ican y se tratan las 6reas potenciales del ries(o# La estimaci%n del ries(o puede re*uerir la plani icaci%n de diversas clases de actividades, por ejemplo Prototipaje o la simulaci%n# La etapa C consiste en el desarrollo y veri icaci%n del pr%4imo nivel del producto2 otra vez, la estrate(ia se(uida por el proceso es dictada por el an6lisis del ries(o# Cuando los re*uerimientos est6n bien de inidos, se puede ele(ir como opci%n un modelo convencional como el de la cascada, *ue conduce a una simple vuelta a la espiral# Cuando los re*uerimientos no est6n claramente de inidos, se puede seleccionar un modelo de naturaleza evolutiva2 en este caso se necesitar)an varias vueltas a la espiral para alcanzar los resultados

deseados# ?ambin anteriormente#

puede realizarse

cual*uier combinaci%n con los modelos

vistos

Iinalmente, la etapa J consiste en repasar los resultados de las etapas transitadas +asta a+ora y el planear la iteraci%n si(uiente del espiral, si la +ay# El modelo espiral permite obtener mayor robustez en el proceso de desarrollo del so t'are# Proceso Incremental Un proceso incremental es a*uel desarrollo *ue se +ace de orma (radual, donde las partes de al(unas etapas son aplazadas para producir un conjunto de uncionales :tiles en el desarrollo del proyecto# &e priorizan los re*uerimientos del usuario y los de m6s alta prioridad son incluido en los primeros incrementos Entre la ventajas de un desarrollo incremental podemos decir *ue se puede (enerar un prototipo por medio del cual los desarrolladores podr6n obtener ayuda para conocer los re*uisitos para los incrementos posteriores2 adem6s este proceso permite priorizar las uncionalidades, de tal orma *ue las necesidades mas importantes tienden a recibir la mayor cantidad de pruebas# La apro4imaci%n incremental puede ser utilizada en todas las etapas del ciclo de vida del so t'are, para de esta orma alcanzar una mayor (ranularidad en el proceso# La (ranularidad se de ine como el nivel de detalle con el cual se describa o de ina el proceso de desarrollo del so t'are# El desarrollo comienza con un an6lisis incremental a nivel de los re*uerimientos, lue(o cada incremento por separado, es dise<ado, codi icado y probado, inte(rado y inalmente entre(ado# Los incrementos son desarrollados uno tras otro despus *ue se recibe el eedbacA del usuario# Un aspecto muy importante de este proceso es el +ec+o de *ue como los usuarios van recibiendo entre(as incrementales, van aumentando su conocimiento acerca del sistema y van de iniendo mejor sus necesidades reales# @esde el punto de vista de los desarrolladores, desarrollar un incremento es mas sencillo *ue desarrollar el sistema entero, por lo tanto es mas 6cil predecir los recursos necesarios para desarrollar una tarea#

Iteraciones Una iteraci%n es una secuencia de actividades dentro de un plan establecido, con unos criterios claros de evaluaci%n, *ue se or(aniza con el prop%sito de entre(ar parte de la uncionalidad del producto# En las primeras iteraciones se desarrollan o implementan los casos de uso *ue tienen mayor complejidad y *ue llevan in+erente un alto nivel de ries(o *ue puede a ectar el 4ito del proyecto# @e esta orma, con cada iteraci%n *ue se realiza, los ries(os del proyecto se reducen acorde con el plan establecido, el cual est6 en permanente revisi%n para monitorear la posible aparici%n de nuevos ries(os y ajustarlo si es necesario# La selecci%n de los casos de uso para cada iteraci%n se +ace teniendo en cuenta cu6l es el m)nimo conjunto de ellos *ue se re*uiere para implementar la uncionalidad *ue mayor ries(o ten(a# &e debe realizar este proceso +asta *ue la lista de ries(os +aya sido cubierta completamente# Cada iteraci%n puede tener uno o varios prop%sitos, lo cual determina la duraci%n de la misma2 a su

"

vez se ejecutan varios procesos *ue van desde la especi icaci%n de re*uerimientos +asta las pruebas de unidad e inte(raci%n, lo cual se asimila a un ciclo de vida en cascada# 5dicionalmente, al inal de cada iteraci%n se deben evaluar los resultados del trabajo y se planea detalladamente la si(uiente iteraci%n# Proceso Iterativo Un proceso iterativo es a*uel en el *ue se realizan iteraciones sucesivas, *ue van (enerando nuevas versiones de la aplicaci%n *ue se desarrolla# &e parte del principio de *ue los re*uisitos del sistema &=EMP>E evolucionan en el curso de un proyecto y se re*uiere iteraci%n del proceso desde las primeras ases del desarrollo# La iteraci%n puede aplicarse en cual*uiera de los modelos, como por ejemplo el desarrollo incremental y el desarrollo en espiral#

Proceso Unificado El Proceso Uni icado Ges un proceso de desarrollo de so t'are con i(urable *ue se adapta a travs de los proyectos variados en tama<os y complejidad# &e basa en muc+os a<os de e4periencia en el uso de la tecnolo()a orientada a objetos en el desarrollo de so t'are de misi%n cr)tica en una variedad de industrias por la compa<)a >ationalG, donde con luyen Klos tres ami(osK como se llaman a s) mismos o los tres (randes DD: Grady Eooc+, Lames >umbau(+ e =var Lacobson# El Proceso Uni icado (u)a a los e*uipos de proyecto en c%mo administrar el desarrollo iterativo de un modo controlado mientras se balancean los re*uerimientos del ne(ocio, el tiempo al mercado y los ries(os del proyecto# El proceso describe los diversos pasos involucrados en la captura de los re*uerimientos y en el establecimiento de una (u)a ar*uitect%nica lo m6s pronto, para dise<ar y probar el sistema +ec+o de acuerdo a los re*uerimientos y a la ar*uitectura# El proceso describe *u arte actos producir, c%mo desarrollarlos y tambin provee patrones# El proceso uni icado es soportado por +erramientas *ue automatizan entre otras cosas, el modelado visual, la administraci%n de cambios y las pruebas#

Caractersticas del Proceso Unificado Centrado en los Modelos: Los dia(ramas son un ve+)culo de comunicaci%n m6s e4presivo *ue las descripciones en len(uaje natural# &e trata de minimizar el uso de descripciones y especi icaciones te4tuales del sistema# Guiado por lo casos de uso: Los casos de uso son el instrumento para validar la ar*uitectura del so t'are y e4traer los casos de prueba# Centrado en la ar*uitectura: Los modelos son proyecciones del an6lisis y el dise<o constituye la ar*uitectura del producto a desarrollar# =terativo e incremental: @urante todo el proceso de desarrollo se producen versiones incrementales !*ue se acercan al producto terminado" del producto en desarrollo#

Etapas del Proceso Unificado El proceso Uni icado incluye cuatro ases importantes *ue son: la concepci%n !iniciaci%n", elaboraci%n, construcci%n y transici%n, las cuales muestran *ue para producir una versi%n del producto en desarrollo se aplican todas las actividades de in(enier)a pero con di erente n asis2 en las versiones preliminares, como adem6s indica la intuici%n, +ay m6s n asis en actividades de modelado del ne(ocio, re*uisitos, an6lisis y dise<o2 con orme se producen versiones el n asis pasa a las actividades de implementaci%n y prueba# 1 Etapa de ingeniera: Esta etapa a(rupa las ases de concepci%n y de elaboraci%n, lo *ue b6sicamente le da por objetivos la conceptualizaci%n del sistema y el dise<o inicial de la soluci%n del problema# &e inicia el proceso de administraci%n de los re*uerimientos con la identi icaci%n y especi icaci%n de casos de usos, as) como el proceso de ase(uramiento de la calidad a travs de los casos de prueba# &e identi ican los ries(os y se establece su plan de manejo, se ajusta ese plan se(:n la tabla de priorizaci%n de ries(os y la de casos de usos vs# ries(os, para determinar en *u orden y en *u iteraciones se desarrollar6n los arte actos de so t'are *ue son la soluci%n a los casos de uso# &e identi ican los recursos necesarios, tanto econ%micos como +umanos, acordes con las necesidades del proyecto# &e da comienzo al proceso de estimaci%n y plani icaci%n inicial a un nivel macro para todo el proyecto y posteriormente se realiza una estimaci%n detallada de tiempos y recursos de las ases de concepci%n y elaboraci%n# /#/ Iase de concepci%n: Esta ase tiene como prop%sito de inir y acordar el alcance del proyecto con los patrocinadores, identi icar los ries(os asociados al proyecto, proponer una visi%n muy (eneral de la ar*uitectura de so t'are y producir el plan de las ases y el de iteraciones# /#B# Iase de elaboraci%n: Los casos de uso seleccionados para desarrollarse en esta ase permiten de inir la ar*uitectura del sistema, se realiza la especi icaci%n de los casos de uso seleccionados y el primer an6lisis del dominio del problema, se dise<a la soluci%n preliminar del problema y comienza la ejecuci%n del plan de manejo de ries(os, se(:n las prioridades de inidas en l# 5l inal de la ase se determina la viabilidad de continuar el proyecto y si se decide prose(uir, dado *ue la mayor parte de los ries(os +an sido miti(ados, se escriben los planes de trabajo de las etapas de construcci%n y transici%n y se detalla el plan de trabajo de la primera iteraci%n de la ase de construcci%n# Etapa de !rod"cci#n En esta etapa se realiza un proceso de re inamiento de las estimaciones de tiempos y recursos para las ases de construcci%n y transici%n, se de ine un plan de mantenimiento para los productos entre(ados en la etapa de in(enier)a, se implementan los casos de uso pendientes y se entre(a el producto al cliente, (arantizando la capacitaci%n y el soporte adecuados# B#/# Iase de construcci%n: El prop%sito de esta ase es completar la uncionalidad del sistema, para ello se deben clari icar los re*uerimientos pendientes, administrar el cambio de los arte actos construidos, ejecutar el plan de administraci%n de recursos y mejoras en el proceso de desarrollo para el proyecto# B#B# Iase de transici%n: El prop%sito de esta ase es ase(urar *ue el so t'are est disponible para los usuarios inales, ajustar los errores y de ectos encontrados, capacitar a los usuarios y proveer el soporte tcnico necesario# &e debe veri icar *ue el producto cumpla con las especi icaciones entre(adas por las personas involucradas en el proyecto al inicio del mismo#

&

Escogencia del Modelo de Desarrollo del oftware a utili!ar La esco(encia del modelo de desarrollo a utilizar depende del tipo de aplicaci%n y del conte4to de desarrollo, por ejemplo si tenemos los re*uerimientos bien de inidos se puede utilizar un modelo de cascada, por otra parte si lo *ue se *uiere es ase(urar mayor robustez durante el proceso de desarrollo se recomienda aplicar un modelo en espiral# ?ambin es importante saber *ue se pueden combinar di erentes modelos de desarrollo y *ue inalmente no e4iste un modelo universal#

"ibliografa /# ./0Gezzi G+ezzi Mal, $Iundamentals o &o t'are En(ineerin(-# PrenticeNall# Cap#8 B# &ommerville # >e*uerimientos no uncionales# 5ddison Oesley B99B# Cap# J C# .B0&'eboP# Gu)a del cuerpo de conocimientos de la =n(enier)a del &o t'are# Versi%n B99J# +ttp:QQ'''#s'eboA#or(Q

You might also like