- •220400 «Программное обеспечение вычислительных комплексов и автоматизированных систем»
- •Глава 1. Понятие и сущность моделирования. Место компьютерного моделирования в задачах изучения процессов и явлений
- •§ 1. Понятие модели. Функции моделей и их классификация
- •1.1. Понятие и функции моделей
- •1.2. Классификация моделей
- •§ 2. Структура моделей
- •2.1. Структура модели и ее основные составляющие
- •2.2. Анализ и синтез
- •2.3. Требования к модели
- •§ 3. Виды моделирования. Понятие и сущность компьютерного моделирования
- •3.1. Виды моделирования
- •3.2. Понятие и сущность компьютерного моделирования
- •3.3. Искусство моделирования. Действия, выполняемые в процессе моделирования
- •§ 4. Моделирование как искусство. Этапы процесса моделирования
- •4.1. Этапы процесса моделирования
- •4.2. Постановка задачи и определение типа модели
- •4.3. Формулирование модели
- •4.4. Проверка модели
- •4.5. Стратегическое и тактическое планирование
- •4.6. Экспериментирование и анализ чувствительности
- •4.7. Реализация замысла и документирование
- •Глава 2. Объектно-ориентированная технология как современная парадигма компьютерного моделирования. Основные сведения о языке uml
- •§ 5. Объектно-ориентированная технология как современная парадигма компьютерного моделирования
- •5.1. Обстоятельства и причины появления объектно-ориентированной технологии. Основные термины
- •В общем случае объекты обладают двумя качествами:
- •5.2. Принципы объектно-ориентированной технологии
- •§ 6. Назначение и цели унифицированного языка моделирования. Основные концепции uml
- •6.1. Назначение и цели uml
- •6.2. Основные концепции uml
- •§ 7. Статическое представление модели
- •7.1. Классификаторы
- •Типы классификаторов
- •7.2. Отношения
- •7.3. Ограничения
- •§ 8. Структурные представления модели
- •8.1. Представление вариантов использования
- •Виды отношений вариантов использования
- •8.2. Представления программной реализации и развертывания
- •§ 9. Представление в виде конечного автомата как один из видов динамического представления модели
- •9.1. Понятие конечного автомата. Определение события и состояния
- •9.2. Понятие и структура перехода. Типы переходов
- •§ 10. Представления деятельности и взаимодействия как виды динамического представления модели
- •10.1. Представление деятельности
- •10.2. Представление взаимодействия
- •§ 11. Представление управления моделью и дополнительные возможности языка uml
- •11.1. Представление управления моделью
- •11.2. Расширение возможностей языка uml
- •Глава 3. Понятие и виды имитационного моделирования. Инструментарий имитационного моделирования: назначение и краткий обзор
- •§ 12. Понятие и виды имитационного моделирования. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •12.1. Понятие и виды имитационного моделирования
- •12.2. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •§ 13. Классификация и краткая характеристика языков имитационного моделирования. Среда и функциональная структура языка моделирования gpss
- •13.1. Классификация языков имитационного моделирования
- •13.2. Принципы организации системы gpss
- •Глава 4. Общие понятия о графическом моделировании и геоинформационных системах
- •§ 14. Способы представления и принципы обработки графических данных на персональных эвм
- •14.1. Представление в компьютере графической информации. Растровая и векторная графика
- •14.2. Модели представления цвета в графических изображениях
- •14.3. Форматы графических файлов
- •14.4. Принципы обработки графических данных на персональных компьютерах
- •§ 15. Геоинформационные системы и особенности моделирования земной поверхности
- •15.1. Основные понятия и организация гис
- •15.2. Проблемы качества векторных цифровых карт для гис
- •§ 16. Классификация программного обеспечения гис и реализация гис-проектов
- •16.1. Классификация и краткая характеристика программного обеспечения гис
- •16.2. Порядок создания гис-проектов
- •Компьютерные модели в информационных технологиях на железнодорожном транспорте
- •127994, Москва, ул.Образцова, 15
Виды отношений вариантов использования
Отношение |
Функция |
Нотация |
Ассоциация (Association) |
Отношение, указывающее на связь между актантом и вариантом использования. |
|
Расширить (Extend) |
Включение добавочного поведения в исходный вариант использования без изменения последнего. |
“extend” |
Обобщение вариантов использования (Use case generalization) |
Отношения между общим и более специфическим вариантами использования (второй наследует черты общего и добавляет к ним свои). |
|
Включить (Include) |
Включение добавочного поведения в исходный вариант использования, который явно описывает включение. |
“include” |
В процессе проектирования каждый вариант использования моделируется независимо от остальных. Однако для реализации ему могут понадобиться объекты, которые задействуются другими вариантами использования. Так между вариантами использования возникают неявные зависимости. В действительности, каждый из них представляет собой неотъемлемую часть деятельности системы, выполнение которой тесно связано с другими вариантами использования.
На диаграммах вариант использования изображается в виде эллипса. Внутри эллипса или под ним указывается имя варианта использования. Сплошные линии соединяют варианты использования с актантами. Вариант использования может включать в себя черты поведения других вариантов использования. Такое отношение носит название отношения включения (include). Полученный в этом случае вариант использования не является вариацией исходного и не может его заменить. Кроме того, один вариант использования может рассматриваться как расширение и дополнение исходного варианта использования (extend). У исходного варианта использования может быть несколько расширяющих вариантов, которые вносят дополнения в его семантику. Все эти варианты могут применяться вместе. Вариант использования может иметь несколько вариантов-потомков, причем любой из них можно подставлять вместо варианта-родителя. Этот механизм называется обобщением вариантов использования (use case generalization).
8.2. Представления программной реализации и развертывания
В структурной области не менее важным, чем моделирование логических аспектов проектируемой системы, является деление модели на пакеты и конечная реализация в программном коде. От этого напрямую зависит производительность системы и возможность ее повторного использования. В языке UML вопросы реализации рассматриваются в двух представлениях - представлении реализации и представлении развертывания.
Представление реализации описывает физическое разбиение частей системы на заменяемые блоки, которые называются компонентами. В этом представлении отображается реализация элементов проектирования (например, классов) в виде компонентов, а также интерфейсы этих компонентов и зависимости между ними. Компоненты, таким образом, являются пригодными для повторного использования высокоуровневыми блоками, из которых конструируется система.
Представление развертывания показывает физическое размещение работающих вычислительных ресурсов (например, компьютеров) и внутренние коммуникации между ними. Вычислительные ресурсы называются узлами (nodes) и содержат компоненты и объекты системы. Компоненты и объекты могут постоянно находиться на одном узле или мигрировать между несколькими узлами в процессе работы системы. Представление развертывания помогает заранее определить возможные «узкие места» при размещении зависимых компонентов на разных узлах.
Компонент (component) — это физический элемент реализации с четко определенным интерфейсом, предназначенный для использования в качестве заменяемой части системы. Каждый компонент представляет собой реализацию некоторых классов системы. Тщательно спроектированные компоненты не зависят от других компонентов системы, а зависят только от интерфейсов, которые те поддерживают. Любой компонент системы может быть заменен другим компонентом, который поддерживает те же интерфейсы.
Для компонента определены интерфейсы, которые он предоставляет (реализует), и интерфейсы, которые он использует в своей работе и которые предоставляются другими компонентами. Интерфейс (interface) — это список операций, обеспечиваемый программным или аппаратным обеспечением. При использовании именованных интерфейсов можно избежать прямой зависимости между компонентами и упростить процесс замещения старого компонента новым.
Графически компоненты изображаются в виде прямоугольника, у которого в одну из боковых сторон врезаны два прямоугольника поменьше. Прямоугольник-компонент может соединяться сплошной линией с интерфейсами, которые он поддерживает. Интерфейсы изображаются в виде полых кружков (рис. 15).
Рис. 15. Компонент и его интерфейсы
Зависимости между компонентами изображаются с помощью диаграмм компонентов. Существует два вида таких диаграмм. На первом указывается набор компонентов (библиотека компонентов) и их зависимости — это «детали», из которых можно «собрать» готовую систему. Во втором случае на диаграмме изображается сконфигурированная система и те компоненты, которые были использованы для ее построения (выбранные из всей библиотеки компонентов). На такой диаграмме каждый компонент связан с другими компонентами, чьими услугами он пользуется, причем все эти связи должны быть полностью согласованы с точки зрения соответствия интерфейсов компонентов.
Рис. 16. Диаграмма компонентов
Узел (node) — это работающий физический объект, представляющий собой вычислительный ресурс, у которого есть, по меньшей мере, память, и нередко процессор. Узлы могут иметь стереотипы, с помощью которых одни типы ресурсов отличаются от других (например, процессор, устройство, память). (Для справки: стереотип – это конструкция для расширения возможностей языка UML, позволяющая вводить новые типы элементов модели, которые создаются разработчиком на основе существующих элементов.) На узлах содержатся экземпляры объектов и компонентов. На диаграммах узел изображается в виде куба. Узел имеет имя, которое указывается внутри этого графического символа. Узлы могут представляться в качестве типов или в качестве экземпляров. В первом случае имя узла записывается в форме <Имя-типа-узла> без подчеркивания и начинается с заглавной буквы. Во втором – имя узла-экземпляра записывается в виде <имя узла:Имя типа узла>, а вся запись подчеркивается. Имя типа узла указывает на некоторую разновидность узлов, присутствующих в модели (рис. 17).
Рис. 17. Диаграмма развертывания
Ассоциации между узлами - это пути коммуникации. Для того чтобы различать виды этих путей, используются стереотипы.
Между узлами могут существовать отношения обобщения, которые позволяют соотносить общее описание узла с его более специфическими вариантами.
Чтобы показать наличие на узле какого-либо объекта, достаточно нарисовать пиктограмму объекта в пиктограмме узла. К пиктограмме объекта можно добавить комментарий location (месторасположение), название которого будет отражать название узла, на котором размещается компонент. Также можно изобразить и перемещение объектов между различными узлами.