
- •Дисциплина «Надежность информационных систем»
- •Основные понятия и показатели теории надежности. Показатели надежности информационных систем. Составляющие надежности ис. Понятие и классификация систем. Понятие информационной системы.
- •10. Отказ - событие, заключающееся в том, что система полностью или частично теряет свойство работоспособности.
- •Комплексные показатели надежности. Коэффициент готовности, коэффициент простоя, коэффициент сохранения эффективности, коэффициент достоверности функционирования ис.
- •Целевое назначение и классификация методов расчета надежности систем. Расчет элементарной надежности. Расчет функциональной надежности.
- •Критерии и количественные характеристики надежности. Понятие критериев надежности, характеристик надежности. Критерии надежности невосстанавливаемых изделий.
- •Критерии и количественные характеристики надежности. Понятие критериев надежности, характеристик надежности. Критерии надежности восстанавливаемых изделий.
- •Методы расчета надежности сложных систем. Методы расчета надежности устройств с основным соединением элементов и устройств с параллельным соединением элементов.
- •Понятие сбоев и отказов программно - аппаратных средств. Классификация отказов по различным признакам: характер отказов, взаимосвязь отказов, происхождение отказов, устойчивость отказов.
- •Оптимальное резервирование элементов систем. Понятие и назначение резервирования. Виды резервирования элементов. Повышение отказоустойчивости за счет использования резервирования.
- •Расчет показателей надежности при различных видах резервирования. Виды резервирования: общее и раздельное резервирование, постоянное резервирование, резервирование с замещением.
- •Испытания надежности аппаратных средств. Виды испытаний. Методы понижения трудоемкости испытаний аппаратных средств.
- •Задачи, возникающие при испытаниях на надежность.
- •Показатели качества и надежности пс. Характеристики качества пс и их субхарактеристики. Понятие функциональной пригодности и корректной работы пс.
- •Факторы, влияющие на надежность пс. Объекты уязвимости пс. Внутренние и внешние дестабилизирующие факторы.
- •Методы обеспечения надежности пс. Средства повышения надежности пс. Средства автоматизированного проектирования и тестирования пс.
- •Повышение надежности пс за счет избыточности. Виды избыточности. Избыточность ресурсов для обеспечения надежности функционирования пс. Временная, информационная и программная избыточности.
- •Обеспечение качества и надежности пс. Использование современных средств автоматизированного проектирования систем. Case-технологии.
- •Способы восстановления отказоустойчивых ис. Восстановление на программном и аппаратном уровнях.
- •Сертификация пс. Цели и задачи сертификации пс. Сертификация соответствия. Обязательная и добровольная сертификация. Режимы испытаний на соответствие сертификации.
Повышение надежности пс за счет избыточности. Виды избыточности. Избыточность ресурсов для обеспечения надежности функционирования пс. Временная, информационная и программная избыточности.
Задача кода избыточности состоит в ограничении возможности или обеспечении аварийных ситуаций
Существует 3 вида избыточности ПС:
Временная избыточность - состоит в использовании производительности вычислительных средств для контроля вычислительного процесса или его восстановления
При проектировании информационных систем предусматривается запас производительности, величина которого зависит от требований надежности ПС и нах в пределах от 5 до 10%.
Информационная избыточность - заключается в дублировании накопленных исходных и промежуточных данных. Информационная избыточность используется для сохранения достоверности данных, необходимых для функционирования ПС.
В некоторых случаях информационная избыточность заключается в использовании помехозащищенных ходов в случаях если информация имеет значение, то ее избыточность достигается путем двух, трех кратного дублирования. В случае если информация менее значима или не влияет на надежность ПС, то она может не иметь избыточности.
Программная избыточность - заключается в сопоставлении результатов обработки одинаковых программ, но с различными алгоритмами.
Использование всех 3-х видов избыточности зависит от требований надежности информационных систем и как правило, ограничено имеющимися ресурсами.
Обеспечение качества и надежности пс. Использование современных средств автоматизированного проектирования систем. Case-технологии.
CASE- технологии
В рамках программной инженерии CASE-средства представляют собой основную технологию, используемую для создания и эксплуатации программного обеспечения (ПО). Под CASE-средством (в соответствии с международным стандартом ISO/IEC 14102:1995(E)) понимается программное средство, поддерживающее процессы ЖЦ ПО (определенные в стандарте ISO/IEC 12207:1995), включая анализ требований к системе, проектирование прикладного ПО и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют среду разработки ПО ИС различных областей применения.
Языки четвертого поколения (4GL – Fourth Generation Language) разных видов имеют общую цель - ускорение разработок, повышение их надежности и снижение требований к уровню квалификации разработчика. Они обеспечивают поддержку различных стандартов и интерфейсов пользователя, что также способствует повышению качества и надежности ПС.
К 4GL относятся языки для компиляции программ из набора готовых модулей, реализующих типовые функции общих приложений.
CASE-технологии представляют собой высокопроизводительные, ресурсосберегающие технологии создания комплексов программ высокого качества и надежности, целью которых является сокращение общих затрат на проектирование, реализацию, сопровождение и развитие таких систем. Такие технологии позволяют исключать или значительно снижать уровень системных, алгоритмических и программных ошибок в ПС, передаваемых на эксплуатацию. Кроме того, они эффективны при модификации и сопровождении ПС, а также при изменении конфигурации внешней среды. Повышение уровня автоматизации проектирования, применение методов и средств CASE-технологии - один из самых эффективных современных путей повышения надежности ПС.
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь ЖЦ ПО.
При создании ПС высокой сложности важная проблема состоит в правильном системотехническом и информационно-технологическом проекте, обеспечивающем потребности конечного пользователя, высокие потребительские свойства и надежность ПС. CASE-средства предназначены для реализации больших и средних критических и ответственных проектов коллективами разработчиков и обычно базируются на охватывающих все этапы жизненного цикла этих систем, на конкретных методологиях коллективной разработки и сопровождения ПС.
Существует множество классификаций Case-средств, но наиболее распространенными являются классификации по типам и категориям.
Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи, набор частично интегрированных средств, охватывающих большинство процессов ЖЦ ПО и связанные общим репозиторием.
Интегрированные CASE-средства служат для извлечения и формализации знаний заказчика на этапе проведения обследования, анализа и подготовки технического задания, а также для проектирования концептуальной и логической структур комплексов программ и БД. Одновременно благодаря высокому качеству проработки и документирования такого проекта создается основа для снижения трудоемкости отладки, тестирования, испытаний, а также сопровождения и развития прикладных ПС.
Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы ЖЦ и включает следующие типы:
средства анализа и проектирования, предназначенные для построения и анализа как моделей деятельности организации (предметной области), так и моделей проектируемой системы. К таким средствам относятся Bpwin (PLATINUM technology) Silverrun (Silverrun Technologies), Oracle Designer (Oracle), Power Designer (Sybase) и другие. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. Выходом таких средств являются спецификации компонентов системы и их интерфейсов, алгоритмов и структур данных;
средства проектирования БД, обеспечивающие моделирование данных и генерацию схем БД для наиболее распространенных СУБД. Средства проектирования БД имеются в составе таких CASE-средств, как Silverrun, Oracle Designer, Power Designer. Наиболее известным средством, ориентированным только на проектирование БД, является Erwin (PLATINUM technology);
средства управления требованиями, обеспечивающие комплексную поддержку разнородных требований к создаваемой системе. Примерами таких средств являются RequisitePro (Rational Software) и DOORS – Dynamic Object-oriented Requirements System – динамическая объектно-ориентированная система управления требованиями (Quality Systems and Software Inc.);
средства управления конфигурацией ПО – PVCS (Merant), ClearCase (Rational Software) и др.;
средства документирования, например, SoDA – Software Document Automation – автоматизированное документирование ПО (Rational Software), т.е. документаторы для оформления программной документации, например, отчетов по данным реопозитория, различные редакторы для объединения, разделения, замены, поиска фрагментов программы и других операций редактирования;
средства тестирования, примером наиболее развитым на сегодняшний день является Rational Suite TestStudio (Rational Software) – набор продуктов, предназначенных для автоматического тестирования приложений;
средства управления проектом – Open Plan Professional (Welcom Software), Microsoft Project 98 и др.;
средства реверсного инжиниринга, предназначенные для переноса существующей системы ПО в новую среду. Они обеспечивают анализ программных кодов и схем БД и формирование на их основе различных моделей и проектных спецификаций. Средства анализа БД и формирования диаграмм “сущность-связь” (ERD – Entity-Relationship Diagram) входят в состав таких Case-средств, как как Silverrun, Oracle Designer, Power Designer, Erwin. Анализаторы программных кодов имеются в составе Rational Rose и Paradigm Plus.
Совместное применение современных CASE-технологии и 4GL способно снизить трудоемкость разработки сложных ПС в несколько раз и сократить длительность их проектирования с 2-3 лет до нескольких месяцев.
Базовым принципом современных методов и технологий создания прикладных ПС является многократное использование отработанных технических решений на различных аппаратных и операционных платформах. В настоящее время по некоторым оценкам только 10-15% прикладных программ создается вновь, в то время как основная часть ПС переносится с других проектов или платформ, комплексируется и собирается из готовых, испытанных повторно используемых компонент гарантированного качества. Организация, внедряющая у себя CASE-технологию, должна осуществить определенные затраты на внедрение соответствующей методологии и средств, а также на обучение разработчиков. Результатом внедрения CASE-средств является значительное сокращение затрат на проектирование прикладной системы, высокое качество проекта и надежность комплексов программ.
Тестирование ПС, как средство повышения надёжности ИС. Виды тестирования ПС. Средства автоматизированного тестирования. Функции средств автоматизированного тестирования. Состав документации при документировании этапов тестирования.
Тестирование - это процесс выполнения программы с целью обнаружения ошибок и дефектов.
Средства автоматизированного тестирования должны обеспечивать выполнение следующих функций:
Определение тестов - генерация и ввод тестовых данных. Генерация эталонных ожидаемых результатов;
выполнение участка программы м/у контрольными точками, для которого вводимые данные м/б отредактированы и включены в последующие тестовые наборы;
Управление тестированием и выполнение участка программы;
Регрессивное тестирование с переходом от более сложного к более простым, возможность перезапуска программ, а так же модификация предыдущих тестов;
Анализ тестовых результатов. Сравнительное ожидание результатов с получ-ми. статистический анализ результатов;
Анализ покрытие тестами исходного кода программ. Применяется для обнаружения операторов, которые были или не были используемы, процедур, которые были или не были вызваны и переменных, к которым было или не было обращение;
Анализ затрат маш-ых и временных ресурсов на выполнение программы;
Верификация условий и исключительных ситуаций во время выполнения программ.
Существуют следующие виды тестирования:
Тестирование полноты, решение функциональных задач при типовых исходных данных предназначенных для обнаружения дефектов и ошибок. Функционирование ПС в нормальных условиях (определенных техническим заданием на базовую версиб ПС)
Тестирование ф-ия ПС в критических условиях (стрессовое тестирование)
Тестирование для измерения достигнутых знаний надежности в базовых версиях ПС, предназначенных для определения наработки на отказ, длительности восстановления, коэффициента готовности и др. показаний надежности
Тестирование корректности использования ресурсов (памяти, производительности вычислительной системы…) Предназначено для оценки надежности выполнения программ при перезагрузках памяти и производительности
Тестирование параллельного выполнения программы
Тестирование эффективности защиты от искажения исходных данных
Тестирование оценки эффективности, защиты от сбоев аппаратуры и программы. Предназначено для проверки качества программного средства, способность оперативного восстановления ПС при непреднамеренных искажениях исходных данных
Тестирование удобства эксплуатации и взаимодействия человека с ПС. Предназначено для выявления трудноформализованных ошибок, исходных данных, а так же результатов. Оценивается объем, удобство представления и контроля исходных данных, объем и удобство анализа результатирующих данных
Тестирование удоб и кач подготовки пользовательских версий ПС
Тестирование работы базовых версий ПС при их переносе и изменении конфигурации оборудования
Способы и средства устранения последствий ошибок и отказов в ИС. Классификация способов и средств устранения последствий ошибок и отказов. Маскирование ошибочных действий, реконфигурация систем: статическая и динамическая.
Как известно, простейшим способом устранения ошибок является повторение вычислений. Однако он позволяет устранить только ошибки, вызванные сбоями, и требует значительных затрат машинного времени. Поэтому в практике используют два основных способа устранения последствий отказов и ошибок в работе ИС (рис.):
- маскирование ошибочных действий;
- реконфигурация системы.
Суть первого способа состоит в том, что избыточная информация скрывает действие ошибочной информации за счет особенностей схемных решений и организации процесса обработки данных. При этом используются средства устранения последствий ошибок – средства маскирования, которые делятся по принципу действия на следующие группы:
- корректирующие коды (коды Хэмминга, итеративные коды, AN-коды);
- логика с переплетениями;
- схемы с голосованием.
В последнем случае используется нечетное число блоков, выполняющих одни и те же вычислительные операции, и большинством «голосов» определяется правильный набор выходных данных.
Реконфигурация системы заключается в изменении состава средств обработки информации или способа их взаимодействия. Реконфигурация производится после выявления отказа. Этот способ устранения последствий ошибок и отказов включает:
- статическую реконфигурацию;
- динамическую реконфигурацию.
Статическая реконфигурация системы осуществляется путем отключения отказавших компонентов. При этом система делится на две части: активную, участвующую в работе, и пассивную, охватывающую неработоспособные компоненты системы и отключенные в ходе реконфигурации.
Динамическая реконфигурация по принципу проведения делится на следующие виды:
- замещение (поддержка запасом);
- дублирование;
- постепенная деградация системы (снижение функциональных способностей).