Я и так получаю лишь часть функциональности, которую мне нужно выполнить.
Проект пишется на Ruby On Rails, на котором и так есть разделение между путями, сервисами, да ещё и с MVC. Но при этом приходится работать сразу с несколькими взаимодополняющими технологиями:
Ruby (контроллер=логика программы + модель=интерфейс запросов SQL), HTML, CSS (отображение) + JavaScript (обработка поведения) + AJAX (передача данных).
Rails "хорош" тем, что скрывает от глаз всю внутреннюю часть от программиста, в результате очень трудно определить куда подевались ресурсы. Непонятно что оптимально написано, а что - нет.
HTML, CSS, JavaScript + AJAX - это реальный спагетти. Убил бы того, кто их придумал. Даже View Builder helpers не помогают.

Но соль не в этом, а в том, что я (точнее, мы) недополучаю толковое описание, по которому можно строить программу. Нет чертежа. Всё на словах. А на словах - сами знаете как бывает: тут не так понял, там упустил, там переборщил.
Реально нужны диаграммы событий и состояний переходов (flow charts). Я сегодня чуток почитал про SWITCH-технологию Шалыто. Идея мне понравилась. Хотелось бы инженерного подхода, а не как сейчас: мазок туда, мазок здесь, нет не так. Чтобы я увидел схему и чётко понял что мне нужно делать.
Типа ДРАКОНа, чтобы наглядно. Не столько работа классами, сколько ситуации и их состояние. Какое ПО посоветуете (только на англ.)?