Rápido, bueno o barato y espacio vs. tiempo
Triángulo de gestión de proyectos
“Rápido, bueno o barato” no es exclusivo del desarrollo de software. Más bien, es la misma ‘triple restricción’ que se aplica a casi todos los proyectos sujetos a restricciones del mundo real.
- ¿Cómo debo implementar un proyecto de librería simple en Java? ¿Qué clases debo incluir?
- ¿Es Bhubaneswar el nuevo centro de TI del este?
- ¿Cuál es el mejor esquema y estrategia de versiones de software hoy en día?
- ¿Qué tipo de mentores han tenido las personas en una carrera de ingeniería de software?
- Cómo pasar de las pruebas de software al desarrollo, después de más de 4 años en la gestión de datos de prueba
Básicamente, dice que puede tener su software rápidamente, puede tenerlo (muy) de alta calidad, o puede hacerlo ‘barato’ o con poco esfuerzo, pero solo puede elegir dos.
Compensación espacio-tiempo
“Espacio vs. Tiempo” es común en informática. En términos simples, para ciertos problemas, una solución podría optimizarse para espacio (RAM o requisitos de almacenamiento) o tiempo (ciclos de CPU o E / S), sacrificando uno por el otro.
Un ejemplo trivial sería el uso de un caché . Un caché almacena valores recuperados o calculados previamente (del sistema de archivos o una consulta de base de datos) en (generalmente) memoria local. Al consumir más espacio, reducimos el tiempo que tomará para consultas posteriores para ese valor.
Lo contrario ocurre cuando comprimimos archivos. Mediante el uso de algoritmos de compresión (como Zip o RAR), sacrificamos un poco de tiempo abriéndolos y leyéndolos (además de escribirles) a cambio de consumir menos espacio en el disco duro.
Algo similar sucede a mayor escala con sofisticados sistemas de correo electrónico que realizan deduplicación , por ejemplo, si alguien, por ejemplo, envía un archivo adjunto grande a un grupo, el sistema solo almacena el archivo adjunto una vez, pero hace que parezca que cada destinatario tiene su propia copia .