0% encontró este documento útil (0 votos)
7 vistas12 páginas

Modelos de Procesos Prescriptivos en Software

El documento describe diferentes modelos de procesos prescriptivos para el desarrollo de software, incluyendo el modelo cascada, incremental, evolutivo y concurrente. Explica que los modelos prescriptivos se utilizan cuando los requerimientos están bien definidos al inicio y siguen una serie de pasos secuenciales. Cada modelo pone énfasis diferente en actividades como comunicación, planeación, modelado, construcción y despliegue.

Cargado por

narevi5885
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas12 páginas

Modelos de Procesos Prescriptivos en Software

El documento describe diferentes modelos de procesos prescriptivos para el desarrollo de software, incluyendo el modelo cascada, incremental, evolutivo y concurrente. Explica que los modelos prescriptivos se utilizan cuando los requerimientos están bien definidos al inicio y siguen una serie de pasos secuenciales. Cada modelo pone énfasis diferente en actividades como comunicación, planeación, modelado, construcción y despliegue.

Cargado por

narevi5885
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Modelos de Procesos: Prescriptivo.

Cuando se trabaja en la construcción de un producto es necesario


realizar tareas que permitan alcanzar el objetivo, el software como tal
es un producto que desarrollan los ingenieros con la intención de
agilizar los procesos. Para desarrollar software es necesario responder
algunas interrogantes sobre el funcionamiento y desarrollo; es
importante definir los requisitos funcionales desde primera instancia ya
que evitara problemas en su futuro desarrollo.

Los desarrolladores de software para poder garantizar la calidad de su


producto utilizan metodologías de desarrollo, estas pueden ser ágiles
(implica el rediseño del producto si llegara a darse por cambios en los
requisitos funcionales) o prescriptivas (se realiza una serie de pasos
para alcanzar el desarrollo de la aplicación a través de un análisis
completo de los requisitos).

Independientemente del tipo de metodología que se esté utilizando en


la ejecución del proyecto, esta cuenta con actividades estructurales
tales como: comunicación, planeación, modelado, construcción y
despliegue, que pertenecen a un modelado general de proceso y
estructura de desarrollo. A continuación, se detalla lo anteriormente
expuesto.

Un Modelo general de proceso

Se puede definir a un proceso como la colección de actividades de


trabajo, acciones y tareas que se realizan cuando va a crearse algún
producto terminado. Cada una de las actividades, acciones y tareas se
encuentra dentro de una estructura o modelo que define su relación
tanto con el proceso como entre sí.

Cada actividad estructural está formada por un conjunto de acciones


de ingeniería de software y cada una de éstas se encuentra definida
por un conjunto de tareas que identifica las tareas del trabajo que
deben realizarse:
El flujo de un modelo general de proceso normalmente utiliza las 5
actividades estructurales descritas en la unidad anterior, como son:
comunicación, planeación, modelado, construcción, despliegue. Las
mismas que pueden tener varias actividades sombrillas que se llevan
a cabo para asegurar la calidad del software.
A continuación, se definen algunos de los términos más utilizados en
cualquier modelo de proceso de desarrollo de software.

Modelos de proceso Prescriptivo.

Los modelos de proceso prescriptivo fueron propuestos originalmente


para poner orden en el caos del desarrollo de software. La historia
indica que estos modelos tradicionales han dado cierta estructura útil
al trabajo de ingeniería de software y que constituyen un mapa
razonablemente eficaz para los equipos de software.

Todos los modelos del proceso del software pueden incluir las
actividades estructurales generales, pero cada una pone distinto
énfasis en ellas y define en forma diferente el flujo de proceso que
invoca cada actividad estructural.
Dentro de los modelos de proceso prescriptivo tenemos: cascada,
incremental, evolutivo y concurrentes, a continuación, se detallan sus
características.

Modelo de la cascada.

El modelo de la cascada, a veces llamado ciclo de vida clásico,


sugiere un enfoque sistemático y secuencial para el desarrollo del
software, que comienza con la especificación de los requerimientos
por parte del cliente y avanza a través de planeación, modelado,
construcción y despliegue, para concluir con el apoyo del software
terminado.

Este tipo de modelo es utilizado cuando los requerimientos para cierto


problema se comprenden bien: cuando el trabajo desde la
comunicación hasta el despliegue fluye en forma razonablemente
lineal. Esta situación se encuentra en ocasiones cuando deben
hacerse adaptaciones o mejoras bien definidas a un sistema ya
existente (por ejemplo, una adaptación para software de contabilidad
que es obligatorio hacer debido a cambios en las regulaciones
gubernamentales). También ocurre en cierto número limitado de
nuevos esfuerzos de desarrollo, pero sólo cuando los requerimientos
están bien definidos y tienen una estabilidad razonable.
El modelo de la cascada es el paradigma más antiguo de la ingeniería
de software, es por esto que en el momento de utilizarlo aparecen
ciertos problemas que se detallan a continuación.

Modelo en V

El modelo en V es una variante del modelo cascada en el que el


proceso se realiza de forma secuencial hacia abajo y ejecuta una serie
de pruebas por el lado derecho de la V para asegurar la calidad del
software.
Modelos de proceso Incremental

Hay muchas situaciones en las que los requerimientos iniciales del


software están razonablemente bien definidos, pero el alcance general
del esfuerzo de desarrollo imposibilita un proceso lineal. Además, tal
vez haya una necesidad imperiosa de dar rápidamente cierta
funcionalidad limitada de software a los usuarios y aumentarla en las
entregas posteriores de software. En tales casos, se elige un modelo
de proceso diseñado para producir el software en incrementos.

Cuando se utiliza un modelo incremental, es frecuente que el primer


incremento sea el producto fundamental. Es decir, se abordan los
requerimientos básicos, pero no se proporcionan muchas
características suplementarias (algunas conocidas y otras no). El
cliente usa el producto fundamental (o lo somete a una evaluación
detallada). Como resultado del uso y/o evaluación, se desarrolla un
plan para el incremento que sigue. El plan incluye la modificación del
producto fundamental para cumplir mejor las necesidades del cliente,
así como la entrega de características adicionales y más
funcionalidad. Este proceso se repite después de entregar cada
incremento, hasta terminar el producto final.

Modelos de proceso Evolutivo

Los modelos evolutivos son iterativos. Se caracterizan por la manera


en la que permiten desarrollar versiones cada vez más completas del
software.

El software, como todos los sistemas complejos, evoluciona en el


tiempo. Es frecuente que los requerimientos del negocio y del producto
cambien conforme avanza el desarrollo, lo que hace que no sea
realista trazar una trayectoria rectilínea hacia el producto final; los
plazos apretados del mercado hacen que sea imposible la terminación
de un software perfecto, pero debe lanzarse una versión limitada a fin
de aliviar la presión de la competencia o del negocio; se comprende
bien el conjunto de requerimientos o el producto básico, pero los
detalles del producto o extensiones del sistema aún están por
definirse. En estas situaciones y otras parecidas se necesita un
modelo de proceso diseñado explícitamente para adaptarse a un
producto que evoluciona con el tiempo.

Dentro del proceso evolutivo encontramos dos modelos: prototipos y


modelo espiral que se detallan a continuación:

Modelos concurrentes
El modelo de desarrollo concurrente, en ocasiones llamado ingeniería
concurrente, permite que un equipo de software represente elementos
iterativos y concurrentes de cualquiera de los modelos de proceso
descritos. Por ejemplo, la actividad de modelado definida para el
modelo espiral se logra por medio de invocar una o más de las
siguientes acciones de software: hacer prototipos, análisis y diseño.

Todas las actividades de ingeniería de software existen de manera


concurrente, pero se hallan en diferentes estados. Por ejemplo, la
actividad de comunicación (no se muestra en la figura) termina su
primera iteración al principio de un proyecto y existe en el estado de
cambios en espera. La actividad de modelado (que existía en estado
inactivo mientras concluía la comunicación inicial, ahora hace una
transición al estado en desarrollo. Sin embargo, si el cliente indica
que deben hacerse cambios en los requerimientos, la actividad de
modelado pasa del estado en desarrollo al de cambios en espera.
Los modelos de proceso nos permiten llevar un control en el desarrollo
del software a través de actividades estructurales como:
comunicación, planeación, modelado, construcción y despliegue.

Las actividades estructurales definen las tareas que deben ser


desarrolladas por el equipo para garantizar el éxito del proyecto, sin
embargo, dentro de estas pueden existir varias actividades sombrillas.
Las actividades sombrillas aseguran la calidad del producto que se
está realizando, es por esto que una actividad sombrilla común seria
“seguimiento y control del proyecto”.

Aunque el desarrollo de un proyecto de software utilice modelos de


proceso, esto no garantiza que el proyecto sea entregado a tiempo, ya
que las metodologías de desarrollo prescriptivas (cascadas,
incrementales, evolutivas y concurrentes) no permiten adaptarse a la
situación del mundo real en la que se está desenvolviendo la
construcción del producto.

Los modelos de procesos prescriptivos se utilizan cuando los


requerimientos se encuentran bien definidos desde el inicio, es el caso
del proceso cascada que se utiliza cuando los requerimientos no
cambian o para la mejora de un producto ya realizado donde los
requerimientos ya fueron definidos, el modelo incremental permite
entregar software en cada incremento con nuevas funcionalidades que
fueran especificadas en los requerimientos, el proceso evolutivo por
así decirlo muestra cómo evoluciona a través del tiempo y los modelos
concurrentes permiten realizar varios análisis de los requerimientos al
combinar varios procesos de desarrollo y mantener las actividades en
un estado (inactivo, en desarrollo, ejecutado, etc).

También podría gustarte