Найти в Дзене
Архитектура решений

Референсная ИТ-архитектура

Референсная (или типовая абстрактная) модель в программной инженерии — это наборы абстрактных структур и/или предметно-ориентированных онтологий, состоящих из взаимосвязанной совокупности четко определенных, значимых понятий. Архитектура модели может представлять её составные части, от бизнес-функций до компонентов системы, если система содержит их полный набор. Референсная архитектура часто отождествляется с набором концепций с указаниями на отношения между концепциями. Референсная архитектура предоставляет общую семантику, которая может однозначно использоваться в разных реализациях и объединяет следующие важные понятийные сущности: Если создается и применяется архитектура, то она задаёт основу для единого согласованного описания системы. К описанию системы относятся модели и описания ее структуры, компонентного состава, требований, обоснования хода работ, необходимых ресурсов и многого другого, что необходимо в период жизненного цикла системы. В настоящее время в ИТ-индустрии произо
Оглавление

Референсная (или типовая абстрактная) модель в программной инженерии — это наборы абстрактных структур и/или предметно-ориентированных онтологий, состоящих из взаимосвязанной совокупности четко определенных, значимых понятий. Архитектура модели может представлять её составные части, от бизнес-функций до компонентов системы, если система содержит их полный набор. Референсная архитектура часто отождествляется с набором концепций с указаниями на отношения между концепциями.

Референсная архитектура предоставляет общую семантику, которая может однозначно использоваться в разных реализациях и объединяет следующие важные понятийные сущности:

  • Реферат - описывает типы сущностей, которые дают краткое информационное описание об окружающей среде, а не конкретные сущности в конкретной среде, поскольку является абстрактной.
  • Сущности и отношения описывают типы сущностей-объектов и их отношений-связей, взаимодействие и проявление совместных свойств.
  • Среда используется при разъяснении сущностей в окружающей среде или проблемном пространстве, включает описание решаемой проблемы и риски заинтересованных сторон.
  • Независимость от технологий, поскольку предназначена для понимания класса проблем, а не конкретных способов решений этих проблем. Однако, допустима разработка модели, описывающей набор программных приложений для решения проблемы управления набором программных приложений.

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

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

Рис.1. Стек архитектур
Рис.1. Стек архитектур

Если все так просто, то в чем состоит проблема, только лишь в её формализованном описании и научно-обоснованном решении? Проблема состоит в том, что для создания системы одномоментно нет одной общей причины, а есть проблемные вопросы. К сожалению, проблемных вопросов слишком много и эти вопросы во многом не равнозначны при решении конкретных прикладных задач. Перечислим некоторые из проблемных вопросов:

  • Архитектурные инструментарии визуального моделирования MBSE [2] ориентированы на корпоративные модели управления.
  • Архитектурные инструментарии MBSE поддерживают исключительно практики компонентного моделирования и направления декомпозиции компонент, в соответствии с вариантами семантики компонент и их связей в предметной области.
  • «Облачные модели» и социально-технические системы требуют особых подходов в архитектурном моделировании.
  • Неполная и недостаточная формализация понятий ограничивает создание моделей.
  • Затруднены математически обоснованные схемы доказательств, вместо математических доказательств используются метафоры, эвристики и терминологически путаные рассуждения.
  • Затруднена типизация, сопоставление и тиражирование различных архитектурных подходов при реализации больших и сложных систем.

Для понижения сложности способов практического решения проблемных вопросов рекомендуется использовать референсные архитектурные модели. Перечислим некоторые преимущества применения референсных архитектур:

  • Создание стандартных прототипов для объектов и отношений в модели. Это упрощает работу по созданию объектов, которые ведут себя в соответствии со стандартом. Стандарт может использовать шаблоны проектирования, которые поддерживают ключевые свойства программного обеспечения.
  • Обучение до необходимого уровня знаний. Использование референсной архитектуры помогает декомпозировать большое проблемное пространство на разделы, которые можно понять, адаптировать и доработать.
  • Улучшение общения в проекте, поскольку референсная модель разбивает проблему на самостоятельные сущности или концепции, которые уже принимаются многими.
  • Определение четких ролей и обязанностей. Существование в модели объектов и связей позволяет заранее выполнить назначения ответственных за решение проблемы, касающейся определенного набора сущностей.
  • Сопоставление и сравнение концепций разной природы. После выделения базовых концепций в экосистеме, можно обсуждать состав и связи компонент решения относительно друг друга.

Архитектура прикладных систем

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

Одним из вариантов архитектурного стандарта является язык моделирования систем SysML – объектно-ориентированный язык визуального моделирования систем общего назначения [3]. Конструкции языка поддерживают определение, анализ, дизайн, проверку и подтверждение соответствия для широкого спектра систем. SysML разработан в рамках проекта спецификации с открытым исходным кодом и имеет открытую лицензию для использования и распространения. Язык SysML включает 9 типов диаграмм, часть которых взята из языка UML: Block definИТion diagram; Internal block diagram; Package diagram; Use case diagram; Requirement Diagram; ActivИТy diagram; Sequence diagram; State machine diagram; Parametric diagram.

Обязанности по разработке и/или применению архитектуры прикладных систем возлагаются на системных архитекторов - высоких профессионалов в ИТ, сочетающих платформенные, технологические и др. знания, помноженные на практический опыт. Системный архитектор — это не только ИТ modeller, но и orchestrator, и solid principles гуру. Если оркестрация в ИТ - это принципы и технологии проектного менеджмента, то solid principles определяют структурные ограничения на прикладную систему [4]:

Single ResponsibilИТy Principle — принцип единственной ответственности.
Open-Closed Principle — принцип открытости/закрытости.
Liskov SubstИТution Principle — принцип подстановки Б. Лисков.
Interface Segregation Principle — принцип разделения интерфейсов.
Dependency Inversion Principle — принцип инверсии зависимости.

Разработка и, соответственно, модельное представление ИТ прикладных систем соответствует общим принципам в системной инженерии в части деления на логическую и физическую архитектуры, а также на общие типы группы описаний: функциональные, логические и физические [5].

Корпоративная архитектура

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

Развитие корпоративного управления является одной из важнейших областей в компьютеризации, для которой создано и развивается большое число технологий таких как DevOps, конвейер программного обеспечения, цифровой бизнес, цифровая трансформация бизнеса, цифровой двойник, цифровая оптимизация, цифровая этика и конфиденциальность, архитектура безопасности, моделирование бизнес-экосистемы и многие другие. Большую роль в унификации и согласовании концепций в корпоративной архитектуре играют стандарты, фреймворки и книги знаний, например, такие как COBИТ и ИТ4ИТ [6].

Бизнес-архитектура

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

Бизнес-архитектора - это тесно связанная с бизнесом область метафор и фантазий. Но от этих фантазий, изложенных на нечеткой и противоречивой терминологии CBok, BIZBok, BABok и т.п., зависят цели, документы, деньги и ресурсы предполагаемых Проектов.

Математическая архитектура

Математический аппарат на базе теории категорий позволяет формально описывать и исследовать процедуры применения моделей в модельно-ориентированной системной инженерии (Model-Based Systems Engineering, MBSE) [7]. Модели рассматриваются как объекты подходящих категорий, а действия формально описываются морфизмами.

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

Рис. 2. Соотношение Архитектур
Рис. 2. Соотношение Архитектур

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

Use Cases собственно Архитектуры

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

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

В настоящее время отсутствует формальный алгоритм построения модели UseCase для произвольной прикладной системы, но ИТ индустрия предлагает ряд общих методологий. Например, можно воспользоваться методологией Вигерса [Вигерс, 8] по составлению требований к системе, так как требования легко гармонизируются с UseCase. Соответственно, если группировать UseCase как - функциональные, организационные, нормативные и системные, то для определения собственно Архитектуры нас будет интересовать подмножество системных UseCase.

Разработка Архитектур социотехнических систем и систем с полным стеком Архитектур (рис.1) требует усложнения методологии Вигерса, в частности, следует учитывать рассмотрение «этических норм» и построение связанного с этими этическими нормами «дерева целей» (рис.3).

Рис.3. Упрощенная схема модели UseCase для стека Архитектур
Рис.3. Упрощенная схема модели UseCase для стека Архитектур

При разработке большинства корпоративных прикладных систем в этих расширениях нет практического смысла. У корпоративного Стейкхолдера определяющая банальная этическая категория – Жадность. Эта этическая категория семантически воплощается в набор целей:

{max_Прибыль; opt_ДоляРынка; min_Затраты; opt_СоставАктивов; opt_ЭффективностьСистем; и т.п. …}.

Конкретный состав набора целей реализуется в конкретной прикладной системе. Соответственно, банальным доказательством правильности Архитектуры прикладной системы является факт ее успешной работы.

Вместо одной нерешенной проблемы «О построении модели UseCase для собственно Архитектуры» появилось две дополнительных – «этические нормы» и «дерево целей». Если опустить эти «дополнительные» проблемы из рассмотрения при архитектурном моделировании, то это не означает, что их нет. В большинстве случаев проектирования прикладных систем результат решения этих дополнительных проблем используется «по умолчанию», неявно. В нашем случае воспользоваться этим простым правилом нельзя, поскольку значения «по умолчанию» входят в противоречие с решаемой проблемой.

Этическая категория «Жадность» не подходит при моделировании UseCase для математика, исследователя, новатора. Соответственно, семантические связи между «этическими нормами» и «деревом целей» для этой категории Акторов будут иными. Этической категории «Жадность» недостаточно и при архитектурном моделировании социотехнических систем, поскольку «Актор - рядовой участник» имеет совсем другие этические нормы и цели, например, в системах образования или здравоохранения. С другой стороны, без уточнения этической категории «Жадность» сложно обойтись в любом масштабном ИТ проекте при определении «Актора – инвестор, стейкхолдер». Это может быть и бизнесмен, и филантроп.

В национальной социотехнической системе Китая «Система социального рейтинга» ключевой этической категорией выбрана «Честность». Уточнения этой категории связаны со значениями показателей в наборе простых Правил расчета рейтинга, допускающих независимый инструментальный контроль, частично с применением систем Искусственного Интеллекта (ИИ). Позитивные последствия применения этой системы в общественной жизни и экосистеме бизнеса весьма значительны.

Теоретические основы построения так называемого «дерева целей» (более строго – иерархической структуры) неоднократно являлись предметом научных исследований с использованием математического моделирования [Саати, 9-10]. Например, предложенный Т.Саати метод анализа иерархий обеспечивает способы решения многих ассоциированных практических задач в их математической постановке. Использование «этических норм» рассматривается через призму прикладной этики, которая в свою очередь реализуется в форме прикладной онтологии (семантической сети). Общие Правила совместного использования «этических норм» и «дерева целей» в составе единой экспертной системы в настоящее время являются предметом самостоятельных научных исследований в области ИИ.

Заключение

В настоящее время не известно о формальном решении проблемы построения доказательной логики архитектуры системы, но есть путь решения, многократно применяемый на практике. Первый шаг на этом пути - построить модели системы, где ядро моделей есть референсная архитектура.

Заранее предусмотреть реализацию требований к этой модели:

  • Модели должны быть открыты к внесению изменений и доработок.
  • Математическая архитектура должна обеспечить доказательную базу в вопросах непротиворечивости, области существования и полноты.

В некотором смысле референсная архитектура может концептуально соответствовать абстрактной теории в математической логике [11]. Это позволяет говорить об архитектурном подходе к решению многих проблем методами системного анализа.

Рекомендуемые ссылки

1. «Единая технологическая ИТ Архитектура». https://www.tadviser.ru/index.php/Статья:Единая_технологическая_архитектура_информационных_систем_органов_исполнительной_власти_(ЕТА_ИС_ОИВ_РФ)

2. «ИТ Архитектура – это стек моделей». https://vk.com/@de_ps-ИТ-arhИТektura-eto-stek-modelei

3. «OMG System Modeling Language». https://www.omg.org/spec/SysML/

4. «Актуальность принципов SOLID». https://habr.com/ru/post/561216/

5. «Guide to the Systems Engineering Body of Knowledge (SEBoK)». https://www.sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledge_(SEBoK)

6. «How to Use the TOGAF® and ИТ4ИТ™ Standards Together». https://publications.opengroup.org/

7. Ковалев С.П., «Методы теории категорий в модельно-ориентированной системной инженерии» (MBSE). http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=ia&paperid=484

8. Вигерс К., «Разработка требований к программному обеспечению», ИТД «Русская редакция», 2004, - 576с.

9. Саати Т., Керис К., «Аналитическое планирование: Организация систем», Радио и связь, 1991, - 224с.

10. Саати Т. «Принятие решений. Метод анализа иерархий», Радио и связь, 1993, - 278с.

11. Robert Arp, Barry Smith, and Andrew Spear. «Building Ontologies with Basic Formal Ontology», Cambridge, MA: MIT Press, 2015.