Контакты
Подписка
МЕНЮ
Контакты
Подписка

Управление разработкой ПО для СФЗ

В рубрику "Комплексные системы безопасности" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Управление разработкой ПО для СФЗ

Виктор Лизунов
Начальник отделения
ФГУП "СНПО "Элерон"

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

Особенности разработки ПО

В состав современных систем физической защиты (СФЗ) входят подсистемы, обеспечивающие:

  • контроль доступа;
  • охранную и пожарную сигнализацию;
  • охрану водной и воздушной среды;
  • видеонаблюдение и управление электроосвещением;
  • биометрическую идентификацию и т.д.

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

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

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

Все эти предпосылки предопределили необходимость создания АНИС - аппаратно-независимой интегрирующей среды, программного обеспечения, используемого в качестве базовых прототипов для разработки программных комплексов СФЗ.

Классические подходы к разработке ПО

Этапы развития ПО определяются принятой моделью жизненного цикла. К стандартам, которые определяют жизненный цикл ПО, относятся ГОСТ 34.601-90 и ISO/IEC 12207:1995 (российский аналог - ГОСТ Р ИСО/МЭК 12207-99). В этих стандартах предлагается использовать каскадную или эволюционную модели.

Каскадная модель
Каскадная (или водопадная) модель жизненного цикла (англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе.

Такая модель имеет два основных достоинства:

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

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

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

Спиральная модель
Альтернативой последовательной модели является так называемая спиральная модель (англ. spiral model), которая была разработана в середине 1980-х гг. Барри Боэмом.

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

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

Использование абстрактного прототипа

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

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

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

АНИС - аппаратно-независимая интегрирующая среда

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

В то же время архитектура АНИС принципиально отличается от этих систем. Прежде всего, это кроссплатформенность - независимость от типа операционной системы. При программировании АНИС используется язык Java, а платформо-зависимые модули тестируются в операционных системах семейств Windows и Linux.

В отличие от своих предшественников система АНИС имеет трехуровневую архитектуру и включает в себя нижний, средний и верхний уровни интеграции. Каждый уровень обеспечивает собственную функциональность, и их интеграция позволяет плавно расширять возможности производных программных комплексов. Доступ к данным осуществляется с использованием технологии "клиент-сервер".

Нижний уровень (НУ)
Уровень интеграции контроллеров обеспечивает взаимодействие с аппаратурой. Каждый такой комплекс реализует один независимый аппаратно-программный интерфейс (АПИ) для взаимодействия со средним уровнем по протоколу, принятому обязательным для применения на объектах концерна "Росэнергоатом". Программирование периферийной аппаратуры осуществляется путем разработки драйверов, использующих описание модели функционирования конкретного устройства. Модель устройства включает в себя описание событий, состояний, команд управления и параметров начальной инициализации.

Помимо взаимодействия по вертикали посредством АПИ, в состав НУ включены горизонтальные связи, обеспечивающие взаимодействие между компонентами (устройствами) на основе службы доставки сообщений (СДС). Передача данных по СДС также учитывает синтаксис описания моделей устройств, изложенного в отраслевом стандарте.

Средний уровень (СУ)
Уровень интеграции систем обеспечивает возможность конфигурации и оперативного управления программным комплексом СФЗ; реализован на базе сервера управления мониторингом (СУМ). Один СУМ может управлять одновременно несколькими АПИ. Адаптация функциональности СУМ к требованиям конкретного объекта обеспечивается наличием многообразных механизмов, встроенных в программный код. К ним относятся возможность переопределения наименования сообщений, поступающих от устройств и изменение уровня их тревожности, задание требуемого формата отображения на экране и реализация гибкого интерфейса пользователя.

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

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

В составе СУР функционирует подсистема "Бюро пропусков" и "Хранилище архивных событий". На ВУ осуществляется ввод данных о сотрудниках, назначение привилегий пользователей, формирование расписаний работы предприятия, подготовка разнообразных отчетов и других работ, необходимых для организации централизованной службы управления режимом в рамках предприятия.

Защищенность и эффективность АНИС

Особое внимание при разработке программных комплексов, входящих в состав АНИС, уделено защите информации от НСД. Комплекс средств защиты информации (КСЗИ) выделен в отдельную структуру и обеспечивает защиту информации на всех трех уровнях.

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

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

Инфраструктура разработки АНИС

В состав ПО АНИС входит значительное число компонентов и программных модулей. Сопровождение программного кода, учитывающего многообразие разрабатываемых программных продуктов для различных объектов, представляется трудной задачей. Коллективная работа над программными проектами требует соответствующей организации и автоматизации труда различных специалистов. Помимо технического развития АНИС, огромное внимание уделяется созданию организационной инфраструктуры, обеспечивающей возможность автоматизации процесса разработки ПО, сохранения достигнутых результатов, поддержку версионности при промышленном изготовлении программных продуктов. ГОСТ Р ИСО/МЭК 12207-99 определяет основные и вспомогательные процессы жизненного цикла, такие как:

  • процесс разработки;
  • процесс эксплуатации;
  • процесс сопровождения;
  • процесс документирования;
  • процесс управления конфигурацией;
  • подход к обеспечению качества и т.п.

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

В настоящее время мы используем такие системы автоматизации, как SVN (Subversion) - централизованная система управления версиями, система инспектирования программного кода Crucible, система компиляции и запуска тестов на базе TeamCity, система управления задачами и коллективными программными проектами Jira. Эти программные средства позволяют освободить разработчика от рутины, обеспечить надлежащий контроль сопровождения программных проектов. Однако такой опыт требует дополнительного обобщения и соответствующей постановки на промышленную основу.

Выводы

  1. Процесс разработки программного обеспечения СФЗ в России имеет специфику за счет двух факторов:
    • традиционно слабая детализация технического задания;
    • жесткие требования к срокам выполнения.
  2. Стандартные подходы к управлению разработкой ПО не позволяют разрешить указанное противоречие.
  3. Противоречие разрешается комбинацией каскадной модели разработки (адаптация базовых модулей ПО под конкретную СФЗ) и спиралевидной модели (развитие базовых модулей ПО).
  4. На основе комбинированной модели разработки ПО создана платформа АНИС. Она представляет собой набор базовых модулей, из которых создается ПО для каждой конкретной СФЗ.
  5. Предложенная модель хорошо согласуется с современными промышленными средствами автоматизации разработки ПО, была апробирована на 11 программных комплексах и доказала свою эффективность и применимость в практике разработки СФЗ. Таким образом, концепция и методология разработки программных продуктов, заложенные в АНИС, за 5 лет своего существования показали высокую эффективность и полностью оправдали себя. Дальнейшее развитие АНИС создает прочную основу для разработки программного обеспечения новых систем физической защиты ФГУП "СНПО "Элерон".

ЭЛЕРОН, ФЦНВТ, СНПО, ФГУП
www.eleron.ru

Опубликовано: Каталог "Системы безопасности"-2013
Посещений: 11592

  Автор

Виктор Лизунов

Виктор Лизунов

Начальник отделения ФГУП "СНПО "Элерон"

Всего статей:  1

В рубрику "Комплексные системы безопасности" | К списку рубрик  |  К списку авторов  |  К списку публикаций