суббота, 9 февраля 2013 г.

кто такое cm

CM является одной из базовых практик любой методологии разработки ПО. Достаточно сказать, что в модели SEI CMM/CMMI (Capability Maturity Model Integration) наличие налаженного процесса управления конфигурацией необходимое условие для получения организацией сертификата CMM/CMMI Level 2.

Схема 1. Элементы, их версии и срезы-конфигурации.

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

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

В любом проекте есть рабочие продукты это может быть маркетинговая документация, требования к конечному продукту, исходные коды, тесты, вспомогательные инструменты. Что считать рабочим продуктом, зависит от проекта (определение будет дано в одном из подразделов данной статьи). Далее, каждый продукт изменяется во времени (в этом ведь смысл разработки), и эти изменения надо как-то учитывать кто, когда, что именно внёс и зачем он это сделал. Иными словами, учитывать, как появлялись версии продуктов.

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

Управление конфигурацией

Что такое CM и зачем он нужен

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

Чем не является статья: попыткой научить жизни или призвать всех с понедельника начать всё заново, и на этот раз правильно. Будет описано как оно вообще всё устроено, а уж принять это или нет дело читателя. Приведенные принципы от этого хуже не станут и уж точно не изменятся. Ну а если где будет встречаться «IMHO» потерпите, это для пользы дела. Также изложение не будет касаться конкретных инструментов, поскольку тема эта обширна и очень плодотворна для флуда.

Предполагаемая аудитория все разработчики, кому доводится вносить изменения в любые рабочие продукты. Неважно, насколько вы подкованы в контроле версий или багтрекинге речь пойдет о основах, понятных каждому. Если вы используете что-то подобное в крупных проектах сравните с тем, что есть у вас, и может быть, это натолкнет вас на интересные мысли. Никто не уйдет с пустыми руками. Те, кому материал покажется интересным, смогут воспользоваться ссылками для самостоятельного ознакомления.

Описать, какие практики используются.

Описать, какие задачи он решает.

Дать обзор того, чем же вообще является CM.

Что же является целью данной статьи?

Практики управления конфигурацией так или иначе использует большинство разработчиков. Однако парадокс заключается в том, что только некоторые из них знают, что же, собственно, они используют. Например, практически все используют хоть какую-то систему отслеживания ошибок, но не знают, что максимальный эффект от её использования достигается при правильной организации всего цикла работы над ошибкой, а также при использовании совместно с системой контроля версий. Точно также большинство, используя системы контроля версий, не понимает принципов их работы, не знает базовых практик и использует эти системы, как обычные консервы, «маринуя» версии одну за другой и вешая на них бирки с номерами релизов. Лишь немногие разработчики понимают смысл совершаемых действий и в состоянии сформулировать зачем это надо, и какие вообще существуют практики и принципы CM, как максимально улучшить работу команды с их помощью. И полбеды, если остальные просто не знают чего-то и не используют они постепенно дорастут и докопаются. Хуже, когда подобное незнание дает пищу для чьей-то фантазии, и на свет появляются инструменты и целые идеологии, от которых нехорошо становится. При этом статей по концептуальным основам управления конфигурацией пишется крайне мало.

В англоязычной литературе используется термин Software Configuration Management, сокращенно SCM. Далее для простоты изложения будет использован термин управление конфигурацией и сокращение CM (читается: «сиэм»).

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

Основы Software Configuration ManagementЧасть 1Автор: ДВГТУИсточник: Опубликовано: 03.08.2009Исправлено: 28.09.2009Версия текста: 0.11 Нет ничего более постоянного, чем изменения(Эту фразу приписывают всем подряд,вплоть до древних китайцев)

Основы Software Configuration Management P PP PP P PP PP PPPОценить P

Комментариев нет:

Отправить комментарий