Upload
pabloantoniofidel
View
1.785
Download
0
Embed Size (px)
Citation preview
1.1 Complejidad Inherente al Software
Complejidad
• “La complejidad del software es una propiedad esencial, no accidental” [Brooks].
• Controlarla, más no Eliminarla.
Complejidad
• 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.
Requerimientos
ProblemaCosto
Confiabilidad Facilidad de uso
Rendimiento
Complejidad del dominio del problema
+Dificultad de los usuarios para
expresar con precisión sus necesidadesen forma que los desarrolladores las
puedan entender
La forma habitual de expresar requisitosactualmente es mediante grandes
cantidades de texto, acompañadas dealgunos gráficos.
+Los requisitos de un sistema de software
cambian frecuentemente durante su desarrollo
Puntos de vistadiferentes sobre lanaturaleza delproblema, y cada unotiene una solución.
Difíciles de comprender, generando varias interpretaciones
Complejidad del dominio...
Complejidad del dominio...
Luego de la puesta en marcha
Mantenimientodel Software
Evolución Conservación
Corregir errores Requerimientos que cambian
Se usan medios extraordinarios para mantener en operación un software anticuado o decadente
Dificultad de gestionar el proceso de desarrollo
¿Cómo es posible escribir menos código?
REUTILIZACION REUTILIZACION (marcos estructurales y código)
Dificultad de gestionar el proceso de desarrollo
Equipo de desarrolladores
Mantener una unidad eintegridad en el diseño
Tamaño de los ProyectosCientos y/o milesde modulos separados
Comunicación más complejay Coordinación más difícil
Equipos dispersosgeográficamente
Flexibilidad 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!!!
Comportamiento de sistemas discretos
• Sistemas análogos
• No-lineales Comportamiento no-determinísticono-determinístico
x
y y
xSistema Continuo Sistema Discreto
Consecuencias
<< Cuanto más complejo sea el sistema, más abierto esta el derrumbamiento total >>
No dominar la complejidad del software:• Proyectos retrasados, • Exceden el presupuesto • Que son deficientes respecto
a los requerimientos fijados Crisis del software