Modelos Desarrollo de Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

MODELOS

DESARROLLO
DE
SOFTWARE
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.

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. ).
Recordemos las actividades estructurales generales
del proceso:

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.
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.
Qué es un modelo de desarrollo de software?
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.

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:
MODELO INCREMENTAL
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.
En relación con las actividades estructurales:
MODELOS DE PROCESO EVOLUTIVO
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.
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.
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 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
MODELO EN ESPIRAL
El modelo en espiral genera un producto de trabajo en forma rápida e
incremental es decir una versión funcionales del software)
En relación con las actividades estructurales:
MODELO DRA
DESARROLLO RÁPIDO DE APLICACIONES

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

También podría gustarte