¿Por qué?
Capacidades cuantitativas
-
Dime cúantos elementos hay en cada imagen de arriba a abajo y de izqiuerda a derecha sin fallar, sin prisas
-
Dime cúantos elementos hay en cada imagen de arriba a abajo y de izqiuerda a derecha sin fallar, sin prisas y sé consciente sobre cuándo los cuentas (siguiendo uno por uno con "golpes" de vista) o cuándo los ves (sin seguimiento, con un solo golpe de vista)
-
La media en las personas es que hasta 4 elementos se ven y a partir de 5 se cuentan
-
Te voy a transmitir una clave con estos códigos, aprendetelos de memoria!
-
Te voy a transmitir una clave con estos códigos: cada número con su contorno, excepto el exterior, aprendetelos de memoria!
-
Mira el dibujo durante 5 segundos para memorizarlo y repetirlo con lápiz y papel
-
Mira el dibujo durante 5 segundos para memorizarlo y repetirlo con lápiz y papel
-
Asociamos muchos elementos en un todo
Limitación para el tamaño de la carga del área de trabajo | |
---|---|
|
¿Qué?
Sistema | Sistema Complejo | |
---|---|---|
Un Sistema es un conjunto de componentes interactuando o interdependientes formando un todo integrado. Cada sistema está delimitado por sus límites espacio/temporales e influenciado por su entorno, descrito por su estructura y propósito y expresado en su funcionamiento
— Wiki?
|
Un Sistema Complejo es aquel cuya complejida excede la capacidad intelectual humana
— Booch
|
Sistema | Sistema respiratorio | Película de amor | Numeros Romanos | Semaforo |
---|---|---|---|---|
conjunto de componentes interactuando o interdependientes formando un todo integrado. |
nariz, laringe, faringe, traquea, pulmones, alveolos, … |
personajes |
I, V, X, L, C, D y M |
Rojo, verde y amarillo |
Cada sistema está delimitado por sus límites espacio/temporales |
fechas y lugares de la vida del ser vivo que contiene el sistema respiratorio |
fechas y lugares de los personajes |
fechas y lugar donde estén escritos |
fechas y lugar de la instalación del semáforo |
e influenciado por su entorno, |
lo que respira: aire limpio vs contaminado, … |
la sociedad, las familias, una ex-pareja, … |
en desuso en favor de sistemas de numeración poscionales (indo-arábigo, maya, chino, …) mucho más efectivos |
fuente de energía, climatología, vándalos, artistas, … |
descrito por su estructura |
la nariz se conecta con la laringe, la laringe con la traquea, … |
argumento que relaciona los personajes de la historia |
grupos de máximo 3 elementos consecutivos, grupo con elemento y opcionalmente un elemento inferiro prefijo o sufijo, … |
de rojo a verde, de verda a amarillo y de amarillo a verdo y/o rojo, … |
y propósito |
inyectar oxigeno al sistema circulatorio extrayendo monóxido de carbono, … |
transmitir emociones |
regsitrar información cuantitativa |
controlar el tráfico |
y expresado en su funcionamiento. |
inspiración y expiración |
reproducción de la película |
suma, resta, producto, división, … son información cuantitativas registrada |
luces con alimentación electrica |
¿Para qué?
Efectividad
|
|
|
|
Eficientemente | Ineficientemente | |
---|---|---|
Efectividad para Comprar el pan |
||
Eficazmente |
Trae el pan en cinco minutos y devuelve la vuelta |
Trae el pan en 20 minutos y no devuelve la vuelta |
Ineficazmente |
Trae el pan pero no la cantidad, tipos, … oportunos en cinco minutos y devuelve la vuelta |
Trae el pan pero no la cantidad, tipos, … oportunos en 20 minutos y no devuelve la vuelta |
Efectividad para un Producto Software |
||
Eficazmente |
Responde a la funcionalidad establecida con el consumo de tiempo y memoria establecido |
Responde a la funcionalidad establecida con el consumo de tiempo y memoria establecido más un 50%, 100%, 300%, … |
Ineficazmente |
Responde a la funcionalidad establecida menos el 33%, 66%, … con el consumo de tiempo y memoria establecido |
Responde a la funcionalidad establecida menos el 33%, 66%, … con el consumo de tiempo y memoria establecido más un 50%, 100%, 300%, … |
Efectividad para Desarrollar Software |
||
Eficazmente |
Entrega de producto establecido en el tiempo y coste establecidos |
Entrega de producto establecido en el tiempo y costes establecidos más un 50%, 100%, 300%, … |
Ineficazmente |
Entrega de producto establecido menos el 33%, 66%, … en el tiempo y coste establecidos |
Entrega de producto establecido menos el 33%, 66%, … en el tiempo y coste establecidos más un 50%, 100%, 300%, … |
Ejemplo: Escenario con tu propia experiencia
|
|
¿Cómo?
Características de Sistemas Complejos
|
|
|
|
|
Capacidades cualitativas
|
|
Abstracción
La abstracción surge de un reconocimiento de similitudes entre ciertos objetos, situaciones o procesos en el mundo real, y la decisión de concentrarse en estas similitudes e ignorar por el momento, las diferencias
— Dahl
Dijkstra y Hoare |
La abstracción es "una descripción simplificada, o especificación, de un sistema que hace hincapié en algunos de los detalles o propiedades mientras que suprime otros del sistema. Una buena abstracción es la que hace hincapié en los detalles que son importantes para el lector o usuario y suprime detalles que son, al menos por ahora, de distracción
— Shaw
|
La abstracción es el proceso mental de extracción de las características esenciales de algo, ignorando los detalles superfluos
— Booch
|
Implicaciones: | |||
---|---|---|---|
|
|
|
|
-
Mundo real: un autobús de un pasajero o un mecánico, un ordenador, …
-
Software orientado a procesos: factorial, mostrar menú, ordenar, …
-
Software orientado a objetos: una fecha, un intervalo, un gestor de comunicaciones, un colección de datos, …
Encapsulación
La encapsulación es proceso por el que se ocultan los detalles del soporte de las características esenciales de una abstracción
— Booch
|
|
Hacer notar que en ninguno de los casos no se trata de ocultar la información en sí misma sino de ocultar los detalles del soporte de dicha información |
||
|
|
|
Implicaciones: | ||||
---|---|---|---|---|
|
||||
|
|
|
|
|
-
Mundo real: un autobús, un ordenador, una universidad, …
-
Software orientado a procesos: factorial, mostrar menú, ordenar, …
-
Software orientado a objetos: una fecha, un intervalo, un gestor de comunicaciones, un colección de datos, …
Modularización
La modularidad es el proceso de descomposición de un sistema en un conjunto de piezas poco acoplados y cohesivos
— Booch
96 |
El acoplamiento “[…] es la medida de fuerza de la asociación establecida por una conexión ente un módulo -elemento- y otro. El acoplamiento fuerte complica un sistema porque los módulos son más difíciles de comprender, cambiar o corregir por sí mismos si están muy interrelacionados con otros módulos
— Booch
96 |
La cohesión mide el grado de conectividad entre los elementos de un solo módulo
— Booch
96 |
|
||
|
|
|
La descomposición inteligente se dirige directamente a la complejidad inherente del software al obligar a una división del espacio de estados de un sistema
— Parnas
|
|
Jeararquización
Jerarquía es una clasificación u ordenamiento de las abstracciones
— Booch
|
La jerarquización es el proceso de estructuración por el que se produce una organización de un conjunto de elementos en grados o niveles de responsabilidad, de clasificación o de composición, … entre otros
— Fernando Arroyo
|
|
|
|
|
Aún así, esto no es suficiente. Un conjunto de abstracciones a menudo forma una jerarquía, y mediante la identificación de estas jerarquías en nuestro diseño se simplifica enormemente nuestra comprensión del problema. |
Implicaciones: | |
---|---|
|
|
|
|
|
Nuestra experiencia es que los sistemas de software complejos más exitosos son aquellos cuyos diseños incluyen explícitamente las estructuras de clases y objetos bien diseñadas y encarnan los cinco atributos de sistemas complejos descritos en la sección anterior. […] Muy raramente nos encontramos con sistemas de software que se entregan a tiempo, que están dentro del presupuesto y que cumplen con sus requisitos, a menos que estén diseñados con estos factores en mente
— Booch
|
Ejemplo: Varios
|
Síntesis
Complejidad | Sencillez |
---|---|
muchas reglas, explicaciones, argumentos, … |
pocas reglas, explicaciones, argumentos, … |
leyes, patentes, productos bancarios, edificios, … |
grandes novelas, juegos, empresas, teorías, … Máquina de Turing: mover cinta izquierda/derecha, escribir/leer 0/1’s, 3 dualidades "explican" lo computable!!! |
a causa de la limitación mental cuantitativa: número mágico de Miller, … |
gracias a nuestras capacidades cualitativas: abstracción, encapsulación, modularidad y jerarquía |
|
|
Rápido, más rápido!!!, más, quiero más!!!, …, ansia viva, … Círculos viciosos |
Poco a poco, paso a paso, …, templanza, … Círculos virtuosos |
Lo complejo es feo
— ¿Firmas tú?
Yo no! |
Lo sencillo es bello
— E. F. Schumacher
Small Is Beautiful. A Study of Economics As If People Mattered |
Musa de la Jerarquización, por encima de la fila, organiza el ataque de destrucción total … de la complejidad |
||
|
||
Musa de la Abstracción, la primera de la fila, ataca a lo esencial, ignorando detalles |
Musa de la Modularidad, la segunda de la fila, te parte en piezas poco acopladas y cohesivas |
Musa de la Encapsulación, la última de la fila, oculta el soporte de sus armas |
|
|
|
Santa Tecla, Epifanía Cualitativa |
||
|
||
|
Bibliografía
Obra, Autor y Edición | Portada | Obra, Autor y Edición | Portada |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ponente
|
|
|