Форум Сообщества Аналитиков
Общий раздел => Для всех => Тема начата: Galogen от 01 Октября 2008, 17:37:52
-
на сайте omg.org обнаружил ряд статей. В одной из них (выполненных в виде презентации) приведен небольшой пример.
Там представлен код и картинка, его иллюстрирующий.
Вот собственно картинка:
(http://www.isuct.ru/~ivt/foruml2/CompositeStructureR1.jpg)
и код, связанный с ней
Ammount function Accept_deposit (a : Account, d : Amount)
{
Amount nb = a.balance + d;
a.balance = nb;
return nb;
}
Не кажется ли вам, что код гораздо понятнее и информативнее, чем картинка?
Как минимум код компактнее, создание его менее трудоемко, чем такой вот картинки
-
Конечно, восприятие картинок очень индивидуально, но по-моему, это или слишком сильный "левый загиб", или пародия на графические модели.
-
Тут как обычно нам предстает вопрос - а какой уровень детализации выбрать. И в каждом конкретном случае он будет разный. Диаграммы ВИ - верхний уровень, ДС, ДП и т.д. - более детальный, ДК еще детальнее, а код совсем один в один :) И естественно не имеет смысла представлять чистый код в виде диаграмм.
-
Как минимум код компактнее, создание его менее трудоемко, чем такой вот картинки
Вопрос в использовании. По картинке можно (если инструмент умеет) сгенерить код на любом языке, а не только на ... даже не знаю, что это за язык.
Кроме этого, не всякий поймет код (ну не программил никогда).
-
Кроме этого, не всякий поймет код (ну не программил никогда).
А я, если честно, не понял диаграмму, если бы в код не смотрел :)
-
на сайте omg.org обнаружил ряд статей. В одной из них (выполненных в виде презентации) приведен небольшой пример.
...
Не кажется ли вам, что код гораздо понятнее и информативнее, чем картинка?
...
Эдуард, ну неужели ты студентам на лекциях для демонстрации теории приводишь сложные примеры? Тут такой же случай. О чем кстати была презентация?
-
Эдуард, ну неужели ты студентам на лекциях для демонстрации теории приводишь сложные примеры? Тут такой же случай. О чем кстати была презентация?
Денис, конечно, нет. Речь шла о другом. Я задался вопросом всегда ли полезна картинка?
Ясно, что картинка - это тоже по сути код, написанный в максимальной абстракции на неком языке, который должен быть понятен всем (в отличии от конкретного языка программирования. Но мне показалось, что в данном случае кусочек кода стоит картинки.
Правда, если бы данная картинка формировалась в неком инструменте, который затем можно было исполнить (ну что-то в роде MATLAB Simulink)... Хотя...
Статья вот
UML 2 Activity Modeling for Domain Experts (UML as a Knowledge Language) (http://doc.omg.org/pm/2005-12-05)
Presentation reviewing UML from domain experts' viewpoint, and activity modeling in particular.
-
По-моему, очень странно нарисована картинка, причем на очень низком уровне абстрации. На сколько я понял ее суть, берем счет (объект), достаем из него баланс счета (атрибут) складываем баланс с суммой (объект) и снова записывает новое значение баланса на счет.
По сути обычная схема пополнения счета. Удобнее это описать сиквенсом, или просто словами.
-
Удобнее это описать сиквенсом, или просто словами.
На сиквенсе не отобразить поток данных.
-
IMHO, то что представлено в коде...
-
IMHO, то что представлено в коде...
В коде, но не на диаграмме. По диаграмме в первом посте можно сгенерить множество вариантов кода. Тот что представлен только один из них.
По поводу рисунка Пример.jpg
Где показано, что это функция? Что у нее два входных параметра и один выходной? Где показана временная переменная nb?
-
xUML aka Исполняемый UML вполне реален.
-
xUML aka Исполняемый UML вполне реален.
Telelogic Rhapsody - пример реального продукта, где некоторые диаграммы могут выполняться
-
Telelogic Rhapsody - пример реального продукта, где некоторые диаграммы могут выполняться
Я слышал про BridgePoint (http://www.mentor.com/products/sm/uml_suite/), но не пробовал.