Лабораторная работа №3. Диаграммы состояний (StateChart
diagram)
Общее описание
Рассмотрим новую категорию элементов, которая позволяет описать поведение системы и
показать, как части модели UML изменяются во времени. К одной из таких категорий
относятся элементы диаграммы состояний.
Изменение в системе можно охарактеризовать так: объекты изменяют свое состояние в
ответ на происходящие события и с течением времени. Например, при щелчке на кнопке
пульта дистанционного управления, телевизор изменяет свое состояние и показывает
передачи другого канала и т.д.
Поэтому Диаграмма состояний UML, охватывая приведенный выше тип изменения,
представляет состояния объекта и переходы между ними, а также показывает начальное и
конечное состояние объекта.
Данная диаграмма значительно отличается от диаграммы классов, диаграммы объектов
или диаграммы прецедентов. Диаграмма состояний показывает состояния одного объекта.
Представление диаграммы состояний.
Состояние изображается прямоугольником со скругленными углами, переход – сплошной
линией со стрелкой. Закрашенный круг соответствует начальной точке
последовательности состояний, а обведенный круг («глазок») представляет конечную
точку.
рис.3.14.
Причем, прямоугольник разделен на две части. Верхняя содержит имя состояния (которое
нужно присвоить независимо от того, будут ли присутствовать другие элементы
обозначения), а нижняя предназначена для размещения видов деятельности.
Также необходимо уточнить, что переход зачастую происходит в ответ на
переключающее событие и может вызывать выполнение некоторых действий.
Например, можно указать событие, которое привело к переходу (переключающее
событие) и выполняемые вычисления (действия), которые приводят к изменению
состояния.
Иногда событие вызывает переход баз всякого действия, иногда же переход происходит
из-за того, что в текущем состоянии выполнены все действия (не из-за события). Такой
тип перехода называется безусловным переходом.
Необходимость создания диаграммы состояний
На диаграмме состояний отображаются все переходы между состояниями одного объекта
системы. Если информация слишком детализирована, то диаграмма вскоре слишком
усложнится (и это необходимо).
Диаграммы состояния используются аналитиками, проектировщиками и разработчиками
для исследования поведения объектов в системе. Диаграмма классов и диаграмма
объектов отображают только статическое состояние системы. На них представлены
иерархии и ассоциации, и из них можно узнать о возможном перечне действий системы,
но ничего нельзя узнать о деталях динамического поведения.
Однако разработчики должны понимать поведение объектов, поскольку их задачей
является реализация этого поведения в программном обеспечении. Просто разработать
объект недостаточно: специалисты должны добиваться того, чтобы объект выполнял свои
функции. Диаграммы состояний дают полную информацию о желаемом поведении. Ясное