СиППО (24, 29-41) (987678), страница 5
Текст из файла (страница 5)
Рис. 2.14.
39. Диаграммы состояний, их назначение, компоненты.
Объекты многих классов могут находиться в разных состояниях. Будем говорить о состояниях классов, подразумевая при этом, что все объекты этого класса будут находиться в одинаковых состояниях. Переход объектов класса из одного состояния в другое задает характерные черты их поведения. Исследование состояний проводим, исходя из следующих предпосылок:
∙ Объект может в любой момент времени находиться только в одном состоянии.
∙ Переход из одного состояния в другое происходит скачкообразно; имеются четкие критерии, позволяющие отличить одно состояние от другого (т.е. при изменении состояния должно измениться значение хотя бы одной переменной класса).
∙ Допустимы не все переходы между состояниями: часть переходов противоречит законам природы, часть - правилам эксплуатации.
∙ Существуют события (events), заставляющие выполнить переход из одного состояния в другое.
Составление диаграммы состояний необязательно, но она позволяет лучше понимать функционирование исследуемой системы. Если какой-либо класс имеет ярко выраженное динамическое поведение, то разработка этой диаграммы желательна. Каждая диаграмма состояний соответствует одному классу. При наличии между классами отношения обобщения необходимо в каждом случае определить, насколько отличаются диаграммы состояний классов различных уровней обобщения и на этой основе решить, нужны ли отдельные диаграммы для классов разных уровней обобщения или нет. Такую диаграмму желательно построить в следующих случаях.
∙ Объекты класса создаются и уничтожаются (активизируются и деактивируются) в ходе работы.
∙ Объекты мигрируют от одного класса к другому (в пределах одного класса-предка).
∙ Объекты накапливают значения своих атрибутов постепенно, на протяжении жизненного цикла.
∙ Объект отчетливо проходит через разные стадии цикла.
∙ Объект возникает или производится поэтапно.
∙ Объект вступает в связи и выходит из них.
∙ Если объект - это оборудование, нормальное функционирование или сбой которого оказывает влияние на другие объекты.
Если нет ни одного из перечисленных случаев, то можно обойтись и без этой диаграммы. Все переходы между состояниями (события) оформляются приказами. На диаграмме используют обозначения, приведенные на рис. 2.16. На рис. 2.17. представлена упрощенная диаграмма состояний процесса обучения студента в вузе.
Рис. 2.16.
Рис. 2.17.
На диаграмме состояний могут быть даны дополнительные характеристики состояний и событий (рис. 2.18).
Рис. 2.18.
Для событий можно указывать следующие дополнительные характеристики:
∙ Имя события.
∙ Аргументы события (при необходимости).
∙ Условие, которое должно выполняться при возникновении данного события.
∙ Дополнительные действия, возникающие вместе с этим событием.
Для состояний:
∙ Имя состояния.
∙ Действия, которые должны быть выполнены в момент входа в состояние.
∙ Действия, которые должны выполняться во время нахождения объекта в данном состоянии.
∙ Действия, которые должны быть выполнены в момент выхода из состояния.
∙ Действия, которые должны быть выполнены в момент поступления внешнего события, в таком случае дополнительно могут быть заданы аргументы внешнего события и условия на значения этих аргументов.
Все действия, как в состоянии, так и при событии задаются в следующей форме:
^имя_класса.имя_события(аргументы_события)
Состояние может иметь и подсостояния. Например, диаграмма состояний коробки передач автомобиля (рис. 2.19).
Рис. 2.19.
40. Диаграммы деятельности, их назначение, компоненты.
Для моделирования исследуемой предметной области часто необходимо представить особенности алгоритмической и логической реализации выполняемых системой операций. Например, для реализации с помощью создаваемого программного продукта отдельных вариантов использования необходимо выяснить и документировать порядок их выполнения людьми. При составлении диаграммы деятельности используют следующее символы (рис. 2.20).
Линия синхронизации 1 означает, что после начала процесса проверка условия и деятельность 5 могут выполняться одновременно. В зависимости от условия 1 выполняется либо деятельность 1 либо деятельность 2; деятельность 3 может начинать выполняться после их завершения. Линия синхронизации 2 означает, что деятельность 4 может выполняться после завершения деятельности 3 и деятельности 5.
В более сложных условиях на диаграмме деятельности модно использовать дорожки, которые связывают отдельные деятельности с конкретными исполнителями (подразделениями). На рис. 2.21. приведена диаграмма деятельности для магазина. Выделены 3 дорожки (продавец, кладовщик, выдача), соответствующие трем подразделениям магазина и показаны деятельности по обслуживанию покупателя.
Конечно, технология выполнения тех или иных процессов после внедрения разрабатываемого программного продукта может измениться. Поэтому часто необходимо различать диаграммы анализа и диаграммы проектирования. Иногда их называют диаграмма «Как есть» и диаграмма «Как должно быть». Проблема усовершенствования процесса работы при переходе на новые информационные технологии может быть достаточно сложной и известна под названием реинжинииринг бизнес процессов.
Рис. 2.20.
41. Диаграммы компонентов и размещения, их назначение, составные части.
Рассмотренные до сих пор диаграммы относятся к логическому представлению. Особенность логического представления состоит в том, что оно оперирует понятиями (классы, ассоциации, состояния, сообщения), которые не имеют самостоятельного материального воплощения. Эти понятия отражают наше понимание структуры физической системы или аспекты ее поведения.
Диаграмма компонентов описывает особенности физического представления создаваемой системы. Поэтому до составления диаграммы компонентов должна быть выбрана среда реализации и на эту диаграмму могут быть занесены только такие компоненты, которые имеются в выбранной среде. Примерами компонентов могут служить exe-модуль, dll-библиотека. На рис. 2.26 показана диаграмма компонентов с exe-модулями и базой данных. Все классы, которые должны быть реализованы программно, должны быть присоединены к компонентам. Другими словами, компоненты состоят из классов.
Рис. 2.26.
В наше время редко когда разрабатывается приложение, функционирующее на одном компьютере. Поэтому возникает необходимость показать, какие компоненты на каких компьютерах работают и как эти компьютеры связаны. Для этого служит диаграмма развертывания (размещения), представленная на рис. 2.27.
Рис.2.27.
На диаграмме имеется две разновидности узлов:
∙ Процессоры, в которых выполняется обработка информации.
∙ Устройства, в которых обработка информации не выполняется, которые лишь предоставляют услуги (например, сетевой принтер).
Если узлы находится на значительном расстоянии друг от друга, то уже на стадии проектирования должно быть определено, в каком режиме будет осуществляться их связь.