Измерение показателей ПО
Измерения в области программного обеспечения – это получение числовых значений определенных показателей программного продукта или процесса его разработки. Значения этих показателей сравнивают между собой и со стандартами, применяемыми в данной организации. На основе этих сравнений можно сделать выводы о качестве продукта или процесса разработки. Например, организация планирует ввести новое программное средство для тестирования ПО. Перед тем как это средство будет введено в стандарт, нужно определить количество дефектов программной системы, обнаруженных за определенный период времени другими средствами тестирования. Затем следует повторить процесс тестирования новым средством. Если при этом будет обнаружено большее количество ошибок за то же время, значит, это средство окажется действительно полезным для проведения проверки правильности программного кода. Ряд крупных компаний, таких, как Hewlett-Packard [135] и AT&T [22], ввели свои системы измерения показателей ПО и используют их в процессе управления качеством. Основное внимание в этих системах уделяется определению показателей, указывающих на присутствие дефектов в ПО, а также показателям, используемым в процессе проверки и аттестации программных продуктов. В работах [262, 150] рассмотрен вопрос введения таких систем в промышленное производство. В руководстве компании AMI [285] дается подробное описание такой системы измерений и ее применения для усовершенствования процесса разработки ПО. Вместе с тем системы измерения показателей ПО пока не получили широкого распространения. Основной причиной является отсутствие очевидной пользы от этих систем – во многих организациях-разработчиках процесс создания программных продуктов все еще организован не лучшим образом и недостаточно развит для ведения подобных систем измерений. Кроме того, нет четких стандартов показателей ПО, отсюда ограниченный уровень технической поддержки по сбору и анализу подобных данных. Большинство компаний не готовы к введению систем измерений показателей ПО, поскольку не разработаны соответствующие стандарты и отсутствуют средства их поддержки.
Показатели программного обеспечения – это количественные показатели, которые можно измерить и которые характеризуют программную систему, процесс разработки ПО или сопровождающую документацию. Например, это может быть размер программного продукта, равный количеству строк кода, индекс непонятности [142], который является мерой читабельности письменного текста, количество зарегистрированных ошибок в программном продукте, а также количество человеко-дней, требующихся для создания системных компонентов. Показатели делятся на два вида: контрольные и прогнозируемые. Контрольные показатели обычно соотносятся с процессом разработки ПО, а прогнозируемые – с готовым программным продуктом. Примером контрольного показателя (показателя процесса) может быть среднее значение затрат и времени, расходуемых на исправление зарегистрированных неполадок. В качестве примера прогнозируемого показателя можно привести цикломатическую сложность программных модулей*, среднюю длину идентификаторов в программе, а также количество атрибутов и операторов, относящихся к объектами системной структуры. На решения по управлению проектом могут оказать влияние как контрольные, так и прогнозируемые показатели (рис. 24.5). Подробнее показатели процесса создания ПО и их роль в совершенствовании этого процесса рассматриваются в главе 25. Здесь же внимание сосредоточено на показателях, прогнозирующих качество программного продукта.
* Цикломатическая сложность программного модуля характеризуется цикломатическим числом графа, отображающего структуру этого модуля (когда каждой точке ветвления программы соответствует вершина графа). Определение и формула вычисления цикломатического числа приведены в главе 20. - Прим. ред.
Рис. 24.5. Контрольные и прогнозируемые показатели
Часто невозможно провести прямое оценивание таких показателей качества программного продукта, как удобство сопровождения, сложность или понятность, поскольку они слагаются из самых разных факторов. Поэтому для их оценивания не существует прямой системы показателей. Отсюда следует вывод, что для начала необходимо измерить какой-либо внутренний показатель ПО (например, размер программы), а затем предположить, что существует взаимосвязь между тем, что мы можем измерить, и тем, что мы в действительности хотели бы узнать. В идеале между внутренними и внешними характеристиками программного продукта должна быть четкая прямая взаимосвязь, поддающаяся проверке. На рис. 24.6 показаны внешние показатели качества, которые нас заинтересуют, и внутренние показатели ПО, которые можно измерить и соотнести с внешними свойствами. Между внешними и внутренними показателями ПО предполагается определенная взаимосвязь, однако неизвестно, какого вида эта взаимосвязь. Если необходимо определить внешние характеристики ПО путем измерения внутренних показателей, следует соблюсти три обязательных условия [198].
1. Точное и аккуратное проведение измерения внутренних показателей. 2. Наличие взаимосвязи между измеренными показателями и внешними поведенческими характеристиками ПО. 3. Обязательное изучение этой взаимосвязи, ее проверка и выражение в виде формулы или модели.
Формулировка модели предусматривает определение вида функциональной зависимости между внешними и внутренними показателями (линейный, экспоненциальный или другой вид зависимости), что осуществляется путем анализа собранных данных, определения параметров, которые должны быть включены в модель, а также калибровки существующих данных. При построении такой модели необходим в первую очередь достаточный опыт работы со статистическими методами. Поэтому в такую деятельность следует вовлечь специалистов по математической статистике.
Рис. 24.6. Взаимосвязь между внутренними и внешними показателями ПО Процесс измерения
Процесс измерения показателей ПО, который может быть частью контроля качества, показан на рис. 24.7. Каждый компонент системы анализируется отдельно, значения одинаковых показателей сравниваются между собой, а иногда и с аналогичными статистическими данными других проектов. Аномальные данные измерений по какому-либо системному компоненту должны стать поводом для проведения мероприятий по обеспечению качества этого компонента.
Рис. 24.7. Процесс измерения показателей программного продукта Процесс измерений состоит из пяти основных этапов.
1. Выбор показателей для измерения. Для начала следует сформулировать те вопросы, на которые необходимо получить ответ посредством измерения, после чего определяются измеряемые показатели. Не нужно выбирать показатели, которые не соответствуют поставленным задачам. Парадигма "цель-вопрос-измерение" [26], которая рассматривается в следующей главе, является одним из лучших подходов к выбору измеряемых показателей. 2. Отбор системных компонентов. Часто совсем необязательно оценивать показатели всех компонентов программной системы. В одних случаях для анализа целесообразно сделать представительную выборку компонентов; в других достаточно оценить наиболее важные (критические) компоненты системы. 3. Измерение показателей компонентов. Это процесс измерения значений выбранных показателей для отобранных компонентов. Для этого обычно используются средства автоматического сбора данных. Они могут быть либо отдельными специальными средствами, либо встроенными в CASE-средства. 4. Определение аномальных данных. Значения измеренных показателей нужно сравнить между собой и с предыдущими измерениями, занесенными в базу данных. Важно отследить необычно высокие или, наоборот, низкие значения каждого вида показателей, так как компоненты с такими показателями могут быть причиной возникновения последующих проблем.
5. Анализ аномальных компонентов. Определив компоненты с аномальными показателями, их следует изучить для выявления возможного отрицательного влияния на качество программного продукта в целом. Например, аномальное значение такого показателя, как сложность компонента, не обязательно будет означать его плохое качество. Может быть другая причина для высокого значения этого показателя, которая не ведет к снижению качества.
Все собранные данные должны сохраняться в качестве ресурса организации, при этом обязателен анализ архивных данных по всем проектам, даже если они не используются в текущем проекте. После создания достаточно большой базы данных измерений на основе сравнения информации по различным проектам можно организовать специальную систему измерения показателей, которая отвечает нуждам данной организации.
Читайте также: III. ПЕРВИЧНОЕ ИЗМЕРЕНИЕ СОЦИАЛЬНЫХ ХАРАКТЕРИСТИК Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|