Issuu on Google+

MODELO DE PROCESOS DE SOFTWARE EVOTUTIVO

EL M ODELO E V O L U T IV O E V O L U T IV O

M ODELO EN E S P IR A L M ODELO DE C O N S T R U C C IO N DE P R O T O T IP O S M O D E L O CO N CU RRE N T E

M ATU RI N , 2 5 -0 5 -2 0 1 4


EDITORIAL Un modelo de desarrollo es una representación abstracta de un proceso de software, cada modelo representa el proceso de desarrollo de software de una manera en particular. A pesar de estar definidos claramente, no representan necesariamente la realidad de cómo se debe desarrollar el software, sino que establece un enfoque común. Un modelo puede ser modificado y adaptado de acuerdo a las necesidades del software en desarrollo. El desarrollo evolutivo es un modelo de desarrollo que, a diferencia del de prototipos, busca reemplazar el viejo sistema con uno nuevo que tendría la propiedad de satisfacer los nuevos requerimientos lo más rápido posible. El desarrollo evolutivo asume que los requerimientos están sujetos a cambios continuos y que la estrategia para enfrentar aquello pasa por un reflejo, también continuo, de aquellos cambios. Este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se desarrolla rápidamente a partir de especificaciones abstractas. Éste se refina basándose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades. En la presente edicion encontraremos informacion relacionada con los modelos de procesos de software evolutivos, cuale son sus tipos y por su puesto las ventajas y desventajas de cada uno de estos tipos de modelos.


CONTENIDO MODELO DE PROCESO DE SOFTWARE EVOLUTIVO PG 4

MODELO DE CONSTRUCCION DE PROTOTIPOS PG5

Universidad de oriente nucleo de monagas dpto. Ing de sistemas

MODELO DE PROCESOS DE SOFTWARE EVOLUTIVO

Bachilleres: Perez, Emibelis Prada, Rainer Villahermosa, Jose

Profesor: Ing Jesus Chaparro

MODELO EN ESPIRAL PG7

Analisis Y Dise単o De Sistemas De Informacion

seccion 01

MODELO DE DESARROLLO CONCURRENTE PG10

3


MODELO EVOLUTIVO Por: Rainer Prada

Eevolutivo l modelo de desarrollo es un modelo que se

base en la construccion de un gran numero de versiones sucesivas a la hora de desarrollar un producto de desarrollo. Este

modelo consta del desarrollo de una versión inicial que luego de exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse, es decir, este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se NCONTRANOS DOS TIPOS DE desarrolla rápidamente a partir de MODELOS EVOLUTIVOS especificaciones abstractas. Éste se refina basándose en las peticiones MODELO DE PROTOTIPOS del cliente para producir un sistema MODELO DE DESA RROLLO DESECHA BLES que satisfaga sus necesidades. EXPLORA TORIO Donde el objetivo del Donde el objetivo del Es importante mencionar de proceso es trabajar con el proceso de desarrollo igual manera que el desarrollo de cliente para explorar sus evolutivo es comprender software de manera evolutiva requerimientos y entregar los requerimientos del requiere un especial cuidado a la un sistema final. El cliente y entonces hora de la manipulacion de desarrollo empieza con las desarrollar una definición documentos, programas, datos partes del sistema que se mejorada de los de test etc. desarrollados para comprenden mejor. El requerimientos para el distintas versiones de software. sistema evoluciona sistema. El prototipo se Por lo que es recomendable que agregando nuevos centra en experimentar con paso paso quede registrado, la atributos propuestos por el los requerimientos del documentacion debe ser cliente. cliente que no se recuperada con facilidad y los comprenden del todo.

E

cambios deben ser efectuados de manera controlada.

¿ D E NT R O D E L O S M O D E L O S E V O L U T IV O S P O D E M O S E N C O N T R A R O T R O S M O D E L O S?

4


Modelo de construccion de PROTOTIPOS Lde osprototipos modelos de construcción pertenecen a los modelos de desarrollo evolutivo, estos deben ser construidos en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente, es decir, Comienza con una recolección de requerimientos expresadas por el usuario inicial, aunque es escasa la especificación de entradas, luego se pasa a la elaboración del diseño y este diseño nos lleva a la construcción del prototipo exigido por el cliente, esto se hace con el fin de mostrar el sistema de manera más

*Comunicacion *Contruccion de prototipos *Plan rapido *Desarrollo, y *Modelado y entrega Diseño rapido retroalimentaci ón

manual, puesto que este algoritmo está muy pobre de entrada de datos por ende no se podrá generar de manera automática. La cualidad de estos modelos es que tienen la capacidad de mejorar visiblemente el prototipo por el desarrollador o ingeniero de software .

5


Modelo de construccion de PROTOTIPOS

E

l cliente es el que parametriza esta fase de comunicación por tanto el diseñador define las necesidades y proseguimos a él plan rápido que es aquel que se plantea cuando el cliente llega con el requerimiento, se pasa a modelar y diseñar el prototipo de sistema, como ya lo mencione se posee tan poca información que el algoritmo no es lo suficientemente apropiado para generar un sistema en función al 1 00%, el diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el usuario final, se hace la construcción del prototipo a partir del diseño ya propuesto este diseño es evaluado por el usuario final y luego se hace la retroalimentación y se hacen las respectivas integraciones o ajustes definidas por los usuarios, clientes e incluso mismo desarrolladores . Esta es una actividad cíclica que no lleva siempre al mismo punto pues hay que tener en cuenta que esta forma de modelización es de evolución continua por tanto es de continuo mejoramiento. Como todo modelo este tiene sus ventajas y sus desventajas que mencionare a continuacion:

6

Ventajas

Desventajas

* No modifica el flujo del * ciclo

de

vida

* Reduce riesgos de que

no sea lo esperado por los usuarios.

*

Reduce

costos

El cliente está directamente involucrado por tanto puede que no quede satisfecho en un 1 00% ya que el sistema no va estar construido de buenas a primeras

* No presenta problemas * El desarrollador puede de complejidad robustez.

ni

* Apenas el prototipo esté

listo este puede proceder a el diseño y producto de ingeniera.

apresurar el prototipo y evitar las obligaciones y mantenimientos que se deben tener en cuenta con el cliente.


MODELO EN ESPIRAL

POR: EMIBELIS PEREZ

"Es un modelo de desarrollo evolutivo propuesto por Barry Boehm en 1986"

L

a forma de espiral representa una iteración (repetición) de procesos que, a medida que se van entregando prototipos y éstos son revisados por los clientes o usuarios finales, el tiempo empleado para desarrollar la próxima versión es cada vez mayor. Cada división recibe el nombre de región de

tareas. El modelo evolutivo Espiral, lo que pretende es optimizar los tiempos y reducir la incertidumbre del proyecto, así, la idea es partir produciendo una pequeña parte del sistema (pero completamente funcional) y una vez completada, se procede a

crear una segunda parte, acoplada a la primera, de manera de que en cada iteración, se obtiene una versión aumentada del sistema. El proceso concluye cuando se considera que el sistema ha alcanzado un nivel de maduración tal, que permite que el trabajo para el que fue creado, sea realizado sin mayores inconvenientes.

El Modelo en espirar contempla cuatro etapas que son las siguientes: Determinar Objetos

Analisis de Riesgo

Planificacion

Desarrollar y probar

7


Determinar objetivos:

etc. Así si por ejemplo si

*Identificación de riesgos del proyecto y estrategias alternativas para evitarlos.

los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podría ser la construcción de prototipos evolutivos. Si lo riesgos de protección son la principal consideración, un desarrollo basado en transformaciones formales podría ser el más apropiado.

D es ar r ol l ar y pr obar :

Analisis de riesgo:

*Fijar también los productos definidos a obtener: requerimientos, especificación, manual de usuario. *Fijar

las

restricciones.

*Tareas de la actividad propia y de prueba. *Análisis de alternativas e identificación resolución de riesgos. *Dependiendo del resultado de la evaluación de los riesgos, se elige un modelo para el desarrollo, el que puede ser cualquiera de los otros existentes, como formal, evolutivo, cascada,

*Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daños y consecuencias que éstas puedan producir.

8

P l ani f i caci on: *Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad.


P

lanificar un proyecto con esta metodología es a menudo imposible, debido a la incertidumbre en el número de iteraciones que serán necesarias. El movimiento de la espiral, ampliando con cada iteración su amplitud radial, indica que cada vez se van construyendo versiones sucesivas del software, cada vez más completas. En este contexto la evaluación de riesgos es de la mayor importancia y, para grandes proyectos, dicha evaluación requiere la intervención de profesionales de gran experiencia, es decir, en circunstancias a veces suele ser dificil convencera grandes clientes por lo que se requiere una considerable habilidad para la evaluacion del riesgo, y de ello depende el exito.

9

Ventajas

*El producto avanza a pasos firmes solucionado riesgos en cada iteración. *El producto termina con todos los riesgos resueltos. *Se pueden incluir otros métodos de desarrollo en las iteraciones. *A medida que el costo aumenta, los riesgos se reducen. *Se tienen puntos de control en cada interacción.

Desventajas

*Es complicado. *Requiere de mucha administración. *Difícil de definir los objetivos, metas que indiquen que podemos avanzar al siguiente ciclo. *Se puede caer en un desarrollo de nunca acabar.


MODELO CONCURRENTE POR: JOSE VILLAHERMOSA

"Davis Sitaram describe el modelo de desarrollo concurrente de la siguiente forma":

L

a mayoría de los modelos de procesos de desarrollo del software son dirigidos por el tiempo; cuanto más tarde sea, más atrás se encontrará en el proceso de desarrollo. Un modelo de proceso concurrente está dirigido por las necesidades del usuario, las decisiones de la gestión y los resultados de las revisiones. Podemos definir entonces el modelo concurrente como una serie de

acontecimientos que dispararan transiciones de estado a estado para cada una de las actividades de la ingeniería del software proporcionando una visión certera del estado actual del proyecto. Se puede representar en forma de esquema como una serie de actividades técnicas importantes, tareas y estados asociados a ellas

El modelo de proceso concurrente define una serie de acontecimientos que

dispararán transiciones de estado a estado para cada una de las actividades de la ingeniería del software. Durante las primeras etapas del diseño, no se

contempla una inconsistencia del modelo de análisis. Esto genera la corrección del modelo de análisis de sucesos, que disparará la actividad de análisis del estado hecho al estado cambios en espera. Esto genera la corrección del modelo de análisis de sucesos, que disparará la actividad de análisis del estado hecho al estado cambios en espera. Es un modelo de tipo de red donde todas las personas actúan simultáneamente o al mismo tiempo, es decir, El modelo de desarrollo concurrente es un modelo de tipo de red donde todas laspersonas actúan simultáneamente o al mismo tiempo.

10


Funcionalidad del proceso

*Cada actividad, acción o tarea dentro de la red existe de manera simultánea con otras. *Los sucesos generados dentro de una actividad dada o algún otro lado de la red de actividad inicia las transiciones entre los estado de una actividad.

Ventajas

Excelente para proyectos en los que se conforman grupos de trabajo independientes. Proporciona una imagen exacta del estado actual de un proyecto

Desventajas

La concurrencia se logra de dos Formas Las actividades de sistemas y de componentes ocurren simultáneamente y pueden modelarse con el enfoque orientado a objetos. Una aplicación cliente/servidor típica se implementa con muchos componentes, cada uno de los cuales se pueden diseñar y realizar concurrentemente.

Caracteristicas

Este modelo se utiliza a menudo como el paradigma de desarrollo de aplicaciones cliente/servidor.

Provee una meta-descripción del proceso del Si no se dan las condiciones señaladas no es software. aplicable. El modelo concurrente tiene la capacidad de describir Si no existen grupos de trabajo no se puede las múltiples actividades del software ocurriendo trabajar en este método simultáneamente. Un modelo de proceso concurrente está dirigido por las necesidades del usuario, las decisiones de la gestión y los resultados de las revisiones. define una serie de acontecimientos que dispararán transiciones de estado a estado para cada una de las actividades de la ingeniería del software.

11


ENTRETENIMIENTO

Cierre

Queridos lectores, esperamos que el material encontrado en nuestra primera edici贸n le haya aportado conocimientos importantes sobre el modelo evolutivo para que puedan sacarle provecho en cuarquier momento de su carrera.

12



Modelo de proceso de software evolutivo