MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

28
MODELOS DESARROLLO DE SOFTWARE

Transcript of MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Page 1: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

MODELOS

DESARROLLO

DE

SOFTWARE

Page 2: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Todos los modelos del proceso de desarrollo de software pueden llegar a

incluir las actividades estructurales generales del proceso

(comunicación, planeación, modelado, construcción y despliegue. ),

pero en cada modelo se pone distinto énfasis en ellas y se define en forma

diferente el flujo de proceso que invoca cada actividad estructural; así como

acciones y tareas de ingeniería de requisitos o requerimientos (concepción,

indagación, elaboración, negociación, especificación, validación y

administración. ).

El desarrollo de los modelos del software permite a los ingenieros de

software producir diversos modelos que caracterizan la solución a

implementar. ƒAl plantear los modelos estos pueden ser:

✓ Analizados y evaluados con el fin de determinar si se satisfacen los

requisitos o requerimientos levantados para el sistema. ƒ

✓ Facilitan el examen y evaluación de alternativas. ƒ

✓ Sirven para planificar las siguientes actividades del desarrollo.

Page 3: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Comunicación. Antes de que comience cualquier trabajo técnico, tiene

importancia crítica comunicarse y colaborar con el cliente y con esto se

busca entender los objetivos de los participantes respecto del proyecto, y

reunir los requerimientos que ayuden a definir las características y

funciones del software.

Planeación. Cualquier viaje complicado se simplifica si existe un mapa. Un

proyecto de software es un viaje difícil, y la actividad de planeación crea un

“mapa” que guía al equipo mientras viaja. El mapa —llamado plan del proyecto

de software— define el trabajo de ingeniería de software al describir las

tareas técnicas por realizar, los riesgos probables, los recursos que se

requieren, los productos del trabajo que se obtendrán y una programación

de las actividades.

Recordemos las actividades estructurales generales

del proceso:

Page 4: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Modelado. Ya sea usted diseñador de paisaje, constructor de puentes,

ingeniero aeronáutico, carpintero o arquitecto, a diario trabaja con modelos.

Crea un “bosquejo” del objeto por hacer a fin de entender el panorama

general —cómo se verá arquitectónicamente, cómo ajustan entre sí las

partes constituyentes y muchas características más—. Si se requiere, refina

el bosquejo con más y más detalles en un esfuerzo por comprender mejor

el problema y cómo resolverlo. Un ingeniero de software hace lo mismo al

crear modelos a fin de entender mejor los requerimientos del software y el

diseño que los satisfará.

Construcción. Esta actividad combina la generación de código (ya sea

manual o automatizada) y las pruebas que se requieren para descubrir

errores en éste.

Despliegue. El software (como entidad completa o como un incremento

parcialmente terminado) se entrega al consumidor que lo evalúa y que le

da retroalimentación, misma que se basa en dicha evaluación.

Page 5: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Un modelo es una representación abstracta de un

proceso. Es la estrategia de desarrollo que intenta

resolver los problemas o situaciones que se presenten

al crear un software.

Qué es un modelo de desarrollo de software?

Cómo seleccionar un modelo de desarrollo de software?

Para seleccionar un modelo adecuado al proceso software que se

necesita desarrollar se debe tener en cuenta cuatro puntos

principales:

✓ La naturaleza del producto

✓ La aplicación que se necesite

✓ Los métodos o herramientas con que se cuente

✓ Las entregas que se deban realizar

Page 6: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Vídeo explicación metodologías tradicionales vs

metodologías ágiles:

https://www.youtube.com/watch?v=dYIfMPDuh9E

Page 7: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

MODELO CASCADA

El MODELO CASCADA es conocido también como lineal con

retroalimentación o básico. Es secuencial para el desarrollo del software,

comienza con la especificación de los requerimientos por parte del cliente y

avanza a través de planeación, diseño, modelado, construcción, pruebas y

mantenimiento .

Page 8: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

En relación con las actividades estructurales:

Page 9: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 10: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

El modelo incremental aplica secuencias lineales en forma escalonada a

medida que avanza el calendario de actividades. Cuando surgen alguna

necesidad imperiosa para dar funcionalidad rápida al software según los

requerimientos de los usuarios surge la producción de software por

incrementos.

MODELO INCREMENTAL

Page 11: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

En relación con las actividades estructurales:

Page 12: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 13: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

El software, 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. Pero los

plazos apretados del mercado hacen que sea imposible la terminación de un

software perfecto, haciéndose necesario una versión a fin de aliviar la presión de

la competencia o del negocio; pero es un modelo o versión que comprende

los requerimientos básicos, pero los detalles del producto o extensiones del

sistema aún están por definirse. Los mas comunes son: PROTOTIPO y ESPIRAL.

MODELOS DE PROCESO EVOLUTIVO

Al hacer prototipos es frecuente que un cliente defina un

conjunto de objetivos generales para el software, pero que no

identifique los requerimientos detallados para las funciones y

características.

Page 14: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

El paradigma de hacer prototipos le ayudará a usted y a otros participantes a

mejorar la comprensión, al hacer un prototipo se comienza con

comunicación para definir los objetivos generales del software, identificando los

requerimientos que se conozcan y detectando las áreas en las que es

imprescindible una mayor definición. Se planea rápidamente una iteración para

hacer el prototipo, y se lleva a cabo el modelado (en forma de un “diseño

rápido”). El diseño rápido lleva a la construcción de un prototipo. Éste se

entrega y es evaluado por los participantes, que dan retroalimentación para ir

mejorar los requerimientos.

Page 15: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 16: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

El prototipo sirve como “el primer sistema”; Aunque algunos prototipos se

construyen para ser “desechables” la mayoría son evolutivos; es decir poco a

poco se transforman en el sistema real. Tanto a los participantes como a los

ingenieros de software les gusta el paradigma de hacer prototipos. Los usuarios

adquieren la sensación del sistema real, y los desarrolladores logran construir

algo de inmediato

CONSTRUCCIÓN DE PROTOTIPOS

PROTOTIPADO

En la construcción de prototipos los usuarios adquieren la sensación del

sistema real y los desarrolladores logran construir algo de inmediato.

Page 17: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

El modelo en espiral genera un producto de trabajo en forma rápida e

incremental es decir una versión funcionales del software)

MODELO EN ESPIRAL

Page 18: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

En relación con las actividades estructurales:

Page 19: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 20: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 21: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 22: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 23: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Modelo DRA: Es el proceso de desarrollo de software diseñado para facilitar

y acelerar la creación de aplicaciones, que permite construir sistemas

utilizables en poco tiempo, normalmente de 60 a 90 días.

Es una adaptación a "Alta velocidad" en el que se logra el desarrollo rápido

utilizando un enfoque de construcción basado en componentes. Si se

comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso

DRA permite al equipo de desarrollo crear un "sistema completamente

funcional" dentro de periodos cortos de tiempo.

MODELO DRADESARROLLO RÁPIDO DE APLICACIONES

Page 24: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Características del Modelo

✓ Debido a que el software o aplicación se requiere lo más pronto

posible no existe una especificación del sistema detallada.

✓ El software no se desarrolla y utiliza en su totalidad, sino en una serie

de incrementos, donde en cada incremento se incluyen nuevas

funcionalidades al sistema.

✓ A menudo se desarrollan las interfaces de usuario del sistema utilizando

un sistema de desarrollo interactivo que permite que el diseño de la

interfaz se cree rápidamente dibujando y colando iconos en la interfaz.

✓ Para su desarrollo se utilizan herramientas de desarrollo visual para

agilizar el proceso.

✓ Se necesitan equipos compuestos de varias personas, incluyendo

desarrolladores y usuarios de tiempo completo, así como aquellas

personas involucradas en los requisitos.

✓ Las funciones secundarias son eliminadas cuando sean necesario para

cumplir con el calendario.

Page 25: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co
Page 26: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

Ventajas:

✓ Los entregables pueden ser fácilmente trasladados a otra

plataforma.

✓ El desarrollo se realiza a un nivel de abstracción mayor.

✓ Entrega temprana al cliente.

✓ Compromiso del cliente con el sistema.

✓ Mayor flexibilidad y Menor codificación manual.

✓ Mayor involucramiento de los usuarios.

✓ Posiblemente menos fallas y menor costo.

✓ Ciclos de desarrollo más pequeños.

✓ Interfaz gráfica estándar.

Desventajas

✓ Tiene inconvenientes para proyectos grandes, necesita suficientes

recursos humanos para crear el número correcto de equipos.

✓ Si los desarrolladores y clientes no se comprenden con las actividades

necesarias para completar el sistema, los proyectos fallarán.

✓ Un alto costo de herramientas integradas y equipo necesario.

✓ Progreso más difícil de medir. Menos eficiente y con menor precisión

científica.

Page 27: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co

✓ Vídeo breve explicación SCRUM:

https://www.youtube.com/watch?v=HhC75IonpOU

✓ Pdf Breve introducción a SCRUM.

- Vídeo explicación SCRUM poker (diapositiva 14):

https://www.youtube.com/watch?v=ey6Pm46WXkY.

Page 28: MODELOS DESARROLLO DE SOFTWARE - atena.uts.edu.co