Главная страница
Навигация по странице:

  • Лабораторная работа 13. UML. Диаграмма сотрудничества Цель работы

  • Лабораторная работа 14. UML. Диаграмма схем состояний Цель работы

  • Лабораторная работа 15. UML. Диаграмма деятельности Цель работы

  • Практикум для выполнения лабораторных работ состоит из семнадцати лабораторных работ по дисциплинам Спецификация, архитектура и проектирование программных систем


    Скачать 2.9 Mb.
    НазваниеПрактикум для выполнения лабораторных работ состоит из семнадцати лабораторных работ по дисциплинам Спецификация, архитектура и проектирование программных систем
    Дата29.09.2022
    Размер2.9 Mb.
    Формат файлаpdf
    Имя файлаProgrammnaya-inzheneriya_RuLit_Me_658345.pdf
    ТипПрактикум
    #704278
    страница8 из 10
    1   2   3   4   5   6   7   8   9   10
    loop
    Object1
    Object2 1 : Отправить секретный пароль()
    3 : Секретный ответ

    Рис. 12.6. Пример использование фреймов
    Индивидуальные задания
    Разработать диаграмму последовательности в соответ- ствии с индивидуальным вариантом. Подготовить отчет о выполнении лабораторной работы.
    Контрольные вопросы
    1. Перечислите основные диаграммы UML.
    2. Что такое StarUML?
    3. Для чего применяются диаграммы последовательности?
    4. Перечислите основные компоненты диаграммы после- довательности.
    opt
    [Неправильная пара логин/ пароль]
    [Правильный логин и пароль]
    [Неправильная пара логин/ пароль]
    [Правильный логин и пароль]
    Клиент
    Сервер
    СУБД
    1 : Передать логин и пароль()
    2 : Проверить правильность()
    3 : Неправильный логин или пароль
    4 : Сообщение об ошибке
    5 : Роль пользователя
    6 : Вход осуществлён

    124
    Лабораторная работа 13. UML.
    Диаграмма сотрудничества
    Цель работы
    Применить диаграмму сотрудничества для описания разрабатываемой системы. Ознакомиться с инструментами, позволяющими строить диаграммы сотрудничества. Ознако- миться с инструментами, преобразующими диаграмму после- довательностей в диаграмму сотрудничества и наоборот.
    Теоретические сведения
    Диаграмма сотрудничества (Collaboration diagram) пред- назначена для описания методов взаимодействия между объ- ектами. Для пояснения смысла и назначения диаграммы необходимо ввести такое понятие как «сотрудничество».
    Сотрудничество представляет собой набор объектов, ко- торые взаимодействуют друг с другом (вызывают методы поведения друг друга) для достижения конкретной группы целей. В данном случае в процессе проектирования необходи- мо сосредоточиться только на тех объектах и их методах пове- дения, которые необходимы для достижения определенной цели или единой группы целей.
    Сотрудничество может быть сопоставлено операции, блоку использования (из диаграммы использования) или классу для описания его статической структуры. Важно то, что сотрудничество не предназначено для описания поведения объектов, для этого могут быть использованы диаграммы последовательностей или диаграммы действий.
    Поведение некоторой части проекта может быть рас- смотрена в двух аспектах: статическая структура того, что определяет поведение и динамические аспекты реализации этого поведения. Диаграмма сотрудничества описывает имен- но статическую структуру объектов, участвующих в реализа- ции поведения.
    Сотрудничество может быть параметрическим, и в этом случае оно представляет собой шаблон, который может ис- пользоваться в различных частях проекта. Параметрами могут являться участники сотрудничества.

    125
    Диаграмма сотрудничества включает в себя объекты и отношения между ними, заключающееся в вызове методов друг друга. Некоторые объекты появляются только в рамках реализации сотрудничества, они помечаются специальным словом «new» (новый). Те объекты, которые уничтожаются во время реализации сотрудничества помечаются специальным словом «destroy» (уничтожить).
    На диаграмме могут быть показаны связи между объек- тами, представляющие:
    – параметры процедур;
    локальные переменные;
    – self-ссылки (ссылки на сам объект).
    В случае вызова метода одного объекта другим объектом, рядом со связью указывается имя метода и задается направле- ние взаимодействия (чей метод вызывается). Так как диаграм- мы сотрудничества очень часто используются для построения процедурных спецификаций, допускается указывать последова- тельности вызовов методов путем их нумерации.
    Ход работы
    Диаграмма сотрудничества. В отличие от диаграммы по- следовательности, которая служит для визуализации временных аспектов взаимодействия, диаграмма кооперации предназначена для спецификации структурных аспектов взаимодействия. Глав- ная особенность диаграммы кооперации заключается в возмож- ности графически представить не только последовательность взаимодействия, но и все структурные отношения между объек- тами, участвующими в этом взаимодействии.
    На диаграмме сотрудничества (рис. 13.1) в виде прямо- угольников изображаются участвующие во взаимодействии объекты, содержащие имя объекта, его класс и, возможно, значе- ния атрибутов. Далее, как и на диаграмме классов, указываются ассоциации между объектами в виде различных соединительных линий. При этом можно явно указать имена ассоциации и ролей, которые играют объекты в данной ассоциации.
    Дополнительно могут быть изображены динамические связи — потоки сообщений. Они представляются также в виде соединительных линий между объектами, над кото- рыми располагается стрелка с указанием направления, имени

    126 сообщения и порядкового номера в общей последовательности инициализации сообщений.
    Рис. 13.1. Диаграмма сотрудничества
    В отличие от диаграммы последовательности, на диаграм- ме кооперации изображаются только отношения между объек- тами, играющими определенные роли во взаимодействии.
    С другой стороны, на этой диаграмме не указывается время в виде отдельного измерения. Поэтому последователь- ность взаимодействий и параллельных потоков может быть определена с помощью порядковых номеров. Следовательно, если необходимо явно специфицировать взаимосвязи между объектами в реальном времени, лучше это делать на диаграм- ме последовательности.
    Можно сказать, что диаграммы кооперации представляет собой «вид сверху» диаграммы последовательностей.
    Одной из особенностей диаграмм взаимодействия явля- ется их изоморфность. Обе диаграммы содержат одну и ту же информацию, но в разном виде. Диаграммы последовательно- стей больше подходят для описания сложных временных ха- рактеристик взаимодействия, диаграммы сотрудничества — описания структурных характеристик.

    Диаграмму сотрудничества можно сгенерировать из диа- граммы последовательности с помощью StarUML (рис. 13.2).
    Рис. 13.2. Генерация диаграммы сотрудничества
    Индивидуальные задания
    Разработать диаграмму сотрудничества в соответствии с индивидуальным вариантом. Подготовить отчет о выполне- нии лабораторной работы. Построить изоморфную диаграмму сотрудничества к диаграмме последовательности, разработан- ной в предыдущей лабораторной работе.
    Контрольные вопросы
    1. Перечислите основные диаграммы UML.
    2. Что такое StarUML?
    3. Для чего применяются диаграммы сотрудничества?
    4. Перечислите основные компоненты диаграммы со- трудничества.
    5. В чем заключается изоморфность диаграмм последова- тельности и сотрудничества?

    128
    Лабораторная работа 14. UML.
    Диаграмма схем состояний
    Цель работы
    Применить диаграмму состояний для описания поведе- ния разрабатываемой системы. Ознакомиться с инструмента- ми, позволяющими строить диаграммы состояний.
    Теоретические сведения
    В отличие от диаграммы классов, представляющей собой логическую модель статического представления моделируе- мой системы, диаграммы состояний описывают поведение моделируемой системы.
    На диаграмме классов изображаются взаимосвязи струк- турного характера, не зависящие от времени или реакции системы на внешние события. Однако для описания процессов функционирования многих систем и их отдельных подсистем и элементов одного только статического представления оказы- вается недостаточно.
    Рассмотрим простой пример. Любое техническое устрой- ство, такое как телевизор, компьютер, автомобиль, телефонный аппарат в самом общем случае может характеризоваться такими своими состояниями, как «исправен» и «неисправен».
    Интуитивно ясно, какой смысл вкладывается в каждое из этих понятий. Более того, использование по назначению дан- ного устройства возможно только тогда, когда оно находится в исправном состоянии. В противном случае необходимо пред- принять совершенно конкретные действия по его ремонту и восстановлению работоспособности.
    Однако понимание семантики понятия состояния пред- ставляет определенные трудности.
    Дело в том, что характеристика состояний системы не за- висит (или слабо зависит) от логической структуры, зафикси- рованной в диаграмме классов. Поэтому при рассмотрении состояний системы приходится на время отвлечься от особен- ностей ее объектной структуры и мыслить другими категори- ями, образующими динамический контекст поведения моделируемой системы. Поэтому при построении диаграмм

    129 состояний используются специальные понятия, рассмотрен- ные ниже.
    Каждая прикладная система характеризуется не только структурой составляющих ее элементов, но и некоторым пове- дением или функциональностью.
    Для общего представления функциональности модели- руемой системы предназначены диаграммы вариантов ис- пользования, которые на концептуальном уровне описывают поведение системы в целом.
    Для более детального представления поведения на логи- ческом уровне используют диаграммы состояний. Эти диа- граммы помогают ответить на вопрос: «В процессе какого поведения система обеспечивает необходимую функциональ- ность».
    Диаграмма состояний описывает процесс изменения со- стояний объекта, подсистемы или системы в целом. При этом изменение состояния может быть вызвано воздействиями со стороны других объектов или извне.
    Главное предназначение рассматриваемой диаграммы — описать возможные последовательности состояний и перехо- дов, которые в совокупности характеризуют поведение эле- мента модели в течение его жизненного цикла.
    Диаграмма состояний представляет динамическое пове- дение сущностей на основе спецификации их реакции на вос- приятие некоторых конкретных событий.
    Диаграмма состояний является графом специального ви- да, который представляет некоторый конечный автомат.
    Ход работы
    Создание диаграммы состояний в StarUML.
    Для того, чтобы добавить диаграмму состояний, восполь- зуйтесь пунктом добавить диаграмму контекстного меню логического представления в навигаторе модели (рис. 14.1).
    Основные элементы диаграммы состояний. Основными элементами диаграммы состояний являются состояния и пере- ходы. В StarUML выделяется десять типов состояний и два способа создания переходов (рис. 14.2).

    130
    Рис. 14.1. Добавление диаграммы состояний в модель
    Рис. 14.2. Панель инструментов диаграммы состояний

    131
    Длительность нахождения системы в отдельном состоя- нии существенно превышает время, которое затрачивается на переход из одного состояния в другое. Можно считать, что переход объекта из состояния в состояние происходит мгно- венно. Поведение моделируется как последовательное пере- мещение по графе состояний от вершины к вершине, по связывающим их дугам с учетом их ориентации.
    Состояние — период в жизни объекта, на протяжении ко- торого он удовлетворяет какому-то условию, выполняет опре- деленную деятельность или ожидает некоторого события.
    Выделяют следующие виды состояний:
    – простые;
    – составные (ортогональные и не ортогональные);
    – специальные;
    – ссылочные.
    Простое состояние может содержать описание деятель- ности, входного и выходного действия, список внутренних переходов и отсроченных событий. Входное действие срабаты- вает перед тем как объект перейдёт в указанное состояние.
    Выходное действие срабатывает перед тем, как объект поки- нет состояние. Деятельность совершается в течение всего времени пребывания объекта в рассматриваемом состоянии.
    В StarUML для простого состояния можно задать название, действия на входе (EntryActions), деятельность (DoActions), дей- ствия на выходе (ExitActions) (рис. 14.3).
    Рис. 14.3. Навигатор свойств состояния

    132
    Редактировать эти коллекции можно с помощью редак- тора коллекций (рис. 14.4). Свойства каждого действия можно изменять в навигаторе свойств, предварительно выбрав нуж- ное действие в окне редактора.
    Внутрь простого состояния можно добавить дочерние со- стояния и переходы.
    Переходы между состояниями отображаются помечен- ными стрелками. Каждый переход кроме исходного и целевого состояния может характеризоваться событием перехода, сто- рожевым условием и действием на переход. Переход, для кото- рого не указано событие перехода, может осуществиться только по завершении выполнения деятельности, указанной в состоянии. Переход, для которого указано событие перехода, срабатывает в случае возникновения события перехода.
    Рис. 14.4. Редактор коллекций. Редактирование входных действий
    Когда выполняются указанные выше условия и переход готов сработать, говорят, что переход перешёл в возбуждённое состояние.

    133
    Диаграммы состояний используются для спецификации поведения, а значит, не должны содержать двусмысленностей.
    Если в какой-либо момент времени несколько переходов могут находиться в возбуждённом состоянии, возникает двусмыс- ленность. Решить такую проблему можно указав охранное условие перехода — условие, которое должно быть истинным, чтобы возбуждённый переход сработал.
    Обобщив изложенную выше информацию можно сфор- мулировать следующие простые правила:
    1. Переход без события может вести из простого состоя- ния только в том случае, когда в состоянии указана деятель- ность.
    2. Если несколько переходов из одного состояния имеют одно и то же событие (или все они не имеют событий), все они должны иметь взаимоисключающие охранные условия.
    После того, как определён переход, который должен сра- ботать, выполняется действие на выходе прошлого состояния.
    Затем выполняется действие при переходе. После этого вы- полняется входное действие нового состояния.
    В StarUML можно задать события (Triggers), действия на переходе (Effects) и охранные условия (GuardCondition) для переходов в навигаторе свойств. Выделяются четыре вида событий:
    1. Событие вызова (call event) — это событие, возникаю- щее при вызове метода моделируемого класса.
    2. Событие сигнала (signal event) — это событие, воз- никающее при посылке сигнала (асинхронном взаимодей- ствии).
    3. Событие таймера (time event) — это событие, которое возникает, когда истек заданный интервал времени с момента попадания автомата в данное состояние.
    4. Событие изменения (change event) — это событие, ко- торое возникает, когда некоторое логическое условие стано- вится истинным, будучи до этого ложным.
    Инструмент «переход» (Transition) используется для со- здания перехода между двумя состояниями, переход из состоя- ния в само себя удобно создавать с помощью инструмента
    «переход в себя» (SelfTransition).

    134
    Ссылочное состояние используется для указания того, что существует отдельная диаграмма, описывающая внутрен- нее устройство этого состояния.
    К специальным состояниям относятся:
    – начальное и конечное состояния;
    – точки соединения;
    – точки выбора;
    – историческое и глубокое историческое состояние;
    – синхронизация;
    – прекращение выполнения.
    Начальное и конечное состояние могут отсутствовать на диаграмме, если у объекта нет выделенного начала (напри- мер, нет «начального» цвета светофора) или окончания време- ни жизни.
    Несколько переходов из разных состояний, ведущих в одно состояние, можно объединить с помощью точки соедине- ния (рис. 14.5).
    Рис. 14.5. Пример использования точки соединения
    Несколько переходов, исходящих из данного состояния и имеющих общее событие перехода, можно объединить в дере- во сегментированных переходов с помощью точки выбора
    (
    рис. 14.6).
    Выключен
    Спящий режим
    Гибернация
    Работает
    Нажата клавиша "Питание"
    Таймер включения
    Нажали кнопку клавиатуры

    135
    Рис. 14.6. Пример использования точки выбора
    Исторические состояния позволяют запомнить, в каком именно вложенном состоянии объект находился перед тем, как он покинул составное состояние. На рис. 14.7 показано, что электронные часы после включения показывают тот же экран, который они показывали перед выключением.
    Рис. 14.7. Пример использования исторического состояния
    Работает
    Выключен
    Спящий режим
    Гибернация
    Нажата клавиша "Питание"
    [ flag==1 ]
    [ flag==2 ]
    [ flag==3 ]
    Выключены
    Работают
    Показывают время
    Показывают температуру
    Показывают будильник
    H
    Показывают время
    Показывают температуру
    Показывают будильник
    H
    Смена режима()
    Смена режима()
    Смена режима()
    Кнопка "Питание"
    Кнопка "Питание"

    Синхронизация используется для изображения параллель- ных подавтоматов. Узел «прекращение выполнения» использует- ся для изображения прекращения выполнения одного из параллельных подавтоматов.
    Индивидуальные задания
    Разработать диаграмму состояний системы в соответ- ствии с индивидуальным вариантом. Подготовить отчет о выполнении лабораторной работы.
    В отчёт должны входить:

    одна или несколько диаграмм состояний по индивиду- альной теме;
    – 5–
    10 состояний;

    подписанные события переходов, охранные условия (по необходимости);

    текстовое описание выбранного решения.
    Контрольные вопросы
    1. Перечислите основные диаграммы UML.
    2. Что такое StarUML?
    3. Для чего применяются диаграммы состояний?
    4. Перечислите основные компоненты диаграммы состо- яний.
    5. В чем заключаются отличия статических и динамиче- ских UML диаграмм?

    137
    Лабораторная работа 15. UML.
    Диаграмма деятельности
    Цель работы
    Применить диаграмму деятельности для описания пове- дения разрабатываемой системы. Ознакомиться с инструмен- тами, позволяющими строить диаграммы деятельности.
    Теоретические сведения
    Для моделирования процесса выполнения операций в языке UML используются диаграммы деятельности. Диаграмма деятельности — это своеобразная блок-схема, которая описы- вает последовательность выполнения операций во времени. Их можно использовать для моделирования динамических аспек- тов поведения системы.
    Каждое состояние на диаграмме деятельности соответ- ствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой операции в предыдущем состоянии.
    В диаграммах деятельности используются пиктограммы
    «
    действие», «переход», «выбор» и «линии синхронизации».
    В языке UML действие изображается в виде прямоугольника с закругленными углами, переходы — в виде направленных стрелок, элементы выбора — в виде ромбов, линии синхрони- зации — в виде горизонтальных и вертикальных линий.
    Состояние действия является специальным случаем со- стояния с некоторым входным действием и, по крайней мере, одним выходящим из состояния переходом. Когда действие или деятельность в некотором состоянии завершается, поток управления сразу переходит в следующее состояние действия или деятельности. Для описания этого потока используются переходы, показывающие путь из одного состояния действия или деятельности в другое.
    Простые последовательные переходы встречаются наибо- лее часто, но их одних недостаточно для моделирования любого потока управления. Как и в блок-схеме, вы можете включить в модель выбор, который описывает различные пути выполнения в зависимости от значения некоторого булевского выражения.

    138
    Простые и ветвящиеся последовательные переходы в диаграммах деятельности используются чаще всего. Однако можно встретить и параллельные потоки, и это особенно ха- рактерно для моделирования бизнес-процессов.
    В UML для обозначения разделения и слияния таких па- раллельных потоков выполнения используются линии син- хронизации, которые рисуется в виде жирной вертикальной или горизонтальной линии.
    При моделировании течения бизнес-процессов иногда бывает полезно разбить состояния деятельности на диаграм- мах деятельности на группы, каждая из которых представляет отдел компании, отвечающий за ту или иную работу.
    В UML такие группы называются дорожками, поскольку ви- зуально каждая группа отделяется от соседних вертикальной чертой, как плавательные дорожки в бассейне. Каждой присут- ствующей на диаграмме дорожке присваивается уникальное имя.
    Каждая дорожка представляет сферу ответственности за часть всей работы, изображенной на диаграмме, и может быть реали- зована одним или несколькими классами.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта