Простой инструмент для рисования диаграмм последовательностей

Диаграммы UML — прекрасное средство для повышения эффективности программирования. Другое дело, что их изучение — дело хлопотное, поэтому многие самоучки (вроде меня) до поры, до времени эту «мутотень» игнорируют. И зря: когда сталкиваешься с по-настоящему успешным программистом, одна из первых вещей, которая про него выясняется — он тщательно проектирует код, прежде чем браться за долбежку клавиатуры. В этом разница между программистом и кодером.

Вовсе не обязательно выучивать огромные мануалы по UML. Достаточно взять на вооружение хоть что-то, и уже будет польза. К тому же не так много свободных инструментов, позволяющих рисовать всю совокупность диаграмм. Но кое-какой open source софт есть. Вот, например, sdedit — программа для рисования диаграмм последовательностей. Ее особенностью является то, что вместо принципа WYSIWYG («рисования» мышкой) она генерирует диаграммы на основе вводимых с консоли команд. Например, диаграмма, представляющая собой схему дистанционного обучения, может быть описана так:

#![Схема обучения]
Клиент:Actor
БазаДанных: DataBase[p] "База данных"
Календарь:Screen[p] "Календарь"
Консоль:Screen[p] "Учебная консоль"
/Занятие:Занятие[a,x]
Преподаватель:Actor

Клиент:БазаДанных.регистрируется
Клиент:Календарь.выбирает свободные часы
Календарь:Преподаватель.сообщает о новом клиенте
Преподаватель:Календарь.резервирует время
Преподаватель:Клиент.подтверждает время занятия
Клиент:Преподаватель.производит оплату
[c Цикл занятий]
    Преподаватель:Занятие.new
    Преподаватель:Консоль.подключается
    Клиент:Консоль.подключается
    Занятие:Консоль.проводится
[/c]


Генерируется такая диаграмма:



Она может быть полезна не только для более качественного уяснения предметной области самим программистом, но и для демонстрации бизнес-процессов другим заинтересованным лицам (инвесторам, клиентам, коллегам и т.п.).

Комментарии (4)

RSS свернуть / развернуть
+
0
Всегда с трудом понимал диаграммы бизнес процессов. С программированием более понятно. По-моему в данном примере sdedit.sourceforge.net/example/index.html проще прочитать код а не диаграмму?
avatar

Sergei_T

  • 20 августа 2011, 15:57
+
0
Когда пишут более-менее сложную программу без проекта, неизбежно тратятся силы на тупиковые ветви, по которым направляются, любители «творческих порывов». Таким «непризнанным гениям», по большому счету, наплевать на результат. Им важнее что-то попробовать и «самовыразиться». На «творческие поиски» уходит очень много сил. Но финал очень даже банален и предсказуем: 80% таких начинаний остаются незаконченными.

Проектирование дисциплинирует, позволяет видеть свет в конце туннеля, заранее знать, на что тратить силы, а на что нет. А иногда и вовсе помогает прийти к выводу, что не стоит и начинать такое-то дело.

В принципе и дом можно построить без проекта, но не сложнее дачного домика А его проще купить готовый.
avatar

yababay

  • 20 августа 2011, 17:37
+
0
Ну это то да. Пример бардака — Gnome 3
avatar

Sergei_T

  • 21 августа 2011, 09:07
+
0
Ну, для объективности не грех выслушать и противоположную сторону.
avatar

yababay

  • 21 августа 2011, 21:18

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.