Что такое первичные ошибки

1

Первый слайд презентации

ТЕМА №4
Корректность ПС
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

2

Слайд 2: Рассматриваемые вопросы

Основные понятия и виды корректности программ.
Типы эталонов и методы измерений и проверки корректности программ.
Ошибки в ПС (количественное описание ошибок, классификационная схема программных ошибок, источники ошибок).
Управление технологической безопасностью ПС и данных
МиКПО

Рассматриваемые вопросы

Изображение слайда

Корректность комплексов программ
Корректность
текстов
программ
Синтаксическая
Корректность
программных
модулей
Корректность
данных
Корректность
групп и комплексов
программ
Семантическая
Структурная
Функциональная
Структурная
Конкретных
значений
Структурная и
межмодульных
связей
Функциональная
Детерминированная
Стохастическая
Детерминированная
Динамическая
Стохастическая
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

КОНСТРУКТИВНАЯ
Заключается в соответствии их структуры общим правилам структурного программирования и конкретным правилам оформления и внутреннего построения программных модулей.
данных
модулей
ФУНКЦИОНАЛЬНАЯ
Определяется корректностью обработки исходных данных и получения результатов.
КОНСТРУКТИВНАЯ
Определяется правилами их структурирования и упорядочения.
ФУНКЦИОНАЛЬНАЯ
Связана, в основном, с конкретизацией их содержания в процессе исполнения программ, а также при подготовке данных внешними абонентами.
МиКПО

Корректность

Изображение слайда

5

Слайд 5: Корректность групп программ

КОНСТРУКТИВНАЯ
Определяется правилами структурного, модульного построения программных комплексов и общими правилами организации межмодульных связей. Эта составляющая может быть проверена формализованными автоматизированными методами.
ФУНКЦИОНАЛЬНАЯ
Можно разделить на:
детерминированную корректность – обеспечивается тогда, когда между исходными и результирующими данными используемых программ и определенными эталонными значениями устанавливается однозначное соответствие
стохастическую корректность – результирующие и исходные данные соответствуют распределениям случайных величин
динамическую корректность – соответствие изменяющихся во времени результатов исполнения программ эталонным данным
МиКПО

Корректность групп программ

Изображение слайда

6

Слайд 6: Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов

Модель области
определения исходных данных
Эталоны:
формализованные правила;
программные спецификации;
тесты
Проверяемые программы:
исходные тесты;
результаты исполнения
Средства сравнения программ
и их результатов с эталонами
Отклонение от эталонов
МиКПО

Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов

Изображение слайда

Методы получения
эталонных значений
ручные или на ЭВМ расчеты
по аналитическим формулам
использование результатов
функционирования ранее
разработанных реальных комплексов
программ или их компонент
разработка упрощенных
или обобщенных математических
моделей проверяемых программ
разработка правдоподобных
гипотез и постановка
умозрительных экспериментов
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

8

Слайд 8: Верификация программ и инварианты

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

Верификация программ и инварианты

Изображение слайда

9

Слайд 9: Блок-схема системы верификации программных модулей

Разработчик
программы
Текст программы
на языке
Автоматическая генерация
инвариантов верификации
Контроль исходных данных
и дополнение условий верификации
Группирование условий верификации
по этапам доказательства корректности
Доказательство корректности
компонент программы
Доказательство корректности взаимодействия
компонент и программы в целом
Спецификации на
программный модуль
Синтаксический контроль
корректности спецификаций
МиКПО

Блок-схема системы верификации программных модулей

Изображение слайда

10

Слайд 10: Понятие ошибки

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

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

Изображение слайда

11

Слайд 11: Первичные и вторичные ошибки (часть 1)

Первичные ошибки – это искажения в тексте программ, подлежащие корректировке. Однако непосредственно обнаруживается ошибка по ее вторичным проявлениям, путем сравнения результатов функционирования программы с одним из перечисленных выше типов эталонов. Искажение выходных результатов исполнения программы, или вторичная ошибка, вызывает необходимость выполнения ряда операций по локализации и устранению первичной ошибки.
В первом приближении величину вторичной ошибки в j -х результатах решения задачи за счет пропущенных при отладке первичных ошибок можно оценить статистически следующим образом:
Если принять, что при длительности отладки величина есть вероятность наличия в программе первичной ошибки k -го типа, которая при исполнении программы вносит в результирующую j -ю переменную дополнительную ошибку, то значение вторичной ошибки у j -й переменной можно представить выражением
,
где m – полное количество типов, не выявленных в программе, первичных ошибок.
МиКПО

Первичные и вторичные ошибки (часть 1)

Изображение слайда

12

Слайд 12: Первичные и вторичные ошибки (часть 2)

Формальная оценка значений и затруднительна, в лучшем случае их можно оценить методами экспертного опроса при условии четкой предварительной классификации m типов первичных ошибок в программах (индекс k ) и q выходных величин (индекс j ). Тогда можно получить общую средневзвешенную ошибку функционирования системы вследствие не выявленных первичных ошибок:
Потеря эффективности программ за счет неполной отлаженности в первом приближении можно считать прямо пропорциональным (с коэффициентом ) среднеквадратическим вторичным ошибкам в выходных результатах:
МиКПО

Первичные и вторичные ошибки (часть 2)

Изображение слайда

13

Слайд 13: Первичные и вторичные ошибки (итог)

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

Первичные и вторичные ошибки (итог)

Изображение слайда

14

Слайд 14: Классификационная схема ошибок

Классификационная схема ошибок

Изображение слайда

ОБЕСПЕЧЕНИЕ ТЕХНОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ
ПС И БД
МиКПО

Тема

Изображение слайда

16

Слайд 16: Основные понятия

Безопасность данных – защита данных от случайного или преднамеренного разрушения, раскрытия или модификации.
Секретность – право лица решать, какую информацию он желает разделить с другими, а какую скрыть.
Конфиденциальность – понятие, которое употребляется по отношению к данным; это статус, предоставленный данным и согласованный между лицом или организацией, предоставляющей данные, и организацией, получающей данные. Конфиденциальность определяет требуемую степень защиты данных.
Целостность – имеет место тогда, когда данные в системе не отличаются от данных в исходных документах, т.е. не произошло случайного или преднамеренного изменения данных, их уничтожения.
МиКПО

Основные понятия

Изображение слайда

17

Слайд 17: Цели обеспечения безопасности использования программ и данных

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

Цели обеспечения безопасности использования программ и данных

Изображение слайда

18

Слайд 18: Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз

Объекты уязвимости
вычислительный процесс
информация БД
объектный код программ
информация для потребителей
Дестабилизирующие факторы и угрозы безопасности
Внутренние:
ошибки проектирования при постановке задач
ошибки алгоритмизации задач
ошибки программирования
недостаточное качество средств защиты
Внешние:
ошибки персонала при эксплуатации
искажения информации в каналах
сбои и отказы аппаратуры ЭВМ
изменения конфигурации системы
Меры предотвращения угроз безопасности
предотвращение ошибок в CASE -технологиях
систематическое тестирование
обязательная сертификация
Оперативные методы повышения безопасности
временная избыточность
информационная избыточность
программная избыточность
Последствия нарушения безопасности
разрушение вычислительного процесса
разрушение информации БД
разрушение текста программ
разрушение информации для потребителей
Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз
МиКПО

Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз

Изображение слайда

19

Слайд 19: Оперативные методы повышения безопасности

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

Оперативные методы повышения безопасности

Изображение слайда

20

Последний слайд презентации: ТЕМА №4
Корректность ПС
МиКПО

КОНЕЦ ТЕМЫ №4
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

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

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

Различают
три основные варианта зависимостей,
реализуемых в вычислительных устройствах.

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

  1. Эта
    зависимость может быть дифференциальной
    и иметь вид
    .
    Например, для интегратора эта зависимость
    имеет вид

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

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

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

Величины,
характеризующие элементы реального
устройства имеют значения, отличные от
расчетных значений
и равны.

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

.

Разложив
правую часть выражения для
в ряд по степениполучающегося из формулы Тэйлора

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

.

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

Относительная
функция чувствительности
определяется
выражением

.

3.3. Методы суммирования случайных ошибок

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

.

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

Он
применим также, если при разложении
в степенной ряд по величинамвсе смешанные частые производные равны
нулю.

Частные производные
еще называют коэффициентами чувствительности
по данному параметру.

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

— максимума-минимума;

— квадратичного
суммирования:

— статического
суммирования (теоретико-вероятностный
метод).

По
методу максимума-минимума
полную ошибку находят арифметическим
суммированием предельных значений всех
ошибок:

,

при
этом все положительные оценки складываются
отдельно, все отрицательные – отдельно.

Этот метод дает
завышенные значения суммарных ошибок
(за счет действия случайных ошибок).

По
методу квадратичного
сложения

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

По
теоретико-вероятностному
методу

осуществляется:

а)
алгебраическое суммирование математических
ожиданий случайных
и систематических составляющих ошибок:

,

.

б)
квадратичное суммирование
среднеквадратических значений случайных
ошибок
:

,

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

в)
закон распределения погрешности равен
композиции законов составляющих
погрешностей.

Теоретико-вероятностный
метод дает наиболее точные результаты.

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

Рис. 3.2. Нормальный
и равновероятный закон распределения.

Литература:

1.
Д.А. Браславский, В.В. Петров, «Точность
измерительных устройств», Москва,
Машиностроение, 1976г.

2.
Э.И. Соренков, А.И. Телегина, А.С. Шаталов,
«Точность измерительных устройств»,
Москва, Машиностроение.

3. А.С. Бруевич,
Б.Г. Постухов «Основы счетно-решающих
устройств», 1964г.

4.
http://www.eltech.spb.ru/pdf/A_D/2.pdf

Соседние файлы в папке Для экзамена

  • #
  • #
  • #
  • #
  • #
  • #

С этим файлом связано 1 файл(ов). Среди них: Rekun.docx.
Показать все связанные файлы


Подборка по базе: Тема 3. Преступность и ее основные характеристики.Файл.pdf, Библиотековедение. Основные виды деятельности в библиотечном дел, Локализация поражений мозга и основные принципы локализации высш, Радиационные аварии виды, причины, основные опасные факторы и ис, Реферат Основные акушерско 2022.doc, Нефтяные битумы. Основные показатели качества нефтяных битумов.d, Расположите основные этапы мировоззрения в порядке их становлени, Структура социокультурного пространства ночного города и ее осно, Анализ учебников с 1 по 4 класс по русскому языку и основные пон, Приорнтетные цели и основные механизмы воздействия органов госуд


  1. CALS-технологии

CALS-технологии это непрерывная информационная поддержка поставок и жизненного цикла изделий, или ИПИ (информационная поддержка процессов жизненного цикла изделий) — информационные технологии, используемые в управлении процессами жизненного цикла изделия или системы, в основном для сложных (высокотехнологичных и наукоёмких) образцов продукции машиностроения и иных объектов техники.

В общем виде CALS-технологии — это процесс создания единого информационного пространства в отдельно взятой системе обеспечения жизненного цикла продукции. С развитием производственных систем возникла необходимость разработки механизмов и процедур оперативного обмена данными между различными субъектами производственных отношений на разных этапах использования изделий.

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

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

Основные принципы CALS-технологий базируются на контроле и организации этапов существования продукции. К ним относят:

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

Создание информационной плоскости предполагает решение задачи на двух уровнях:

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

К преимуществам интегрированной среды можно отнести:

  • Защиту данных во времени (обеспечение целостности);
  • Обеспечение доступа к информации всех участников проекта, независимо от их положения в пространстве;
  • Минимизацию потерь данных;
  • Гибкость реагирования системы на внесенные коррективы (изменения доступны практически мгновенно в рамках всей системы);
  • Повышение пропускной способности обработки данных;
  • Широкие возможности разнообразных платформ проектирования и поддержки.

Перспективы применения CALS на промышленных предприятиях заключаются в формировании специализированной организационно-информационной среды, позволяющей:

  • Значительно увеличить уровень кооперации различных производств за счет однородных стандартов обработки информации;
  • Снизить влияние территориального расположения предприятий и тем самым ограничить влияние расстояний на эффективность взаимодействия;
  • Создать виртуальные элементы производств, позволяющих контролировать процессы проектирования, производства и эксплуатации изделий на уровне отдельных практических задач;
  • Защитить результаты работы на основе преемственности результатов работы на всех этапах жизненного цикла продукции;
  • Оптимизировать затраты за счет снижения бумажных составляющих документооборота;
  • Использовать «прозрачность» процессов управления и контроля, благодаря разработке интегрированных моделей;
  • Создать мощную информационную поддержку всех этапов цикла производства;
  • Создать общую систему стандартизации информации об изделии;
  • Обеспечить требуемый уровень качества продукции.

Применение основ CALS-технологий крайне важно для соответствия уровня развития предприятия современным тенденциям на международной промышленной арене.

Примерами CALS-технологий являются цифровые методы проектирования производств, поддерживающие контроль жизненного цикла продукции (Product LifecycleManagement) — так называемые PLM-системы. К ним относят следующие классы систем:

  • CAD – (Computer Aided Design) – решение задач проектирования изделий и элементов; моделирование объектов на плоскости (2D-модель) и в пространстве (3D-модель); средства получения чертежей; архивы данных по элементам конструкций и создание шаблонов документов.
  • CAE – (Computer Aided Engineering) – исследование свойств объектов (при изготовлении и эксплуатации); создание проверочных систем анализа объекта по разработанной модели; оптимизация параметров объекта по заданным условиям и ограничениям.
  • CAM — (Computer Aided Manufacturing) – программирование контроллеров станков с ЧПУ; исследование вариантов траектории инструмента по алгоритмам обрабатываемой поверхности; анализ геометрических конфликтов; подгонка к оборудованию.
  • PDM — (Product Data Management) — хранение данных и контроль документации; создание архива образцов; обеспечение доступа к информации и ее защита.

CALS-технологии — это прежде всего методика информационной поддержки бизнес процессов, которая нашла свое применение в различных сферах производственной деятельности. Эффективность ее распространения и использования базируется на системной разработке соответствующей информационной среды. Для реализации данной цели необходимым условием является использование специальных композиционных подходов по формированию новых систем поддержки. Примером подобной компании на рынке России является НИЦ CALS-технологий «Прикладная логистика». Основные задачи компании лежат в плоскости прогрессивных платформ и нормативов их использования. Основными направлениями деятельности есть: осуществление оперативного наблюдения различных проектных данных и минимизация потерь продукции. НИЦ CALS-технологий — разработчик нескольких известных авторских платформ. Сделаем их краткий обзор.

Еще одной важной функцией вычислительных методов является управление различными ресурсами и потоками предприятия в реальном времени — материально-техническими, финансовыми, процессами складирования, персоналом, планированием и сбытом продукции. Системы, реализующие выполнение перечисленных задач относятся к ERP-системам (Enterprise Resource Planning − управление ресурсами предприятия).

Такие системы представляют новую методологию управление CALS-технологиями, которая реализует требуемый функционал на основе специальной информационной инфраструктуры.

К типовым функциям данного класса программных продуктов относят:

  • Создание и контроль различных спецификаций (позволяют определить конечное изделие, учесть все необходимые ресурсы для производства);
  • Управление сбытом продукции (прогноз реализации изделия на основе планов продаж);
  • Анализ потребности в материалах (определение размера партий и сроков поставок, конкретных групп сырья и комплектующих);
  • Организацию закупочной деятельности (формирование договоров о поставках, оптимизация складской деятельности предприятия);
  • Планирование загрузки производственных мощностей (на уровне как всего предприятия, так и отдельных цехов или рабочих мест);
  • Контроль финансовых ресурсов (учет и аудит финансов).

CALS-технологии в России используются на многих отечественных предприятиях, как гражданского, так и военного сектора. Электронная документация используется для многих изделий. К примеру, в авиации для самолетов, вертолетов, авиационных двигателей и комплектующих. Помимо этого, ведутся разработки систем навигации, телефонной и радио связи, управления. Применяются при проектировании и разработке автотракторной техники. Элементы системы используются на Воронежском механическом заводе, в государственной корпорации «Росатом», НПП «Аэросила», ОАО «Российские железные дороги» и др. Как видим, примеры CALS-технологии достаточно разнообразны.

2 Первичные ошибки, вторичные ошибки и их проявления

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

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

Распределение выявленных ошибок

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

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

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

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

Ошибку можно отнести к одному из ниже перечисленных классов:

  • системные ошибки;
  • ошибки в выборе алгоритма;
  • алгоритмические ошибки;
  • технологические ошибки;
  • программные ошибки.

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

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

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

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

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

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

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

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

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

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

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

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

Технологические ошибки — это ошибки документации и фиксирования программ в памяти ЭВМ. Они составляют 5—10 % от общего числа ошибок, обнаруживаемых при отладке. Большинство технологических ошибок выявляются автоматически формализованными методами (например, транслятором).

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

Первичная ошибка

Cтраница 1

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

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

Первичные ошибки могут быть скалярными и векторными, плоскими и пространственными. Плоская векторная ошибка может быть заменена двумя скалярными, пространственная — тремя скалярными.
 [3]

Первичные ошибки могут быть скалярными или векторными, плоскими и пространственными. Плоская векторная ошибка может быть заменена двумя скалярными, пространственная — тремя скалярными.
 [4]

Первичные ошибки, вызванные неточностью изготовления деталей, называются технологическими ошибками, а ошибки, козникшие в процессе работы механизма из-за износа, тепловых и силовых деформаций, — эксплуатационными.
 [5]

Первичные ошибки — на той стадии, когда происходит первичное преобразование контролируемой категории в фиксированную запись в некотором документе или при формировании кодограммы. Первичное преобразование в настоящее время в большинстве случаев производится вручную.
 [6]

Первичные ошибки могут быть скалярными или векторными, плоскими и пространственными. Плоская векторная ошибка может быть заменена двумя скалярными, пространственная — тремя скалярными.
 [7]

Первичные ошибки от зазоров обозначаются значком /, который ставится у знаков суммирования ошибок.
 [8]

Систематические первичные ошибки ( деформации деталей) вычисляются по исходным формулам этих ошибок.
 [9]

Обычно первичные ошибки отсчитывают не от произвольно выбранных осей, а от координатных, связанных с элементами кинематических пар.
 [10]

Рассмотренные первичные ошибки по-разному влияют на суммарную ошибку как по самой своей природе, так и вследствие положения их в различных участках цепи механизма. Необходимо установить связь между величиной первичной ошибки и величиной соответствующей составляющей в суммарной ошибке механизма.
 [11]

Первичные ошибки сложного механизма складываются из первичных ошибок составляющих элементарных механизмов. Для определения коэффициентов влияния этих ошибок требуются некоторые простейшие преобразования.
 [12]

Рассмотрим первичные ошибки, вызванные погрешностями производства.
 [13]

Все первичные ошибки разделяются также на систематические и случайные. Случайные ошибки возникают при изготовлении в зависимости от ряда факторов и проявляются в рассеянии размеров однотипных деталей. Значение каждой из случайных ошибок невозможно заранее предвидеть.
 [14]

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

Страницы:  

   1

   2

   3

   4

2.2. Первичное выявление ошибок

В течение многих лет большинство программистов убеждено в том, что программы пишутся исключительно для выполнения их на машине и не предназначены для чтения человеком, а единственным способом тестирования программы является ее исполнение на ЭВМ. Это мнение стало изменяться в начале 70-х годов в значительной степени благодаря книге Вейнберга «Психология программирования для ЭВМ» [9]. Вейнберг показал, что программы должны быть удобочитаемыми и что их просмотр должен быть эффективным процессом обнаружения ошибок.

По этой причине, прежде чем перейти к обсуждению традиционных методов тестирования, основанных на применении ЭВМ, рассмотрим процесс тестирования без применения ЭВМ («ручное тестирование»), являющийся по сути первичным обнаружением ошибок. Эксперименты показали, что методы ручного тестирования достаточно эффективны с точки зрения нахождения ошибок, так что один или несколько из них должны использоваться в каждом программном проекте. Описанные здесь методы предназначены для периода разработки, когда программа закодирована, но тестирование на ЭВМ еще не началось. Аналогичные методы могут быть получены и применены на более ранних этапах процесса создания программ (т. е. в конце каждого этапа проектирования). Некоторые из таких методов приводятся в работах [10] и [11].

Следует заметить, что из-за неформальной природы методов ручного тестирования (неформальной с точки зрения других, более формальных методов, таких, как математическое доказательство корректности программ) первой реакцией часто является скептицизм, ощущение того, что простые и неформальные методы не могут быть полезными. Однако их использование показало, что они не «уводят в сторону». Скорее эти методы способствуют существенному увеличению производительности и повышению надежности программы. Во-первых, они обычно позволяют раньше обнаружить ошибки, уменьшить стоимость исправления последних и увеличить вероятность того, что корректировка произведена правильно. Во-вторых, психология программистов, по-видимому, изменяется, когда начинается тестирование на ЭВМ. Возрастает внутреннее напряжение и появляется тенденция «исправлять ошибки так быстро, как только это возможно». В результате программисты допускают больше промахов при корректировке ошибок, уже найденных во время тестирования на ЭВМ, чем при корректировке ошибок, найденных на более ранних этапах.

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

2.3. Инспекции и сквозные просмотры

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

Инспекции и сквозные просмотры включают в себя чтение или визуальную проверку программы группой лиц. Эти методы развиты из идей Вейнберга [9]. Оба метода предполагают некоторую подготовительную работу. Завершающим этапом является «обмен мнениями» – собрание, проводимое участниками проверки. Цель такого собрания – нахождение ошибок, но не их устранение (т. е. тестирование, а не отладка).

Инспекции и сквозные просмотры широко практикуются в настоящее время, но причины их успеха до сих пор еще недостаточно выяснены. Заметим, что данный процесс выполняется группой лиц (оптимально три-четыре человека), лишь один из которых является автором программы. Следовательно, программа, по существу, тестируется не автором, а другими людьми, которые руководствуются изложенными ранее принципами (в разделе 1), обычно не эффективными при тестировании собственной программы. Фактически «инспекция» и «сквозной просмотр» – просто новые названия старого метода «проверки за столом» (состоящего в том, что программист просматривает свою программу перед ее тестированием), однако они гораздо более эффективны опять-таки по той же причине: в процессе участвует не только автор программы, но и другие лица. Результатом использования этих методов является, обычно, точное определение природы ошибок. Кроме того, с помощью данных методов обнаруживают группы ошибок, что позволяет в дальнейшем корректировать сразу несколько ошибок. С другой стороны, при тестировании на ЭВМ обычно выявляют только симптомы ошибок (например, программа не закончилась или напечатала бессмысленный результат), а сами они определяются поодиночке.

Ранее, более двух десятков лет, проводились широкие эксперименты по применению этих методов, которые показали, что с их помощью для типичных программ можно находить от 30 до 70 % ошибок логического проектирования и кодирования. (Однако эти методы не эффективны при определении ошибок проектирования «высокого уровня», например, сделанных в процессе анализа требований.) Так, было экспериментально установлено, что при проведении инспекций и сквозных просмотров определяются в среднем 38 % общего числа ошибок в учебных программах [12]. При использовании инспекций исходного текста в фирме IBM эффективность обнаружения ошибок составляла 80 % [13] (в данном случае имеется в виду не 80 % общего числа ошибок, поскольку, как отмечалось ранее, общее число ошибок в программе никогда не известно, а 80 % всех ошибок, найденных к моменту окончания процесса тестирования).

Конечно, можно критиковать эту статистику в предположении, что ручные методы тестирования позволяют находить только «легкие» ошибки (те, которые можно просто найти при тестировании на ЭВМ), а трудные, незаметные или необычные ошибки можно обнаружить только при тестировании на машине. Однако проведенное исследование показало, что подобная критика является необоснованной [14]. Кроме того, можно было бы утверждать, что ручное тестирование «морально устарело», но если обратить внимание на список типовых ошибок, то они до сих пор остались прежними и увеличит ли скорость тестирования ЭВМ не всегда очевидно. Но то, что эти методы стали совсем непопулярными – это факт. Бесспорно, что каждый метод хорош для своих типов ошибок и сочетание методов ручного тестирования и тестирования с применением ЭВМ для конкретной команды разработчиков представляется наиболее эффективным подходом; эффективность обнаружения ошибок уменьшится, если тот или иной из этих подходов не будет использован.

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

2.3.1. Инспекции исходного текста

Инспекции исходного текста представляют собой набор процедур и приемов обнаружения ошибок при изучении (чтении) текста группой специалистов [Fagan M. E. Design and Code Inspections to Reduce Errors in Program Development. – IBM Systems J., 1976, 15(3), p. 182–211.5]. При рассмотрении инспекций исходного текста внимание будет сосредоточено в основном на методах, процедурах, формах выполнения и т. д.

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

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

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

Председатель является ответственным за обеспечение результативности дискуссии. Ее участники должны сосредоточить свое внимание на нахождении ошибок, а не на их корректировке. (Корректировка ошибок выполняется программистом после инспекционного заседания.)

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

В большинстве примеров описания процесса инспектирования утверждается, что во время инспекционного заседания ошибки не должны корректироваться. Однако существует и другая точка зрения [16]: «Вместо того, чтобы сначала сосредоточиться на основных проблемах проектирования, необходимо решить второстепенные вопросы. Два или три человека, включая разработчика программы, должны внести очевидные исправления в проект с тем, чтобы впоследствии решить главные задачи. Однако обсуждение второстепенных вопросов сконцентрирует внимание группы на частной области проектирования. Во время обсуждения наилучшего способа внесения изменений в проект кто-либо из членов группы может заметить еще одну проблему. Теперь группе придется рассматривать две проблемы по отношению к одним и тем же аспектам проектирования, объяснения будут полными и быстрыми. В течение нескольких минут целая область проекта может быть полностью исследована и любые проблемы станут очевидными… Как упоминалось выше, многие важные проблемы, возникавшие во время обзоров блок-схем, были решены в результате многократных безуспешных попыток решить вопросы, которые на первый взгляд казались тривиальными».

Время и место проведения инспекции должны быть спланированы так, чтобы избежать любых прерываний инспекционного заседания. Его оптимальная продолжительность, по-видимому, лежит в пределах от 90 до 120 мин. Так как это заседание является экспериментом, требующим умственного напряжения, увеличение его продолжительности ведет к снижению продуктивности. Большинство инспекций происходит при скорости, равной приблизительно 150 строк в час. При этом подразумевается, что большие программы должны рассматриваться за несколько инспекций, каждая из которых может быть связана с одним или несколькими модулями или подпрограммами.

Для того чтобы инспекция была эффективной, должны быть установлены соответствующие отношения. Если программист воспринимает инспекцию как акт, направленный лично против него, и, следовательно, занимает оборонительную позицию, процесс инспектирования не будет эффективным. Программист должен подходить к нему с менее эгоистических позиций [9]; он должен рассматривать инспекцию в позитивном и конструктивном свете: объективно инспекция является процессом нахождения ошибок в программе и таким образом улучшает качество его работы. По этой причине, как правило, рекомендуется результаты инспекции считать конфиденциальными материалами, доступными только участникам заседания. В частности, использование результатов инспекции руководством может нанести ущерб целям этого процесса.

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

Наконец, инспекция является способом раннего выявления наиболее склонных к ошибкам частей программы, позволяющим сконцентрировать внимание на этих частях в процессе выполнения тестирования на ЭВМ (один из принципов тестирования [Error: Reference source not found]).

2.3.2. Сквозные просмотры

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

Подобно инспекции, сквозной просмотр проводится как непрерывное заседание, продолжающееся один или два часа. Группа по выполнению сквозного просмотра состоит из 3–5 человек. В нее входят председатель, функции которого подобны функциям председателя в группе инспектирования, секретарь, который записывает все найденные ошибки, и специалист по тестированию. Мнения о том, кто должен быть четвертым и пятым членами группы, расходятся. Конечно, одним из них должен быть программист. Относительно пятого участника имеются следующие предположения: 1) высококвалифицированный программист; 2) эксперт по языку программирования; 3) начинающий (на точку зрения которого не влияет предыдущий опыт); 4) человек, который будет, в конечном счете, эксплуатировать программу; 5) участник какого-нибудь другого проекта; 6) кто-либо из той же группы программистов, что и автор программы.

Начальная процедура при сквозном просмотре такая же, как и при инспекции: участникам заранее, за несколько дней до заседания, раздаются материалы, позволяющие им ознакомиться с программой. Однако эта процедура отличается от процедуры инспекционного заседания. Вместо того, чтобы просто читать текст программы или использовать список ошибок, участники заседания «выполняют роль вычислительной машины». Лицо, назначенное тестирующим, предлагает собравшимся небольшое число написанных на бумаге тестов, представляющих собой наборы входных данных (и ожидаемых выходных данных) для программы или модуля. Во время заседания каждый тест мысленно выполняется. Это означает, что тестовые данные подвергаются обработке в соответствии с логикой программы. Состояние программы (т. е. значения переменных) отслеживается на бумаге или доске.

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

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

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

2.3.3. Проверка за столом

Третьим методом ручного обнаружения ошибок является применявшаяся ранее других методов «проверка за столом». Проверка за столом может рассматриваться как проверка исходного текста или сквозные просмотры, осуществляемые одним человеком, который читает текст программы, проверяет его по списку ошибок и (или) пропускает через программу тестовые данные.

Большей частью проверка за столом является относительно непродуктивной. Это объясняется прежде всего тем, что такая проверка представляет собой полностью неупорядоченный процесс. Вторая, более важная причина заключается в том, что проверка за столом противопоставляется одному из принципов тестирования [Error: Reference source not found], согласно которому программист обычно неэффективно тестирует собственные программы. Следовательно, проверка за столом наилучшим образом может быть выполнена человеком, не являющимся автором программы (например, два программиста могут обмениваться программами вместо того, чтобы проверять за столом свои собственные программы), но даже в этом случае такая проверка менее эффективна, чем сквозные просмотры или инспекции. Данная причина является главной для образования группы при сквозных просмотрах или инспекциях исходного текста. Заседание группы благоприятствует созданию атмосферы здоровой конкуренции: участники хотят показать себя с лучшей стороны при нахождении ошибок. При проверке за столом этот, безусловно, ценный эффект отсутствует. Короче говоря, проверка за столом, конечно, полезна, но она гораздо менее эффективна, чем инспекция исходного текста или сквозной просмотр.

Поделитесь с Вашими друзьями:

10.1. Общие
особенности дефектов, ошибок и рисков
в сложных программных средствах

10.2. Причины
и свойства дефектов, ошибок и модификаций
в сложных программных средствах

10.3. Риски
в жизненном цикле сложных программных
средств

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

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

К
понятию
«риски»
относятся
негативные события и их величины,
отражающие потери, убытки или ущерб от
процессов или продуктов, вызванные
дефектами
при
проектировании требований, недостатками
обоснования проектов ПС, а также при
последующих этапах разработки, реализации
и всего жизненного цикла комплексов
программ. В ЖЦ ПС не всегда
удается достигнуть требуемого
положительного эффекта и может проявляться
некоторый ущерб — риск в создаваемых
проектах, программных
продуктах и их характеристиках. Риски
проявляются, как негатив-ные
последствия дефектов функционирования
и применения ПС,
которые
способны нанести ущерб системе, внешней
среде или пользователю в результате
отклонения характеристик объектов или
процессов от заданных требованиями
заказчика, согласованными с разработчиками.

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

Характеристики
дефектов и рисков непосредственно
связаны с достигаемой
корректностью, безопасностью и надежностью
функционирования
программ и помогают:

  • оценивать
    реальное состояние проекта и планировать
    необходимую трудоемкость и длительность
    для его положительного завершения;

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

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

— оценивать
требующиеся ресурсы ЭВМ по расширению
памяти и производительности, с учетом
затрат на реализацию контрмер при
модификации и устранении ошибок и
рисков.

Понятие
ошибки в программе

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

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

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

здания
гаммы методов и средств тестирования
для выявления некорректностей в
спецификациях на компоненты разных
уровней.

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

Потери
эффективности и риски программ за счет
неполной корректности в первом приближении
можно считать прямо пропорциональными

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

риска
вследствие неустраненных их причин

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

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

При
системном анализе модификаций
интенсивность обнаружения ошибок
относительно невелика, и ее трудно
выделить из процесса проектирования
ПС. Интенсивность проявления и обнаружения
вторичных ошибок
наиболее велика на этапе активного
тестирования и автономной отладки
программных компонентов. Затем она
снижается приблизительно экспоненциально.
Различия интенсивностей устранения
первичных ошибок, на основе их вторичных
проявлений,
и
внесения первичных ошибок

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

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

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

Критические
ошибки
останавливают
выпуск версии программного продукта.
Это могут быть ошибки
с высоким влиянием,
которые
вызывают сбой
в системе или потерю данных, отражаются
на надежности и безопасности
применения ПС, с которыми никогда не
передается комплекс программ
пользователю. По десятибалльной шкале
— от 8 до 10-го приоритета.

Совокупность
ошибок, дефектов и последствий модификаций
проектов
крупномасштабных комплексов программ
можно упорядочить и условно представить
в виде перевернутой пирамиды в зависимости
от потенциальной
опасности и возможной величины
корректировок их последствий — рис.
10.2. В верхней части перечня расположены
модификации, дефекты
и ошибки, последствия которых обычно
требуют наибольших затрат
ресурсов для реализации изменений, и
они постепенно сокращаются
при снижении по перечню. Такое представление
величины типов корректировок программ
и данных полезно использовать как
ориентир
для
учета
необходимых ресурсов при разработке и
сопровождении ПС, однако оно может
содержать значительные отклонения при
упорядочении статистических данных
реальных проектов. Каждому типу
корректировок соответствует
более или менее определенная категория
специалистов, являющихся источником
изменений данного типа (таблица 10.1).
Такую корреляцию
целесообразно рассматривать и учитывать
как общую качественную тенденцию
при анализе и поиске их причин.

Таблица
10.1

Специалисты—
источники дефектов и ошибок

Типы
первичных дефектов и ошибок
программного
средства и документации

Заказчики
проекта

Дефекты
организации проекта и исходных
требований
заказчика

Менеджер
проекта

Дефекты,
обусловленные реальной сложностью
проекта

Менеджер-архитектор
комплекса программ

Ошибки
планирования и системного проектирования
программного средства

Проблемно-ориентированные
аналитики и системные
архитекторы

Системные
и алгоритмические дефекты и ошибки
проекта

Спецификаторы
компонентов проекта

Алгоритмические
ошибки компонентов и документов
программного средства

Разработчики
программных компонентов — программисты

Программные
дефекты и ошибки компонентов и
документов программного средства

Системные
интеграторы

Системные
ошибки и дефекты реализации версий
программного средства и документации

Тестировщики

Программные
и алгоритмические ошибки программного
средства и документации

Управляющие
сопровождением и конфигурацией,
инструкторы интерфейсов

Ошибки
проектирования и реализации версий
программного продукта

Документаторы

Дефекты
и ошибки обобщающих документов

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

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Первый слайд презентации

ТЕМА №4
Корректность ПС
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

Слайд 2: Рассматриваемые вопросы

Основные понятия и виды корректности программ.
Типы эталонов и методы измерений и проверки корректности программ.
Ошибки в ПС (количественное описание ошибок, классификационная схема программных ошибок, источники ошибок).
Управление технологической безопасностью ПС и данных
МиКПО

Рассматриваемые вопросы

Изображение слайда

Слайд 3

Корректность комплексов программ
Корректность
текстов
программ
Синтаксическая
Корректность
программных
модулей
Корректность
данных
Корректность
групп и комплексов
программ
Семантическая
Структурная
Функциональная
Структурная
Конкретных
значений
Структурная и
межмодульных
связей
Функциональная
Детерминированная
Стохастическая
Детерминированная
Динамическая
Стохастическая
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

КОНСТРУКТИВНАЯ
Заключается в соответствии их структуры общим правилам структурного программирования и конкретным правилам оформления и внутреннего построения программных модулей.
данных
модулей
ФУНКЦИОНАЛЬНАЯ
Определяется корректностью обработки исходных данных и получения результатов.
КОНСТРУКТИВНАЯ
Определяется правилами их структурирования и упорядочения.
ФУНКЦИОНАЛЬНАЯ
Связана, в основном, с конкретизацией их содержания в процессе исполнения программ, а также при подготовке данных внешними абонентами.
МиКПО

Корректность

Изображение слайда

Слайд 5: Корректность групп программ

КОНСТРУКТИВНАЯ
Определяется правилами структурного, модульного построения программных комплексов и общими правилами организации межмодульных связей. Эта составляющая может быть проверена формализованными автоматизированными методами.
ФУНКЦИОНАЛЬНАЯ
Можно разделить на:
детерминированную корректность – обеспечивается тогда, когда между исходными и результирующими данными используемых программ и определенными эталонными значениями устанавливается однозначное соответствие
стохастическую корректность – результирующие и исходные данные соответствуют распределениям случайных величин
динамическую корректность – соответствие изменяющихся во времени результатов исполнения программ эталонным данным
МиКПО

Корректность групп программ

Изображение слайда

Слайд 6: Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов

Модель области
определения исходных данных
Эталоны:
формализованные правила;
программные спецификации;
тесты
Проверяемые программы:
исходные тесты;
результаты исполнения
Средства сравнения программ
и их результатов с эталонами
Отклонение от эталонов
МиКПО

Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов

Изображение слайда

Слайд 7

Методы получения
эталонных значений
ручные или на ЭВМ расчеты
по аналитическим формулам
использование результатов
функционирования ранее
разработанных реальных комплексов
программ или их компонент
разработка упрощенных
или обобщенных математических
моделей проверяемых программ
разработка правдоподобных
гипотез и постановка
умозрительных экспериментов
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

Слайд 8: Верификация программ и инварианты

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

Верификация программ и инварианты

Изображение слайда

Слайд 9: Блок-схема системы верификации программных модулей

Разработчик
программы
Текст программы
на языке
Автоматическая генерация
инвариантов верификации
Контроль исходных данных
и дополнение условий верификации
Группирование условий верификации
по этапам доказательства корректности
Доказательство корректности
компонент программы
Доказательство корректности взаимодействия
компонент и программы в целом
Спецификации на
программный модуль
Синтаксический контроль
корректности спецификаций
МиКПО

Блок-схема системы верификации программных модулей

Изображение слайда

Слайд 10: Понятие ошибки

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

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

Изображение слайда

Слайд 11: Первичные и вторичные ошибки (часть 1)

Первичные ошибки – это искажения в тексте программ, подлежащие корректировке. Однако непосредственно обнаруживается ошибка по ее вторичным проявлениям, путем сравнения результатов функционирования программы с одним из перечисленных выше типов эталонов. Искажение выходных результатов исполнения программы, или вторичная ошибка, вызывает необходимость выполнения ряда операций по локализации и устранению первичной ошибки.
В первом приближении величину вторичной ошибки в j -х результатах решения задачи за счет пропущенных при отладке первичных ошибок можно оценить статистически следующим образом:
Если принять, что при длительности отладки величина есть вероятность наличия в программе первичной ошибки k -го типа, которая при исполнении программы вносит в результирующую j -ю переменную дополнительную ошибку, то значение вторичной ошибки у j -й переменной можно представить выражением
,
где m – полное количество типов, не выявленных в программе, первичных ошибок.
МиКПО

Первичные и вторичные ошибки (часть 1)

Изображение слайда

Слайд 12: Первичные и вторичные ошибки (часть 2)

Формальная оценка значений и затруднительна, в лучшем случае их можно оценить методами экспертного опроса при условии четкой предварительной классификации m типов первичных ошибок в программах (индекс k ) и q выходных величин (индекс j ). Тогда можно получить общую средневзвешенную ошибку функционирования системы вследствие не выявленных первичных ошибок:
Потеря эффективности программ за счет неполной отлаженности в первом приближении можно считать прямо пропорциональным (с коэффициентом ) среднеквадратическим вторичным ошибкам в выходных результатах:
МиКПО

Первичные и вторичные ошибки (часть 2)

Изображение слайда

Слайд 13: Первичные и вторичные ошибки (итог)

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

Первичные и вторичные ошибки (итог)

Изображение слайда

Слайд 14: Классификационная схема ошибок

Классификационная схема ошибок

Изображение слайда

Слайд 15: Тема

ОБЕСПЕЧЕНИЕ ТЕХНОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ
ПС И БД
МиКПО

Тема

Изображение слайда

Слайд 16: Основные понятия

Безопасность данных – защита данных от случайного или преднамеренного разрушения, раскрытия или модификации.
Секретность – право лица решать, какую информацию он желает разделить с другими, а какую скрыть.
Конфиденциальность – понятие, которое употребляется по отношению к данным; это статус, предоставленный данным и согласованный между лицом или организацией, предоставляющей данные, и организацией, получающей данные. Конфиденциальность определяет требуемую степень защиты данных.
Целостность – имеет место тогда, когда данные в системе не отличаются от данных в исходных документах, т.е. не произошло случайного или преднамеренного изменения данных, их уничтожения.
МиКПО

Основные понятия

Изображение слайда

Слайд 17: Цели обеспечения безопасности использования программ и данных

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

Цели обеспечения безопасности использования программ и данных

Изображение слайда

Слайд 18: Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз

Объекты уязвимости
вычислительный процесс
информация БД
объектный код программ
информация для потребителей
Дестабилизирующие факторы и угрозы безопасности
Внутренние:
ошибки проектирования при постановке задач
ошибки алгоритмизации задач
ошибки программирования
недостаточное качество средств защиты
Внешние:
ошибки персонала при эксплуатации
искажения информации в каналах
сбои и отказы аппаратуры ЭВМ
изменения конфигурации системы
Меры предотвращения угроз безопасности
предотвращение ошибок в CASE -технологиях
систематическое тестирование
обязательная сертификация
Оперативные методы повышения безопасности
временная избыточность
информационная избыточность
программная избыточность
Последствия нарушения безопасности
разрушение вычислительного процесса
разрушение информации БД
разрушение текста программ
разрушение информации для потребителей
Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз
МиКПО

Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз

Изображение слайда

Слайд 19: Оперативные методы повышения безопасности

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

Оперативные методы повышения безопасности

Изображение слайда

Последний слайд презентации: ТЕМА №4
Корректность ПС
МиКПО

КОНЕЦ ТЕМЫ №4
МиКПО

ТЕМА №4 Корректность ПС МиКПО

Изображение слайда

Первичные ошибки. Перечисленные причины ошибок приводят к смещению элементов кинематических пар относительно их идеального положения в звене, к отклонению формы, размеров и взаимного положения элементов пар и звеньев в механизме. Все эти ошибки называются первичными. Главную роль в неточности работы механизма играют первичные ошибки производственного характера.  [c.109]

Выше были рассмотрены вопросы точности положения механизма. Однако первичные ошибки являются не только причиной ошибок в положениях, но и в скоростях и ускорениях выходных звеньев и точек.  [c.194]

Классификация первичных ошибок механизма. Первичные ошибки механизма можно распределить на систематические, случайные ц. грубые. Результат классификации будет разный в зависимости от того, классифицируем ли мы первичные ошибки конкретного экземпляра механизма или первичные ошибки целой группы одинаковых механизмов, число которых неопределённо велико, не учитывая индивидуальных особенностей каждого экземпляра. Для практики большое значение имеет второй подход, позволяющий изучать точность в целых классах одинаковых машин.  [c.96]

ЗАВИСИМОСТЬ ОШИБКИ МЕХАНИЗМА от ПЕРВИЧНЫХ ОШИБОК  [c.100]

После замены получается новый механизм, имеющий изменяемость, равную единице, если направление изменения параметра полностью определяется положениями ведущих звеньев заданного механизма. Ошибка Ад в таком случае определяется только одной величиной и есть поэтому скалярная ошибка. Если же направление изменения параметра д не зависит от обобщённых координат ведущих звеньев и может быть любое в некоторой плоскости, то получится двукратно изменяемый механизм, в котором ползун будет перемещаться по любому направлению в плоскости независимо от положений ведущих звеньев. В этом случае первичная ошибка Ад определяется двумя величинами и есть плоская векторная ошибка.  [c.101]

Нахождение ошибок положения и перемещения механизма по первичным ошибкам  [c.463]

В механизме все первичные ошибки могут быть случайными величинами. Тем не менее, ошибка положения для партии подобных механизмов может представлять собой случай-  [c.472]

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

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

Рассматриваются ошибки положения ведомых звеньев, вызванные производственными погрешностями, примеры которых приведены в п. 18. Производственные погрешности, являющиеся первоисточниками ошибок механизмов, называются первичными ошибками механизмов.  [c.226]

Акад. Н. Г. Бруевичем установлено [4], что функциональную связь между первичной ошибкой, имеющей значение А<7,-, и вызванной ею в единичном экземпляре механизма ошибкой положения ведомого звена Аф можно представить выражением  [c.227]

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

Ошибки в размерах, а также в форме и расположении геометрических поверхностей звеньев вызывают погрешности взаимного положения и перемещения звеньев при работе механизмов. Эти ошибки называют первичными и делят на систематические, случайные и грубые.  [c.371]

Ошибки Ах, А(7 , А(/ ,. .., д, параметров механизма малы и лежат ь пределах допуска, поэтому дифференциалы этих параметров можно отождествить с первичными ошибками. Уравнение (9.2), выраженное через эти ошибки примет вид  [c.110]

Определим ошибку положения ползуна Ах от первичных ошибок в длинах звеньев Ай1, Аг и А/. Для этой цели рассмотрим три преобразованных механизма, показанных на рис. 9.3. На рис. 9.3, а показан механизм, у которого остановлено вращение кривошипа, а длина звена й может меняться перемещением его в дополнительном ползуне. Сообщая точке А перемещение А по вертикали, отложим в любом масштабе это перемещение из полюса р плана малых перемещений. Из этого же полюса проведем направление, параллельное напра. ляющей ползуна С, т. е. в направлении ошибки Ах , а из конца вектора Ай проведем линию, перпендикулярную звену ВС, по которому направлено малое перемещение точки С от ошибки в угле поворота шатуна ВС. Получим треугольник со сторонами Ай , Ах и /А , который называется планом малых перемещений и строится по правилам построения плана скоростей. Отношение сторон этого треугольника по теореме синусов можно записать в виде  [c.112]

Причинами возникновения ошибок механизма являются теоретические и первичные ошибки.  [c.125]

Частичной ошибкой называется ошибка механизма, вызванная единичной (отдельной) первичной ошибкой.  [c.126]

Коэффициент влияния частичной ошибки выражает соотношение между суммарной и частичной ошибками. Он характеризует степень влияния частичной ошибки на точность механизма и учитывается при расчете допусков на технологические первичные ошибки.  [c.126]

Для каждой первичной ошибки строится преобразованный механизм и план малых перемещений. Из плана находится графически, а затем определяется аналитически передаточное отношение и вычисляется частичная ошибка положения механизма.  [c.129]

При преобразовании механизма его ведущее звено закрепляется неподвижно, а звено, имеющее первичную ошибку, преобразуется так, чтобы остальные звенья, имеющие точные размеры, могли получить перемещения, соответствующие величине и направлению рассматриваемой первичной ошибки.  [c.129]

Пример. Найдем ошибку перемещения толкателя кулачкового механизма (рис. 7.4, о), происходящую от первичных ошибок Ал — ошибки положения центра радиуса кривизны профиля кулачка. А/ — ошибки радиусов кривизны профилей кулачка и шаровой поверхности толкателя (t R = A i + A/ j, так как hRi и Д/ 2 перпендикулярны к профилю кулачка в точке С) и Ае — ошибки эксцентриситета. Заменяя в кулачковом механизме высшую пару С звеном АВ и двумя вращательными парами Л и В, оси которых расположены в центрах  [c.129]

На рис. 7.4, 6 приведен преобразованный механизм и план малых переме-ш,ений, показывающий зависимость частичной ошибки положения толкателя Д5г от первичной ошибки Д/-. Передаточное отношение  [c.130]

Суммарная ошибка положения толкателя кулачкового механизма от трех указанных первичных ошибок  [c.130]

Первичные ошибки можно разделить на скалярные и векторные. Если первичная ошибка полностью определяется одной величиной, то ее следует отнести к скалярным (например, ошибки размеров). Векторная ошибка определяется двумя составляющими модулем и направлением (например, ошибки эксцентриситета, перекоса в звене или паре). Первичные ошибки могут быть также классифицированы по закономерности их появления на систематические, случайные, грубые. Систематическими называют ошибки постоянные по величине во всех экземплярах механизмов или изменяющиеся по определенному закону. Их появление можно предсказать. К таким ошибкам относятся, например, ошибки, обусловленные изменением схемы механизма, температурные ошибки и др.  [c.109]

Рассмотрим приложение этого метода на том же примере кривошипно-ползунного механизма. Для определения коэффициента влияния ошибки Аг звена построим (рис. 1.70, а) преобразованный механизм. Ведущее звено 1 закрепим, а по нему, как по направляющей, будем перемещать добавочное звено У с шарниром А в направлении первичной ошибки Аг. Зададимся масштабом первичных  [c.112]

Используем метод для определения погрешности положения ведомого звена кривошипно-ползунного механизма (рис. 1.74, а), содержащего ошибку АЛ. На рис. Л. 74, б построены планы теоретического и действительного механизма, содержащего только первичную ошибку эксцентриситета АЛ (для удобства получения зависимостей планы механизмов наложены друг на друга). Так как размеры других звеньев приняты без ошибок (здесь также используется принцип независимости действия ошибок), то точка В из-за ошибки АЛ должна переместиться в положение В, и положение ведомого, звена определяется координатой А.  [c.117]

Отрезок АЗц = 8 — 8 является ошибкой положения ведомого звена. Зависимость между первичной ошибкой АЛ и частной погрешностью механизма А8н найдем из треугольника ВВ В»  [c.117]

Для оценки точности одного механизма необходимо определить его первичные ошибки, связанные с изготовлением и эксплуатацией, затем найти максимальное значение ошибки положения (перемещения) механизма. С этой целью приходится определять погрешности в нескольких положениях механизма. По полученным данным строится график величина погрешности — положение ведущего звена механизма , по которому легко найти погрешность механизма в заданном положении. Погрешность механизма целесообразно представлять в виде суммы частных погрешностей, обусловленных отдельными первичными ошибками. Такие графики дают возможность определить не только максимальную погрешность, но и наглядно показывают удельный вес каждой из частных погрешностей. Последнее особенно важно для установления точности изготовления деталей и способов регулировки механизма.  [c.118]

Если механизм не изготовлен и первичные ошибки нельзя определить непосредственным измерением, то их величину определяют по допускаемым отклонениям на изготовление, указываемым на чертежах деталей. При этом величину первичных ошибок иногда определяют по так называемому методу расчета на максимум — минимум , считая, что ошибки звеньев имеют предельно допустимую величину и при сборке — самые неблагоприятные сочетания. Погрешность механизма, вычисленная по методу максимум — минимум будет заведомо больше действительной.  [c.118]

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

Главную роль в неточности работы механизмов, занимают первичные ошибки, т. е. погрешности размеров, геометрической формы н взаимного расположения элементов кинематических пар и звеньев механизмов. Первичные ошибки, ызванпые неточностью изготовления деталей, назы1 ак,тся технологическими ошибками, а ошибки, возникшие в процессе работы механизма из-за износа, тепловых и силовых деформаций, — эксплуатационными.  [c.108]

Первичные ошибки можно определять по допускаемым отклонениям, указываемым на чертежах. При этом значение первичных ошибок oпpeдeляI(JT по методу расчета на -максимум — минимум , считая, что при сборке механизма ошибки звеньев имеют самые неблагоприятные сочетания. Результирующая ошибка механизма при этом будет заведомо больше действительной.  [c.114]

Заключение. Приведенный матричный метод заменяет исследование действительного механизма изучением движения соответствующего идеального механизма и определением вторичных ошибок в зависимости от параметров идеального Д1еханизма и от первичных ошибок. Этот метод можно применить и для изучения динамической точности механизмов. Если первичные ошибки не являются систематическими, следовательно, если их разложение случайно, то можно применить уравнения (19) для расчета ожидаемых значений вторичных ошибок и для определения соответствующих дисперсий, так как рассматриваемые уравнения являются линейными по отношению к ошибкам.  [c.195]

Если в партии механизмов все первичные ошибки предстанляют собой случайные величины,то  [c.476]

Выявление н исследование источников ошибок. Здесь выявляют действительные (поэлементные) первичные ошибки — технологические эксплугтацион1 ые (см. Причины и виды ошибок механизмов -). Исследование первичных ошибок заключается в определении их свойств и ппедварительной оценке степени влияния.  [c.445]

А X А д с — — А Xgi -f- А дг зи, где АлСс — ошибка схемы механизма AXgi — ошибка механизма от первичных ошибок параметров qi, Ахизм — ошибка измерения. Это величина случайная, которую можно уменьшить путем многократных измерений.  [c.146]

Если функцию положения механизма х=/(<7 , д-,,. … Я ) невозможно или трудно получить в явном виде, для определения суммарной ошибки Ах можно воспользоваться уравнениями, полученными проецированием векторных контуров механизма на оси координат. Эти уравнения дифференцируют по параметрам механизма и из уравнений произ1ЮДЫых устанавливают связь между суммарной и первичными ошибками.  [c.110]

Для определения точности механизма нужно определить его первичные ошибки, затем найти значения ошибок положения, по которым можно построить график ошибки выходного звена и определить значение максимальной ошибки и положение механизма, в котором ошибка будет максимальна. Графики каждой первичной ошибки дак.т возможность су,дить о влиянии каждой частной ошибки на результиру ощую ошибку поло кения ведомого звена механизма.  [c.114]

Эта формула выражает зависимость ошибки положения AS как линейную функцию скалярных и модулей векторных первичных ошибок Aqi. Передаточное отношение dSldq,) —есть отношение малых перемещений ведомого и ведущего звеньев преобразованного механизма. Это отношение находится из плана малых перемещений, а не как частная производная.  [c.129]

Пример. На рис. 7.5, д, е. показаны схема механизма прибора и построение плана малых перемещений. Считаем, что шарнир О совпадает со своим теоретическим положением. Заданы по величине и направлению первичные ошибки леремещениа направляющей ползуна и нор-  [c.132]

Геометрический метод. По этому методу погрешность положения ведомого звена находится из геометрических построений на основании сопоставления двух механизмов теоретического и с первичной ошибкой. При установлении зависимостей между величиной первичной ошибки и ошибкой положения ведомого звена принимаются упрощения (например, sin (а -fAa) t sina tg(a -j-Aa) iiitga osAasril, длины дуги и хорды при малых углах равны и т. д.), которые снижают точность метода.  [c.116]


Понравилась статья? Поделить с друзьями:
  • Что такое пакет ошибок
  • Что такое систематическая ошибка выжившего
  • Что такое ошибки тома диска
  • Что такое ошибки логического контроля
  • Что такое ошибки компоновки