Процесс разработки программы моделирования механизмов
(Mechanics Editor) начнём с разбиения её на несколько логических модулей.
Диаграмма взаимодействия этих модулей представлена на рис. снизу.
      На приведённой диаграмме сплошными линиями обозначено
отношение ассоциации между модулями в смысле взаимодействия этих модулей между собой.
Кроме того, на диаграмме выделены множества логических модулей составляющие отдельные
физические модули: dll или exe. Наименование и язык исходного кода физических модулей
указаны в левом верхнем и левом нижнем углу групп соответственно.
      Далее я привожу развёрнутое описание функций каждого из модулей:
Модуль обслуживания интерфейса – представляет собой все классы форм программы, выполняющих обработку событий действий пользователя;
Модуль управления редактируемыми объектами – объединяет базовый класс редактируемых объектов программы и производный класс управления этими объектами. Этот класс содержит список всех редактируемых объектов и содержит методы доступа и управления ими;
Модуль управления стилями – содержит класс настроек цветового оформления и типовых параметров различных объектов. Изменение, какого либо стиля отражается на всех соответствующих объектах за счёт обработки происходящего события;
Модуль подсистемы 3D-рендеринга и управления видами – представляет класс, реализующий работу вида, отображающего проекцию структурной схемы механизма. Этот класс также реализует операции работы с геометрическими объектами сцены, такие, как выделение мышью, перемещение, вращение, масштабирование;
Модуль представления геометрических объектов механизма – объединяет все классы, представляющие каждый из геометрических объектов сцены и реализующие операции над ними;
Модуль управления структурой механизма – объединяет все классы, реализующие представление типовых объектов структуры механизма. Именно эти классы и позволяют построить модель механизма.
      Как видно из построенной диаграммы связей между логическими модулями, модуль управления структурой механизма связан всего лишь с двумя другими модулями, хотя и включает в себя основную часть классов программы. Это позволяет выполнить разработку программы в два этапа:
Разработать и отладить работу программы без модуля управления структурой механизма – решающую задачи визуализации и редактирования геом. объектов;
Добавить модуль управления структурой механизма и выполнить отладку.