Классификация ошибок в зависимости от их места в жизненном цикле программного изделия

Еще одним принципом классификации ошибок может быть их место в жизненном цикле программного изделия.

Можно наметить следующую схему такой классификации.

1. Ошибки при постановке задачи и при составлении ТЗ.

2. Ошибки проектирования.

2.1. Ошибки в структуре ПО.

2.2. Ошибки функциональности отдельных модулей.

2.3. Ошибки программных интерфейсов.

2.4. Ошибки в спецификациях программ.

2.5. Недостатки программы и методики тестирования.

2.6. Ошибки при выборе средств разработки и управления проектом.

3. Ошибки кодирования.

3.1. Опечатки при кодировании.

3.2. Ошибки при реализации спецификаций.

3.3. Не выполнение критериев добротности программы.

3.4. Недостатки оформления и документирования исходных текстов.

4. Ошибки отладки и тестирования.

4.1. Не реализована полностью программа и методика тестирования.

4.2. Не все ошибки отражены в отчете.

4.3. Не все ошибки исправлены.

4.4. Недостатки в документировании ошибок.

5. Ошибки и недочеты в документации на ПО.

6. Ошибки на этапе эксплуатации и модернизации.

6.1. Отсутствие системы сбора ошибок и пожеланий пользователей.

6.2. Не все ошибки фиксируются.

6.3. Отсутствует единые принципы ведения и форматы документов об ошибках.

6.4. Ошибки исправляются не оперативно.

6.5. Обновление системы осуществляется некорректно.

6.6. Исправление одних ошибок приводит к появлению других.

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

Интерес для дальнейшего исследования представляет п.3.1, связанный с опечатками при кодировании. Методы обнаружения и исправления ошибок здесь такие же, как для текстов документов. Они неплохо проработаны и доведены до программной реализации. Для текстов программ, которые написаны на формальном языке, можно предположить более высокие показатели качества этих методов (по сравнению с текстами на естественном языке). Анализ ошибок в текстах и соответствующих методов их обнаружения и исправления, а также их применение для текстов программ, выходит за рамки настоящей статьи.

Также заслуживает внимания и п.3.3, приведенной классификации. Обычно на этом этапе разработки ПО речь идет о плохом стиле программирования. Это понятие до сих пор слабо формализовано и понимается программистами и теоретиками программирования по-разному. Введенное И.В. Поттосиным понятие добротности программы [9] является более емким понятием, характеризующим высококачественное кодирование, нежели, чем понятие стиля программирования. Рассмотрение всего круга вопросов, связанного с добротностью программ и ошибок (недостатков) программы, которые снижают характеристики ее добротности требуют отдельного рассмотрения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: