Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_4510.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
245.69 Кб
Скачать

Проблемы эталонов

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

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

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

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

Сбой – кратковременный отказ.

λ – интенсивность проявления отказов или ошибок.

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

Затраты на обеспечение надежности должны быть сопоставимы с ущербом в следствии отказа системы.

Основные этапы разработки по

Единственно важная причина ошибок в ПО – это неправильный перевод из одного представления в другое.

  1. Разработка описания реальной задачи в виде перечня требований пользователя (который в некоторых случаях пользователь составляет сам). Здесь имеются обширные возможности для появления ошибок. Например, пользователь не сумеет адекватно выразить свои потребности, они могут быть неверно поняты либо учтены не в полном объеме. Ошибки этого уровня обходятся чрезвычайно дорого.

  2. Перевод требований пользователя в цели программы. Ошибки на этом этапе возникают, когда неверно определяются требования.

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

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

    • перевод внешнего описания в структуру программы (например, модуль);

    • перевод каждой из этих компонент в описание процедурных шагов (например, блок-схему).

Т.к. приходится иметь дело со все большим объемом информации шансы внесения ошибок очень высоки.

  1. Перевод описания логики программы в предложения языка программирования. На этом этапе Делается много ошибок, но они легко обнаруживаются и корректируются. На этом этапе есть еще один перевод – перевод текста программы на языке программирования в объектный код (выполняется компиляторами и трансляторами).

  2. В результате работы над программным проектом возникает как само ПО так и документы, описывающие его использование в виде руководств в бумажном или электронном виде. Если возникают ошибки при подготовке документации, то она не будет точно описывать поведение программы (если только на шагах 4 и 6 не сделаны идентичные ошибки). Прочитав руководство пользователь начнет работать с программой и обнаружит, что она ведет себя не так, как он ожидал – это и является, по определению, ошибкой в программе.

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

  4. Прикладные программы взаимодействуют с базовым ПО (таким, например, как ОС). Неправильное понимание документации по базовому ПО – еще один источник ошибок.

  5. Готовая программа состоит из предложений хотя бы одного языка программирования. Непонимание синтаксиса и семантики языка – также причина ошибок.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]