Разработка сложных программных изделий


Измерение качества программного изделия


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

1. Сбор и классификацию информации о дефектах программных изделий.

2. Выявление причин каждого дефекта путем подробного анали­за дефектов и их трассировки.

3. Выявление наиболее существенных причин дефектов в про­граммной продукции на основе использования принципа Парето (80% всех дефектов обусловлены 20% возможных причин).

4. Устранение наиболее существенных причин, вызывающих де­фекты в программном изделии.

Тщательная систематизация статистической информации позво­ляет выявить причины появления ошибок. Это может быть:

• неполнота или ошибочность спецификаций;

• неправильная интерпретация информации заказчика;

• умышленное отклонение от спецификаций;

• нарушение стандартов программирования;

• ошибки в представлении данных;

• несовместимые интерфейсы между модулями;

• ошибки в логике проектных решений;



• неполное или ошибочное тестирование;

• неточная или неполная документация;

• неоднозначность и противоречивость человеко-машинного ин­терфейса.

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

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

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

• общее число модулей в архитектурном проекте;

• число модулей, чье правильное функционирование зависит от источника входных данных или которые порождают данные, ис­пользующиеся в других модулях;

• число элементов базы данных, включая объекты и их атрибу­ты;

• общее число уникальных элементов базы данных;

• число различных типов записей в базе данных;

• число модулей с единственным входом и выходом-

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

Другой стандарт — индекс завершенности программного изде­лия

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

Индекс завершенности определяется по формуле

SMI= [ Ml - ( Fa + Fc + Fd)} I Ml,

где Ml — число модулей в текущей версии;

Fc — число измененных модулей в текущей версии;

Fa — число добавленных модулей в текущей версии;

Fd —

число модулей предыдущей версии, исключенных из теку­щей версии.

Считается, что продукт начинает стабилизироваться, когда SMI приближается к 1. Этот показатель используется также и для пла­нирования деятельности по сопровождению. Среднее время разра­ботки новой версии программного изделия может быть связано с индексом завершенности с помощью простой эмпирической форму­лы.


Содержание раздела