Комментарии 5
Спасибо за столь хорошо разобранный материал!
Много хорошей теории, но не до конца понятно, как конкретно нарисовать диаграмму классов. В связи с этим вопросы к автору:
В какой программе вы рисовали диаграммы классов (в статье все диаграммы представлены в виде рисунков, но вы же их не в Photoshop рисовали. А в чем?).
Похоже,что вырисуете Диаграмму классов только для себя,чтобы самому лучше понять, что представляет ваша же программа. Собираетесь ли вы показывать вашу Диаграмму классов коллегам? Как именно, в каком формате и как вы собираетесь дать доступ к Диаграмме классов? Опубливать ее на GitHub? Какой конкретно файл вы разместите на GitHub?
В какой программе вы рисовали диаграммы классов
Лично я для создания диаграмм использую программу draw.io. Особо не стал акцентировать на этом внимание, т.к. возможно есть инструменты куда удобнее, о которых я не знаю. Кстати, мне в прошлой моей статье советовали plantuml. Если не ошибаюсь, в нём диаграмма описывается в виде псевдокода, что может быть иногда удобно для автоматического создания диаграмм.
Похоже, что вырисуете Диаграмму классов только для себя, чтобы самому лучше понять, что представляет ваша же программа. Собираетесь ли вы показывать вашу Диаграмму классов коллегам? Как именно, в каком формате и как вы собираетесь дать доступ к Диаграмме классов? Опубливать ее на GitHub? Какой конкретно файл вы разместите на GitHub?
Можно рисовать диаграммы и для себя. Не всегда есть возможность уделять время pet-проектам, а забывать, как внутри всё работает, не хочется. Что касается хранения диаграмм на GitHub, можно скидывать в папку docs файл в виде png и исходник диаграммы (чтобы потом можно было что-нибудь подправить). Коллегам же можно показывать краткую версию диаграммы, которая будет отображать лишь структурные подробности системы (отношения между различными компонентами системы), иначе особенности внутренностей классов могут сбить их с толку (да и особо подробно описывать не стоит). Для этого в draw.io можно «свернуть» внутренности классов, оставив только название.
Ещё для рисования может быть полезен Mermaid (см Class Diagrams), он работает в режиме код → диаграмма (как, впрочем, и PlantUML)
visual paradigm имеет очень мощный функционал - для uml очень удобно сделано - реализовано через ui все, что требуют спецификации uml
также, кроме uml в нем можно создавать огромное множество других диаграмм
Использование диаграммы классов UML при проектировании и документировании программного обеспечения