Системный архитектор - Systems architect

Системный архитектор
Джеймс Уэбб Primary Mirror.jpg
Системные архитекторы делят большие и сложные системы на управляемые подсистемы, которыми могут управлять отдельные инженеры.
Род занятий
ИменаСистемный архитектор
Тип занятия
Профессия
Сферы деятельности
Системная инженерия
Системы
Дизайн
Инженерное дело
Описание
КомпетенцииПользователь базовые знания, научные знания, инженерные навыки, навыки планирования и управления
Требуется образование
Видеть образование

В системный архитектор является информационные и коммуникационные технологии профессиональный. Системные архитекторы определяют архитектура компьютеризированной системы (т. е. системы, состоящей из программного и аппаратного обеспечения) для выполнения определенных требования. Такие определения включают в себя: разбивку системы на компоненты, взаимодействие компонентов и интерфейсы (в том числе со средой, особенно с пользователем), а также технологии и ресурсы, которые будут использоваться при ее проектировании и реализации.

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

Обзор

Системные архитекторы взаимодействуют с несколькими заинтересованные стороны в организации, чтобы понять различные уровни требований, предметную область, жизнеспособные технологии и ожидаемый процесс разработки. Их работа включает определение нескольких альтернатив проектирования и реализации, оценку таких альтернатив на основе всех выявленных ограничений (таких как стоимость, график, пространство, мощность, безопасность, удобство использования, надежность, ремонтопригодность, доступность и другие). "болезни" ), и выбор наиболее подходящих вариантов для дальнейшего проектирования. Результат такой работы устанавливает основные свойства системы и те, которые сложнее всего изменить позже.

В небольших системах архитектура обычно определяется непосредственно разработчиками. Однако в более крупных системах необходимо назначить системного архитектора, который будет определять общую систему и взаимодействовать между пользователями / спонсорами (и другими заинтересованными сторонами) и инженерами. Очень большие, очень сложные системы могут включать в себя нескольких архитекторов, и в этом случае архитекторы работают вместе, чтобы интегрировать свои подсистемы или аспекты и реагировать на Главный Архитектор, отвечающий за всю систему. В общем, роль архитектора заключается в том, чтобы действовать как посредник между пользователями / спонсорами и инженерами, согласовывая потребности и требования пользователей с тем, что инженеры определили как выполнимые в рамках данных (инженерных) ограничений.

В проектирование систем, архитекторы (и инженеры) несут ответственность за:

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

Системный архитектор: темы

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

Пользователи и спонсоры

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

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

Требования высокого уровня

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

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

Необходимо различать архитектуру пользовательского мира и инженерная системная архитектура. Первый представляет и рассматривает проблемы и решения в пользователь Мир. В основном это отражено в компьютерно-человеческий интерфейс (CHI) инженерной системы. Разработанная система представляет собой инженерное дело решения - как инженер предлагает разработать и / или выбрать и объединить компоненты технической инфраструктуры для поддержки ОМС. При отсутствии опытного архитектора возникает досадная тенденция путать две архитектуры. Но- инженер думает в терминах аппаратного и программного обеспечения и пространства технических решений, тогда как пользователи могут думать в терминах решения проблемы доставки людей из точки А в точку Б за разумное время и с разумными затратами энергии, или предоставления необходимой информации клиентам и персоналу. Ожидается, что системный архитектор объединит знания как об архитектуре пользовательского мира, так и (все потенциально полезные) инженерные разработки. системные архитектуры. Первый - это совместная деятельность с пользователями; последнее - совместная деятельность с инженерами. Продукт представляет собой набор требований высокого уровня, отражающих требования пользователей, которые могут использоваться инженерами для разработки требований к системному проектированию.

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

Анализ затрат и выгод

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

Многие готовые к продаже или уже разработанные аппаратные и программные компоненты могут быть выбраны независимо в соответствии с такими ограничениями, как стоимость, отклик, пропускная способность и т. Д. В некоторых случаях архитектор уже может собрать конечную систему (почти) без посторонней помощи. Или ему / ей может потребоваться помощь инженера по аппаратному обеспечению или программному обеспечению для выбора компонентов, а также для разработки и создания любой специальной функции. Архитекторы (или инженеры) могут также прибегнуть к помощи других специалистов - в безопасность, безопасность, коммуникации, оборудование специального назначения, графика, человеческие факторы, тест и оценка, контроль качества, надежность, ремонтопригодность, доступность, интерфейс менеджмент и т. д. Эффективная команда системных архитекторов должна иметь доступ к специалистам критических специальностей по мере необходимости.

Разделение и расслоение

Архитектор, планирующий здание, работает над общим дизайном, чтобы он был приятным и полезным для жителей. В то время как одного архитектора может быть достаточно, чтобы построить дом на одну семью, может потребоваться много инженеров, кроме того, для решения детальных проблем, возникающих при проектировании нового высотного здания. Если работа достаточно большая и сложная, части архитектуры могут быть спроектированы как независимые компоненты. То есть, если мы строим жилой комплекс, у нас может быть один архитектор для комплекса и по одному для каждого типа здания, как часть архитектурный коллектив.

Большие системы автоматизации также требуют архитектора и большого инженерного таланта. Если спроектированная система является большой и достаточно сложной, системный архитектор может передать часть работы архитектору оборудования и / или архитектору программного обеспечения, хотя все они могут быть членами совместной архитектурной группы.

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

Хороший архитектор гарантирует, что система, какой бы сложной она ни была, построена на относительно простых и «чистых» концепциях для каждой (подсистемы) или уровня и легко понятна всем, особенно пользователям, без специальной подготовки. Архитектор использует минимум эвристика чтобы гарантировать, что каждый раздел хорошо определенный и чистый кладжи, обходные пути, короткие пути, или запутанные детали и исключения. По мере развития потребностей пользователей (после того, как система введена в эксплуатацию и используется), впоследствии намного проще разработать простую концепцию, чем концепцию, нагруженную исключениями, особыми случаями и большим количеством мелкого шрифта.

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

Вступительный тест

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

Общение с пользователями и инженерами

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

Метафора архитектора

Использование любой формы слова «архитектор» регулируется «законами о праве собственности» во многих штатах США, и для его использования человек должен иметь лицензию строительного архитектора.[1]

В Великобритании комиссия по регистрации архитекторов исключает использование «архитектора» (когда оно используется в контексте программного обеспечения и информационных технологий) из его ограниченного использования. [2]

Смотрите также

Рекомендации

  1. ^ Термин «архитектор» - это профессиональное звание защищен закон и ограничен, в большинстве юрисдикций мира, теми, кто обучен планированию, проектированию и контролю за строительством здания. В этих юрисдикциях любому, кто не является лицензированным архитектором, запрещено использовать это название. в любом случае. В штате Нью-Йорк и других штатах США несанкционированное использование названия «архитектор» является преступлением и подлежит уголовное судопроизводство.«Архитектура: что законно, а что нет» (PDF). AIA штат Нью-Йорк. Получено 9 июля 2012.«Архитектура штата Нью-Йорк: законы, правила и положения: Архитектура, статья 147». Получено 9 июля 2012.
  2. ^ "Что мы делаем, чтобы регулировать использование названия" архитектор "'". Регистрационная комиссия архитекторов. Получено 8 июля 2019.

дальнейшее чтение

  • Дональд Файресмит и другие.: Структура методов для инженерных системных архитектур, (2008)
  • Марк В. Майер и Рехтин, Эберхардт, Искусство системного проектирования, Третье издание (2009 г.)
  • Геррит Мюллер, "Системная архитектура: бизнес-перспектива", CRC Press, (2012).
  • Эберхард Рехтин, Системное проектирование: создание и построение сложных систем, 1991.
  • Дж. Х. Зальцер, М. Ф. Каашук, Принципы проектирования компьютерных систем: введение, Морган Кауфманн, 2009.
  • Роб Уильямс, Архитектура компьютерных систем: сетевой подход, Второе издание (декабрь 2006 г.).

внешняя ссылка