modelos desarrollo de software - atena.uts.edu.co

Post on 16-Oct-2021

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MODELOS

DESARROLLO

DE

SOFTWARE

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.

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:

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.

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

Vídeo explicación metodologías tradicionales vs

metodologías ágiles:

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

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 .

En relación con las actividades estructurales:

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

En relación con las actividades estructurales:

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.

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.

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.

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

En relación con las actividades estructurales:

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

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.

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.

✓ 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.

top related