- Главная
- Информатика
- Средства и методы повышения надежности. Надежность программных продуктов. 3

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

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

Слайд 4Принципы и методы предупреждения ошибок основной целью имеют не допустить появления ошибок
Принципы и методы предупреждения ошибок основной целью имеют не допустить появления ошибок

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

множества допустимых условий.
Во время программирования может быть использовано много технических приемов, чтобы проверить аномалии в управлении или в данных. Вот примеры некоторых из них:
анализируются граничные значения переменных;
проверяются размеры, тип и диапазон параметров процедуры ввода данных;
- параметры “только для доступ к ним чтения” и “считывание-запись” должны быть разделены, и должен быть проверен доступ к ним;
символьные константы не должны быть доступны для записи;
-входные переменные и промежуточные (вспомогательные) переменные с физическим значением должны быть проверены на предмет достоверности;
Во время программирования может быть использовано много технических приемов, чтобы проверить аномалии в управлении или в данных. Вот примеры некоторых из них:
анализируются граничные значения переменных;
проверяются размеры, тип и диапазон параметров процедуры ввода данных;
- параметры “только для доступ к ним чтения” и “считывание-запись” должны быть разделены, и должен быть проверен доступ к ним;
символьные константы не должны быть доступны для записи;
-входные переменные и промежуточные (вспомогательные) переменные с физическим значением должны быть проверены на предмет достоверности;
Слайд 6воздействие выходных переменных должно быть проверено, предпочтительно непосредственным наблюдением связанных с ними
воздействие выходных переменных должно быть проверено, предпочтительно непосредственным наблюдением связанных с ними

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

проекта программного обеспечения в течение выполнения программ, чтобы предотвратить критически опасные отказы системы, и продолжать работу с высокой надежностью.
В многоверсионном программировании спецификация программы реализуется по-разному N раз. Те же самые значения входных данных задаются N версиям, и результаты, произведенные N версиями, сравниваются. Если результат считается достоверным, то он передается компьютеру в качестве выходных данных. N версии могут выполняться параллельно на отдельных компьютерах, альтернативно все версии могут выполняться на одном компьютере.
Выходные результаты подвергаются внутреннему голосованию. Для случаев, где не имеется коллективного согласия, могут быть использованы вероятностные подходы, чтобы максимизировать шанс выбора правильного значения, например, взяв среднее значение, временно заморозив выходные данные до возвращения согласия, и т.д.
В многоверсионном программировании спецификация программы реализуется по-разному N раз. Те же самые значения входных данных задаются N версиям, и результаты, произведенные N версиями, сравниваются. Если результат считается достоверным, то он передается компьютеру в качестве выходных данных. N версии могут выполняться параллельно на отдельных компьютерах, альтернативно все версии могут выполняться на одном компьютере.
Выходные результаты подвергаются внутреннему голосованию. Для случаев, где не имеется коллективного согласия, могут быть использованы вероятностные подходы, чтобы максимизировать шанс выбора правильного значения, например, взяв среднее значение, временно заморозив выходные данные до возвращения согласия, и т.д.
- Предыдущая
Управление исполнителем чертёжникСледующая -
Работа с данными
Изучение возможностей и синтаксиса Python: Переменные и выражения. 2 занятие
Классики VS современники. Команда Irrational Solutions
Анализ платформ по реализации web-решений
Поговорим о коллаборации
Исследование на тему: влияние информационных технологий на человеческие отношения
8класс_Python
Информационный сегмент
Top Ten способов предотвращения веб-уязвимостей по версии OWASP
Как устроен компьютер
Системы анализа больших данных (САБД)
Федеральный фонд данных ДЗЗ из космоса – порядок ведения и эксплуатации
Введение в инфокоммуникационные технологии и сети
Разветвляющиеся алгоритмы
Безопасность жизнедеятельности. Дистанционное обучение
download (1)
Super RAVANIO bros
JavaScript_Basics_part1_new
Компьютерная презентация
Основы работы в OrCad
Тест по изученным темам
Виртуальный мир
Исследовательская работа. Мир без интернета
Осуществление межпредметных связей с помощью программы Microsoft Excel. География России
Криптовалюта. История криптовалюты
Работа ПФР в социальных медиа. Актуальную информацию для граждан о пенсионной системе
Графические модели
Концептуальная модель UML
Непозиционные системы счисления