Замененный стандарт IEEE для описания архитектуры программного обеспечения
IEEE 1471 — это устаревший стандарт IEEE для описания архитектуры «программно-интенсивной системы», также известной как программная архитектура .
В 2011 году он был заменен стандартом ISO/IEC/IEEE 42010 « Системная и программная инженерия — Описание архитектуры» .
Обзор
IEEE 1471 — это сокращенное название стандарта, официально известного как ANSI/IEEE 1471-2000, Рекомендуемая практика для описания архитектуры систем с большим объемом программного обеспечения. В терминологии Института инженеров по электротехнике и электронике (IEEE) это «рекомендуемая практика», наименее нормативный из его стандартов. В 2007 году этот стандарт был принят ISO/IEC JTC1/SC7 как ISO/IEC 42010:2007 , Системная и программная инженерия — Рекомендуемая практика для описания архитектуры систем с большим объемом программного обеспечения . [1]
Давно признано [ кем? ], что «архитектура» оказывает сильное влияние на жизненный цикл системы. Однако до недавнего времени [ когда? ] вопросы аппаратного обеспечения имели тенденцию доминировать в архитектурном мышлении, а аспекты программного обеспечения, если их вообще рассматривать, часто первыми подвергались риску под давлением разработки. [1] IEEE 1471 был создан, чтобы обеспечить основу для размышлений об архитектуре систем с большим объемом программного обеспечения.
Вклад IEEE 1471 можно обобщить следующим образом (в этом списке пункты, выделенные курсивом, представляют собой термины, определенные и используемые в стандарте):
- Он предоставляет определения и метамодель для описания архитектуры.
- В нем говорится, что архитектура должна учитывать интересы заинтересованных сторон системы.
- В нем утверждается, что описания архитектуры по своей сути являются многовидовыми , и ни одно из них не охватывает в полной мере все интересы заинтересованных сторон.
- В нем определяются понятия представления и точки зрения , где точка зрения определяет набор проблем и методов представления / моделирования и т. д., используемых для описания архитектуры с целью решения этих проблем , а представление является результатом применения точки зрения к конкретной системе.
- Он устанавливает требования к содержанию описаний архитектуры и идею о том, что соответствующее описание архитектуры имеет однозначное соответствие между точками зрения и представлениями .
- Он предоставляет руководство по обоснованию архитектуры и выявлению несоответствий/нерешенных проблем между представлениями в описании архитектуры.
IEEE 1471 содержит информативные приложения, которые связывают его концепции с концепциями архитектуры других стандартов, включая RM-ODP и IEEE 12207 .
История
В августе 1995 года Комитет по стандартам программной инженерии IEEE (SESC) учредил Группу планирования архитектуры IEEE (APG) для определения направления внедрения архитектурного мышления в стандарты IEEE. В апреле 1996 года была создана Рабочая группа по архитектуре (AWG) для реализации рекомендаций, данных APG для SESC. AWG возглавлял Бэзил Шерлунд, заместители председателя Рональд Уэйд, Дэвид Эмери, спецификацию редактировал Рич Хиллиард. В AWG было 25 членов. Проекты спецификации были вынесены на голосование и прокомментированы 130 международными рецензентами. В сентябре 2000 года Совет по стандартам IEEE-SA одобрил спецификацию как IEEE Std 1471-2000.
В 2006 году Объединенный технический комитет 1 (JTC1) ISO/IEC, Информационные технологии/Подкомитет SC 7, Программное обеспечение и системная инженерия, принял спецификацию как ISO/IEC 42010 в рамках специальной «ускоренной процедуры» параллельно с ее утверждением национальными органами ISO и IEC. Скоординированный пересмотр этого стандарта ISO/IEC JTC1/SC7/WG42 и IEEE CS начался в 2006 году после успешного ускоренного голосования ISO/IEC и в соответствии с пятилетним обзором стандарта IEEE.
В ноябре 2011 года [2] стандарты IEEE 1471-2000 и ISO/IEC 42010:2007 были заменены стандартом ISO/IEC/IEEE 42010:2011 « Системная и программная инженерия — Описание архитектуры» .
Цель
Согласно IEEE 1471 [1] [3] [4] описание архитектуры может использоваться для следующего:
- Выражение системы и ее эволюция
- Коммуникация между заинтересованными сторонами системы
- Оценка и сравнение архитектур в единообразной манере
- Планирование, управление и выполнение мероприятий по разработке системы
- Выражение устойчивых характеристик и поддерживающих принципов системы для управления приемлемыми изменениями
- Проверка соответствия реализации системы архитектурному описанию
- Регистрация вклада в совокупность знаний по архитектуре систем с большим объемом программного обеспечения
Терминология
Согласно стандартному глоссарию терминологии программной инженерии IEEE [5] используются следующие определения:
- архитектор : лицо, группа или организация, ответственные за проектирование архитектуры систем.
- архитектурное описание (AD): набор продуктов для документирования архитектуры.
- архитектура : фундаментальная организация системы, воплощенная в ее компонентах, их взаимоотношениях друг с другом и с окружающей средой, а также принципах, определяющих ее проектирование и развитие.
- проектирование : деятельность по определению, документированию, поддержанию, улучшению и сертификации надлежащей реализации архитектуры.
- система : набор компонентов, организованных для выполнения определенной функции или набора функций. Термин система охватывает отдельные приложения, системы в традиционном смысле, подсистемы, системы систем, линейки продуктов, семейства продуктов, целые предприятия и другие интересующие совокупности.
- заинтересованная сторона системы : лицо, группа или организация (или их классы), имеющие интересы или опасения относительно системы.
- вид : Представление всей системы с точки зрения связанного набора проблем.
- точка зрения : Спецификация соглашений для построения и использования представления. Шаблон или шаблон, на основе которого можно разрабатывать отдельные представления, устанавливая цели и аудиторию для представления, а также методы его создания и анализа.
Концептуальная основа
IEEE 1471 использует следующую концептуальную структуру. [1] [3] [6]
- Окружение системы, или контекст , может влиять на эту систему. Окружение может включать другие системы, которые взаимодействуют с интересующей системой, либо напрямую через интерфейсы, либо косвенно другими способами. Окружение определяет границы, которые определяют область действия интересующей системы относительно других систем.
- Система имеет одного или нескольких заинтересованных лиц . У каждого заинтересованного лица обычно есть интересы или опасения относительно этой системы.
- Озабоченность — это те интересы, которые относятся к разработке системы, ее работе или любым другим аспектам, которые являются критическими или иным образом важными для одного или нескольких заинтересованных лиц. Озабоченность включает системные соображения, такие как производительность, надежность, безопасность, распределение и развиваемость.
- Система существует для выполнения одной или нескольких миссий в своей среде. Миссия — это использование или операция, для которой система предназначена одним или несколькими заинтересованными сторонами для достижения некоторого набора целей .
- Каждая система имеет архитектуру , понятную или нет; записанную или концептуальную. Архитектура может быть записана с помощью архитектурного описания .
- Архитектурное описание организовано в один или несколько компонентов, называемых (архитектурными) представлениями . Каждое представление рассматривает одну или несколько проблем заинтересованных сторон системы. Представление является частичным выражением архитектуры системы относительно определенной точки зрения .
- Точка зрения устанавливает соглашения, по которым создается, изображается и анализируется представление. Таким образом, представление соответствует точке зрения. Точка зрения определяет языки (включая нотации, модели или типы продуктов), которые будут использоваться для описания представления, и любые связанные методы моделирования или методы анализа, которые будут применяться к этим представлениям представления. Эти языки и методы используются для получения результатов, соответствующих проблемам, рассматриваемым точкой зрения.
- Архитектурное описание выбирает одну или несколько точек зрения для использования. Выбор точек зрения обычно основан на рассмотрении заинтересованных сторон, которым адресовано AD, и их интересов. Определение точки зрения может исходить из AD или может быть определено в другом месте ( библиотечная точка зрения ).
- Вид может состоять из одной или нескольких архитектурных моделей . Каждая такая архитектурная модель разрабатывается с использованием методов, установленных связанной с ней архитектурной точкой зрения. Архитектурная модель может участвовать в более чем одном виде.
Соответствие
IEEE 1471 [1] определяет набор нормативных требований для соответствия описаний архитектуры, включая следующее:
- Идентификация AD, версия и обзорная информация (пункт 5.1)
- Определение заинтересованных сторон системы и их интересов, которые считаются имеющими отношение к архитектуре (пункт 5.2)
- Спецификации каждой точки зрения, выбранной для организации представления архитектуры, и обоснование этого выбора (пункт 5.3)
- Один или несколько архитектурных видов (пункт 5.4)
- Запись всех известных несоответствий среди обязательных компонентов архитектурного описания (пункт 5.5)
- Обоснование выбора архитектуры (пункт 5.6)
Смотрите также
Ссылки
- ^ abcde ISO/IEC 42010:2007, Системная и программная инженерия — Описание архитектуры
- ^ ISO/IEC/IEEE 42010:2011, Системная и программная инженерия — Описание архитектуры, последняя редакция оригинального стандарта IEEE Std 1471:2000, последнее обновление 5 февраля 2014 г.
- ^ ab Архитектура и изменения Архивировано 2009-06-19 в Wayback Machine
- ^ Описание IEEE 1471
- ^ IEEE Std 610.12−1990, Стандартный глоссарий терминов программной инженерии IEEE.
- ^ Концептуальная структура IEEE 1471
- 1471-2000 - IEEE Рекомендуемая практика для архитектурного описания систем с большим объемом программного обеспечения . 2000. doi :10.1109/IEEESTD.2000.91944. ISBN 0-7381-2518-0.
Внешние ссылки
- Веб-сайт IEEE 1471
- MEGAF — это инфраструктура для реализации архитектурных фреймворков, соответствующих определению архитектурного фреймворка, приведенному в стандарте ISO/IEC 42010.