Архитектура системы может состоять из компонентов системы и разработанных подсистем, которые будут работать вместе для реализации общей системы. Были предприняты попытки формализовать языки для описания архитектуры системы, в совокупности они называются языками описания архитектуры (ADL). [2] [3] [4]
Обзор
Различные организации могут определять архитектуру систем по-разному, в том числе:
Фундаментальная организация системы, воплощенная в ее компонентах, их взаимоотношениях друг с другом и с окружающей средой, а также принципах, управляющих ее конструкцией и развитием. [5]
Распределенное расположение физических элементов, которое обеспечивает проектное решение для потребительского продукта или процесса жизненного цикла, предназначенное для удовлетворения требований функциональной архитектуры и базовых требований. [7]
Архитектура состоит из наиболее важных, всеобъемлющих, стратегических изобретений, решений высшего уровня и связанных с ними обоснований общей структуры (т. е. основных элементов и их взаимосвязей), а также связанных с ними характеристик и поведения. [8]
Описание конструкции и содержимого компьютерной системы . Если документировано, оно может включать в себя такую информацию, как подробный перечень текущего оборудования, программного обеспечения и сетевых возможностей; описание долгосрочных планов и приоритетов для будущих покупок, а также план модернизации и/или замены устаревшего оборудования и программного обеспечения. [9]
Формальное описание системы или подробный план системы на уровне компонентов для руководства ее реализацией. [10]
Композит архитектур дизайна продуктов и процессов их жизненного цикла. [11]
Структура компонентов, их взаимосвязи, а также принципы и рекомендации, регулирующие их проектирование и развитие с течением времени. [12]
Можно рассматривать архитектуру системы как набор представлений существующей (или будущей) системы. Эти представления изначально описывают общую, высокоуровневую функциональную организацию и постепенно уточняются до более подробных и конкретных описаний.
Архитектура системы передает информационное содержание элементов, входящих в систему, взаимосвязи между этими элементами и правила, регулирующие эти взаимосвязи. Архитектурные компоненты и набор взаимосвязей между этими компонентами, которые описание архитектуры может состоять из оборудования, программного обеспечения , документации, объектов, ручных процедур или ролей, исполняемых организациями или людьми. [ необходимо разъяснение ]
Архитектура системы в первую очередь концентрируется на внутренних интерфейсах между компонентами или подсистемами системы , а также на интерфейсе(ах) между системой и ее внешней средой, особенно пользователем . (В конкретном случае компьютерных систем этот последний, специальный, интерфейс известен как интерфейс «компьютер-человек» , также известный как интерфейс « человек-компьютер» или HCI ; ранее назывался интерфейсом «человек-машина».)
Системную архитектуру можно противопоставить проектированию системной архитектуры (SAE) — методу и дисциплине для эффективной реализации архитектуры системы: [13]
SAE — это метод , поскольку последовательность шагов предписана [ кем? ] для создания или изменения архитектуры системы в рамках набора ограничений .
SAE — это дисциплина , поскольку совокупность знаний используется для информирования специалистов о наиболее эффективном способе проектирования системы в рамках набора ограничений.
История
Архитектура систем в значительной степени зависит от практик и методов, которые разрабатывались на протяжении тысяч лет во многих других областях, возможно, наиболее важной из которых является гражданская архитектура.
До появления цифровых компьютеров электроника и другие инженерные дисциплины использовали термин «система», как он все еще широко используется сегодня. Однако с появлением цифровых компьютеров и развитием программной инженерии как отдельной дисциплины часто возникала необходимость различать спроектированные аппаратные артефакты, программные артефакты и комбинированные артефакты. Программируемый аппаратный артефакт или вычислительная машина , у которой отсутствует компьютерная программа, бессильна; даже как программный артефакт или программа, она в равной степени бессильна, если ее нельзя использовать для изменения последовательных состояний подходящей (аппаратной) машины. Однако аппаратная машина и ее программирование могут быть спроектированы для выполнения почти неограниченного числа абстрактных и физических задач. В дисциплинах компьютерной и программной инженерии (и, часто, других инженерных дисциплинах, таких как коммуникации) термин система стал определяться как содержащий все элементы, необходимые (которые обычно включают как аппаратное, так и программное обеспечение) для выполнения полезной функции.
Следовательно, в рамках этих инженерных дисциплин система обычно относится к программируемой аппаратной машине и ее включенной программе. А системный инженер определяется как тот, кто занимается всем устройством, как аппаратным, так и программным обеспечением, и, в частности, всеми интерфейсами устройства, включая интерфейсы между аппаратным и программным обеспечением, и особенно между полным устройством и его пользователем (CHI). Инженер по аппаратному обеспечению имеет дело (более или менее) исключительно с аппаратным устройством; инженер по программному обеспечению имеет дело (более или менее) исключительно с компьютерной программой; а системный инженер отвечает за то, чтобы программа могла правильно работать в аппаратном устройстве, и чтобы система, состоящая из двух сущностей, могла должным образом взаимодействовать со своей внешней средой, особенно с пользователем, и выполнять свою предполагаемую функцию.
Архитектура систем использует элементы как программного обеспечения, так и оборудования и используется для обеспечения проектирования такой составной системы. Хорошую архитектуру можно рассматривать как « схему разбиения » или алгоритм , который разбивает все текущие и прогнозируемые требования системы на работоспособный набор четко ограниченных подсистем без остатка. То есть, это схема разбиения, которая является исключительной, инклюзивной и исчерпывающей . Основная цель разбиения — организовать элементы в подсистемах так, чтобы между ними было минимум взаимозависимостей. Как в программном обеспечении, так и в оборудовании хорошая подсистема, как правило, рассматривается как значимый «объект». Более того, хорошая архитектура обеспечивает простое сопоставление с требованиями пользователя и проверочные тесты требований пользователя. В идеале также существует сопоставление от каждого наименьшего элемента к каждому требованию и тесту.
Типы
Было выявлено несколько типов архитектур систем (основанных на одних и тех же фундаментальных принципах [14] ): [15]
^ Ханну Яаккоррмшлинла и Бернхард Тальхайм. (2011) «Архитектурно-ориентированные методы моделирования». В: Труды XXII конференции 2011 года по информационному моделированию и базам знаний . Аннели Хаймбюргер и др. (ред.). IOS Press. стр. 98
^ Пол К. Клементс (1996) «Обзор языков описания архитектуры». Труды 8-го международного семинара по спецификации и проектированию программного обеспечения. IEEE Computer Society, 1996.
^ Ненад Медвидович и Ричард Н. Тейлор (2000). «Классификация и сравнительная структура языков описания архитектуры программного обеспечения». Программная инженерия, IEEE Transactions on 26.1 (2000): 70-93.
^ Неджад, Бобби (2023), Неджад, Бобби (ред.), «Физическая архитектура», Введение в проектирование систем наземного сегмента спутника: принципы и эксплуатационные аспекты , Библиотека космических технологий, т. 41, Cham: Springer International Publishing, стр. 187–197, doi : 10.1007/978-3-031-15900-8_13, ISBN 978-3-031-15900-8, получено 2022-12-07
^
Методическая структура для архитектуры инженерных систем, Дональд Файрсмит и др., 2008 г.
^ Фундаментальные принципы системной архитектуры, Борис Голден
^ Искусство системной архитектуры, Марк Майер и Эберхардт Рехтин , 2-е изд. 2002 г.
^ Аббас, Карим (2023). От алгоритмов к аппаратным архитектурам. doi :10.1007/978-3-031-08693-9. ISBN978-3-031-08692-2. S2CID 251371033.
^ Майклс, Пол (2022). Архитектура программного обеспечения на примере. doi :10.1007/978-1-4842-7990-8. ISBN978-1-4842-7989-2. S2CID 248408249.
^ Цзэн, Руйци; Ню, Иру; Чжао, Юэ; Пэн, Хайян (2022). «Эволюция архитектуры программного обеспечения и исследования технологий». В Лю, Шуай; Ма, Сюэфэй (ред.). Расширенная гибридная обработка информации . Конспект лекций Института компьютерных наук, социальной информатики и телекоммуникационной инженерии. Том 416. Чам: Springer International Publishing. стр. 708–720. doi :10.1007/978-3-030-94551-0_54. ISBN978-3-030-94551-0. S2CID 246051702.
^ Циманн, Йорг (2022), Циманн, Йорг (ред.), «Архитектура предприятия в двух словах», Основы управления архитектурой предприятия: основы управления цифровой системой на уровне предприятия , Серия «Инжиниринг предприятия», Cham: Springer International Publishing, стр. 23–60, doi : 10.1007/978-3-030-96734-5_2, ISBN978-3-030-96734-5, получено 2022-12-07
^ Мусукутва, Шеунопа Чалмерс (2022), Мусукутва, Шеунопа Чалмерс (ред.), «Разработка архитектуры предприятия», Архитектура предприятия SAP: план выполнения цифровой трансформации , Беркли, Калифорния: Apress, стр. 51–92, doi : 10.1007/978-1-4842-8575-6_3, ISBN978-1-4842-8575-6, получено 2022-12-07
^ Маркушеска, Настасия; Шринивасан, Венкатачалам; Вальтер, Ян-Никлас; Гиндорф, Алекс; Бидерманн, Йорн; Меллер, Франк; Нагель, Бьёрн (2022-07-01). «Реализация модели архитектуры системы для автоматизированных процессов сборки салона самолета». CEAS Aeronautical Journal . 13 (3): 689–703. doi : 10.1007/s13272-022-00582-6 . ISSN 1869-5590. S2CID 248972956.
Внешние ссылки
На Викискладе есть медиафайлы по теме «Архитектура систем» .