
Программная инженерия
.pdfЛекция 16. Управление конфигурацией в жизненном цикле программных средств
|
|
|
Таблица 16.1 |
|
Объекты изменения |
Типы изменений |
Право на выполнение |
Право |
|
на утверждение |
||||
объектов |
изменения имеют: |
|||
|
изменения имеют: |
|||
|
Устранение дефектов |
|
||
Версии модулей |
Программисты — |
Руководители раз |
||
и компонентов про |
в программных мо |
разработчики моду |
работки функцио |
|
грамм, данных |
дулях и компонентах |
лей и компонентов |
нальных групп про |
|
и документов |
Корректировка |
Руководители разра |
грамм и данных |
|
Версии функцио |
Менеджер- |
|||
нальных групп про |
функций и взаимо |
ботки функциональ |
архитектор про |
|
грамм и документов |
действия программ |
ных компонентов |
граммного средства |
|
|
ных компонентов |
|
|
|
Базовые версии про |
Модификация и |
Менеджер-архитек |
Менеджер и заказ |
|
граммного продукта |
улучшение функций |
тор программного |
чик проекта про |
|
и комплекса доку |
и качества базовых |
продукта |
граммного продук |
|
ментации |
версий программного |
|
та |
|
|
продукта |
|
|
|
Версии программно |
Адаптация к харак |
Заказчик или сопро |
Менеджер, сопро |
|
го продукта пользо |
теристикам внешней |
вождающий версию |
вождающий версию |
|
вателей |
среды пользователей |
программного про |
программного про |
|
|
|
дукта пользователя |
дукта пользователя | |
Важной целью управления конфигурацией является документаль ное оформление и обеспечение полной наглядности текущей конфигура ции программ и данных и степени выполнения требований к их функцио нальным характеристикам. Другая задача заключается в том, чтобы все лица, работающие над проектом, в любой момент его жизненного цикла использовали достоверную и точную информацию о всех единицах кон фигурации (ЕК) и их взаимодействии. Процессы УК включают работы по идентификации конфигурации, контролю изменений, определению базо вой версии разработки и архивированию программного средства, включая соответствующие документы жизненного цикла, по аудиту конфигурации, компоновке и поставке программного продукта в течение всего жизненно го цикла системы. Процессы УК, выполняемые совместно с другими про цессами жизненного цикла ПС, направлены на достижение следующих
основных целей:
—обеспечить возможность оценки соответствия требованиям заказ чика результатов жизненного цикла программного средства;
—обеспечить определяемую и управляемую конфигурацию ПС на протяжении всего жизненного цикла;
510
16.1.Процессы управления конфигурацией программных средств
—обеспечить управление входными и выходными данными процес са в течение всего жизненного цикла, что гарантирует непротиворечи вость и повторяемость работ в процессах;
—обеспечить контрольные точки для проверки, оценки состояния и контроля изменений посредством управления элементами конфигурации
иопределения базовой версии программного продукта;
—обеспечить контроль над тем, чтобы фиксировались дефекты и ошибки, а изменения регистрировались, утверждались и реализовывались;
—гарантировать надежное физическое архивирование, восстановле ние и сопровождение единиц конфигурации и документов программного продукта.
Изменения конфигурации ПС и его компонентов должны планиро ваться и предусматривать в плане управления проектом действия с чет кими разделами:
—почему и с какой целью производится корректировка программ или данных;
—кто выполняет и кто санкционирует проведение изменений комп лекса программ или компонентов;
—какие действия и процедуры должны быть выполнены для реали зации изменений единиц конфигурации;
—когда по срокам и в координации с какими другими процедурами следует реализовать определенную модификацию компонентов и конфи гурацию ПС;
—как и с использованием каких средств и ресурсов должны быть выполнены запланированные изменения ПС и компонентов.
Четкая организация и автоматизация этого процесса позволяют избегать множества вторичных ошибок, обусловленных недостаточной ко ординацией проводимых корректировок и формирования новых версий сложных ПС коллективом специалистов. Этому должна способствовать утвержденная иерархия принятия решений на изменения компонентов и ПС в целом должностными лицами проекта (см. табл. 16.1), поддержанная методами и средствами защиты от несанкционированного доступа при выполнении корректировок специалистами различной квалификации и пра ва доступа на разных уровнях проекта.
Управление конфигурацией должно быть организовано таким образом, чтобы можно было гарантировать беспристрастность и независимость
511
Лекция 16. Управление конфигурацией в жизненном цикле программных средств
персонала для достижения необходимых целей управления конфигураци ей. Для того чтобы управление конфигурацией было эффективным, следует определить его организационную структуру коллектива специалистов.
Эта структура обычно ориентируется на конкретный проект и при необхо димости адаптируется, чтобы отвечать потребностям различных этапов жизненного цикла программной продукции. Она должна определять связи между различными видами деятельности, непосредственно входящими в процесс управления конфигурацией. Структура должна включать функ цию управления конфигурацией; взаимодействующие организации; служ бы проектирования, закупок и контрактов; управление данными, изготов ление, обеспечение качества и другие дисциплины, которые могут быть привлечены, охватывая, если необходимо, субподрядчиков и поставщиков.
Организационная структура специалистов УК должна обеспечивать координацию действий, а также распределение соответствующих полно мочий и ответственности за все действия по управлению конфигурацией. В рамках организации проекта ПС следует идентифицировать инстанцию, уполномоченную утверждать конфигурационные базы и любые измене ния к ним, обычно это совет по конфигурации. В случае небольших проектов ответственность за управление конфигурацией, руководство про ектом может быть возложено на отдельные лица, участвующие в проекте.
Руководитель проекта мо^кет учредить совет по конфигурации,
который будет иметь полномочия анализировать и утверждать или не утверждать программу и процедуры управления конфигурацией, выбор объектов конфигурации, конфигурационные базы и изменения к этим ба зам, включая отклонения и разрешения на отклонение. Членов совета по конфигурации обычно назначает руководитель проекта ПС. Совет по кон фигурации может быть организован на нескольких уровнях полномочий, если согласно контрактным требованиям необходимо участие заказчика в процессе жизненного цикла ПС, то заказчик тоже может учредить совет по контролю конфигурации.
Конфигурационная идентификация включает методы и средства, с помощью которых можно однозначно устанавливать и различать версии ПС, входящие в них компоненты (единицы конфигурации — ЕК), их вари анты и модификации, а также родословное дерево объектов конфигура ции, технических условий и идентифицированный комплект документа-
512
16.1. Процессы управления конфигурацией программных средств
ции. кроме того, каждый вариант модуля, компонента или ПС и их изме нений должен соответствовать правилам нумерации (идентификации).
Цель идентификации конфигурации заключается в однозначной мар кировке каждой единицы конфигурации (и ее последующих версий) для того, чтобы:
— установить базис для управления и ссылок на единицы конфигура
ции;
—выполнить идентификацию для каждой единицы конфигурации, для каждого отдельно управляемого компонента конфигурации и для ком бинаций единиц конфигурации, которые составляют ПС;
—провести идентификацию единиц конфигурации до начала реали зации контроля изменений и проележиваемости документов;
—обеспечить идентификацию конфигурации для документов жиз ненного цикла ПС;
—выполнить идентификацию единицы конфигурации прежде, чем она будет использоваться другими процессами жизненного цикла ПС, для производства и для загрузки;
—исполняемый объектный код содержал идентификацию конфигу рации, которая должна быть доступна для других компонентов системы.
Разработчик ПС должен участвовать в выборе ЕК, выполняемому согласно проекту архитектуры системы, должен идентифицировать объек ты, которые будут помещены под управление конфигурацией, и назначить уникальный для проекта идентификатор каждой ЕК и каждому дополни тельному объекту, находящемуся под управлением конфигурацией. Эти объекты включают программные средства, которые должны разрабаты ваться или использоваться согласно контракту, и элементы среды разра ботки ПС. Схема идентификации должна быть составлена на том уровне, на котором объекты будут фактически контролироваться: компьютерные файлы, электронные носители данных, документы, модули ПС, единицы конфигурации. Схема идентификации должна включать статус официаль ной версии для каждого объекта.
Вконкретном проекте следует разработать правила нумерации ЕК и применять их для идентификации объектов конфигурации, документов по конфигурации и изменений. При этом необходимо учитывать существую щие процедуры нумерации, принятые у подрядчика, или общепринятые процедуры. Однако идентификационные номера должны быть уникальны-
513
Лекция 16. Управление конфигурацией в жизненном цикле программных средств
ми. в результате с использованием ограниченной и упорядоченной систе мы символов создается база для однозначного выбора и манипулирования вариантами компонентов или версиями комплексов программ и для про цессов прослеживания изменений. Все необходимые функциональные и физические характеристики объектов конфигурации, включая изменения, отклонения и разрешения на них, должны содержаться в четко идентифи цированных документах.
Конфигурационный учет составляют методы и средства регистра ции и отслеживания состояния объектов — единиц конфигурации, накоп ления и классификации отчетов о всех реализованных и отвергнутых из менениях вариантов компонентов и ПС в целом. Совокупность отчетов должна обеспечивать идентификацию именования и однозначное отраже ние текущего состояния ПС и его компонентов, а также накопление исто рий последовательных модификаций ЕК, приведших к данному состоя нию их структуры, функций и характеристик. Правила нумерации или другие системы учета конфигурации должны позволять управлять:
—иерархическими отношениями или отношениями подчинения между объектами конфигурации в рамках структуры ПС;
—иерархическими отношениями или отношениями подчинения между компонентами в каждом объекте конфигурации;
—отношениями между объектами и документами;
—отношениями между документами и изменениями.
Включевых точках разработки проекта все объекты должны быть подвергнуты версионному учету. В определенный момент нужно фикси ровать версии всех объектов и компонентов, составляющих программный продукт или систему. Учет версий ЕК должен проходить, по крайней мере, на каждом из основных этапов проекта. В соответствии с методоло гией УК в итеративном процессе разработки ПС учет версий необходим в конце каждой итерации для обеспечения:
—воспроизводимости — возможности вернуться назад во времени и повторить определенный выпуск ранее существовавшего компонента, про граммной системы или среды разработки;
—контролируемости — объединения требований к системе, проект ных планов, результатов тестирования и объектов разработки, для учета версий не только системных компонентов, но и объектов проектирования
ипланирования;
514
16.1.Процессы управления конфигурацией программных средств
—отчетов, которые позволяют получать сведения о любой версии системы, сравнивать различные версии, находить ошибки и составлять документацию.
Управление запросами на изменения включает регистрацию, отсле живание и анализ запросов на модификацию ПС, компонентов и данных от субъектов, взаимодействующих с системой (см. рис. 16.1). Оно включа ет процессы принятия решений для планирования необходимых измене ний и процессы их реализации. Управление запросами на изменения пред ставляет собой центральную часть Концепции управления конфигура цией. Незарегистрированные запросы на изменения могут быть потеряны или останутся без реакции.
Запрос на доработку определяет новое свойство ПС или изменение реализации его функций (см. лекцию 10). Дефектом может быть любая обнаруживаемая проблема, которую следует взять под контроль и разре шить. Хотя с запросами на доработку и дефектами связана достаточно похожая информация, в процессах УК они часто обрабатываются совер шенно по-разному. Реализация изменений требует принятия ряда реше ний. Обычно в определении этого процесса участвуют различные подраз деления (руководители проектов, разработчики, специалисты по тестиро ванию). Внешний запрос способен, в свою очередь, породить несколько внутренних технических запросов на доработку.
Следующий шаг после установления типов контролируемых запро сов состоит в уточнении объема информации, фиксируемой в ходе жиз ненного цикла запроса. Наиболее важным и часто наиболее сложным ша гом является определение процесса, который используется для контроля каждого запроса на изменение. Типы запросов на изменения, модели пере ходов и состояний варьируются достаточно широко и обычно включают:
—представление и регистрацию запроса на изменение;
—оценку запроса его категории и приоритета;
—решение о порядке выполнения запроса;
—реализацию корректировок — компоненты системы и программ ная документация создаются или модифицируются с целью реализации запроса;
—проверку на соответствие требованиям или на отсутствие исправ ленного дефекта.
515
Лекция 16. Управление конфигурацией в жизненном цикле программных средств
Представление запроса на изменение предполагает его регистра цию. Запросы на доработку могут поступать из различных источников. Основные данные, регистрируемые при возникновении таких запросов, — это важность требуемых изменений для пользователей, подробности за проса и личность инициатора. Последнее требуется, чтобы при необходи мости можно было выяснить детали и неясные моменты. Иногда запрос на доработку появляется в самой организации в процессе тестирования или внутреннего использования проекта.
Оценка запроса заключается в просмотре вновь поступивших запро сов и выводах об их характеристиках. Является ли запрос дефектом или он относится к запросам на доработку; какова значимость этого запроса; ка ков приоритет в реализации запроса. Необходимо также учесть возмож ные последствия доработки — изменение доли рынка, увеличение прибы ли, влияние на продажи и поддержку пользователей.
Изменения программ и/или данных модулей и небольших программ ных компонентов подвергается наименее формализованному и защищен ному от случайностей конфигурационному управлению. Их изменения в процессе тестирования обычно не требуют санкции руководителей проек та. Версии функциональных групп программ и комплексов программ в целом могут корректироваться только с разрешения руководителей соот ветствующего ранга. Тем самым должны предотвращаться несогласован ные и несанкционированные изменения, способные снизить качество и целостность версий программного продукта. Изменения этих версий до пускаются пользователями или поставщиками в пределах, ограниченных эксплуатационными документами по адаптации к характеристикам и осо бенностям внешней среды и условиям применения конкретной версии ПС.
Разработчик изменений должен составлять сообщения о дефектах и изменениях, чтобы описать каждый дефект, обнаруженный в ПС, находя щихся под контролем конфигурации на уровне проекта, и каждую пробле му выполнения работ, необходимых в соответствии с контрактом или описанных в Плане разработки ПС. Правила модификации в проекте дол жны определять, к каким компонентам разработчики различных уровней будут иметь доступ, указывать, доступен определенный компонент в дан ный момент только для чтения или для чтения и модификации. Если ком понент является модифицируемым, специалисты сопровождения вправе получать и изменять составляющие его файлы. Если же компонент ис-
516
16.1. Процессы управления конфигурацией программных средств
пользуется только для чтения, участники проекта не смогут изменять фай лы, а будут лишь ссылаться на них. Компоненты с доступом только для чтения обычно применяются во время тестирования, в процессе сборки групп компонентов или при совместном их использовании в ряде проектов.
Систему корректирующих действий следует реализовать для обра ботки каждого дефекта, обнаруженного в ПС или модификации, находя щихся под контролем конфигурации на уровне проекта (см. рис. 16.1):
—входная информация системы должна состоять из сообщений о дефектах и модификациях;
—необходимо гарантировать, что все обнаруженные дефекты немед ленно регистрируются и вводятся в систему УК, необходимые действия инициируются, принятые решения осуществляются, состояние корректи рующих действий прослеживается и сообщения о дефектах и модифика циях сопровождаются в течение всего срока действия контракта;
—каждый дефект и модификация должны быть классифицированы по категориям и приоритетам;
—должен выполняться анализ для выявления возможных тенденций
взарегистрированных дефектах;
—корректирующие действия должны быть оценены, чтобы опреде лить, были ли дефекты устранены, неблагоприятные тенденции преодоле ны, а изменения были правильно выполнены без внесения дополнитель ных дефектов.
Решение о корректировке конфигурации ПС состоит в выборе: вы полнить запрос на изменения, отложить реализацию или отклонить за прос. Для запроса на доработку решение обычно выносит руководитель проекта или аналитик. Затем относительно каждого из них принимается решение о реализации в данной версии продукта, отсрочке или отклоне нии. Процесс принятия решения для дефектов отличается и зависит от двух факторов: текущей фазы цикла разработки и необходимых для реа лизации усилий. Обычно дефект закрепляется за определенным специали стом; если ошибку удается легко воспроизвести, в новой версии продукта она будет исправлена. Ненужные модификации могут нарушать работо способность и снижать качество системы, способствуя отставанию от гра фика и увеличению издержек. На заключительных стадиях проекта целе сообразно вводить формальный процесс рассмотрения и внесения исправ лений, он должен быть направлен на ограничение изменений и допуск
517
Лекция 16. Управление конфигурацией в жизненном цикле программных средств
ТОЛЬКО самых критических исправлений на стадиях стабилизации кода и квалификационного тестирования.
Реализация корректировок при запросе на доработку может требо вать проведения дополнительных проектных работ, поскольку в систему добавляются новые функции. Для исправления дефекта более важно вос создать среду, где он проявляется и где затем будут тестироваться сделан ные модификации. Некоторые представляемые дефекты и запросы на до работку могут относиться не к самому ПС, а к документации. В случае запроса на доработку это означает внесение в документацию описания новых функций; в случае дефектов — исправление документации, если устраненная ранее ошибка изменила поведение пользователя при взаимо действии с системой.
Редакциям ЕК присваиваются определенные статусы, определяю щие их качество и пригодность для различных операций. В каждом проекте один из статусов является рекомендуемым, базовым. Последняя редакция ЕК в интеграционном потоке проекта, получившая такой статус, по умолчанию предлагается разработчикам при выполнении операций — обновить. Интегратор может стразу присвоить рекомендуемый статус всем последним редакциям ЕК в интеграционном потоке проекта. Интегратор также вправе присвоить нужный статус нескольким отобранным редакци ям. Статус редакций, в которых обнаружены проблемы, допустимо пони зить. Если редакция ЕК вызывает ошибки при сборке, ей необходимо присвоить статус — отклонена, что позволит избежать использования данной редакции в дальнейшей работе.
Контроль корректности конфигураций версий компонентов, ПС
иданных предназначен для систематической оценки предполагаемых из менений ЕК и координированной их реализации с учетом соответствия спецификациям и требованиям заказчика, эффективности каждого из них
изатрат на выполнение изменения. Эти методы должны обеспечивать контроль состояния и развития компонентов ЕК, их вариантов, связей и модификаций, а также адекватность реально изменяющихся объектов и их комплектной документации. Он включает следующие виды деятельности, которые должны быть подробно описаны в документированных процеду рах контроля за изменениями ЕК:
—положения, касающиеся организации, состава и срока полномочий совета по конфигурации и его связей с аналогичными советами;
518
16.1.Процессы управления конфигурацией программных средств
—рассмотрение реализации изменений, начиная с заявки и кончая утверждением модификации после внесения в объект конфигурации, обо снование и оценивание последствий внесения и корректности изменения;
—утверждение или неутверждение изменения;
—обработка и анализ отклонений от требований и подготовка разре шений на отклонения при реализации модификаций;
—сбор, регистрация, обработка и сохранение данных, необходимых для составления отчетов о мониторинге, состоянии и статусе конфигу рации ПС.
Разработчик должен установить и выполнять процедуры контроля конфигурации в соответствии с выбранным уровнем контроля для каждо го идентифицированного объекта, полномочия людей для санкционирова ния и выполнения изменений на каждом уровне, последовательность дей ствий, которые необходимо выполнить для того, чтобы запросить разре шение и обработать запрос на изменение, проследить изменение и сопровождать предыдущие версии. Изменения, которые воздействуют на объект, уже находящийся под контролем заказчика, должны быть предос тавлены заказчику в соответствии с установленными контрактом формами
ипроцедурами.
Цель контроля изменений — обеспечить регистрацию, оценку, рас смотрение и утверждение корректировок на протяжении всего жизненно го цикла ПС:
—контроль изменений должен обеспечить целостность единиц кон фигурации и базовых версий программного продукта и защиту их от не корректных модификаций;
—контроль изменений должен гарантировать, что каждое изменение единицы конфигурации учтено в изменении идентификации конфигура ции ПС;
—изменения в базовых версиях и единицах конфигурации, находя щихся под контролем, должны регистрироваться, утверждаться и просле живаться, ранняя реализация контроля изменений помогает управлению и организации работ в процессах жизненного цикла ПС;
—изменения ПС должны быть прослежены вплоть до места их ис точника, а выполнение процессов жизненного цикла следует повторить с того момента, с которого изменения сказываются на выходных данных;
519