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

Выбор способа применения рабочих продуктов

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

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

Рабочий продукт Назначение

Адаптация (Необязательный продукт, рекомендуется)

Модель реализации

(Подсистема реализации, Элемент реализации)

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

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

Подсистема реализации состоит из элементов реализации и других подсистем реализации. Она формирует структуру модели реализации, разделяя ее на более мелкие составляющие.

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

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

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

План компоновки интеграции Определяет порядок реализации компонентов, варианты компоновки при интеграции системы и принципы их оценки.

Необязательный продукт.

Рекомендуется при планировании интеграции. Рекомендуется всегда, кроме случаев, когда интеграция очень проста.



Выбор объема тестирования модуля

Определите объем тестирования модуля и уровень покрытия кода, который измеряется по шкале от не задан  до покрытие кода на 100%. Описание этой шкалы приведено в Плане тестирования.

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

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

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

Выбор способов проверки кода

Определите детальность проверки кода.  

Ниже перечислены преимущества проверки кода:

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

Недостатки проверки кода:

  • Занимает время и расходует ресурсы.
  • При неправильном подходе может оказаться неэффективной. Существует риск, что проверка будет выполняться только потому что "так нужно", и будет утеряно ее преимущество как эффективного дополнения к автоматизированным тестам.

Дополнительная информация о проверках кода приведена в разделе Задача: Проверка кода.

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

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

Ниже приведены рекомендации для повышения продуктивности проверок:

  • Собирайте только те данные, которые относятся к делу.
  • Измеряйте производительность проверок и публикуйте результаты.
  • Проводите разумное количество проверок.

Дополнительная информация об уровнях проверки приведена в разделе Рекомендация: Уровни проверки.