Está en la página 1de 20

ESTRATEGIAS DE

DESARROLLO DE
SOFTWARE
Ing Heidy Lepe
hlepem1@miumg.edu.gt
ETAPAS DE DESARROLLO
DE SOFTWARE
• Concepción
Análisis • Planificación

• Prototipos
Diseño
• Código
Implementación
• Pruebas
Verificación
• Puesta en producción
Despliegue
• Monitoreo inicial
Mantenimiento
2
¿CUÁL ES EL OBJETIVO DE UTILIZAR UNA
METODOLOGÍA DE ANÁLISIS DE
SISTEMAS?

• Traducir los requerimientos del usuario final a un término técnico.


• Identificación correcta de requerimientos.
• Cumplir con las expectativas de los interesados.

3
INTRODUCCIÓN

El desarrollo de software es un proceso


complejo que requiere la implementación
de estrategias efectivas para garantizar el
éxito del proyecto. En esta clase,
exploraremos cinco estrategias comunes
de desarrollo de software: Formales,
Cascada, Prototipado, Incrementales y
Evolutivos.

20XX Presentación de lanzamiento 4


Estrategia de desarrollo de software formal

Descripción
Esta estrategia se basa en el uso de métodos matemáticos
y rigurosos para especificar, desarrollar y verificar el
software.

Características
•Enfoque altamente estructurado y formal.
•Se utilizan notaciones matemáticas y lógicas para especificar
requisitos y diseñar sistemas.
•Gran énfasis en la verificación y validación del software.

5
Estrategia de desarrollo de software formal

Ejemplo Ventajas
Imagina que trabajas para una agencia espacial y •Alta precisión y confiabilidad en el producto final.
te han asignado el desarrollo de un sistema •Menor riesgo de errores y fallos.
crítico para controlar un satélite que será lanzado
al espacio para llevar a cabo una misión de
observación terrestre. Este satélite será
fundamental para recopilar datos científicos Desventajas
vitales y transmitirlos de vuelta a la Tierra. Dado
que el éxito de la misión depende en gran medida •Requiere un alto nivel de expertise en matemáticas y lógica.
de la precisión y la confiabilidad del software •Puede ser costoso y requerir más tiempo debido a su
que controla el satélite, es crucial adoptar una rigurosidad.
estrategia de desarrollo de software que garantice
la máxima precisión y confiabilidad.

6
Estrategia de desarrollo de software formal

Solución
•Descripción detallada de todas las funciones que
el sistema debe realizar, como la navegación, la
orientación, la telemetría, la comunicación, el
control de la energía, etc.
•Especificación de los algoritmos y métodos que
se utilizarán para realizar cada función.
•Definición de los límites y restricciones para
cada función, como rangos de operación, tiempos
de respuesta, precisión requerida, etc.

7
EJERCICIO #
1
En grupos de 5 estudiantes

Realiza el desarrollo de software formal para un sistema de biblioteca:

Debe contener:

1. Requisitos funcionales

2. Requisitos no funcionales

3. Requisitos ambientales

4. Requisitos de interfaz

•El sistema debe permitir a los usuarios buscar libros por título, autor, categoría o
palabra clave.

8
EJEMPLO…
Realiza el desarrollo de software formal para un sistema de biblioteca:

Debe contener:

1. Requisitos funcionales

El sistema debe permitir al personal de la biblioteca eliminar libros del sistema cuando ya no estén disponibles.

2. Requisitos no funcionales (parte numérica)

El tiempo de respuesta del sistema para las consultas de búsqueda de libros no debe exceder los 2 segundos.

3. Requisitos ambientales

•El sistema debe ser capaz de funcionar las 24 horas del día, los 7 días de la semana, con tiempos de inactividad programados
mínimos para el mantenimiento.

4. Requisitos de interfaz

El sistema debe permitir a los usuarios buscar libros por título, autor, categoría o palabra clave.

9
Estrategia de desarrollo de software en cascada

Análisis

Descripción
En este enfoque, el proceso de desarrollo se divide en
Diseño fases secuenciales, donde cada fase debe completarse
antes de pasar a la siguiente.

Implementación
Características
•Fases típicas incluyen: requisitos, diseño, implementación,
Verificación verificación y mantenimiento.
•Requiere una planificación detallada desde el principio del
proyecto.
•No permite cambios significativos una vez que una fase está
Despliegue
completada.

Mantenimiento
10
Estrategia de desarrollo de software en cascada

Ventajas
•Estructura clara y lineal.
•Facilita la planificación y el seguimiento
del progreso.

Desventajas
•Poca flexibilidad para adaptarse a cambios en
los requisitos.
•Puede llevar a largos periodos de tiempo sin
entregables tangibles.

11
Estrategia de desarrollo de software prototipado

Descripción
En este enfoque, se construyen prototipos rápidos y
simplificados del software para ayudar a comprender los
requisitos del cliente y refinar el diseño.

Características
•Iterativo y centrado en el usuario.
•Los prototipos se utilizan para obtener retroalimentación
temprana y mejorar la comprensión de los requisitos.
•Puede haber múltiples iteraciones antes de llegar al producto
final.

12
Estrategia de desarrollo de software prototipado

Ventajas
•Permite una rápida validación de requisitos y
expectativas del cliente.
•Facilita la detección temprana de problemas de diseño.

Desventajas
•Puede llevar a una arquitectura subóptima si no se maneja
adecuadamente.
•El cliente puede confundir el prototipo con el producto final.

13
EJERCICIO #
2
En grupos de 5 estudiantes

Investigar acerca de 5 herramientas que sirvan para realizar


prototipos de software… tanto de sistemas, aplicativos móviles,
base de datos, web… etc.

Realizar una breve presentación y demostración. Adjuntar link


de descarga

•El sistema debe permitir a los usuarios buscar libros por título, autor, categoría o
palabra clave.
14
Estrategia de desarrollo de software incrementales

Descripción Características

En este enfoque, el sistema se construye y entrega en •Se enfoca en entregar valor rápidamente a través de versiones
incrementos funcionales, cada uno agregando nuevas incrementales del software.
características o funcionalidades. •Los requisitos se dividen en partes más pequeñas y manejables.
•Se priorizan las características más importantes para la entrega
temprana.

15
Estrategia de desarrollo de software incremental

Ventajas
•Permite una rápida adaptación a cambios en los
requisitos.
•Los usuarios pueden comenzar a beneficiarse del
software desde etapas tempranas del desarrollo.

Desventajas
•Requiere una sólida arquitectura modular para evitar
problemas de integración.
•Puede ser difícil de estimar el tiempo y costo total del
proyecto.

16
Estrategia de desarrollo de software evolutivo

Descripción Características
•Se basa en la retroalimentación del usuario y los cambios
Este enfoque se centra en la evolución continua del
en el entorno.
sistema a lo largo del tiempo, mediante la adición •El software se desarrolla en ciclos cortos y regulares.
gradual de nuevas características y mejoras. •Se prioriza la entrega rápida y frecuente de nuevas
versiones.

17
Estrategia de desarrollo de software evolutivo

Ventajas
•Alta flexibilidad para adaptarse a cambios en el
mercado y los requisitos del cliente.
•Los usuarios pueden participar activamente en la
evolución del producto.

Desventajas
•Requiere un proceso de desarrollo continuo y recursos de
mantenimiento a largo plazo.
•Puede ser difícil mantener la coherencia y la calidad del
sistema a medida que evoluciona.

18
EJERCICIO #
3
Individual

Realiza una infografía acerca de las cinco estrategias comunes de


desarrollo de software: Formales, Cascada, Prototipado,
Incrementales y Evolutivos.

Puedes utilizar cualquier recurso en línea, en cualquier


dispositivo (si es en cuaderno se debe enviar fotografía).

19
¿DUDAS?
hlepem1@miumg.edu.gt

También podría gustarte