Именно на диаграмме деятельности представлены переходы от одной деятельности к другой. Но при решении более сложных задач заблаговременное планирование и моделирование значительно упрощают программирование. Кроме того, вносить изменения в диаграммы классов легче, чем в исходный код. Предназначены они для разбиения диаграммы в соответствии с распределением ответственности за действия. Имя дорожки может означать роль или объект, которому она соответствует.
- Если хотите, можете присвоить ей имя, но в большинстве случаев простой стрелки будет достаточно.
- Когда описания важных вариантов использования составлены, выполняются работы по анализу и проектированию частей системы, реализующих их.
- Стрелки проходят от начала к концу и представляют порядок, в котором деятельность случается.
- 11.1, и определить его как самостоятельную деятельность (рис. 11.2), а затем вызвать его как операцию (рис. 11.3).Операции могут быть реализованы или как вложенные деятельности или как методы классов.
- Последний вариант похож на принцип повторного использования кода при написании программ или на наследование классов в ООП (Объектно-ориентированное программирование).
Модель вариантов использования состоит из диаграмм вариантов использования, текстовых описаний вариантов использования и диаграмм деятельности, моделирующих потоки событий вариантов использования. Диаграмма вариантов использования составляется системным аналитиком, который сначала выявляет элементы модели, а затем устанавливает связи между ними, а также структурирует модель. Элементами диаграмм вариантов использования являются варианты использования и действующие лица, соединённые разного рода связями. Диаграммы деятельности позволяют моделировать сложный жизненный цикл объекта, с переходами из одного состояния (деятельности) в другое.
Теория и практика UML. Диаграмма деятельности
Благодаря им складывается общая картина, дающая представление о возможностях выражения архитектурных идей в рамках бизнес-задач. Когда кто-то хочет построить дом, он не просто бьет молотком https://deveducation.com/ и приступает к работе. Ему нужно иметь план — план проектирования, чтобы он мог анализировать и модифицировать свою систему. Как говорится, лучше один раз увидеть, чем сто раз услышать.
Вот как, к примеру, выглядит диаграмма из предыдущего примера, перерисованная с использованием дорожек (рис. 4.5). Диаграммы деятельности UML 1
Как построить UML-диаграмму последовательности: практический пример
Состояние действия — это состояние, внутренняя активность которого является действием. Состояние деятельности — это состояние, внутренняя активность которого является деятельностью. Объект в состоянии — является аргументом и/или результатом работы некоторого действия или деятельности. Названия подразделений явно указываются в верхней части дорожки. Пересекать линию дорожки могут только переходы, которые, в этом случае, обозначают выход или вход потока управления в соответствующее подразделение.
Диаграмма должна иметь вид, изображённый на рисунке 5.2.9. Краткое описание
Диаграмма последовательностей
Данный вариант использования описывает вход пользователя в систему регистрации на курсы. Система определяет тип пользователя (студент, профессор или регистратор) и выводит главное меню, дающее доступ к её функциям в соответствии с типом пользователя. Система обнаруживает, что комбинация имени и пароля не верна. Система сообщает об ошибке и предлагает пользователю либо заново ввести имя и пароль, либо отказаться
от входа в систему.
Если у Вас 2й или 4й вариант, то Вам следует выполнить проектирование подсистемы BSAccess. Классы ObjectToSend и ObjectToRecieve с помощью контекстного меню объедините c классом Schedule из пакета UniversityArtefacts (Merge to Model Element…). В подсистеме BSAccess переименуйте кооперацию XMLRPCInterchange2 в IBSAccessRealization. Добавьте ей стереотип «interface realization» и удалите стереотип «mechanism». Следующей технологической операцией является проектирование подсистем. При этом механизм выполняет роль шаблона, описывающего либо типовую организацию доступа к устойчивым данным, либо типовую организацию обмена данными с внешней системой с точки зрения структуры и поведения.
Мы не будем моделировать остальные потоки событий всех вариантов использования, чтобы не терять время на рутину. После того, как процесс регистрации завершён, регистратор, работающий в учебном отделе, утверждает индивидуальные планы студентов. Данные об утверждённых учебных планах должны быть переданы в расчётную систему, установленную в бухгалтерии. Расчётная система определяет размер платы за семестр и отправляет студентам по почте счета. Профессора получают в учебном отделе списки студентов, записавшихся на их курсы.
При этом каждая деятельность начинается в начальном состоянии и заканчивается в конечном состоянии. Саму диаграмму деятельности принято располагать таким диаграмма активности образом, чтобы действия следовали сверху вниз. В этом случае начальное состояние будет изображаться в верхней части диаграммы, а конечное в нижней.
На диаграмме последовательности updateStudent левая линия жизни должна представлять экземпляр DBAccess, две правые — объект Student и объект Schedule (эту линию жизни следует создать на диаграмме). Проще это сделать, открыв диаграмму классов UniversityArtefacts Class Diagram, выбрав атрибут класса Student, вызвав его контекстное меню и указав Create Getter and Setter. Свяжите третье сверху сообщение с вызовом операции getId, добавьте остальные недостающие сообщения.
Моделировать взаимодействие внутри подсистемы при вызовах операций startTransferData, finishTransferData мы не будем. Так как в ходе обработки этих вызовов не пересылаются сложные объекты, то эти взаимодействия будут ешё более упрощёнными версиями только что рассмотренной диаграммы. Объекты классов ScheduleFactory, ScheduleSerializer и Schedule не понадобятся. Просто будет передан запрос во внешнюю систему при посредничестве экземпляра XmlRpcClient, и также будет получен ответ. При анализе системы производится трансформация требований в системный проект, создание эскизной архитектуры, соответствующей функциональным требованиям.