Управление конфигурацией программного изделия
Управление конфигурацией программного обеспечения, или конфигурационное управление, рассматривается как деятельность, которая выполняется на протяжения всех этапов ЖЦПИ и осуществляет идентификацию, описание (документирование) и контроль всех элементов программного изделия и всех модификаций, появляющихся в процессе его эксплуатации.
Управление конфигурацией — одновременно и техническая, и управленческая деятельность, направленная на поддержание высокого качества изделия и тщательный контроль всех производимых изменений. Конфигурационное управление играет особую роль в организации сопровождения программной продукции.
Изменения происходят как во время разработки программной продукции, так и во время ее эксплуатации. Если эти изменения не анализировать всесторонне до их реализации, возникнет путаница и неразбериха, для минимизации которой и предназначено конфигурационное управление.
Конфигурация программного изделия образуется из совокупности взаимосвязанных объектов, которые называют элементами конфигурации. К элементам конфигурации относятся:
• компьютерные программы (в форме исходного или исполняемого кода);
• документы, описывающие программы (с ориентацией либо на пользователя, либо на обслуживающий персонал);
• структуры данных, содержащиеся либо в программах, либо вне их.
Возможный набор основных элементов, включаемых в сферу конфигурационного управления и определяющих конфигурацию программного изделия, охватывает:
1. Требования пользователя.
2. Спецификацию требований к программному изделию.
3. Техническое задание на разработку программного изделия.
4. План проектирования программного изделия.
5. Предварительное руководство пользователя.
6. Спецификацию проекта:
а) описание архитектурного проекта;
б) описание проекта данных;
в) описание проектов отдельных модулей.
7. Документированные листинга исходных кодов.
8. Материалы тестирования:
а) план и процедура тестирования;
б) тестовые наборы и результаты тестирования. 9- Операционные руководства и руководство по вводу в действие.
10. Рабочие программы (исполнимые модули и модули связей).
11. Описание базы данных:
а) схема базы и структуры файлов;
б) первоначальное содержание.
12. Документы по сопровождению программного изделия.
13. Стандарты и процедуры, определяющие порядок выполнения работ.
Под конфигурационный контроль помещают также дополнительно используемые программные средства: конкретные версии редакторов, компиляторов, CASE-средства и т.п. Поскольку эти средства используются для создания различной документации и исходных кодов, постольку они должны быть доступными, когда появляется необходимость внесения изменений. На практике конфигурационные элементы каталогизируются в базе данных проекта.
По мере продвижения разработки программного изделия растет число элементов конфигурации, так как каждый элемент в свою очередь порождает другие элементы.
При создании изделия изменения происходят в процессе работы постоянно, по мере накопления разработчиками опыта и информации.
Управление конфигурацией программного изделия, таким образом, дисциплина применения административного и технического руководства и надзора с целью:
• идентификации и документирования физических и функциональных характеристик элементов конфигурации;
• контроля за изменением этих характеристик;
• регистрации, обработки и документирования изменений и установления статуса реализации;
• проверки согласованности проводимых действий с установленными требованиями.
Особую трудность для сопровождения представляют программные изделия сложной структуры, имеющие многочисленных пользователей. Для оптимальной организации работ по внесению изменений применяется конфигурационное управление, базирующееся на:
• ревизионном контроле;
• идентификационном контроле;
• управлении распространением.
Ревизионный контроль связан с четкой классификацией всех компонент программного изделия и с контролем за их изменениями. Классификация использует для программного изделия такие понятия, как изделие, вариант, версия, редакция.
Изделия используются для получения различающихся между собой возможностей, варианты
предполагают разные условия работы, версии
обеспечивают разные свойства, а редакции
обеспечивают разную степень корректности. Таким образом, версии, различаясь некоторыми свойствами, сохраняют все основные функции изделия и совместимы с предыдущими версиями этого изделия. Новая редакция чаще всего связана с устранением обнаруженных ошибок или улучшением эксплуатационных характеристик. По каждому вносимому изменению необходимо принимать решение о том, к какому результату приведет данное изменение, для чего предварительно производится оценка того, какие изменения и в каких компонентах должны быть произведены. Принятие решения базируется на предварительно составленных матрицах влияний и таблицах принятия решений, позволяющих достаточно надежно определять степень влияния возможных изменений, вносимых в изделие. Изменения, связанные с созданием нового изделия или варианта, требуют нового проектирования. Новые изделия и варианты не заменяют старые; новые версии и редакции используются вместо прежних.
Вторая функция ревизионного контроля — контроль за изменениями. Каждое изменение порождает последовательность изменений, которые должны быть внесены в другие компоненты и документацию. С этой целью составляются матрицы влияния, где указывается, какие компоненты изделия требуют пересмотра при создании новой редакции, версии и т.д. Так для создания нового изделия требуется разработка новых документов и новых руководств, а для новой версии — лишь пересмотр некоторых документов.
В сложных изделиях, построенных по модульному принципу, обычно создается база данных программного изделия, в которой каждый компонент изделия должен иметь уникальный идентификатор. Идентификационный контроль служит для присвоения всем компонентам идентификационных кодов. Поскольку система компонент образует иерархическую многоуровневую систему, идентификация строится на основе последовательного кода.Кроме идентификационного кода, каждый компонент снабжается набором кодов, характеризующих номер варианта, версии, редакции.
Третья составляющая конфигурационного управления — управление распространением, которое гарантирует избирательное распределение материалов — сообщений о внесенных изменениях держателям пользовательских копий. При этом ведется учет пользователей, списки рассылки материалов. Наличие стройной и четкой системы идентификации упрощает работу и позволяет автоматизировать процессы информационного обслуживания пользователей.