Вся задача разбивается на объекты, части объектов, связи между объектами, ограничения и т.п. Так, как удобно.
Задача может выполняться рекурсивно.
Например, "с какой скоростью должна бежать собака, чтобы не слышать шум привязанной к её хвосту сковородки"?
Собака, хвост, сковородка, скорось.
Собака связана с хвостом. Сковородка связана с хвостом. Причём именно с хвостом этой собаки.
Собака развивает скорость. Связи передают скорость на сковородку.
Сковородка связана с землёй. Эта связь на скорости издаёт звуки.
Звуки связаны с ушами собаки.
Мы забыли здесь силу тяжести и т.п.
Решения от компонентного подхода с преднамеренными ошибками:
Пусть у собаки не будет хвоста. Тогда сковородку привязать не удастся.
Пусть мы привяжем сковородку непрочной нитью: только дёрни, сразу оторвётся.
Пусть собака не развивает скорость.
Пусть собака развивает слишком большую скорость.