Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 / тп / Venchkovsky.doc
Скачиваний:
113
Добавлен:
19.05.2015
Размер:
515.07 Кб
Скачать

9.3.Категории ошибок в программном обеспечении

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

Ошибки можно систематизировать по этапам разработки про­граммного продукта.

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

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

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

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

5. Серьезные ошибки могут быть допущены при проектирова­нии базы данных (в описании модели, определении типов элемен­тов и структур данных, а также связей между ними, способах обра­щений к данным и т.п.)-

6. Наибольшее число ошибок относится к этапу кодирования и тестирования. Ошибки этой группы исследованы наиболее полно, и для них собран обширный статистический материал-Ошибки при программировании можно просто разделить на синтаксические и логические. Многие синтаксические ошибки обна­руживает транслятор; немало синтаксических ошибок при трансля­ции не обнаруживается.

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

Наиболее распространены следующие ошибки, зафиксирован­ные при разработке программного обеспечения. А- Ошибки в спецификациях.

1. Неполная или неоднозначная спецификация.

2. Некорректное определение проблемы. Б. Ошибки проектирования.

1. Непонимание спецификаций.

2. Некорректный алгоритм решения задачи.

3. Пропуск отдельных шагов и вариантов алгоритма.

4. Ошибки инициализации переменных.

5. Ошибки в управлении циклом,

6. Пропуски отдельных типов данных. В. Ошибки кодирования. 1- Неправильное понимание проектных документов.

2. Ошибки в управляющих структурах.

3. Ошибки форматов ввода/вывода.

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

5. Ошибки инициализации и повторная инициализация.

6. Противоречивые наименования переменных.

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

8. Ошибки в записи математических выражений.

9. Переполнение, потеря значимости или точности.

10. Логические ошибки.

11 - Отсутствие проверки флажка и контроля установки началь­ных значений.

12. Ошибки в операциях манипулирования данными.

13. Ошибки в пользовательском интерфейсе и в сопряжениях с системным программным обеспечением. Г. Ошибки тестирования и отладки.

1. Неадекватные тестовые наборы данных.

2. Недостаточное или некорректное использование тестовых вариантов и данных.

3. Неправильная интерпретация результатов тестирования.

4. Неправильные выводы о причинах ошибки и се источнике.

5. Неправильное понимание программной спецификации при выборе тестовых наборов данных. Д. Ошибки в описании базы данных. 1- Ошибки в сопряжениях с базой данных.

2. Ошибки в словарной базе метаданных.

3. Ошибки в инициализации базы данных. Е. Канцелярские ошибки.

1. Описки.

2. Неверное использование клавиш.

3. Пропуск или перестановка строк программы. Ж. Внешние ошибки.

1. Отказы технических устройств.

2. Реакция программного обеспечения на сбои в работе техни­ческих устройств.

3. Ошибки из-за аварийных ситуаций, возникающих в других системах, с которыми взаимодействует рассматриваемое про­граммное изделие. 3. Ошибки в документации.

Вероятность появления ошибок перечисленных категорий зави­сит от многих факторов, но, как показывает анализ, наиболее рас­пространены логические ошибки (20—35%), ошибки манипулирова­ния данными, ошибки внешних и внутренних интерфейсов, описа­ний данных (каждая категория от 5 до 20%).

Соседние файлы в папке тп