Ошибки программного обеспечения. Принципы обеспечения примитивов качества

Страницы работы

29 страниц (Word-файл)

Содержание работы

Ошибки программного обеспечения Цель: Получить знания об ошибках ПО

Вспомните определение понятия «Качество программного средства».

Примитивы и критерии качества

Качество ПС (Quality) - совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователя. Обеспечение качества ПС, прежде всего, основывается на обеспечении элементарных свойств, которые в совокупности образуют нужное качество. Для конкретизации качества ПС необходимо интерпретировать набор простых его свойств - примитивов качества.

Назовите принципы обеспечения примитивов качества.

Принципы обеспечения примитивов качества

  1. Необходимо обеспечивать требуемую функциональность и надежность, а затем доводить основные критерии качества до приемлемого уровня их присутствии в ПС.
  2. Вредно добиваться высокого уровня присутствием в ПС какого-либо конкретного примитива качества, чем те, которые
  3. определены спецификацией качества.

Перечислите примитивы качества.

Примитивы качества

1. Завершенность 2. Точность 3. Автономность 4. Устойчивость 5. Защищенность 6. П-документированность 7. Информативность 8. Коммуникабельность 9. Временная эффективность 10. Эффективность по ресурсам

Примитивы качества

11. Эффективность по устройствам 12. С-документированность 13. Понятность 14. Структурированность 15. Удобочитаемость 16. Расширяемость 17. Модифицируемость 18. Модульность 19. Независимость от устройств

Какие примитивы влияют на функциональность и надежность ПС.

Функциональность: завершенность Надежность: завершенность, точность, автономность, устойчивость, защищенность Лёгкость применения: устойчивость, защищенность, п-документированность, информативность, коммуникабельность Эффективность: временная эффективность, эффективность по устройствам

Сопровождаемость: информативность, с-документированность, понятность, структурированность, удобочитаемость, расширяемость, модифицируемость, модульность Мобильность: автономность, структурированность, модульность, независимость от устройств

Дайте определение корректности или правильности программы.

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

ОШИБКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

1. Понятие об ошибке

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

2. Источники ошибок программного изделия

  • Формулировка требований - неправильная запись требований к выполняемой задаче
  • Описание целей - неполное описание всех целей задачи.
  • Спецификация проблемы - недостаточно полно отражены особенности задачи.
  • Разработка компонентов - неправильное, неполное составление отдельных частей (модулей) исходной задачи.

  • Программа памяти - неправильная установка ячеек памяти, как для всей программы, так и для ее отдельных частей (компонентов).
  • Изготовление документации - некорректное составление документов на программу.
  • Спецификация оборудования - недостаточно полно (совсем) установлены особенности применяемого оборудования при решении исходных задач.
  • Спецификация общего программного средства - не выявлены особенности данного ПС.

  • Спецификация языков программирования - неправильный выбор языка программирования для выполнения исходной задачи.
  • Применение программного изделия - неправильное применение исходной программы для решения более крупных задач.
  • Поддержка (корректировка) программного изделия - неполное усовершенствование (никакого изменения) готового программного изделия.

3. Классификация ошибок

I. Технологические ошибки - возникают на любых этапах создания программы и составляют 5-10 % от общего числа ошибок, обнаруженных при отладке. II. Программные ошибки Количество программных ошибок зависит от квалификации разработчиков, от общего объема комплекса программ, от глубины логического и информационного взаимодействия модулей и ряда других факторов. Они появляются на стадии составления программ и составляют 1/3 от всех ошибок.

  • Программные ошибки могут классифицироваться по видам используемых операций на следующие группы:
  • ошибки типов операций;
  • ошибки переменных;
  • ошибки управления и циклов.

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

Самостоятельно изучите категории программных ошибок, которые наиболее часто встречаются. Учебник А.В.Рудаков «Технология разработки программных продуктов» § 10.3 стр. 129.

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

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

IV. Системные ошибки Определяются, прежде всего, неполной информацией о реальных процессах, происходящих в источниках и потребителях информации. Они возникают на начальных этапах проектирования, когда точно не сформулирована целевая задачи всей системы. При автономной и в начале комплексной отладки доля системных ошибок невелика (около 10%), но она существенна возрастает (до 35-40 %) на завершающих этапах комплексной отладки. В процессе эксплуатации системные ошибки являются преобладающими (около 80 % от всех ошибок). Для корректировки системных ошибок приходится использовать около 25 команд.

4. Основные пути борьбы с ошибками

  • 1. Избежание ошибок.
  • Для этого используют:
  • минимизацию сложности;
  • достижение точности реализации процессов создания программ
  • совершенствование;
  • немедленное обнаружение и устранение ошибок

  • 2. Обнаружение:
  • организация проверки любых входных данных,
  • организация проверки любых входных данных на известные ограничения;
  • организация полноты проверки на наличие ошибок.

  • 3. Локализация:
  • применения принципа взаимного подозрения;
  • применения принципа немедленного обнаружения;
  • устранение найденной ошибки любым методом, который может быть применен.

Домашнее задание: Найти и классифицировать ошибки в программе. Литература: А.В.Рудаков «Технология разработки программных продуктов» § 10.3 стр. 129.

Похожие материалы

Информация о работе