Программа для создания [псевдо]UML диаграмм или просто схем
От: iAlexander Россия  
Дата: 24.08.06 03:24
Оценка:
Приветствую всех,

Помогите, пожалуйста, решить, каким инструментом лучше воспользоваться в следующей ситуации:
Наличествует достаточно много кода, написанного на C, "по-старому", документации к которому нет никакой.
Для того, чтобы более-менее эффективно поддерживать этот код, хотелось бы нарисовать вновь диаграммы "классов", взаимодействий, если так можно выразиться в данном случае. Поскольку код процедурный, применить ООП средства описания непросто. Однако как-то описать этот код необходимо, чтобы иметь картинки перед глазами. Например, UML диаграмма классов не подходит, поскольку в данном случае значение имеют только члены структуры и способы их инициализации, сохранения и применения. Каждый член, например, может применяться по-разному в зависимости от состояния других членов. Здесь, мне кажется, лучше рисовать не классы с отношениями агрегирования (или не только их), а поступить проще: нарисовать набор вложенных структур, каждая из которых содержит набор членов примитивных или других структур.
Набор вложенных прямоугольничков, чтобы предельно точно выразить. Насколько я знаю, UML редактор, следующий uml нотации, не даст мне нарисовать такую схему.
Так что же, инструментами вольного художника должны стать Word и Paint?

Word позволяет набор нарисованных прямоугольничков объединять (merge), таким образом можно наваять что угодно, Virtual table нарисовать, например. Только думать об этом не хочется.

Я искал uml редакторы, нашел страничку с перечислением: http://www.objectsbydesign.com/tools/umltools_byPrice.html

Но их там уж очень много, я не могу перепробовать все.
UMLet — хорошая идея, но реализацию нужно еще доводить. Для пятиминутных диаграммок самое подходящее средство. Неуклюже выглядит.
Rational Rose, Model Maker, Altova UML, MS Visio — не позволяют мне нарисовать что я хочу.
Здесь на форуме нашел, но не пробовал еще:
caseberry
Together
Автор: LeonidV
Дата: 15.04.06

Enterprise Architect
StarUML

Подскажите, имеет ли смысл продолжать поиски или может сразу в графическом редакторе все нарисовать?

PS. Критика принимается и приветствуется.
Re: Программа для создания [псевдо]UML диаграмм или просто с
От: ika Беларусь  
Дата: 24.08.06 12:11
Оценка:
Здравствуйте, iAlexander.
Еще есть Magic Draw.
Re: Программа для создания [псевдо]UML диаграмм или просто с
От: MEOW Россия  
Дата: 25.08.06 04:28
Оценка:
http://www.phruby.com/stencildownload.html
Re: Программа для создания [псевдо]UML диаграмм или просто с
От: DemAS http://demas.me
Дата: 28.08.06 05:27
Оценка:
Здравствуйте, iAlexander, Вы писали:

A>PS. Критика принимается и приветствуется.


Может стоит посмотреть на MindMaps(как концепцию) и на Mindjet MindMaps, как один из интсрументов, ее релизации?
Это не UML. Это некий инструмент, позволяющий структурировано и наглядно отображать свои мысли, не привязываясь ни к одной конкретной нотации.
Когда мне нужно сделать какой-то набросок, глядя на который я мог бы через пару лет вспомнить о чем идет речь и при этом отображаемые идеим не ложатся на UML и прочии нотации я обычно испрользую MindMaps.
... << RSDN@Home 1.2.0 alpha rev. 643>>
Re: Программа для создания [псевдо]UML диаграмм или просто с
От: Andrew S.  
Дата: 04.09.06 15:47
Оценка:
Здравствуйте, iAlexander, Вы писали:

A>Наличествует достаточно много кода, написанного на C, "по-старому", документации к которому нет никакой.


Может, проще натравить на него (код) DoxyGen — по-моему, вместо диаграмм для поддержки была-бы полезней документация...
DoxyGen сможет нарисовать диаграммы зависимостей между header файлами, как минимум. Ну и документировать, по возможности, самые важные процедуры — важно определиться с их контрактами.

А с остальными средствами — лучше, наверное, найти что-то для reverse engineering, так как самому рисовать все диаграммы — сизифов труд. Вряд-ли кто оценит (сам был в такой ситуации однажды).

Just IMO,

Андрей
Re[2]: Программа для создания [псевдо]UML диаграмм или прост
От: iAlexander Россия  
Дата: 15.09.06 14:22
Оценка:
Отвечаю всем сразу (извините за долгое молчание, каюсь)

Andrew S.

AS>Может, проще натравить на него (код) DoxyGen — по-моему, вместо диаграмм для поддержки была-бы полезней документация...

AS>DoxyGen сможет нарисовать диаграммы зависимостей между header файлами, как минимум. Ну и документировать, по возможности, самые важные процедуры — важно определиться с их контрактами.

Код написан и работает — а документация — это роскошь. По всей видимости, именно так рассуждали авторы
Документация полезней, спору нет. Вот только я ее сам и создаю, и тему поднял поэтому...

AS>А с остальными средствами — лучше, наверное, найти что-то для reverse engineering, так как самому рисовать все диаграммы — сизифов труд. Вряд-ли кто оценит (сам был в такой ситуации однажды).


Абсолютно согласен, но справиться с этим кодом пока что может лишь человек
Я мало верил в успех, но все же натравил DoxyGen. Результат в общем близок к нулю.. Те скудные комментарии, которыми были сопровождены некоторые функции и структуры, не были восприняты.

Reverse engeeniring non-objective кода — по всей видимости задача гораздо более сложная, чем в случае objective.

DemAS
Посмотрел на MindMaps, захватывающая штука. Где-то про нее уже слыхивал, но ни разу не видел, чтобы ее кто-нибудь применял.
Mindjet MindMaps платный, поставил free Java MindMaps DeepaMehta, только на установку ушло столько сил, что попользоваться сил уже не осталось. Интерфейс не раскрученный...

MEOW
В итоге нарисовал не UML схему в Visio. Спасибо за ссылку, поставил его, пригодится.

себе
Воспользовался Enterprise Architect trial для парсинга кода, этот инструмент смог выделить структурки и даже некоторые зависимости между ними. На безрыбье, решил я и дорисовал остальное сам, решив, что потом всегда конвертну в XML и открою чем угодно. не тут-то было. У Enterprise Architect формат XML гораздо более свой, чем у Altova, например. А печатает схемы trial с раздражающими водяными знаками на всем листе.
Freeware StarXML не смог повторить подвиг Enterprise Architect. Альтруизм хрупок..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.