UML и DFD карандашом или фломастерами. Фломастерами удобнее, потому как в цвете комфортнее восприятие.
Если нужно для презентации - в Libreoffice Impress.
Сложная структура уже является ошибкой проектирования. Все должно быть примитивно и при возможности многоуровнево ("разделяй и властвуй" - слышали такое?). На любом конкретном аспекте, БЛ, DFD, функциональная логика, API - результат должен быть примитивным, и умещаться на одном листе А4.
Если не умещается - значит есть чего делить и упрощать. Это очень просто.
Кстати, хорошо спроектированный софт пишется очень быстро.