Свойства и основные понятия языка
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Copyright © Рубенчик А.В. 2016. Все права защищены
1
2
3
4
5
6
7
80
9
Лекция № 2
Свойства и основные понятия языка
имеет доступ
назначается
назначается
Сервис
Интерфейс
используется
доступен
реализуется
используется
является частью
используется
Пассивный
структурный
элемент
использует
включает в состав
доступен
реализует
использует
использует
имеет доступ
Элемент
поведения
назначается
запускается/
передается от
запускает/
передается к
10 / 142
назначается
Активный
структурный
элемент
Copyright © Рубенчик А.В. 2016. Все права защищены
1. Базовые понятия языка
К базовым понятиям языка относятся понятия «элемент» и «отношение» [4,5].
Именно на основе элементов и отношений строятся описания (создаются модели)
предприятия или его отдельных частей.
Элементы – это «кирпичики» различного содержания, формы и предназначения,
а отношения – различного рода соединения, связывающие элементы.
Всего базовых элементов 32, а отношений – 12.
На рисунке 2-1 представлена обобщенная метамодель, содержащая основные
понятия языка:
имеет доступ
назначается
назначается
Сервис
Интерфейс
используется
доступен
реализуется
используется
является частью
используется
Пассивный
структурный
элемент
использует
включает в состав
доступен
реализует
использует
использует
имеет доступ
Элемент
поведения
назначается
запускается/
передается от
назначается
Активный
структурный
элемент
запускает/
передается к
Рис. 2-1. Обобщенная метамодель - основные понятия языка [4]
1.1. Элементы языка
Элементы в языке различают по трем аспектам (измерениям) [4]:
Структурный / поведенческий;
Внешний / внутренний по отношению к окружению (взгляд на систему);
Индивидуальный / коллективный.
1.1.1. Первый аспект разделяет элементы языка на три типа:
Активный структурный элемент,
Пассивный структурный элемент,
Элемент поведения.
11 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Можно следующим образом представить себе,
из каких соображений в
обобщенную метамодель были включены пять элементов, из которых состоит
система.
На первом шаге разработчики языка разделили элементы на два типа: элементы,
которые могут выполнять действия (так называемые активные структурные
элементы), и элементы, над которыми или с которыми действия выполняются (так
называемые пассивные структурные элементы) (Рис. 2-2):
Структурный элемент,
над/с которым
выполняются действия
Структурный элемент,
который
выполняет действия
Рис. 2-2. Выделение активных и пассивных структурных элементов
На втором шаге разработчики выполнили необычную операцию.
Они «расщепили» структурный элемент, который выполняет действия, на два
элемента, отделив поведение, которое выполняет структурный элемент, от самого
этого элемента, и превратив поведение в отдельный элемент (Рис. 2-3):
Структурный элемент,
над/с которым
выполняются действия
Структурный элемент,
который
выполняет действия
Рис. 2-3. «Расщепление» активного структурного элемента
В результате получилось три элемента: активный структурный элемент, элемент
поведения и пассивный структурный элемент (Рис. 2-4):
Пассивный
структурный
элемент
Элемент
поведения
Активный
структурный
элемент
Рис. 2-4. Три элемента системы: активный структурный элемент, элемент
поведения и пассивный структурный элемент
12 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Данное представление элементов системы является одним из фундаментальных
свойств языка.
В языке ArchiMate моделирование поведения (действий) отделяется от
моделирования структуры.
В реальной жизни эта одна сущность.
Это как две стороны одной монеты – одна не существует без другой.
Активный структурный элемент определяется как некая сущность, которая
способна выполнять определенные действия.
Это могут быть бизнес-исполнители, компоненты приложений или устройства,
которые исполняют те или иные действия.
Пассивный структурный элемент определяется как некоторый объект, на
котором или с которым выполняются действия.
Обычно это информационные объекты или объекты данных, но также они могут
быть использованы для представления физических объектов, над которыми
выполняются те или иные действия [4].
Элемент
поведения
определяется
как
некоторая
единица
действия,
выполняемая одним или несколькими активными структурными элементами.
Элементами поведения являются процессы, функционалы, сервисы и события.
Элементы поведения назначаются активным структурным элементам, чтобы
показать, кто или что производит те или иные действия.
13 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Следует отметить, что структура языка ArchiMate и разделение элементов по
аспекту
структурный/поведенческий
напоминают
структуру
естественных
(человеческих) языков, в состав предложений которых входят существительноеподлежащее
(субъект),
глагол-сказуемое
(действие)
и
существительное-
дополнение (объект) (Рис. 2-5) [13]:
Дополнение
(объект, на котором
совершается действие)
Пассивный
структурный
элемент
Книга (Бизнесобъект)
Сказуемое
(действие)
Подлежащее
(субъект,
выполняющий действие)
Элемент
поведения
Активный
структурный
элемент
Читает (Бизнеспроцесс)
Ирина (Бизнесисполнитель)
Рис. 2-5. Сопоставление с естественным языком
В языке ArchiMate:
существительное-подлежащее – это активный структурный элемент, то есть
субъект поведения;
глагол-сказуемое – это элемент поведения или действие, то есть
выполнение поведения;
существительное-дополнение - пассивный структурный элемент, то есть
объект, на котором или с которым выполняется поведение.
14 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
1.1.2. Второй аспект различает элементы по отношению к окружению: внешние и
внутренние (Рис. 2-6):
Окружение
Окружение
С истем а
Внутренний взгляд
Внешний взгляд
Окружение
Рис. 2-6. Внешний и внутренний взгляды на систему
Далее разработчики языка сделали еще один шаг. Они отделили обращенные к
внешнему окружению части активных структурных элементов и элементов
поведения, создав соответственно новые понятия «интерфейс» и «сервис» (Рис.
2-7 и 2-8):
Пассивный
структурный
элемент
Элемент
поведения
Активный
структурный
элемент
Рис. 2-7. Отделение частей, обращенных к внешнему окружению
Пассивный
структурный
элемент
Сервис
Интерфейс
Элемент
поведения
Активный
структурный
элемент
15 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Рис. 2-8. Образование элементов «интерфейс» и «сервис»
В конечном итоге из одного структурного элемента, который может выполнять
действия, получилось 4 элемента языка: активный структурный элемент,
интерфейс, элемент поведения и сервис (Рис. 2-8).
Выделение части системы, видимой окружению, и выделение части системы,
скрытой от окружения, дает возможность сервис-ориентированного представления
архитектуры.
Сервис – это единица функциональности, которую система предоставляет своему
окружению, скрывая при этом внутренние операции.
Можно сказать, что сервис представляет собой внешне видимое поведение
системы с точки зрения внешних систем, которые используют этот сервис.
Для внешних систем сервис предоставляет определенную ценность, что и
является мотивацией существования сервиса.
Для внешних систем значимы только раскрытая (внешняя) функциональность и
ценность
сервиса,
которую
могут
обеспечивать
и
нефункциональные
характеристики, например, качество сервиса, стоимость.
Доступ к сервисам осуществляется через интерфейсы.
Интерфейс – это точка доступа, в которой сервис становится доступным
внешнему окружению.
В Таблице 1 суммируется разделение элементов на структурные и поведенческие,
на внешние и внутренние:
Таблица 1
Аспекты
Структурный
(пассивный)
Внешний
Внутренний
Объект
Поведенческий
Структурный
(активный)
Сервис
Интерфейс
Элемент
Структурный
поведения
элемент
16 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
1.1.3. Третий аспект учитывает то, что определенное поведение (действие) может
выполняться либо одним структурным элементом, либо коллективом (группой), то
есть совместно несколькими структурными элементами (например, коллективом
сотрудников).
Соответственно
выделяют
деятельность/работа»
и
активный
элемент
структурный
поведения
членов
элемент
этого
«совместная
коллектива
–
«взаимодействие».
Совместная деятельность/работа – это объединение, может быть на время,
двух или более структурных элементов, для выполнения некоторого совместного
поведения.
Взаимодействие – это единица поведения, выполняемая в рамках совместной
деятельности/работы двух или более структурных элементов.
1.2. Отношения языка
Отношения – это различного рода соединения, связывающие элементы и
определяющие свойства этих соединений.
Отношения в языке разделяются на три группы: структурные, динамические и
другие.
Структурные отношения – это отношения, которые моделируют структурные
зависимости между элементами одного или разных типов.
Динамические
отношения
–
это
отношения,
которые
используют
для
моделирования зависимостей между элементами поведения (действиями).
К группе «другие» относятся отношения, которые не входят в первые две группы.
17 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
2. Слои языка
Язык определяет три слоя, основываясь на специализации входящих в слой
элементов (Рис. 2-9):
Бизнес-слой
Слой приложений
Технологический слой
Рис. 2-9. Слои языка
В
бизнес-слое
описываются
деятельность
и
развитие
предприятия,
его
окружение; продукты и услуги для внешних потребителей, основные бизнеспроцессы и сервисы, бизнес-исполнители и бизнес-роли, выполняющие эти
процессы, а также используемая информация (бизнес-объекты).
В
слое
приложений
описываются
приложения,
их
функциональность
и
отношения между приложениями; сервисы приложений, оказывающие поддержку
бизнес-слою, и основные объекты данных, используемые приложениями.
В
технологическом
приложения,
слое
артефакты,
описываются
которые
узлы,
на
формируют
которых
выполняются
физическую
реализацию
компонентов приложений или объектов данных, и инфраструктурные сервисы
(например, обработка, хранение, коммуникации), необходимые для выполнения
приложений.
В свою очередь, узлы включают устройства (вычислительное и коммуникационное
оборудование) и системное программное обеспечение.
18 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Поскольку в каждом слое используется общая концепция элементов языка и
отношений, то это позволяет выделить в слоях домены, которые описывают
различные предметные области в рамках слоя.
На рисунке 2-10 показано соотношение слоев, типов элементов языка и
функциональных/предметных доменов:
Продуктовый
домен
Бизнес-слой
Слой
приложений
Домен информации
Домен процессов
Домен данных
Технологический
слой
Организационный
домен
Домен приложений
Домен технической инфраструктуры
Пассивные
структурные
элементы
Элементы поведения
Активные
структурные
элементы
Рис. 2-10. Соотношение слоев, аспектов языка и
функциональных/предметных доменов [7,9]
19 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Сервисы являются связующими звеньями между различными слоями (Рис. 2-11):
Потребитель
Внешний
бизнес-сервис
Бизнес-слой
Внутренний
бизнес-сервис
Внешний
сервис приложений
Слой приложений
Внутренний
сервис приложений
Внешний
инфраструктурный
сервис
Технологический слой
Внутренний
инфраструктурный
сервис
Рис. 2-11. Сервисы как связующие звенья между слоями [6]
Внутренние сервисы – это сервисы, доступные внутри данного слоя.
Внешние сервисы – это сервисы слоя, доступные извне слоя.
Технологический слой обеспечивает внешний инфраструктурный сервис для слоя
приложений.
Слой приложений обеспечивает внешний сервис приложений для бизнес-слоя.
Бизнес-слой, в свою очередь, предоставляет внешний бизнес-сервис (услугу)
потребителю.
20 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
3. Фреймворк языка
Объединение трех слоев и трех типов элементов языка образует таблицу,
состоящую из 9 ячеек. Эту таблицу называют фреймворком языка (Рис. 2-12):
Окружение
Бизнес
Приложения
Технологии
Пассивная
структура
Поведение
Активная
структура
Рис. 2-12. Фреймворк языка [4]
4. Механизмы расширения языка
Язык предоставляет средства по расширению набора понятий, входящих в его
ядро.
Эти дополнительные понятия отражают специфику исследуемых доменов и
используется только в этих целях.
Существует два способа расширения ядра языка:
механизм профилирования - через добавление дополнительных атрибутов к
существующим понятиям;
механизм специализации - через определение новых понятий на основе уже
существующих.
В результате ядро языка не перегружается новыми понятиями и обозначениями,
которые не будут применяться другими пользователями языка.
Начиная с версии 2.0 в стандарт языка включены расширение, связанное с
мотивационными факторами, расширение, связанное с реализацией и переходом
[4].
21 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Цель создания двух расширений языка – поддержка фаз метода разработки
архитектуры TOGAF, не охваченных базовыми понятиями языка (Рис. 2-13):
Понятия
расширения,
связанного с
мотивационными
факторами
Предварительная
фаза
Понятия
ядра языка
A.
Видение
архитектуры
H.
Управление
изменениями
архитектуры
G.
Руководство
реализацией
B.
Бизнесархитектура
C.
Архитектуры
информационных
систем
Управление
требованиями
D.
Технологическая
архитектура
F.
Планирование
перехода
E.
Возможности
и решения
Понятия
расширения,
связанного с
реализацией и
переходом
Рис. 2-13. Покрытие фаз метода разработки архитектуры TOGAF понятиями
языка ArchiMate [1,10,12]
22 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Расширение,
связанное
с
мотивационными
факторами,
необходимо
для
поддержки предварительной фазы, фазы A (Видение архитектуры), фазы H
(Управление изменениями архитектуры) и управления требованиями.
Расширение, связанное с реализацией и переходом, предназначено для
поддержки фазы E (Возможности и решения), фазы F (Планирование перехода) и
фазы G (Руководство реализацией).
5. Способы представления
Важно не только построить модель, но не менее важно и довести ее до
заинтересованных сторон.
Для этого в языке вводятся понятия «представление» и «способ представления».
Представления задаются способами представления (точками зрения), которые
используются для показа определенных аспектов архитектуры по отдельности или
в увязке.
Представление - это часть общего архитектурного описания, которая исследует
заданный
перечень
вопросов
и
адресована
определенному
кругу
заинтересованных сторон.
Способ
представления
использованию
-
это
представления,
в
спецификация
которой
по
конструированию
описываются
его
и
назначение,
используемые понятия, целевая аудитория, способы анализа и визуализации,
поддерживающие представление.
Способ представления позволяет фокусировать внимание на определенных
аспектах архитектуры, которые определяются интересами заинтересованных
сторон. Именно заинтересованные стороны в конечном итоге определяют, какие
элементы и отношения будут включены в представление.
23 / 142
Copyright © Рубенчик А.В. 2016. Все права защищены
Кроме того, для привлечения внимания к определенным аспектам архитектурной
модели могут использоваться такие особенности изображения, как контур и цвет
элементов, а также явное указание типа элемента (Рис. 2-14):
Отдел кадров
(Бизнесисполнитель)
(Бизнес-процесс)
ИТ-директор
(Заинтересованная
сторона)
Рис. 2-14. Использование контура, цвета и явного указания типа элемента
Использование цвета (раскраски) оставлено на усмотрение пользователей языка.
Например, в спецификации языка цвета применяются для выделения слоев:
желтый цвет используется для бизнес-слоя, синий – для слоя приложений и
зеленый - для технологического слоя.
24 / 142