Документ управления интерфейсом
Документ управления интерфейсом ( ICD ) в системной инженерии [1] и разработка программного обеспечения обеспечивает запись всей информации об интерфейсе (например, чертежей, диаграмм, таблиц и текстовой информации), созданной для проекта. [2] Базовые документы интерфейса предоставляют подробную информацию и описывают интерфейс или интерфейсы между подсистемами или с системой или подсистемой .
Обзор
[ редактировать ]ICD — это общий документ по системным интерфейсам; примеры того, что должны описывать эти спецификации интерфейса, включают:
- Входные и выходные данные одной системы, задокументированные в отдельных документах SIRS (Спецификации требований к программному интерфейсу) и HIRS (Спецификации требований к аппаратному интерфейсу), подпадают под «Документ управления интерфейсом Википедии».
- Интерфейс между двумя системами или подсистемами, например «Интерфейс собачьей будки с туалетом», также будет иметь родительский ICD.
- Полный протокол интерфейса, от самых низких физических элементов (например, ответных вилок, уровней напряжения электрического сигнала) до самых высоких логических уровней (например, уровня приложения уровня 7 модели OSI ), каждый будет документирован в соответствующей спецификации требований к интерфейсу. и подпадают под единый МКБ для «системы».
Целью ICD является контроль и ведение записи информации о системном интерфейсе для данного проекта. Сюда входят все возможные входные данные и все потенциальные выходные данные системы для некоторого потенциального или фактического пользователя системы. Внутренние интерфейсы системы или подсистемы документированы в соответствующих спецификациях требований к интерфейсу, тогда как человеко-машинные интерфейсы могут быть в документе проектирования системы (например, в документе проектирования программного обеспечения ). [ нужна ссылка ] .
Документы управления интерфейсом являются ключевым элементом системного проектирования , поскольку они управляют документированными интерфейсами системы, а также определяют набор версий интерфейса , которые работают вместе и тем самым связывают требования.
Характеристики
[ редактировать ]Интерфейс прикладного программирования — это форма интерфейса программной системы, в которой он описывает, как получить доступ к функциям и услугам, предоставляемым системой, через интерфейс. Если производитель системы хочет, чтобы ее могли использовать и другие, то ICD и спецификации интерфейса (или их эквиваленты) являются целесообразным вложением средств.
ICD должен описывать только саму подробную документацию по интерфейсу, а не характеристики систем, использующих его для подключения. Функции и логика этих систем должны быть описаны в их собственных требованиях и проектной документации по мере необходимости. Таким образом, независимые группы могут разрабатывать соединительные системы, использующие указанный интерфейс, независимо от того, как другие системы будут реагировать на данные и сигналы, отправляемые через интерфейс. Например, ICD и связанная с ним документация по интерфейсу должны включать информацию о размере, формате и том, что измеряется данными, но не какое-либо окончательное значение данных при их предполагаемом использовании любым пользователем.
Адекватно определенный интерфейс позволит одной команде протестировать реализацию интерфейса, моделируя противоположную сторону с помощью простого симулятора связи. Незнание бизнес-логики системы на дальней стороне интерфейса повышает вероятность разработки системы, которая не сломается, когда другая система изменит свои бизнес-правила и логику. (В спецификации требований к интерфейсу следует категорически избегать положений об ограничениях или проверке работоспособности.) Таким образом, достигается хорошая модульность и абстракция, ведущие к простоте обслуживания и расширяемости.
Критика
[ редактировать ]Критики документации требований и системной разработки в целом часто жалуются на чрезмерный акцент на документации. [3] [4] ICD часто присутствуют в проектах, основанных на документах , но могут быть полезны и в гибких проектах (хотя и не названы так явно). [5] [6] МКБ не обязательно должен быть текстовым документом. Это может быть (развивающаяся) таблица входов и выходов , динамическая база данных, представляющая каждую подсистему в виде представления БД, набор диаграмм взаимодействия и т. д.
ICD часто используются там, где подсистемы разрабатываются асинхронно во времени, поскольку они обеспечивают структурированный способ передачи информации об интерфейсах подсистем между различными группами разработчиков подсистем. [7] [8] [9]
Существует некоторая путаница вокруг взаимоотношений между документами требований к интерфейсу (IRD) и документами управления интерфейсом (ICD) при определении требований. Документы с определениями интерфейсов, независимо от названия, должны содержать только определения – никаких утверждений «должен»!! Это соглашения и констатации фактов (часто определяемых с помощью слова «воля»). Используете ли вы слова «будет» или «есть», зависит от того, на каком этапе процесса проектирования вы находитесь. Требования к интерфейсу входят в набор системных требований, независимо от того, как вы называете документ. Это обязательные по контракту положения «должен», которые определяют проект и должны быть проверены. Правильные требования к интерфейсу указывают на определение, независимо от того, где оно определено. [10]
Ссылки
[ редактировать ]- ^ Уолтер Дж. Фабрики , Бенджамин С. Бланшар (2005). Системная инженерия и анализ . Прентис-Холл, 2005 г.
- ^ ОПИСАНИЕ ЭЛЕМЕНТА ДАННЫХ, Документ управления интерфейсом (ICD), DI-SESS-81248B (2015)
- ^ Фаулер, М .; Дж. Хайсмит (июль 2001 г.). «Аджайл-манифест» . Журнал доктора Добба . Проверено 11 мая 2006 г. « Да, физическая документация имеет вес и содержание, но реальная мера успеха абстрактна: получат ли вовлеченные люди понимание, в котором они нуждаются?»
- ^ Эмблер, Юго-Запад (март 2005 г.). «Гибкое моделирование и экстремальное программирование (XP)» . AgileModeling.com . Проверено 11 мая 2006 г. , «...вербальное общение между членами команды снижает потребность в документации внутри команды».
- ^ Agile/Lean Документация: стратегии гибкой разработки программного обеспечения
- ^ Много шума из ничего: Документация
- ^ Каткоски, Марк Р.; Джей М. Тененбаум; Джей Гликсман (сентябрь 1996 г.). «Madefast: совместное проектирование через Интернет» . Коммуникации АКМ . 39 (9): 78–87. дои : 10.1145/234215.234474 .
- ^ Спинеллис, Диомидис (ноябрь 1998 г.). «Критика интерфейса прикладного программирования Windows» . Компьютерные стандарты и интерфейсы . 20 (1): 1–8. дои : 10.1016/S0920-5489(98)00012-9 . Проверено 12 декабря 2012 г.
- ^ Леонард, Джейсон (май 2002 г.). «Объединение системных инженеров и инженеров-программистов» (PDF) . Рациональное преимущество . Проверено 12 декабря 2012 г.
- ^ «Требования к интерфейсу, IRD и ICD» .