Форум Сообщества Аналитиков
Общий раздел => Примеры => Тема начата: anastazya от 02 Июля 2011, 09:36:59
-
Здравствуйте.
Учусь рисовать диаграммы sequence. Помогите разобраться на примере следующей задачи:
Предусловия В оперативной очереди ИШ есть сообщения для отправки
Постусловия Сообщение передано в бизнес-логику (MessageBox) BizTalk
Основной сценарий
Receive Port производит:
1.Проверку очереди ИШ на наличие сообщений для отправки. Сообщения для отправки найдены.
2.Проверку приоритетов классов, по которым были отправлены сообщения двух последних итераций обработки очереди:
Итерация Приоритеты классов, по которым были отправлены сообщения
если
1 Общий Высокий Высокий
2 Высокий Общий Высокий
то Производит извлечение и отправку в бизнес-логику BizTalk одного сообщения для каждого класса последовательно из всей очереди ИШ
3 Высокий Высокий Общий
-
anastazya, я предлагаю все-таки сначла попробовать Вам самой нарисовать диаграмму.
Вопрос: а почему именно sequence?
-
Эдуард, я начала рисовать диаграмму, но на определенном шаге остановилась потому, что не знаю как это отобразить :-\.
Siquence потому, что мне необходимо отобразить взаимодействие объектов в динамике.
-
Для циклов и ветвлений нужно использовать блоки (или примечания). Например:
(http://www.websequencediagrams.com/sample4.png)
Объект-посредник, может быть, не нужен.
Для диаграмм последовательности есть красивая веб-рисовалка: http://www.websequencediagrams.com/ (http://www.websequencediagrams.com/)
-
Анастасия, диаграмма последовательности - суть диаграмма сценария. Сценарий - протокол алгоритма.
Диаграмма последовательности тесно связана с вариантом использования. Вариант использования - коллекция различных сценариев использования субъектом некоторого объекта. Типично, что субъект всегда воспринимается как нечто внешнее при описании взаимодействия, а объект есть контекст использования.
Из вашего описания я не понимаю, кто(что) кого(что) использует. Что вашей задаче относится к внешним событиям, а что есть внутренние.
Если то, что вы написали - есть вариант использования, то что-то в нем явно не так. Если же это не вариант использования, а некий алгоритм отправки сообщения, то, мне думается, в нем не хватается точности понятности и однозначности
-
Мне кажется, имеется в виду что-то вроде:
(http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UmVjZWl2ZVBvcnQtPk1zZ1F1ZXVlOiBpc0VtcHR5CgpvcHQgbm90AAgJICAgIAAdF3NvcnRCeVByaW9yaXR5Cmxvb3AgZm9yIGVhY2ggbWVzc2FnZQAkHGdldE0ADhhSZWNpcGllbnQ6IHNlbmQAaxxyZW1vdmUAQghlbmQKZW5kCgo&s=default)
-
Для диаграмм последовательности есть красивая веб-рисовалка: http://www.websequencediagrams.com/ (http://www.websequencediagrams.com/)
Виктор, интересный ресурс.
-
Anastazya, а что не понятно?
но на определенном шаге остановилась потому, что не знаю как это отобразить
Да и ресурс UML Специальный справочник (http://ooad.asf.ru/standarts/uml/spr/sequence_diagram.aspx)
-
Всем спасибо за ответы.
Galogen, попытаюсь объяснить подробней, что я хочу отобразить...
Существует очередь сообщений, из которой производится отправка сообщений в бизнес логику BizTalk. Отправка осуществляется ReceivePort, это один из компонентов продукта BizTalk, который берет сообщения из очереди (не сам напрямую, так не совсем верно, а посредством хранимой процедуры, поэтому я отобразила отдельный объект на диаграмме), так вот, сообщения должны отправляться не просто по порядку, как они лежат в очереди, а по определенному алгоритму, который я пытаюсь отобразить. После того как определено какое сообщение должно быть отправлено, ReceivePort посредством все той же хранимой процедуры производит его отправку в бизнес логику BizTalk.
Дело в том, что и очередь сообщений и ReceivePort и сам BizTalk являются компонентами одной системы. В качестве актора я указала ReceivePort, потому как он инициирует процедуру поиска и отправкии сообщений из очереди по аналогии с таймером, который, скажем, при наступлении определенного события или даты инициирует выполнение какого либо сценария выполнения.
Вы написали: "Если то, что вы написали - есть вариант использования, то что-то в нем явно не так". Подскажите, что не так если я пытаюсь описать именно вариант использования?
-
Виктор, спасибо за информацию, начало проясняться. :)