
- •О. В. Шишов технология разработки программных продуктов
- •1. Программы и программирование
- •1.1 Основные определения
- •1.2. Классификация программ и различные виды программирования
- •1.3. Категории специалистов, занятых разработкой и эксплуатацией программ
- •2. Жизненный цикл программного обеспечения
- •2.1 Основные этапы жизненного цикла и их взаимосвязь
- •2.2 Стратегии и модели жизненного цикла
- •3. Качество по
- •3.1 Критерии оценки качества по
- •3.2 Методы оценки качества программного средства
- •4. Надежность программных продуктов
- •4.1 Надежность и виды отказов
- •4.2 Надежность и правильность программы
- •4.3. Вероятностный подход к оценке надежности
- •4.4 Факторы надежности
- •4.5 Приемы надежного программирования
- •6.2. Стандарты технологии создания программных продуктов
- •6.3. Основные этапы технологического процесса разработки программ
- •7. Структурное проектирование программных продуктов
- •7.1. Модули. Сцепление и связность модулей
- •7.2. Структура программных продуктов
- •7.3. Методы структурного программирования
- •8. Алгоритмическое представление задачи программирования
- •8.1. Свойства алгоритмов
- •8.2. Формы записи алгоритмов
- •8.3. Базовые алгоритмические структуры
- •9. Языки программирования
- •9.1. Основные понятия и элементы языков программирования
- •9.2. Классификация языков программирования
- •9.3. Развитие языков программирования
- •10. Пользовательский интерфейс
- •10.1. Типы интерфейсов
- •10.2. Этапы разработки пользовательского интерфейса
- •10.3. Критерии оценки интерфейса пользователем
- •11. Порядок работы эвм при выполнении программ. Трансляторы, интерпритаторы, компиляторы
- •12. Оптимизация программ
- •13. Отладка и тестирование программного обеспечения
- •13.1. Классификация неисправностей и ошибок в программе
- •13.2. Порядок и способы отладки и тестирования программ
- •13.3. Методы тестирования
- •13.4. Требования и рекомендации по тестированию программ
- •13.4. Программирование «с защитой от ошибок»
- •14. Аттестация программного средства
- •15. Сопровождение по
- •16. Защита программных продуктов
- •16.1. Обеспечение защищенности программных средств
- •16.3. Правовые методы защиты программных продуктов
- •17. Документорование программных продуктов
- •17.1. Виды программных документов
- •17.2. Содержание документации по еспд
- •17.3. Стиль оформления программы
- •Содержание
4. Надежность программных продуктов
4.1 Надежность и виды отказов
Надежность ПС – это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. При этом под отказом в ПС понимают проявление в нем ошибки. Причем ошибки не надо воспринимать лишь как отклонения вычисленных значений от требуемых, это любые отклонения работы программы от ожидаемых. Надежная ПС не исключает наличия в ней ошибок – важно лишь, чтобы эти ошибки при практическом применении этого ПС в заданных условиях проявлялись достаточно редко. Убедиться, что ПС обладает таким свойством можно при его испытании путем тестирования, а также при практическом применении. Таким образом, фактически мы можем разрабатывать лишь надежные, а не правильные ПС.
Надежность программных продуктов – это уровень, при котором система программ удовлетворяет поставленным требованиям и пригодна для эксплуатации. Сама надежность является составной частью более общего понятия качества. Надежность ПО закладывается на всех фазах жизни программы, не только при поиске ошибок.
Свойства надежности ПС изучаются теорией надежности, которая является системой определенных идей, математических моделей и методов, направленных на решение проблем оценки, предсказания, и оптимизации различных показателей надежности. В основе теории надежности лежат понятия о двух возможных состояниях системы:
-
работоспособное – такое состояние системы, при которой она способна выполнять заданные функции, с параметрами установленными технической документацией;
-
неработоспособное.
В процессе функционирования системы возможны переходы от одного состояния к другому. С этими переходами связано событие отказа и восстановления. Существует три вида отказа:
-
устойчивый;
-
самоустраняющийся;
-
перемежающийся.
Для устранения устойчивого отказа требуется проведение спецмероприятий по восстановлению работоспособности. Самоустраняющийся отказ или сбой характеризуется достаточно быстрым восстановлением работоспособности без внешнего вмешательства. Перемежающийся отказ представляет собой многократно повторяющиеся сбои, для полного устранения которых требуется внешнее вмешательство.
По возможности восстановления работоспособности в процессе эксплуатации объекты делятся на восстанавливаемые и невосстанавливаемые. Невосстанавливаемые объекты не допускают ремонта или замены отказавшей компоненты и не обладают самовостанавливаемостью во время выполнения своих функций. Такие объекты могут эксплуатироваться либо до первого отказа либо до полного выполнения своих функций, либо до момента достижения некоторого предельного состояния, после чего они снимаются с эксплуатации. Длительность возможного последующего ремонта при этом не учитывается.
Восстанавливаемые объекты допускают ремонт и замену отказавших компонент и обладают возможностью самовосстановления. При этом существенную роль играет длительность пребывания в неработоспособном состоянии и проведения восстановительных работ. Рентабельность восстановления и допустимая длительность восстановительных работ зависит от конкретного значения (познание) и условия эксплуатации объекта. Для определения факта и степени работоспособности системы или объекта, необходимы средства способные установить соответствие параметров и характеристики данной системы требованиям технической документации. Кроме контроля работоспособности применяется диагностический контроль, основное назначение которого состоит в локализации отказа и установлении его характера и личности. Диагностический контроль может способствовать установлению степени работоспособности системы, однако его основная цель заключается в обеспечении скорейшего восстановления.
При оценке степени надежности ПС следует учитывать последствия каждого отказа. Некоторые ошибки в ПС могут вызывать лишь некоторые неудобства при его применении, тогда как другие ошибки могут иметь катастрофические последствия, например, угрожать человеческой жизни. Поэтому для оценки надежности ПС иногда используют дополнительные показатели, учитывающие стоимость (вред) для пользователя каждого отказа.