12
-Definición de Modelos de Procesos de Software -Describir al menos 3 modelos del tipo SECUENCIAL -Describir al menos 3 modelos del tipo EVOLUTIVO -Describir al menos 3 modelos del tipo ÁGIL GRUPO Nº 2 MODELOS DE PROCESOS DEL SOFTWARE

MODELO DE PROCESOS DEL SOFTWARE

Embed Size (px)

Citation preview

Page 1: MODELO DE PROCESOS DEL SOFTWARE

-Definición de Modelos de Procesos de Software

-Describir al menos 3 modelos del tipo SECUENCIAL

-Describir al menos 3 modelos del tipo EVOLUTIVO

-Describir al menos 3 modelos del tipo ÁGIL

GRUPO Nº 2MODELOS DE PROCESOS DEL SOFTWARE

Page 2: MODELO DE PROCESOS DEL SOFTWARE

MODELO DE PROCESO DE SOFTWARE• Un modelo de procesos del software es una descripción simplificada de un proceso del

software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software. Algunos ejemplos de estos tipos de modelos que se pueden producir son:

• 1. Un modelo de flujo de trabajo. Muestra la secuencia de actividades en el proceso junto con sus entradas, salidas y dependencias. Las actividades en este modelo representan acciones humanas.

• 2. Un modelo de flujo de datos o de actividad. Representa el proceso como un conjunto de actividades, cada una de las cuales realiza alguna transformación en los datos. Muestra cómo la entrada en el proceso, tal como una especificación, se transforma en una salida, tal como un diseño. Pueden representar transformaciones llevadas a cabo por las personas o por las computadoras.

• 3. Un modelo de rol/acción. Representa los roles de las personas involucrada en el proceso del software y las actividades de las que son responsables.

Page 3: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO SECUENCIAL• MODELO LINEAL SECUENCIAL

Llamado algunas veces ”Ciclo de vida Básico” o “Modelo en Cascada” el Modelo Secuencial Lineal sugiere un enfoque Sistemático, Secuencial, para el desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento.

• Características:

• - Está compuesto por una serie de fases que se ejecutan secuencialmente �• - Obtención de documentos como criterio de finalización de fase.�•

Problemas de la progresión secuencial :

• Desconocimiento de las necesidades por parte del cliente.�• Inestabilidad de los requisitos No se ven resultados hasta muy avanzado el proyecto Efecto � � �

big bang próximo a la entrega.

Page 4: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO SECUENCIAL• MODELO ITERATIVO BASADO EN PROTOTIPOS

Un prototipo es un modelo experimental de un sistema o de un componente de un sistema que tiene los suficientes elementos que permiten su uso Objetivos:

• Son un medio eficaz para aclarar los requisitos de los usuarios e identificar las características de un sistema que deben cambiarse o añadirse.

• Mediante el prototipo se puede verificar la viabilidad del diseño de un sistema.��Características:

• Es una aplicación que funciona

• Su finalidad es probar varias suposiciones con respecto a las características requeridas por el sistema �• Se crean con rapidez �• Evolucionan a través de un proceso iterativo � � �• Tienen un costo bajo de desarrollo

Page 5: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO SECUENCIAL• MODELO DE DESARROLLO RAPIDO DE APLICACIONES (RAD)

El modelo de desarrollo rápido de aplicaciones, modelo de la caja de tiempo surgió como Application Development o modelo de la caja de tiempo surgió como respuesta al modelo formal y al ciclo en espiral.

• Enfatiza un ciclo de desarrollo extremadamente corto.

• Modelo funcional en 60 ó 90 días.

• No es un modelo bien definido.

• Secuencia de integraciones de un sistema evolutivo o de prototipos que se revisan con el cliente descubrimiento de los requisitos � �• Cada integración se restringe a un período de tiempo bien definido (caja de tiempo).

• Características:

• Modelo secuencial: Separación en fases de cada caja de tiempo�• Integraciones constantes � �• Centrado en el código más que en la documentación

• Desarrollo basado en componentes � �• Uso efectivo de herramientas y frameworks

• Participación activa del usuarioModelado de gestión

• Modelado de datos

• Modelado de datos

• Generación de Aplicaciones

• Pruebas y entrega

Page 6: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO EVOLUTIVO• MODELO ESPIRAL

Este modelo fue propuesto por Boehm en 1986 en su artículo "A Spiral Model of Software Development and Enhancement". En 1988, Boehm publicó un artículo similar destinado a una audiencia más amplia. Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riesgo.

• Tareas:

• Para cada ciclo habrá cuatro actividades:

• Determinar Objetivos.

• Análisis del riesgo.

• Desarrollar y probar.

• 'Planificación.'

Page 7: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO EVOLUTIVO• MODELO DE DESARROLLO CONCURRENTE

El Modelo de Desarrollo Concurrente conocido además como Ingeniería Concurrente dado por Davis Sitaram, se puede representar en forma de esquema como una serie de actividades técnicas importantes, tareas y estados asociados a ellas.

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

• La concurrencia se logra de dos formas:

• 1. Las actividades de sistemas y de componentes ocurren simultáneamente y pueden modelarse con el enfoque orientado a objetos.

• 2. Una aplicación cliente/servidor típica se implementa con muchos componentes, cada uno de los cuales se pueden diseñar y realizar concurrentemente.

Page 8: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO EVOLUTIVO• MODELO INCREMENTAL

El modelo incremental es una unión de las mejores funcionalidades del modelo de cascada y del modelo de prototipos. A medida que se presenta un prototipo se produce un “incremento”, que es una iteración del proceso anterior pero aplicando las experiencias aprendidas del proceso anterior. A diferencia del modelo de prototipos, los prototipos de este modelo están orientados a ser operacionales en cada incremento y no ser solo una “previa” de cómo sería el sistema en su versión final.

El Modelo Incremental se puede ver aquí en forma gráfica:

• - Se evitan proyectos largos y se entrega algo de valor a los usuarios con cierta frecuencia.

• - El usuario se involucra más.

• - Difícil de evaluar el coste total.

• - Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como un todo.

• - Requiere gestores experimentados.

• - Los errores en los requisitos se detectan tarde.

• - El resultado puede ser muy positivo.

Page 9: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO AGIL• MODELO SCRUM

Scrum (Melé en español) es un modelo de desarrollo ágil que propone una técnica de desarrollo incremental mediante sprints. Para ello, no se cuenta con una planificación como tal, sino con un listado de características deseables para el producto que se deberán abordar durante los sprints de trabajo.

• Sus principios se basan en:

• Mantener equipos de trabajo bien organizados en los que se maximice la comunicación.

• Utilizar un proceso flexible susceptible a cambios para asegurar una máxima calidad del producto.

• Dividir el trabajo en paquetes poco acoplados.

• Fases del patrón de desarrollo:

• Product backlog:

• Durante esta fase se escribirán los requisitos en el documento de forma priorizada. Dicho documento puede ser actualizado en cualquier punto del desarrollo salvo durante los sprint.

• Sprint:

• Duración: 1 a 4 semanas.

• Durante el sprint el equipo realizará una serie de tareas previamente identificadas. Cada miembro deberá elegir la tarea que más le motive hacer para lograr que se realice de manera rápida y obtener una mejor calidad.

Page 10: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO AGIL• MODELO CRYSTAL

El nombre de metodologías Crystal viene de que cada proyecto software puede caracterizarse según dos dimensiones, tamaño y criticidad, al igual que los minerales se caracterizan por dos dimensiones, color y dureza. Y esta es una de las bases de las metodologías Crystal: hay una metodología para cada proyecto, o la escala de CockburnLa otra gran clave de metodologías Crystal, común a casi todas las metodologías ágiles, es que lo más determinante para el éxito, o fracaso, de un proyecto son las personatratamos este tema). Una de las claves que determinan el éxito (o fracaso) de un proyecto software.

• Las metodologías Crystal: Una familia de metodologías ágiles según sea tu proyecto

• En las metodologías Crystal, proyectos grandes, que necesitan más coordinación y comunicación, se asocian con colores más oscuros. Proyectos en los que un fallo pueda causar mayores problemas, también se asocian con colores más oscuros. Así, aparece una familia de metodologías:

• Clear, para equipos de hasta 8 personas o menos.Amarillo, de entre 10 y 20 personas. Naranja, para equipos entre 20 y 50 personas.Roja, entre 50 y 100 personas.etc.

Page 11: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO AGIL• MODELO PROGRAMACION EXTREMA (XP)

Metodología liviana de desarrollo de software

• Conjunto de prácticas y reglas empleadas para desarrollar software

• Basada en diferentes ideas acerca de cómo enfrentar ambientes muy cambiantes

• Originada en el proyecto C3 para Chrysler

• En vez de planificar, analizar y diseñar para el futuro distante, hacer todo esto un poco cada vez, a través de todo el proceso de desarrollo

• OBJETIVOS.

• Establecer las mejores prácticas de Ingeniería de Software en los desarrollo de proyectos.

• Mejorar la productividad de los proyectos.

• Garantizar la Calidad del Software desarrollando, haciendo que este supere las expectativas del cliente.CARACTERÍSTICAS XP

• Metodología basada en prueba y error

• Fundamentada en Valores y Prácticas

• Expresada en forma de 12 Prácticas–Conjunto completo–Se soportan unas a otras–Son conocidas desde hace tiempo. La novedad es juntarlas

Page 12: MODELO DE PROCESOS DEL SOFTWARE

MODELO TIPO AGIL• MODELO PROGRAMACION EXTREMA (XP)