- •Причины отказов по.
- •Определение различных видов ошибок (манипулирование, повреждение данных итд)
- •Отказы, ошибки итд.
- •Резервирование – это внедрение доп. Элементов и связей. Общее, поэлементное резервирование,
- •Мажоритарное и скользящее резервирование.
- •Постоянное включение и включение с замещением.
- •Облегчённый резерв.
- •Когда поэлементное резервирование эффективнее общего? когда при отказе при поэлем. Резервировании не происходит отказ всей системы. Обеспечение надёжности аппаратных средств и по.
- •Что такое структурное программирование
- •Принцип модульности, детерминированный контроль.
- •Нисходящий и восходящий принципы тестирования..
- •Факторы, определяющие надёжность по.
- •Эффективность использования различных методов.
- •Когда резервирование эффективнее по отн. К tвосст.
- •К чему приводит уменьшение λ, tвосст., коэф. Вынужденного простоя, увеличение коэф. Готовности?
- •Теория восстановления.
- •Теория из лаб 1-3: планирование эксперимента, критерии согласия, пфэ, дфэ, Основной контраст и Генерирующее соотношение. Критерии Фишера, коэффициент Стьюдента.
- •Испытания информационных систем.
- •Риск заказчика, риск поставщика.
- •Диагностирование и цель диагностирования.
- •Человек-оператор.
- •Что характеризует систему «человек-машина»?
- •Типы операторов – наблюдатели, исследователи, технологи, диспетчеры. Знать их роли.
- •Преимущество человека перед автоматикой и автоматики перед человеком. Обратить внимание чтобы был полный ответ.
- •Роль интерфейса.
- •Надёжность человека-оператора.
Факторы, определяющие надёжность по.
Факторы, определяющие надежность ПО. Главную роль в создании надежного ПО играют правильная организация и управление процессом разработки:
- подготовка инженерного и руководящего персонала по технологии использования вычислительных машин;
- контроль выдачи и изменений программ;
- постоянная связь между разработчиком и заказчиком ПО;
- применение эффективных методов контроля процесса разработки программ и документации;
- внедрение стандартов, регламентирующих работы по проектированию ПО.
Важную роль в повышении качества и надежности разрабатываемого ПО играет постоянный контроль в виде достаточно формализованных «просмотров» проектной и программной документации специальной группой экспертов. В такую группу включаются: специалисты по проектированию и программированию; специалисты по отладке и испытаниям ПО; специалисты по компоновке программ; представители заказчика.
Повышению качества разработки сложных программ способствуют прогрессивные приемы структурного программирования и принцип модульности ПО.
Что такое структурное программирование
В основу структурного программирования положены достаточно простые положения:
- программа должна составляться мелкими шагами;
- сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части, каждая из которых имеет только один вход и выход;
- логика программы должна опираться на минимальное число достаточно простых базовых управляющих структур.
Принцип модульности, детерминированный контроль.
Принцип модульности заключается в разбиении сложной программы на отдельные подпрограммы — модули, характеризующиеся функциональной законченностью, автономностью и независимостью в разработке и оформлении. Рекомендуется объем модулей в 100— 500 команд. Запрет на применение потенциально ненадежных программных конструкций, возможность оперативного автономного контроля результатов функционирования модуля обеспечивают высокую вероятность исключения ошибок на самых ранних этапах разработки ПО.
Для создания надежного ПО используют также принцип структурирования массивов данных, что позволяет снизить вероятность появления ошибок из-за их неправильного использования.
Нисходящий и восходящий принципы тестирования..
Различают тестирование восходящее и нисходящее. Восходящее тестирование начинается с автономного тестирования программных модулей самого нижнего уровня. После этого проводится тестирование модулей более высокого уровня, проверка которых требует обращения к уже оттестированным модулям. После проверки данного уровня совершается переход к модулям все более высокого уровня, вплоть до программы в целом. Недостатком данного метода тестирования является то, что для сложного ПО с многоуровневой иерархией выявление серьезных ошибок в спецификациях, алгоритмах и интерфейсах осуществляется только на завершающей стадии отладки ПО – стадии комплексного тестирования программ и ПО в целом.
При нисходящем тестировании автономно тестируется только головная программа, затем подсоединяются программы модулей и компоненты следующего уровня и так до тех пор, пока не будет собрана и испытана вся программа. Преимущество нисходящего тестирования заключается в том, что оно позволяет выявить ошибки и качественно их устранить.
Детерминированное тестирование предусматривает задание конкретных исходных данных и маршрутов исполнения программы. Проверка всех маршрутов при всех значениях исходных данных может быть реализована только для очень простых программ и при малых диапазонах изменения исходных данных. Диапазон варьирования исходных данных и степень охвата возможных маршрутов определяют эффективность обнаружения ошибок данным методом.
