Ну, я бы предложил начать с определения вариантов использования вашей IDE:
1. Сохранять файлы (открывать, сохранять, удалять, переименовывать)
2. Синтаксический анализ кода и отображение результатов.
3. Передайте файл в компилятор и отобразите результаты.
(А затем запишите простые шаги того, что делают эти сценарии использования. Это очень поможет, а также даст вам «контекст» для всех тех маленьких и маленьких требований, которые появятся.
В противном случае это просто список функциональных возможностей, который очень сложно организовать, внедрить последовательно и полностью и знать, что вы все поймали.)
Итак, вы можете сказать, что у вас есть 3 объекта домена: Файл, Код и Компилятор.
В любом случае, это начало
Да, ОГРОМНЫЙ проект для простого любопытства.
Вы также можете посмотреть, как создается eclipse, а также как создается компилятор OO. Они могут дать вам идеи относительно ваших доменных объектов