Учебники

Измерение программного обеспечения

Основа для измерения программного обеспечения основана на трех принципах:

  • Классификация объектов, подлежащих проверке
  • Определение соответствующих целей измерения
  • Определение уровня зрелости, которого достигла организация

Классификация сущностей, подлежащих проверке

В программной инженерии существует в основном три класса сущностей. Они —

  • Процессы
  • Товары
  • Ресурсы

Все эти объекты имеют как внутренние, так и внешние объекты.

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

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

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

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

Различные атрибуты, которые могут быть измерены для каждого из объектов, следующие:

Процессы

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

  • Продолжительность процесса или одного из его действий

  • Усилия, связанные с процессом или одним из его видов деятельности

  • Количество инцидентов определенного типа, возникающих в ходе процесса или одного из его действий

Продолжительность процесса или одного из его действий

Усилия, связанные с процессом или одним из его видов деятельности

Количество инцидентов определенного типа, возникающих в ходе процесса или одного из его действий

Различные внешние атрибуты процесса — это стоимость, управляемость, эффективность, качество и стабильность.

Товары

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

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

Различные внешние атрибуты продукта — это удобство использования, целостность, эффективность, тестируемость, возможность повторного использования, переносимость и совместимость. Эти атрибуты описывают не только код, но и другие документы, которые поддерживают усилия по разработке.

Ресурсы

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

Различными внутренними атрибутами для ресурсов являются возраст, цена, размер, скорость, объем памяти, температура и т. Д. Различными внешними атрибутами являются производительность, опыт, качество, удобство использования, надежность, комфорт и т. Д.

Определение соответствующих целей измерения

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

Парадигма цель-вопрос-метрика (GQM)

Подход GQM обеспечивает структуру, включающую следующие три этапа:

  • Перечисление основных целей проекта разработки или сопровождения

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

  • Решите, что должно быть измерено, чтобы иметь возможность адекватно отвечать на вопросы

Перечисление основных целей проекта разработки или сопровождения

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

Решите, что должно быть измерено, чтобы иметь возможность адекватно отвечать на вопросы

Чтобы использовать парадигму GQM, сначала мы выражаем общие цели организации. Затем мы генерируем вопросы так, чтобы ответы были известны, чтобы мы могли определить, достигаются ли цели. Позже, проанализируйте каждый вопрос с точки зрения того, какое измерение нам нужно, чтобы ответить на каждый вопрос.

Типичные цели выражаются с точки зрения производительности, качества, риска, удовлетворенности клиентов и т. Д. Цели и вопросы должны строиться с точки зрения их аудитории.

Чтобы составить цели, вопросы и показатели, Basili & Rombach предоставили серию шаблонов.

  • Цель — Чтобы (охарактеризовать, оценить, предсказать, мотивировать и т. Д.) (Процесс, продукт, модель, метрика и т. Д.), Чтобы понять, оценить, управлять, спроектировать, выучить, улучшить и т. Д. Пример : охарактеризовать продукт для того, чтобы выучить его.

  • Перспектива — Изучите (стоимость, эффективность, правильность, дефекты, изменения, показатели продукта и т. Д.) С точки зрения разработчика, менеджера, клиента и т. Д. Пример . Изучите дефекты с точки зрения заказчика.

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

Цель — Чтобы (охарактеризовать, оценить, предсказать, мотивировать и т. Д.) (Процесс, продукт, модель, метрика и т. Д.), Чтобы понять, оценить, управлять, спроектировать, выучить, улучшить и т. Д. Пример : охарактеризовать продукт для того, чтобы выучить его.

Перспектива — Изучите (стоимость, эффективность, правильность, дефекты, изменения, показатели продукта и т. Д.) С точки зрения разработчика, менеджера, клиента и т. Д. Пример . Изучите дефекты с точки зрения заказчика.

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

Измерение и улучшение процесса

Обычно измерение полезно для —

  • Понимание процесса и продуктов
  • Установление базовой линии
  • Доступ и прогнозирование результата

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

Уровень 1: Ad hoc

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

Уровень 2: Повторяемый

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

Повторяется

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

Уровень 3: Определен

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

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

определенный

Уровень 4: Управляемый

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

Удалось

Уровень 5: Оптимизация

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

На данном уровне зрелости мы можем собрать измерения для этого уровня и всех уровней ниже него.

Определение уровня зрелости

Процесс зрелости предлагает измерять только то, что видно. Таким образом, сочетание зрелости процесса с GQM обеспечит наиболее полезные меры.

  • На уровне 1 , проект, вероятно, будет иметь плохо определенные требования. На этом уровне измерение характеристик требований затруднено.

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

  • На уровне 3 промежуточные действия определяются с критериями входа и выхода для каждого действия

На уровне 1 , проект, вероятно, будет иметь плохо определенные требования. На этом уровне измерение характеристик требований затруднено.

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

На уровне 3 промежуточные действия определяются с критериями входа и выхода для каждого действия

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

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