Измерение качества программного изделия
Для определения качества программного изделия, а также уровня качества разработок программного обеспечения в целом по организации используется статистический подход, который предполагает:
1. Сбор и классификацию информации о дефектах программных изделий.
2. Выявление причин каждого дефекта путем подробного анализа дефектов и их трассировки.
3. Выявление наиболее существенных причин дефектов в программной продукции на основе использования принципа Парето (80% всех дефектов обусловлены 20% возможных причин).
4. Устранение наиболее существенных причин, вызывающих дефекты в программном изделии.
Тщательная систематизация статистической информации позволяет выявить причины появления ошибок. Это может быть:
• неполнота или ошибочность спецификаций;
• неправильная интерпретация информации заказчика;
• умышленное отклонение от спецификаций;
• нарушение стандартов программирования;
• ошибки в представлении данных;
• несовместимые интерфейсы между модулями;
• ошибки в логике проектных решений;
• неполное или ошибочное тестирование;
• неточная или неполная документация;
• неоднозначность и противоречивость человеко-машинного интерфейса.
Все обнаруженные в процессе разработки и последующей эксплуатации программного обеспечения ошибки распределяются по группам, в каждой из которых выделяются серьезные, средние и незначительные ошибки. На основе этой информации выделяются группы наиболее частых и серьезных ошибок, а затем рассматриваются способы устранения основных причин их появления и методы совершенствования процесса разработки.
Собранная статистическая информация может быть использована впоследствии в качестве базы для оценки степени повышения или снижения качества изделий, подлежащих разработке в последующие годы, и для которых также будут собираться сведения о дефектах.
Для количественной оценки качества программной продукции был разработан ряд подходов, нашедших затем отражение в стандартах.
Так, согласно американскому стандарту для определения индекса качества структуры проекта на основе совокупности пригодных для измерения характеристик программного проекта необходимо знать:
• общее число модулей в архитектурном проекте;
• число модулей, чье правильное функционирование зависит от источника входных данных или которые порождают данные, использующиеся в других модулях;
• число элементов базы данных, включая объекты и их атрибуты;
• общее число уникальных элементов базы данных;
• число различных типов записей в базе данных;
• число модулей с единственным входом и выходом-
На основе перечисленных данных проводится простое определение таких промежуточных величин, как независимость модулей между собой и от предыдущей обработки, размер базы данных и ее разделенность на части и показатель вход/выход модуля. Сумма названных промежуточных величин с соответствующими весовыми коэффициентами, отражающими относительный вес каждого из показателей, дает значение индекса для рассматриваемого проекта. Это значение может быть сопоставлено с индексами прошлых проектов для того, чтобы сделать вывод об уровне качества проекта.
Другой стандарт — индекс завершенности программного изделия
— характеризует стабильность программной продукции при разработке новых версий изделия и связан с изменениями, вносимыми в процессе совершенствования изделия.
Индекс завершенности определяется по формуле
SMI= [ Ml - ( Fa + Fc + Fd)} I Ml,
где Ml — число модулей в текущей версии;
Fc — число измененных модулей в текущей версии;
Fa — число добавленных модулей в текущей версии;
Fd —
число модулей предыдущей версии, исключенных из текущей версии.
Считается, что продукт начинает стабилизироваться, когда SMI приближается к 1. Этот показатель используется также и для планирования деятельности по сопровождению. Среднее время разработки новой версии программного изделия может быть связано с индексом завершенности с помощью простой эмпирической формулы.