SlideShare una empresa de Scribd logo
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.
Complejidad del dominio del
           problema
Confiabilidad                    Facilidad de uso



 Costo                             Rendimiento
                      Problema

         Requerimientos
Complejidad del dominio...
                     + usuarios para
       Dificultad de los
                                               Puntos de vista
                                               diferentes sobre la
   expresar con precisión sus necesidades      naturaleza del
   en forma que los desarrolladores las        problema, y cada uno
              puedan entender                  tiene una solución.



  La forma habitual de expresar requisitos     Difíciles de
      actualmente es mediante grandes          comprender,
   cantidades de texto, acompañadas de         generando varias
             algunos gráficos.                 interpretaciones
                     +sistema de software
  Los requisitos de un
cambian frecuentemente durante su desarrollo
Complejidad del dominio...

Luego de la puesta en marcha
 Mantenimiento      Evolución         Conservación
 del Software



                                    Se usan medios
Corregir errores   Requerimientos
                                    extraordinarios para
                   que cambian      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 (marcos estructurales y
 código)
Dificultad de gestionar el
  proceso de desarrollo
                              Cientos y/o miles
 Tamaño de los Proyectos
                              de modulos separados

 Equipo de desarrolladores


Comunicación más compleja      Equipos dispersos
 y Coordinación más difícil    geográficamente

  Mantener una unidad e
  integridad en el diseño
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ístico

  y                          y




                         x                           x
      Sistema 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         Crisis del
• Que son deficientes respecto
                                 software
a los requerimientos fijados

Más contenido relacionado

La actualidad más candente

Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
Yaskelly Yedra
 
MOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
Franklin Parrales Bravo
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
Eduardo Navarrete Salazar
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
Barklyn Lsla
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
Aeivans
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
Juan Henao
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
ALEX MERINO
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
Yaskelly Yedra
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
JOHNNY SURI MAMANI
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de Software
Leo Ruelas Rojas
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
Juan Carlos Tapias
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
Belghy Chisag
 
UML
UMLUML
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
Alberto Flores De Peñafiel
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
Coesi Consultoria
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
itsarellano
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
Vannesa Salazar
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
Karloz Dz
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
Avelino Felipe Policarpio
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
Cesar Prado
 

La actualidad más candente (20)

Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
MOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de Software
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
 
UML
UMLUML
UML
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 

Destacado

Is1 01
Is1 01Is1 01
Is1 01
GABY Alex
 
Puntos de funcion
Puntos de funcionPuntos de funcion
Puntos de funcion
Lu Martinez
 
Puntos de funcion
Puntos de funcionPuntos de funcion
Puntos de funcion
Edward Contreras
 
problemas del software
problemas del softwareproblemas del software
problemas del software
David Abisai Gomez
 
Software Empotrado
Software EmpotradoSoftware Empotrado
Software Empotrado
chivivi
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Galo Lalangui
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
pontifica
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
Ricardo
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
Lorena Quiñónez
 
GESTION DEL RIESGO
GESTION DEL RIESGOGESTION DEL RIESGO
GESTION DEL RIESGO
Luis Enrique Castillo Leon
 

Destacado (12)

Is1 01
Is1 01Is1 01
Is1 01
 
Puntos de funcion
Puntos de funcionPuntos de funcion
Puntos de funcion
 
Puntos de funcion
Puntos de funcionPuntos de funcion
Puntos de funcion
 
problemas del software
problemas del softwareproblemas del software
problemas del software
 
Software Empotrado
Software EmpotradoSoftware Empotrado
Software Empotrado
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
GESTION DEL RIESGO
GESTION DEL RIESGOGESTION DEL RIESGO
GESTION DEL RIESGO
 

Similar a Complejidad del software 2

02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
karlalopezbello
 
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
Luis Fernando Aguas Bucheli
 
Introducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a ObjetosIntroducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a Objetos
edwinlemmon
 
3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net
Luis Fernando Aguas Bucheli
 
Orientacion objetos
Orientacion objetosOrientacion objetos
Orientacion objetos
karlalopezbello
 
Unidad I
Unidad IUnidad I
Unidad I
Luis Morán
 
Sesion 1. entendiendo las necesidades (2);diapositiva
Sesion 1. entendiendo las necesidades (2);diapositivaSesion 1. entendiendo las necesidades (2);diapositiva
Sesion 1. entendiendo las necesidades (2);diapositiva
Yesi Kathe
 
Ventajas, desventajas y características
Ventajas, desventajas y característicasVentajas, desventajas y características
Ventajas, desventajas y características
Lavigne10
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
FiiBii Farrera
 
Aplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.pptAplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.ppt
martinmarialp
 
VDI Security
VDI SecurityVDI Security
VDI Security
Cristian Borghello
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
Luis Yallerco
 
Crisis software
Crisis softwareCrisis software
Crisis software
netoliguz
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
justo morales
 
2. software y sus cualidades
2. software y sus cualidades2. software y sus cualidades
2. software y sus cualidades
Evëlyn Gxbriela
 
Software
SoftwareSoftware
Software
Jaquelin Orosco
 
El software su naturaleza y las cualidades
El software su naturaleza y las cualidadesEl software su naturaleza y las cualidades
El software su naturaleza y las cualidades
Sandy Mendoza
 
El software su naturaleza y cualidades
El software su naturaleza y cualidadesEl software su naturaleza y cualidades
El software su naturaleza y cualidades
Cristina Marisabel Paltán Beltrán
 
Unidad 1
Unidad 1Unidad 1
Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing software
univ of pamplona
 

Similar a Complejidad del software 2 (20)

02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
 
Introducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a ObjetosIntroducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a Objetos
 
3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net
 
Orientacion objetos
Orientacion objetosOrientacion objetos
Orientacion objetos
 
Unidad I
Unidad IUnidad I
Unidad I
 
Sesion 1. entendiendo las necesidades (2);diapositiva
Sesion 1. entendiendo las necesidades (2);diapositivaSesion 1. entendiendo las necesidades (2);diapositiva
Sesion 1. entendiendo las necesidades (2);diapositiva
 
Ventajas, desventajas y características
Ventajas, desventajas y característicasVentajas, desventajas y características
Ventajas, desventajas y características
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Aplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.pptAplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.ppt
 
VDI Security
VDI SecurityVDI Security
VDI Security
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Crisis software
Crisis softwareCrisis software
Crisis software
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
2. software y sus cualidades
2. software y sus cualidades2. software y sus cualidades
2. software y sus cualidades
 
Software
SoftwareSoftware
Software
 
El software su naturaleza y las cualidades
El software su naturaleza y las cualidadesEl software su naturaleza y las cualidades
El software su naturaleza y las cualidades
 
El software su naturaleza y cualidades
El software su naturaleza y cualidadesEl software su naturaleza y cualidades
El software su naturaleza y cualidades
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing software
 

Más de pabloantoniofidel

Modelos didatico
Modelos didaticoModelos didatico
Modelos didatico
pabloantoniofidel
 
Operalizacion
OperalizacionOperalizacion
Operalizacion
pabloantoniofidel
 
Retos de doencia
Retos de doenciaRetos de doencia
Retos de doencia
pabloantoniofidel
 
Teorias del aprendizaje
Teorias del aprendizajeTeorias del aprendizaje
Teorias del aprendizaje
pabloantoniofidel
 
Consultas
ConsultasConsultas
Analisis de necesidades_educativas
Analisis de necesidades_educativasAnalisis de necesidades_educativas
Analisis de necesidades_educativas
pabloantoniofidel
 
1didactica de la_informatica-_hipervinculos (1)
1didactica de la_informatica-_hipervinculos (1)1didactica de la_informatica-_hipervinculos (1)
1didactica de la_informatica-_hipervinculos (1)
pabloantoniofidel
 
Software
SoftwareSoftware

Más de pabloantoniofidel (8)

Modelos didatico
Modelos didaticoModelos didatico
Modelos didatico
 
Operalizacion
OperalizacionOperalizacion
Operalizacion
 
Retos de doencia
Retos de doenciaRetos de doencia
Retos de doencia
 
Teorias del aprendizaje
Teorias del aprendizajeTeorias del aprendizaje
Teorias del aprendizaje
 
Consultas
ConsultasConsultas
Consultas
 
Analisis de necesidades_educativas
Analisis de necesidades_educativasAnalisis de necesidades_educativas
Analisis de necesidades_educativas
 
1didactica de la_informatica-_hipervinculos (1)
1didactica de la_informatica-_hipervinculos (1)1didactica de la_informatica-_hipervinculos (1)
1didactica de la_informatica-_hipervinculos (1)
 
Software
SoftwareSoftware
Software
 

Complejidad del software 2

  • 2. Complejidad • “La complejidad del software es una propiedad esencial, no accidental” [Brooks]. • Controlarla, más no Eliminarla.
  • 3. 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.
  • 4. Complejidad del dominio del problema Confiabilidad Facilidad de uso Costo Rendimiento Problema Requerimientos
  • 5. Complejidad del dominio... + usuarios para Dificultad de los Puntos de vista diferentes sobre la expresar con precisión sus necesidades naturaleza del en forma que los desarrolladores las problema, y cada uno puedan entender tiene una solución. La forma habitual de expresar requisitos Difíciles de actualmente es mediante grandes comprender, cantidades de texto, acompañadas de generando varias algunos gráficos. interpretaciones +sistema de software Los requisitos de un cambian frecuentemente durante su desarrollo
  • 6. Complejidad del dominio... Luego de la puesta en marcha Mantenimiento Evolución Conservación del Software Se usan medios Corregir errores Requerimientos extraordinarios para que cambian mantener en operación un software anticuado o decadente
  • 7. Dificultad de gestionar el proceso de desarrollo ¿Cómo es posible escribir menos código? REUTILIZACION (marcos estructurales y código)
  • 8. Dificultad de gestionar el proceso de desarrollo Cientos y/o miles Tamaño de los Proyectos de modulos separados Equipo de desarrolladores Comunicación más compleja Equipos dispersos y Coordinación más difícil geográficamente Mantener una unidad e integridad en el diseño
  • 9. 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!!!
  • 10. Comportamiento de sistemas discretos • Sistemas análogos • No-lineales Comportamiento no-determinístico y y x x Sistema Continuo Sistema Discreto
  • 11. 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 Crisis del • Que son deficientes respecto software a los requerimientos fijados