Title: 1.1 Complejidad Inherente al Software
11.1 Complejidad Inherente al Software
2Complejidad
- La complejidad del software es una propiedad
esencial, no accidental Brooks. - Controlarla, más no Eliminarla.
3Complejidad
- Factores importantes
- La complejidad del dominio del problema.
- La dificultad de gestionar el proceso de
desarrollo. - La flexibilidad que se puede alcanzar a través
del software. - Los problemas que plantea la caracterización del
comportamiento de sistemas discretos.
4Complejidad del dominio del problema
5Complejidad del dominio...
Dificultad de los usuarios para
expresar con precisión sus necesidades
en forma que los desarrolladores las
puedan entender
La forma habitual de expresar requisitos
Difíciles de comprender, generando varias
interpretaciones
actualmente es mediante grandes
cantidades de texto, acompañadas de
algunos gráficos.
Los requisitos de un sistema de software
cambian frecuentemente durante su desarrollo
6Complejidad del dominio...
- Luego de la puesta en marcha
7Dificultad de gestionar el proceso de desarrollo
- Cómo es posible escribir menos código?
- REUTILIZACION (marcos estructurales y código)
8Dificultad de gestionar el proceso de desarrollo
9Flexibilidad alcanzable a través del software
- Construcción y Reconstrucción en diferentes
organizaciones - No existe normatividad para los módulos
- No existe reutilización, se quiere construir
todo!!!
10Comportamiento de sistemas discretos
- Sistemas análogos
- No-lineales
Comportamiento no-determinístico
y
x
Sistema Continuo
Sistema Discreto
11Consecuencias
- ltlt Cuanto más complejo sea el sistema, más
abierto esta el derrumbamiento total gtgt - No dominar la complejidad del software
- Proyectos retrasados,
- Exceden el presupuesto
- Que son deficientes respecto
- a los requerimientos fijados
Crisis del software