Complejidad Del Software

Post on 20-Dec-2015

212 views 0 download

description

la problematica del tratamiento del software complejo

Transcript of Complejidad Del Software

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