Временные диаграммы

После окончания средней школы и до того как начать свою компью­терную карьеру, я работал инженером-электронщиком. Поэтому я ис­пытываю щемящее чувство узнавания, когда вижу, как язык UML определяет временные диаграммы в качестве своих стандартных диа­грамм. Временные диаграммы существовали в электронной промыш­ленности испокон веков, и никто не мог подумать, что потребуется по­мощь UML, чтобы понять их назначение. Но уж раз они появились в UML, то заслужили краткого упоминания.

Временные диаграммы - это еще одна форма диаграмм взаимодейст­вия, которая акцентирована на временных ограничениях: либо для одиночного объекта, либо, что более полезно, для группы объектов. Давайте рассмотрим простой сценарий, основанный на использовании насоса (Pump) и нагревательного элемента (Hotplate) в кофеварке (coffee pot). Представим себе правило, которое гласит, что между включени­ем насоса и включением нагревательного элемента должно пройти по крайней мере 10 секунд. Когда емкость с водой становится пустой (waterEmpty), насос выключается, а нагревательный элемент не может оставаться включенным более 15 минут.

На рис. 17.1 и 17.2 показаны альтернативные способы представления таких временных ограничений. Главное различие состоит в том, что на рис. 17.1 изменения состояния обозначаются переходом от одной горизонтальной линии к другой, а на рис. 17.2 горизонтальное распо­ложение остается таким же, а изменения состояния обозначаются пе­рекрещиванием горизонтальных линий. Стиль, представленный на рис. 17.1, следует предпочесть, когда состояний немного, а стиль, по­казанный на рис. 17.2, лучше подходит, когда имеешь дело с большим количеством состояний.

Пунктирные линии, при помощи которых я обозначил временные гра­ницы {>10s}, не обязательны. Если вы считаете, что они помогут точно определить, какие события вызывают временные ограничения, то на­рисуйте их.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: