Система конфигурационного управления - инновационный инструмент сопровождения процесса разработки программного обеспечения (по) в авиационной промышленности

ИННОВАЦИИ № 8 (142), 2010

Система конфигурационного управления — инновационный инструмент сопровождения процесса разработки программного обеспечения (ПО) в авиационной промышленности

И. А. Брусакова,

д. т. н., профессор, зав. кафедрой информационных систем в экономике Санкт-Петербургского государственного инженерно-экономического университета «ИНЖЭКОН» e-mail: rina@engec.ru

В статье рассмотрен процесс конфигурационного управления (КУ), включающий в себя два подпроцесса — управление изменениями (Change Management — CM) и управление версиями (Version Management — VM). Автоматизация КУ позволяет говорить о переходе бизнес-процесса в ИТ-сервис. Внедрение и использование такого ИТ-сервиса обеспечивает целостность конфигурации разрабатываемого продукта и управление изменениями в процессе разработки любых изделий, компонент, программных продуктов и т. д., что исключает

С. Т. Раимова,

аспирант кафедры информационных систем в экономике Санкт-Петербургского государственного инженерноэкономического университета, руководитель группы конфигурационного управления ЗАО «Транзас Авиация» e-mail: Sabina.Raimova@transas.com

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

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

Ключевые слова: жизненный цикл ПО, конфигурационное управление, инновационный инструмент, ИТ-

сервис, сервис-ориентированные технологии.

Получать эффективные решения при управлении бизнес-процессами корпораций, продукция которых ключевым образом влияет на экономический потенциал страны — одна из основных задач, поставленных Президентом Российской

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

бизнес-процессы на крупнейших предприятиях России.

Информатизация корпоративного управления с использованием единых интегрирующих информационных технологий и систем — залог успешного управления эффективностью бизнеса. Функционирование современных корпоративных информационных систем немыслимо без внедрения идей ИТ-контроллинга, сервисно-ориентированного подхода в управлении ИТ-сервисами, сетевых информационных технологий управления ресурсами виртуальных корпоративных структур. Современное состояние проблемы анализа динамики экономических процессов с помощью информационных систем характеризуется все возрастающим интересом к разработке и применению информационных технологий, позволяющих реализовывать все необходимые этапы восприятия, структурирования, формализации, обработки, интерпретации информации в едином электронном интеллектуальном информационном продукте, доступном для использования как в локальном, так и в многопользовательском режимах работы [1-4].

Понятие ИТ-сервиса [5] предприятия включает в себя услуги по сбору, обработке, хранению, представлению и передаче информации, сопровождению технических средств, обеспечиваемые автоматизированными системами и ИТ-инфраструктурой в интересах и в соответствии с потребностями функциональных подразделений («клиентов» — в терминах клиент-серверной модели).

Разрабатываемое ПО может быть определено как коллекция компонент, организованных для выполнения заданных функций или реализации комплекса функциональности [15]. Конфигурация ПО — функциональные и/или физические характеристики аппаратного, программно-аппаратного, программного обеспечения или их комбинации, сформулированные в технической документации и реализованные в продукте. Конфигурационное управление (CM — Configuration Management), в свою очередь, дисциплина идентификации конфигурации системы в определенные (заданные) моменты времени, с целью систематического контроля изменений конфигурации, а также поддержки и сопровождения целостной и отслеживаемой (трассируемой) конфигурации на протяжении всего жизненного цикла ПО [16].

Конфигурационное управление формально определяется глоссарием IEEE [15] как «дисциплина приложения технических и административных указаний (инструкций) и контроля (надзора) для: идентификации и документирования функциональных и физических характеристик элементов конфигураций, контроля (управления) изменений этих характеристик, записи (сохранения) и ведения отчетности по обработке изменений и статусу их реализации, а также проверки (верификации)соответствия заданным требованиям».

В соответствии с ГОСТ Р ИСО/МЭК (ISO/IEC, IEEE) 12207 [12], конфигурационное управление в области программного обеспечения («6.2 Управление конфигурацией» по ГОСТ) — Software Configuration Management (SCM) — один из вспомогательных про-

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

Автоматизация процесса конфигурационного управления, включающего в себя два подпроцесса — управление изменениями (Change Management — CM) и управление версиями (Version Management — VM), позволяет говорить о превращении бизнес-процесса в ИТ-сервис. Внедрение и использование такого ИТ-сервиса обеспечивает целостность конфигурации разрабатываемого продукта и управление изменениями в процессе разработки любых изделий, компонент, программных продуктов и т. д., что не допускает хаотичности, несогласованности в работе разработчиков и повышает экономическую эффективность в целом. Следует отметить, что преобразование бизнес-процесса в ИТ-сервис будет проще и эффективнее в случае его формализации и стандартизаци.

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

Два принципиально важных аспекта — глубокая интеграция подпроцессов (CM и VM) и автоматизация связей между ними существенно повышают эффективность конфигурационного управления и вносят в рассматриваемую концепцию необходимую новизну, что позволяет считать ее инновационной.

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

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

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

ИННОВАЦИИ № 8 (142), 2010

ИННОВАЦИИ № 8 (142), 2010

Рис. 1. Процессы жизненного цикла программного обеспечения

стандартов 180 9000 и ЕМ 9100), так и в специфических стандартах аэрокосмической промышленности ^О-178В, D0-254, отечественными аналогами которых являются КТ-178В, КТ-254).

В соответствии с базовым международным стандартом 180/1ЕС 12207 все процессы жизненного цикла программного обеспечения (ЖЦ ПО) делятся на три группы (рис. 1) [12]:

• Основные процессы: приобретение, поставка, разработка, эксплуатация, сопровождение.

• Вспомогательные процессы: документирование, управление конфигурацией, обеспечение качества, разрешение проблем, аудит и аттестация, совместная оценка, верификация.

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

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

Основные задачи и цели процесса КУ состоят в следующем:

• Идентификация: присвоение уникальных имен объектам конфигурационного управления.

• Управление: управление выпуском продукта и его изменениями в течение всего жизненного цикла.

• Вычисление статусов: хранение и создание отчетов по состояниям объектов конфигурационного управления и запросов на изменение.

• Аудит и инспекции: проверка завершенности и полноты продукта и поддержание целостности и непротиворечивости связей всех его компонент.

• Выпуск: управление сборкой и построением окончательной версии продукта.

• Коллективная работа: управление работой и взаимодействием между множеством пользователей, работающих над продуктом, в том числе управление проектом и распределение задач между исполнителями.

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

Если говорить, о процессе конфигурационного управления в целом, то очевидно, что он построен как композиция нескольких подпроцессов, функционирующих совместно [11]:

• идентификация конфигураций;

• управление изменениями;

• формирование базовых конфигураций;

• вычисление статусов конфигураций;

• контроль доступа к объектам конфигурационного управления;

• архивирование, аудиты/обзоры конфигураций. Для решения задач процесса КУ необходимо

реализовать его основные процедуры (или подпроцессы). Какие возможности и гарантии при этом будут обеспечены?

Итак, идентификация конфигураций позволит поддерживать четко определенные и управляемые конфигурации ПО в течение всего его ЖЦ, предоставит возможность перевыпуска исполняемого объектного кода.

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

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

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

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

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

Рис. 2. Жизненный цикл задачи

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

Для реализации требований к процессам разработки авиационного бортового программного обеспечения, изложенных в рамках документа DO-178B [13], в компании ЗАО «Транзас Авиация» внедрена система конфигурационного управления, представляющая собой связку двух интегрированных между собой систем — системы контроля версий Subversion и системы управления изменениями Trac. Функциональность систем была доработана и расширена в соответствии с техническим заданием компании «Транзас Авиация». Цель произведенных модификаций — приближение функциональности приложения к требованиям стандарта DO-178B.

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

• разработка требований,

• проектирование и программирование,

• модульное тестирование,

• функционально тестирование,

• разработка эксплуатационной документации.

Главными особенностями такой структуры являются:

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

Часть работ можно выполнять параллельно (например, разработку тестов можно начинать, как

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

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

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

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

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

На следующем этапе планируется интеграция разработанной системы конфигурационного управления с системами управления требованиями IBM Telelogic DOORS и автоматизации тестирования LDRA Testbed.

Таким образом, внедрение идеи конфигурационного управления при разработке и сопровождении

ИННОВАЦИИ № 8 (142), 2010

ИННОВАЦИИ № 8 (142), 2010

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

Список использованных источников

1. И. А. Брусакова. Модели представления измерительных знаний в информационно-измерительных технологиях: учебное пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2002.

2. И. А. Брусакова. Имитационное моделирование в информационных системах: учебное пособие. СПб.: Изд-во СПбГИЭУ «ИНЖЭКОН», 2004.

3. И. А. Брусакова. Управление изменениями бизнес-процессов в сервисно-ориентированных ландшафтах корпоративных информационных систем//Вестник Метрологической академии. Вып. 22. СПб.: Изд-во Метрологической академии РФ, Северо-Западное отделение, 2009.

4. И. А. Брусакова, В. Д. Чертовской. Информационные системы и технологии в экономике. М.: Финансы и статистика, 2007.

5. П. Брукс. Метрики для управления ИТ-услугами/Пер. с англ. М.: Альпина Бизнес Букс, 2008.

6. Концепция контроллинга: Управленческий учет. Система отчетности. Бюджетировагие/Hovarts & Partners; Пер. с нем. 3-е изд. М.: Альпина Бизнес Букс, 2008.

7. В. Кале. Внедрение SAP R/3: Руководство для менеджеров и инженеров/Пер. с англ. П. А. Панова. М.: Компания АйТи,

2004.

8. Дж. Лодон, К. Лодон. Управление информационными системами/ Пер. с англ. под ред. Д. Л. Трутнева. 7-е изд. СПб.: Питер,

2005.

9. У. Д. Духонин, Д. В. Исаев, Е. Л. Мостовой и др. Управление эффективностью бизнеса. Концепция Business Performance Management/Под ред. Г. В. Генса. М.: Альпина Бизнес Букс, 2005.

10. Е. А. Монастырный. Термины и определения в инновационной сфере//Инновации, № 2, 2008.

11. С. В. Синицын, Н. Ю. Налютин. Верификация программного обеспечения. «БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий», 2008.

12. ISO/IEC 12207:2008, Systems and software engineering — Software life cycle processes.

13. RTCA/DO-178B. Software considerations in airborne system and equipment certification RTCA Inc, 1992.

14. ISO 10007. Quality management — Guidelines for configuration management.International Organization for Standardization. 01-Apr-1995.

15. IEEE 610.12-90, Standard Glossary for Software Engineering Terminology, 1990.

16. IEEE Guide to the Software Engineering Body of Knowledge (SWEBOK), 2004.

Configuration management system — an innovative tool for maintaining of software development process in aviation industry

I. A. Brusakova, Doctor of Technical Science, professor, Chief of Department of Information Systems, Saint-Petersburg engineering and economics University.

S. T. Raimova, Candidate of the Information Systems Department, Saint-Petersburg engineering and economics University, Configuration Management group Head, ZAO «Transas Aviation».

In this article represented an analyze of configuration management process, that includes two sub-processes: Change Management (CM) and Version Management (VM). Configuration management automation stipulates for transformation of business-process into IT-service.

Application of such IT-service ensures integrity of configuration of a new product through all the development process for any kind of product, multiplier, software etc. Configuration management excludes non-coordination and chaotic character of developers’ work-process and increases development process effectiveness as a whole.

Elaborated configuration management system is characterized by profound integration of sub-processes (CM and VM) and by automation of their interrelations, which appreciably increase effectiveness of configuration management and introduce novelty into the conception under investigation, that allows considering mentioned conception to be innovative.

Keywords: software lifecycle, configuration management, IT-service, SOA technologies, innovation tool.