Управление конфигурацией программного обеспечения в разработке программного обеспечения
Что такое управление конфигурацией программного обеспечения?
В области разработки программного обеспечения, Управление конфигурацией программного обеспечения (SCM) — это процесс систематического управления, организации и контроля изменений в документах, кодах и других объектах в течение жизненного цикла разработки программного обеспечения. Основная цель — повысить производительность с минимальными ошибками. SCM является частью междисциплинарной области управления конфигурациями и может точно определить, кто какую версию внес.
Зачем нам нужно управление конфигурациями?
Основными причинами внедрения системы управления конфигурацией технического программного обеспечения являются:
- Над программным обеспечением, которое постоянно обновляется, работают несколько человек.
- Это может быть случай, когда в проекте настройки программного обеспечения участвует несколько версий, ветвей, авторов, а команда географически распределена и работает одновременно.
- Необходимо учитывать изменения в требованиях пользователей, политике, бюджете и расписании.
- Программное обеспечение должно работать на различных машинах и OperaТинговые системы
- Помогает развивать координацию между заинтересованными сторонами
- Процесс SCM также полезен для контроля затрат, связанных с внесением изменений в систему.
Любое изменение в элементах конфигурации программного обеспечения повлияет на конечный продукт. Поэтому изменения в элементах конфигурации необходимо контролировать и управлять ими.
Задачи в процессе SCM
- Идентификация конфигурации
- Исходные условия
- Управление изменениями
- Учет состояния конфигурации
- Аудит конфигурации и Revвзгляды
Идентификация конфигурации
Идентификация конфигурации — это метод определения области применения программной системы. С помощью этого шага вы сможете управлять чем-то или контролировать его, даже если не знаете, что это такое. Это описание, содержащее тип CSCI (элемент конфигурации программного обеспечения компьютера), идентификатор проекта и информацию о версии.
Действия в ходе этого процесса:
- Идентификация элементов конфигурации, таких как модули исходного кода, прецеденти техническое задание.
- Идентификация каждого CSCI в репозитории SCM с использованием объектно-ориентированного подхода.
- Процесс начинается с базовых объектов, которые группируются в совокупные объекты. Подробно что, почему, когда и кем вносятся изменения в тест
- Каждый объект имеет свои особенности, определяющие его имя, явное для всех других объектов.
- Список необходимых ресурсов, таких как документ, файл, инструменты и т. д.
Пример:
Вместо имени файла login.php его следует назвать login_v1.2.php, где v1.2 означает номер версии файла.
Вместо названия папки «Код» ее следует назвать «Код_D», где D означает код, резервное копирование которого должно выполняться ежедневно.
Базовая линия
Базовая версия — это официально принятая версия элемента конфигурации программного обеспечения. Он обозначается и фиксируется в определенное время при проведении процесса SCM. Его можно изменить только посредством формальных процедур контроля изменений.
Действия в ходе этого процесса:
- Упрощение создания различных версий приложения.
- Определение и определение механизмов управления различными версиями этих рабочих продуктов.
- Функциональная базовая версия соответствует рассмотренным системным требованиям.
- Широко используемые базовые версии включают базовые версии функциональности, разработки и продукта.
Проще говоря, базовая версия означает готовность к выпуску.
Управление изменениями
Контроль изменений — процедурный метод, обеспечивающий качество и согласованность при внесении изменений в объект конфигурации. На этом этапе запрос на изменение передается менеджеру конфигурации программного обеспечения.
Действия в ходе этого процесса:
- Контролируйте внезапные изменения для создания стабильной среды разработки программного обеспечения. Изменения фиксируются в репозитории.
- Запрос будет проверен на предмет его технического качества, возможных побочных эффектов и общего влияния на другие объекты конфигурации.
- Он управляет изменениями и делает элементы конфигурации доступными в течение жизненного цикла программного обеспечения.
Учет состояния конфигурации
Учет состояния конфигурации отслеживает каждый выпуск в процессе SCM. Этот этап включает в себя отслеживание того, что есть в каждой версии, и изменений, которые приводят к этой версии.
Действия в ходе этого процесса:
- Сохраняет запись всех изменений, внесенных в предыдущий базовый план для достижения нового базового плана.
- Определите все элементы для определения конфигурации программного обеспечения.
- Отслеживание статуса запросов на изменения
- Полный список всех изменений с момента последнего базового показателя
- Позволяет отслеживать прогресс до следующего базового уровня
- Позволяет проверить предыдущие выпуски/версии для извлечения для тестирования.
Аудит конфигурации и Revвзгляды
Аудит конфигурации программного обеспечения подтверждает, что весь программный продукт удовлетворяет базовым потребностям. Это гарантирует, что то, что построено, — это то, что будет доставлено.
Действия в ходе этого процесса:
- Аудит конфигурации проводится аудиторами путем проверки соблюдения определенных процессов и обеспечения достижения целей SCM.
- Для проверки соответствия стандартам контроля конфигурации. аудит и отчетность о внесенных изменениях
- Аудит SCM также гарантирует сохранение отслеживаемости во время процесса.
- Гарантирует, что изменения, внесенные в базовый план, соответствуют отчетам о состоянии конфигурации.
- Проверка полноты и последовательности
Участник процесса SCM
Ниже приведены ключевые участники SCM.
1. Менеджер конфигурации
- Менеджер конфигурации — это руководитель, который отвечает за идентификацию элементов конфигурации.
- Менеджер по связям с общественностью гарантирует, что команда следует процессу SCM.
- Ему/ей необходимо утвердить или отклонить запросы на изменение.
2. разработчик
- Разработчику необходимо изменить код в соответствии со стандартными действиями по разработке или запросами на изменение. Он отвечает за поддержание конфигурации кода.
- Разработчик должен проверять изменения и разрешать конфликты.
3. аудитор
- Аудитор несет ответственность за аудиты и проверки SCM.
- Необходимо обеспечить последовательность и полноту выпуска.
4. Руководитель проекта:
- Убедитесь, что продукт разработан в течение определенного периода времени.
- Отслеживает ход разработки и выявляет проблемы в процессе SCM.
- Формировать отчеты о состоянии программной системы
- Убедитесь, что процессы и политики соблюдаются при создании, изменении и тестировании.
5. пользователь
Конечный пользователь должен понимать ключевые термины SCM, чтобы иметь самую последнюю версию программного обеспечения.
План управления конфигурацией программного обеспечения
Планирование процесса SCMP (планирование управления конфигурацией программного обеспечения) начинается на ранних этапах написания кода проекта. Результатом этапа планирования является план SCM, который может быть расширен или пересмотрен в ходе проекта.
- SCMP может соответствовать общедоступному стандарту, например IEEE 828, или стандарту конкретной организации.
- Он определяет типы документов, подлежащих управлению, и наименование документов. Пример Test_v1
- SCMP определяет человека, который будет отвечать за весь процесс SCM и создание базовых показателей.
- Исправление политик для управления версиями и контроля изменений
- Определить инструменты, которые можно использовать в процессе SCM.
- База данных управления конфигурацией для записи информации о конфигурации.
Инструменты управления конфигурацией программного обеспечения
Любое программное обеспечение для управления изменениями должно иметь следующие 3 ключевые функции:
Управление параллелизмом:
Когда две или более задачи выполняются одновременно, это называется параллельной операцией. Параллелизм в контексте SCM означает, что один и тот же файл одновременно редактируется несколькими людьми.
Если параллелизм не управляется правильно с помощью инструментов SCM, это может создать множество неотложных проблем.
Контроль версий:
SCM использует метод архивирования или сохраняет все изменения, внесенные в файл. С помощью функции архивирования или сохранения можно вернуться к предыдущей версии в случае возникновения проблем.
Syncхронизация:
Пользователи могут извлечь более одного файла или всю копию репозитория. Затем пользователь работает над необходимым файлом и возвращает изменения обратно в репозиторий. Он может синхронизировать свою локальную копию, чтобы оставаться в курсе изменений, внесенных другими членами команды.
Ниже приведены популярные инструменты
1.Гит: Git — это бесплатный инструмент с открытым исходным кодом, который помогает контролировать версии. Он предназначен для быстрого и эффективного выполнения всех типов проектов.
Ссылка для скачивания: https://git-scm.com/
2. команда Foundation Сервер: Команду Foundation — это группа инструментов и технологий, которые позволяют команде сотрудничать и координировать свои действия при создании продукта.
Ссылка для скачивания: https://azure.microsoft.com/en-us/services/devops/server/
3. Ансибл: Это инструмент управления конфигурацией программного обеспечения с открытым исходным кодом. Помимо управления конфигурацией, он также предлагает развертывание приложений и автоматизацию задач.
Ссылка для скачивания: https://www.ansible.com/
Ознакомьтесь с другими инструментами настройки ПО: https://www.guru99.com/software-configuration-management-tools.html
Заключение
- Лучшие практики управления конфигурациями помогают организациям систематически управлять, организовывать и контролировать изменения в документах, кодах и других объектах во время Жизненный цикл разработки программного обеспечения.
- Основная цель процесса SCM — повысить производительность с минимальными ошибками.
- Основная причина процесса управления конфигурацией заключается в том, что над программным обеспечением, которое постоянно обновляется, работают несколько человек. SCM помогает обеспечить параллелизм, синхронизацию и контроль версий.
- Базовая версия — это официально принятая версия элемента конфигурации программного обеспечения.
- Контроль изменений — процедурный метод, обеспечивающий качество и согласованность при внесении изменений в объект конфигурации.
- Учет статуса конфигурации отслеживает каждый выпуск в процессе SCM.
- Аудит конфигурации программного обеспечения подтверждает, что весь программный продукт удовлетворяет базовым потребностям.
- Менеджер проекта, менеджер по конфигурации, разработчик, аудитор и пользователь являются участниками процесса SCM.
- Планирование процесса SCM начинается на ранних этапах проекта.
- Git, Team Foundation Sever и Ansible — несколько популярных инструментов SCM.