Diseño de sistemas

Cuando alguien me pregunta en que consiste la programación, respondo que consiste, 80% es pensar y el 20% es escribir código. Desde mi punto de vista y experiencia, los errores de programación en comparación con los errores de diseño son ínfimos. Cambiar algunas líneas de código o re-escribir una función es mucho más fácil que un cambio en el diseño.
El primer paso a la hora de diseñar un sistema es conocer el dominio del mismo, quién lo va a usar, cuántos usuarios va a tener, qué cantidad de datos vamos a manejar, tiene que ser escalable, qué tipo de persistencia necesitamos, etc. Una vez tenemos esos datos o al menos los sufuciente, es hora de crear algunos esquemas, identificar y diseñar los componentes principales del mismo. Luego, cada componente tiene sus problemas específicos, por ejemplo, si estamos hablando con una base de datos relacional, nos debemos preguntar cosas como: replicación, sharding, denormalización, etc. Si hablemos de bases de datos no relacionales, necesitamos bases de datos de documentos, pares de valores, en memoria, necesitamos mayor rendimiento en operaciones de lectura o escritura, etc. Lo mismo con el resto de componentes que podamos necesitar: cachés, colas de mensajes, seguridad, etc.


















































































































1.- 







































































































Los diseñadores de Braun: Sang-hoon Lee y Yong-bum Lim han creado una taza conceptual equipada con tres sensores de volumen. En condiciones normales (si no son máquinas expendedoras) los invidentes tienen que tocar con la yema de los dedos el líquido para saber a que altura está en el vaso. Con el Braun Bell sólo tienen que pulsar uno de los tres botones que tiene el asa y un speaker sonará cuando llegue a la altura deseada.









