Форум Сообщества Аналитиков

Общий раздел => Примеры => Тема начата: anastazya от 02 Июля 2011, 09:36:59

Название: Помогите построить диаграмму sequence
Отправлено: anastazya от 02 Июля 2011, 09:36:59
Здравствуйте.

Учусь рисовать диаграммы sequence. Помогите разобраться на примере следующей задачи:
Предусловия   В оперативной очереди ИШ есть сообщения для отправки
Постусловия   Сообщение передано в бизнес-логику (MessageBox) BizTalk
Основной сценарий   
Receive Port производит:
1.Проверку очереди ИШ на наличие сообщений для отправки. Сообщения для отправки найдены.
2.Проверку приоритетов классов, по которым были отправлены сообщения двух последних итераций обработки очереди:

       Итерация   Приоритеты классов, по которым были отправлены сообщения
если
   1   Общий   Высокий   Высокий
   2   Высокий   Общий   Высокий

то Производит извлечение и отправку в бизнес-логику BizTalk  одного сообщения для каждого класса последовательно из всей очереди ИШ    
            3   Высокий   Высокий   Общий
Название: Re: Помогите построить диаграмму sequence
Отправлено: Galogen от 02 Июля 2011, 21:32:21
anastazya, я предлагаю все-таки сначла попробовать Вам самой нарисовать диаграмму.
Вопрос: а почему именно sequence?
Название: Re: Помогите построить диаграмму sequence
Отправлено: anastazya от 03 Июля 2011, 12:49:08
Эдуард, я начала рисовать диаграмму, но на определенном шаге остановилась потому, что не знаю как это отобразить :-\.
Siquence потому, что мне необходимо отобразить взаимодействие объектов в динамике.
Название: Re: Помогите построить диаграмму sequence
Отправлено: Виктор Малышко от 03 Июля 2011, 12:59:52
Для циклов и ветвлений нужно использовать блоки (или примечания). Например:
(http://www.websequencediagrams.com/sample4.png)
Объект-посредник, может быть, не нужен.
Для диаграмм последовательности есть красивая веб-рисовалка: http://www.websequencediagrams.com/ (http://www.websequencediagrams.com/)
Название: Re: Помогите построить диаграмму sequence
Отправлено: Galogen от 03 Июля 2011, 18:43:27
Анастасия, диаграмма последовательности - суть диаграмма сценария. Сценарий - протокол алгоритма.
Диаграмма последовательности тесно связана с вариантом использования. Вариант использования - коллекция различных сценариев использования субъектом некоторого объекта. Типично, что субъект всегда воспринимается как нечто внешнее при описании взаимодействия, а объект есть контекст использования.

Из вашего описания я не понимаю, кто(что) кого(что) использует. Что вашей задаче относится к внешним событиям, а что есть внутренние.

Если то, что вы написали - есть вариант использования, то что-то в нем явно не так. Если же это не вариант использования, а некий алгоритм отправки сообщения, то, мне думается, в нем не хватается точности понятности и однозначности
Название: Re: Помогите построить диаграмму sequence
Отправлено: Виктор Малышко от 03 Июля 2011, 22:12:53
Мне кажется, имеется в виду что-то вроде:
(http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UmVjZWl2ZVBvcnQtPk1zZ1F1ZXVlOiBpc0VtcHR5CgpvcHQgbm90AAgJICAgIAAdF3NvcnRCeVByaW9yaXR5Cmxvb3AgZm9yIGVhY2ggbWVzc2FnZQAkHGdldE0ADhhSZWNpcGllbnQ6IHNlbmQAaxxyZW1vdmUAQghlbmQKZW5kCgo&s=default)
Название: Re: Помогите построить диаграмму sequence
Отправлено: Galogen от 03 Июля 2011, 22:39:05
Для диаграмм последовательности есть красивая веб-рисовалка: http://www.websequencediagrams.com/ (http://www.websequencediagrams.com/)
Виктор, интересный ресурс.
Название: Re: Помогите построить диаграмму sequence
Отправлено: Thyestes от 05 Июля 2011, 18:43:32
Anastazya, а что не понятно?
Цитировать
но на определенном шаге остановилась потому, что не знаю как это отобразить
Да и ресурс  UML Специальный справочник  (http://ooad.asf.ru/standarts/uml/spr/sequence_diagram.aspx)
Название: Re: Помогите построить диаграмму sequence
Отправлено: anastazya от 08 Июля 2011, 11:40:03
Всем спасибо за ответы.

Galogen, попытаюсь объяснить подробней, что я хочу отобразить...
Существует очередь сообщений, из которой производится отправка сообщений в бизнес логику BizTalk. Отправка осуществляется ReceivePort, это один из компонентов продукта BizTalk, который берет сообщения из очереди (не сам напрямую, так не совсем верно, а посредством хранимой процедуры, поэтому я отобразила отдельный объект на диаграмме), так вот, сообщения должны отправляться не просто по порядку, как они лежат в очереди, а по определенному алгоритму, который я пытаюсь отобразить. После того как определено какое сообщение должно быть отправлено, ReceivePort посредством все той же хранимой процедуры производит его отправку в бизнес логику BizTalk.

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

Вы написали: "Если то, что вы написали - есть вариант использования, то что-то в нем явно не так". Подскажите, что не так если я пытаюсь описать именно вариант использования?
Название: Re: Помогите построить диаграмму sequence
Отправлено: anastazya от 08 Июля 2011, 11:58:14
Виктор, спасибо за информацию, начало проясняться.  :)