• No se han encontrado resultados

MODELOS DESARROLLO DE SOFTWARE

N/A
N/A
Protected

Academic year: 2022

Share "MODELOS DESARROLLO DE SOFTWARE"

Copied!
28
0
0

Texto completo

(1)

MODELOS

DESARROLLO

SOFTWARE DE

(2)

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.

(3)

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:

(4)

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.

(5)

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

(6)

Vídeo explicación metodologías tradicionales vs metodologías ágiles:

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

(7)

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 .

(8)

En relación con las actividades estructurales:

(9)
(10)

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

(11)

En relación con las actividades estructurales:

(12)
(13)

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.

(14)

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.

(15)
(16)

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.

(17)

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

(18)

En relación con las actividades estructurales:

(19)
(20)
(21)
(22)
(23)

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 DRA

DESARROLLO RÁPIDO DE APLICACIONES

(24)

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.

(25)
(26)

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.

(27)

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

(28)

Referencias

Documento similar

El presente trabajo contiene los resultados generales de un proceso de desarrollo de software, destinado a obtener un núcleo para aplicaciones informáticas de diseño asistido

Dada esta problemática se pretende diseñar un proceso general de desarrollo – administración para bases de datos, en el marco de procesos de desarrollo de software, que

Estudiar las actividades de otras áreas del proceso de desarrollo de software que puedan contribuir en la creación y ejecución de las pruebas unitarias, tales como la

En la encuesta aplicada se formulan 9 nueve preguntas dirigidas a valorar las actividades de chequeo de los planes que se generan en el proceso de desarrollo de de software,

El proceso de modelado de negocio permite coordinar, supervisar y establecer el trabajo en equipo entre el grupo de desarrollo de cada proyecto de software y sus

Para solucionar esta problemática se define como objeto de estudio el proceso de desarrollo de software y como campo de acción las disciplinas de modelado de negocio y

Con esta finalidad y luego de un estudio detallado de los modelos de desarrollo de software y estructuras organizativas existentes y basándose en las buenas prácticas de las

Es por ello, que guiados por el proceso de desarrollo de software RUP acompañado del lenguaje modelado ApEM_L como extensión de UML, se realizó el