Конспект лекций, страница 8

Описание файла

PDF-файл из архива "Конспект лекций", который расположен в категории "лекции и семинары". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из седьмого семестра, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

Пакет – общий механизм для организацииэлементов модели в группы. Каждый пакет – это группа элементовмодели, иногда сопровождаемая диаграммами, поясняющими структуругруппы. Каждый элемент модели может входить только в один пакет.Диаграммы пакетов отображают зависимости между пакетами,возникающие, если элемент одного пакета зависит от элемента другого.Пакеты также используются для представления подсистем.Подсистема – это комбинация пакета (поскольку она включаетнекоторое множество классов) и класса (поскольку она обладаетповедением, т.е.

реализует набор операций, которые определены в ееинтерфейсах). Связь между подсистемой и интерфейсом называетсясвязью реализации.<<layer>>Application<<layer>>BusinessServices<<subsystem>>Interface Subsystem NameДиаграммы состояний определяют все возможные состояния, в которых можетнаходиться экземпляр некоторого класса, а также процесс смены состояний объекта врезультате наступления некоторых событий. Математической базой диаграмм состоянийявляется автомат. На каждой диаграмме состояний имеется одно начальное состояние ипроизвольное количество финальных. Начальное состояние выделено черной точкой, оно7соответствует состоянию объекта, когда он только что был создан.

Финальное состояниеобозначается черной точкой в белом кружке, оно указывает, что вполоть до уничтоженияобъекта с ним ничего происходить не будет. Из финального состояния не бываетпереходов, также как нет переходов в начальное.Когда объект находится в каком-то конкретном состоянии, могут выполнятьсяразличные процессы. Они, называются деятельностями состояния и указываются надиаграмме. Деятельность состояния – это прерываемое поведение. Оно можетвыполняться до своего завершения, пока объект находится в данном состоянии, илиможет быть прервано переходом объекта в другое состояние.

Деятельность состоянияизображают внутри самого состояния, ей должно предшествовать слово do и двоеточие.Для состояния могут быть указаны входное и выходное действия. Входное действиевыполняется, когда объект переходит в данное состояние, как часть этого перехода. Вотличие от деятельности, входное действие рассматривается как непрерываемое.

Входноедействие также показывают внутри состояния, ему предшествует слово entry и двоеточие.Выходное действие осуществляется как составная часть выхода из данного состояния.Оно также является непрерываемым. Его изображают внутри состояния, емупредшествует слово exit и двоеточие. Действия, выполняемые в состоянии понаступлению события, помечаются словом event, после которого через двоеточиеуказывается событие, а затем действие.Переходом (transition) называется смена одного состояния объекта на другое.На диаграмме все переходы изображают в виде линий со стрелками.

Объект можетперейти в то же состояние, в котором он в настоящий момент находится. С переходомможно связать событие, сторожевое условие и действие. Событие вызывает переход изодного состояния в другое. Событие размещают на диаграмме вдоль линии перехода.Сторожевые условия определяют, когда переход может произойти, а когда нет. Ихизображают на диаграмме вдоль линии перехода после имени события, заключая вквадратные скобки [ ]. Действие, являющееся частью перехода, изображают вдоль линииперехода после имени события, ему предшествует косая черта. Для некоторых состояний(называемых суперсостояниями) указывают вложенные подсостояния.

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

Элементыдиаграмм деятельности:Узлы управления:Входной узелУзел разделенияФинальный узелУзел объединенияУзел принятиярешенияУзел соединенияУзлы действийПоток управленияПоток объектовOrder o;o = new Order;FillOrder(o);Вскипятить чайникНаполнить чайникo : OrderCreate OrderCreate Order8OrderFill OrderилиFill OrderOrderВ UML 2 проведена граница между диаграммами состояний, базирующимися наформализме конечных автоматов, и диаграммами деятельности, основанными на сетяхПетри. Основным элементом диаграмм деятельности является узел действия. Каждыйтакой узел представляет собой элементарную единицу работы (это может быть решениенекоторой задачи, которую необходимо выполнить вручную или автоматизированнымспособом, или выполнение метода класса).

Узел действия изображается в видезакругленного прямоугольника с текстовым описанием. Диаграмма деятельности можетиметь входной узел, вообще говоря, не один, (в UML 1 должен быть ровно один),определяющий начало потока управления. Финальный узел необязателен. На диаграммеможет быть несколько финальных узлов. На диаграмме могут присутствовать объекты ипотоки объектов, в тех случаях, если объект используется или изменяется в одном изузлов действий. Поток объектов отмечается пунктирной стрелкой от деятельности кизменяемому объекту или от объекта к деятельности, использующей объект. Ребра(сплошные стрелки) между узлами действий показывают потоки управления.

Условныйпереход (узел принятия решения), а также узел слияния (или узел соединения) потоковизображается ромбом. Если необходимо показать, что две или более ветвей потокавыполняются параллельно, используются «линейки синхронизации» – узлы ветвления иузлы объединения (жирные линии).Как уже говорилось, диаграммы деятельности интерпретируются в соответствии сформализмом сетей Петри. Начальная точка порождает один курсор управления (или9маркер) для каждого исходящего перехода.

Если для ребра определено событие, то курсордостигает конца ребра только после наступления такого события. Ограничивающее(сторожевое) условие также определяет, возможно ли перемещение курсора по ребру. Припопадании курсора в узел действия происходит ожидание курсоров на всех входящихребрах и лишь потом запускается единица работы. По завершении выполнения работыгенериру-ются курсоры на всех исходящих ребрах. При попадании в узел принятиярешения (он имеет один вход и несколько выходов) курсор проходит дальше лишьпо тому ребру, для которого выполнено сторожевое условие (вообще говоря, оно должнобыть одно).

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

Узлы действия могут иметь входные и выходные контакты дляприема/выдачи курсоров объектов, изображаемые в виде квадратиков на границе узла.Если входных контактов несколько, действие в узле выполняется лишь тогда, когда навсех их пришли курсоры объектов. Пример:ВходнойконтактВыходнойконтактДеятельностьВыходнойконтактUpdate accountDepositВходнойконтактAmount+ДеятельностьAccountSetBalanceGetBalanceОкончаниепотокаПоток объектовSendNoticeGetCustomerУзлы разделения и объединенияпотоками объектов.

Например:могут синхронизировать потоки управления с10Здесь прием возвращаемой позиции заказа на склад синхронизируется с изменениемсостояния объекта Item, который должен перейти в состояние returned (возвращен).Аналогично, возврат денег по возвращенному заказу синхронизируется со сменойсостояния объекта Item на available (доступен). Обратите внимание, диаграмма спомощью вертикальных линий – «плавательных дорожек» разделяется на зоныответственности (заказчик, продажи, бухгалтерия, склад).Диаграммы деятельности следует использовать в следующих ситуациях: при анализе потоков событий в конкретном варианте использования; при анализе потоков событий во взаимодействующих вариантах использования.Диаграммыкомпонентовмоделируютфизическийуровеньсистемы.Нанихизображаютсякомпоненты ПО и связи между ними. Натакой диаграмме обычно выделяют дватипакомпонентов:исполняемыекомпоненты и библиотеки кода.

Каждыйклассмодели(илиподсистема)преобразуется в компонент исходногокода. Между отдельными компонентамиизображаютзависимости,соответствующие зависимостям на этапекомпиляции или выполнения программы.В модели системы может быть несколькодиаграмм компонентов, в зависимости отчисла подсистем или исполняемыхфайлов. Каждая подсистема является11пакетом компонентов. Диаграммы компонентов применяются теми участниками проекта,кто отвечает за компиляцию и сборку системы.Диаграмма размещения отражает физические взаимосвязимежду программными и аппаратными компонентами системы.Она является хорошим средством для того, чтобы показатьразмещение объектов и компонентов в распределенной системе.Ее основные элементы:•узел (node) – вычислительный ресурс – процессор(изображаемый с закрашенными боковыми гранями) илиустройство (дисковая память, контроллеры различных устройств ит.д.);•соединение (connection) – канал взаимодействия узлов.Для узла можно задать выполняющиеся на нем процессы.Диаграмма размещения используется менеджером проекта,пользователями, архитектором системы и эксплуатационнымперсоналом, чтобы понять физическое размещение системы ираспределение ее отдельных подсистем по вычислительнымузлам.При моделировании встроенных систем диаграммаразмещения отображает связи микропроцессоров и устройств всоставе системы.Механизмы расширения UML предназначены для того,чтобы разработчики могли адаптировать язык моделирования ксвоим конкретным нуждам, не меняя при этом его основу(метамодель).

Наличие механизмов расширения принципиальноотличает UML от других средств моделирования и позволяетрасширять его область применения. К механизмам расширения UML относятся:стереотипы; теги (именованные значения); примечания; ограничения.Стереотип – это новый тип элемента модели, который определяется на основе ужесуществующего элемента.

Стереотипы расширяют нотацию модели, могут применятьсяк любым элементам модели и представляются в виде текстовой метки или пиктограммы.Стереотипы классов – это механизм, позволяющий разделять классы на категории.Например, основными стереотипами, используемыми в процессе анализа системы,являются: Boundary (граничный класс), Entity (класс-сущность) и Control (управляющийкласс).Помимо упомянутых стереотипов, разработчики ПО могут создавать своисобственные наборы стереотипов, формируя тем самым специализированныеподмножества UML (например, для описания бизнес-процессов, Web-приложений, базданных и т.д.).

Свежие статьи
Популярно сейчас