¿Desglosar el problema en piezas más pequeñas siempre ofrece una mejor solución?

Gran pregunta! Trataré de mantenerlo lo más simple posible y he incluido un ejemplo para que comprenda los beneficios de dividir un problema en partes más pequeñas.

En primer lugar, ¿qué quiere decir con enfoque analítico ? Es un proceso en el que divide un gran problema en piezas más pequeñas, según sea necesario, para resolverlo. ¿Por qué es útil? Bueno, puedes definir y priorizar las partes más importantes y resolverlas primero. Ej: en un juego de rompecabezas, el 95% de las personas generalmente se unen a las piezas que se pueden conectar fácilmente, y rara vez las personas optan por el enfoque viceversa.

En el mundo de la informática, hay un algoritmo que es bastante popular conocido como algoritmo de división-conquista . El concepto detrás de este algoritmo es dividir un problema grande en un problema más pequeño, y luego dividir aún más el problema más pequeño en un problema más pequeño hasta que estos problemas o subproblemas se vuelvan lo suficientemente simples como para ser resueltos directamente. Desde el concepto anterior, la programación modular ha evolucionado donde se enfatiza en separar la funcionalidad de un programa en módulos independientes e intercambiables, de modo que cada uno contenga todo lo necesario para ejecutar solo un aspecto de la funcionalidad deseada.

Suponiendo que tiene una comprensión básica de la gestión de proyectos, ¿alguna vez se ha encontrado o escuchado sobre WBS ? Entonces, WBS significa Estructura de desglose del trabajo. Es una herramienta muy popular que utilizan mis gerentes para dividir un gran proyecto en partes más pequeñas ( las partes más pequeñas generalmente se conocen como hitos o tareas manejables ). Se hace porque un gerente entendería cuánto tiempo, los recursos deben asignarse para cualquier parte más pequeña del proyecto. De esta manera, puede dar un tiempo estimado y detalles de recursos que se utilizarán para terminar el proyecto. En términos generales, se puede decir que este es un enfoque analítico.

Un ejemplo para una comprensión más amplia.

Digamos, ¿desea crear un sitio web para su producto donde los usuarios del producto puedan visitar y registrar sus datos?

Problema: construir un sitio web

¿Entonces, qué harás? Adoptará un enfoque analítico para resolver el problema y dividirá el problema en tareas manejables, ¿correcto?

Romper aún más el problema en tareas manejables

  1. Diseñe su sitio web: lo dibujará y lo escribirá en un papel.
  2. ¿Cuál es el lenguaje de programación que utilizamos para el desarrollo básico del sitio web, es decir, HTML, para que primero aprenda y luego cree un sitio web básico y feo, y cree todos los botones, inserte imágenes y formularios de usuario?

    PD: mencioné feo porque, hoy en día, con HTML, no puedes crear un sitio web hermoso.

  3. Debe hacer que el sitio web se vea hermoso, utilizando CSS (hojas de estilo en cascada), dará instrucciones a los elementos HTML, es decir, botones, etc. y hará que todos los elementos se vean elegantes y atractivos.
  4. PHP se usa para manejar las entradas de los usuarios, necesitará aprender PHP para eso e implementarlo en su sitio web para manejar las entradas de los usuarios.
  5. Ahora, los datos ingresados ​​por los usuarios deben almacenarse para su registro y también para fines de análisis. Entonces, usará SQL para el almacenamiento de datos.
  6. Para que el sitio web sea atractivo, aprenderá JavaScript y lo hará lucir increíble para garantizar que los usuarios den sus comentarios positivos sobre el sitio web.
  7. La penúltima tarea sería cargar el sitio web y realizar una prueba para garantizar que todo funciona según el plan.
  8. Finalmente, haga que el sitio web esté vivo, es decir, disponible para sus usuarios.

Espero que esto te sea útil! Todo lo mejor.

No siempre. Depende del tipo de problema.

Por ejemplo, si está tratando de resolver un problema de programación dinámica, necesita encontrar subproblemas e intentar encontrar algún tipo de relación entre el subproblema y el problema original.

Hay muchos tutoriales en línea para aprender sobre programación dinámica. Puedes simplemente googlearlos.

Espero que esto ayude 🙂. Saludos!

La mayoría de las veces