SlideShare una empresa de Scribd logo
1 de 11
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

Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructuradowaralivt
 
Generalidades y lenguajes de programacion robotica
Generalidades y lenguajes de programacion roboticaGeneralidades y lenguajes de programacion robotica
Generalidades y lenguajes de programacion roboticapoli1971
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetosMariana Rodríguez
 
Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok originalDat@center S.A
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del softwareecasteloc
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Modelos de estimacion de software
Modelos de estimacion de softwareModelos de estimacion de software
Modelos de estimacion de softwareManuel Galindo Sanz
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingEmergya
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionMarioS1093
 

La actualidad más candente (20)

Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
Requisitos no Funcionales
Requisitos no FuncionalesRequisitos no Funcionales
Requisitos no Funcionales
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Generalidades y lenguajes de programacion robotica
Generalidades y lenguajes de programacion roboticaGeneralidades y lenguajes de programacion robotica
Generalidades y lenguajes de programacion robotica
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetos
 
Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok original
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Modelos de estimacion de software
Modelos de estimacion de softwareModelos de estimacion de software
Modelos de estimacion de software
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
 
Analisis y Diseño de Sistemas II-2
Analisis y Diseño de Sistemas II-2Analisis y Diseño de Sistemas II-2
Analisis y Diseño de Sistemas II-2
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
 

Destacado

Puntos de funcion
Puntos de funcionPuntos de funcion
Puntos de funcionLu Martinez
 
Software Empotrado
Software EmpotradoSoftware Empotrado
Software Empotradochivivi
 
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 softwareGalo Lalangui
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De SoftwareRicardo
 
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 Objetosyoiner 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 softwareLorena Quiñónez
 

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_objetoskarlalopezbello
 
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 Objetosedwinlemmon
 
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);diapositivaYesi Kathe
 
Ventajas, desventajas y características
Ventajas, desventajas y característicasVentajas, desventajas y características
Ventajas, desventajas y característicasLavigne10
 
Aplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.pptAplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.pptmartinmarialp
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
Crisis software
Crisis softwareCrisis software
Crisis softwarenetoliguz
 
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ónjusto morales
 
2. software y sus cualidades
2. software y sus cualidades2. software y sus cualidades
2. software y sus cualidadesEvëlyn Gxbriela
 
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 cualidadesSandy Mendoza
 
Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing softwareuniv 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
 
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
 
Software
SoftwareSoftware
Software
 
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

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