
- •Содержание
- •Введение
- •Раздел 1 общие положения о стандартах Тема 1 Основные понятия
- •Нормативные документы по стандартизации и виды стандартов
- •1.2 Схема классификации стандартов в области информационных технологий
- •1.3 Стандарты в области программного обеспечения
- •1.4 Стандарты комплекса гост 34 на создание и развитие автоматизированных систем
- •1.5 Сертификация
- •Тема 2 Организации, разрабатывающие стандарты
- •2.2 Международные организации, разрабатывающие стандарты
- •2.3 Закрепление интеллектуальной собственности в Республике Беларусь
- •2.4 Внутрифирменные (внутрикорпоративные) стандарты
- •Раздел 2 жизненный цикл программного обеспечения Тема 3 Систематизация процессов жизненного цикла
- •3.1 Жизненный цикл программного обеспечения и его стандартизация
- •3.2 Систематизация процессов жизненного цикла программного средства
- •3.3 Основные процессы жизненного цикла программного средства
- •3.4 Вспомогательные и организационные процессы жизненного цикла программного средства
- •Тема 4 Основные модели жизненного цикла
- •4.1 Классический жизненный цикл программных средств
- •4.2 Макетирование
- •4.3 Стратегии конструирования программных средств
- •4.4 Спиральная модель жизненного цикла программных средств
- •4.5 Компонентно–ориентированная модель
- •Раздел 3 стандарты документирования программных средств Тема 5 Общая характеристика проблем и задач документирования программного обеспечения
- •5.1 Проблемы и задачи создания программной документации
- •5.2 Общая характеристика состояния в области документирования программных средств
- •5.3 Основные недостатки еспд
- •Тема 6 Единая система программной документации
- •6.1 Общая характеристика Единой системы программной документации
- •6.2 Виды программ и программных документов (гост 19.101–77 еспд)
- •6.3 Стадии разработки (гост 19.102–77 еспд)
- •6.4. Краткая характеристика некоторых госТов по программной документации
- •Раздел 4 надежность и качество программного обеспечения Тема 7 Основные понятия и показатели надежности программного обеспечения
- •7.1 Проблема обеспечения надежности сложных информационных систем
- •7.2 Пути обеспечения надежности сложных информационных систем
- •7.3 Особенности применения основных понятий теории надежности сложных систем к жизненному циклу и оценке качества программного обеспечения
- •7.4 Показатели качества и надежности программных средств
- •Тема 8 Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств
- •8.1 Модель факторов, определяющих надежность программных средств
- •8.2 Методы обеспечения надежности программных средств
- •8.3 Систематизация принципов и методов обеспечения надежности в соответствии с их целью
- •8.4 Обработка сбоев аппаратуры
- •Тема 9 Модели надежности программного обеспечения
- •9.1 Классификация моделей надежности программного обеспечения
- •9.2 Аналитические модели надежности
- •9.3 Эмпирические модели надежности
- •9.4 Сертификация комплексов программ
- •Тема 10 Обеспечение качества и надежности в процессе разработки сложных программных средств
- •10.1 Концепции повышения надежности в процессе разработки сложных программных средств
- •10.2 Схема проектирования разработки программного обеспечения
- •10.3 Требования к технологии и средствам автоматизации разработки сложных программных средств
- •10.4 Качество программного обеспечения
- •Раздел 5 тестирование программного обеспечения Тема 11 Основные понятия
- •11.1 Проблематика тестирования программного обеспечения
- •11.2 Основные определения
- •11.3 Экономика тестирования
- •11.4 Аксиомы (принципы) тестирования
- •Тема 12 Тестирование надежности программного обеспечения
- •12.1 Философия тестирования
- •12.2 Тестирование модулей
- •12.3 Комплексное тестирование
- •12.4 Организация и этапы тестирования при испытаниях надежности сложных программных средств
- •Тема 13 Тестирование программного обеспечения
- •13.1 Тестирование программного обеспечения
- •13.2 Место и цель этапа тестирования программного обеспечения
- •13.3 Виды тестирования
- •13.4 Передовые технологии в тестировании (автоматизация тестирования)
- •Тема 14 Виды тестирования программного обеспечения
- •14.1 Функциональные виды тестирования
- •14.2 Нефункциональные виды тестирования. Тестирование производительности
- •14.3 Связанные с изменениями виды тестирования
- •14.4 Тестирование удобства пользования
- •14.5 Тестирование на отказ и восстановление
- •14.6 Конфигурационное тестирование
- •Раздел 6 case – инструментарий автоматизации анализа, проектирования и разработки программного обеспечения Тема 15 Классификация case – инструментария
- •15.1 Классификация по типам
- •15.2 Классификация по категориям
- •15.3 Классификация по уровням
- •15.4 Эволюция case – инструментария
- •Тема 16 Концептуальные основы case – технологий
- •16.2 Состав и структура и функциональные особенности case–инструментария
- •16.3 Поддержка графических моделей
- •16.4 Поддержка процесса проектирования и разработки
- •Литература
- •246019, Г. Гомель, ул. Советская, 104.
Раздел 4 надежность и качество программного обеспечения Тема 7 Основные понятия и показатели надежности программного обеспечения
7.1 Проблема и пути обеспечения надежности сложных информационных систем.
7.2 Пути обеспечения надежности сложных информационных систем.
7.3 Особенности применения основных понятий теории надежности сложных систем к жизненному циклу и оценке качества программного обеспечения.
7.4 Показатели качества и надежности программных средств.
7.1 Проблема обеспечения надежности сложных информационных систем
Опыт создания и применения сложных информационных систем (ИС) в последние десятилетия выявил множество ситуаций, при которых сбои и отказы их функционирования были обусловлены дефектами комплексов программ, что приводило к большому экономическому ущербу. Вследствие ошибок в программах автоматического управления погибло несколько отечественных, американских и французских спутников, происходили отказы и катастрофы в сложных административных, банковских и технологических информационных системах.
В результате около двадцати лет назад появились первые обобщающие работы, в которых были сформулированы концепция и основные положения теории надежности программных средств для информационных систем. В это время были заложены основы методологии и технологии создания высоконадежных сложных комплексов программ. Стало ясно, что для обеспечения высокой надежности функционирования и безопасности применения создаваемых сложных комплексов программ необходимы четкая организация и высокая квалификация всего коллектива специалистов, участвующих в таком проекте. В коллективе разработчиков целесообразно выделять специалистов, ответственных за соблюдение технологии создания и развития программ, за обеспечение и контроль качества, а также за надежность и безопасность проекта ПС и его компонентов.
Обеспечение надежности должно реализовываться специалистами в жизненном цикле программных средств на основе использования современной методологии, технологического инструментария, стандартов и нормативных документов.
Для обеспечения надежности программных средств необходимы разработка и применение эффективных методов и средств, предупреждающих и выявляющих дефекты, а также удостоверяющих надежность программ и оперативно защищающих функционирование ПС при их проявлениях. Для систематической, координированной борьбы с угрозами надежности должны проводиться исследования конкретных факторов, влияющих на качество функционирования и безопасность применения программ со стороны реально существующих и потенциально возможных дефектов в создаваемых комплексах программ. В каждом проекте должен целенаправленно разрабатываться скоординированный комплекс методов и средств обеспечения заданной надежности функционирования ПС при реально достижимом снижении уровня дефектов и ошибок разработки. Учет факторов, влияющих на затраты ресурсов при создании конкретного ПС, должен позволять рационализировать их использование и добиваться заданной надежности функционирования ПС при минимальных или допустимых затратах.
Для обеспечения надежности программных средств в конкретных проектах должны быть организованы и стимулированы разработка, освоение и применение современных автоматизированных технологий и инструментальных средств, обеспечивающих предупреждение или исключение большинства видов дефектов и ошибок при создании и модификации ПС и их компонентов. Ограниченные ресурсы на разработку приводят к необходимости упорядоченного применения методов и рационального использования средств автоматизации проектирования. Поэтому процесс разработки должен планироваться и последовательно проходить этапы, охватывающие все компоненты ПС. Контроль надежности и безопасности создаваемых и модифицируемых программ должен сопровождать весь жизненный цикл ПС посредством специальной, достаточно эффективной технологической системы обеспечения их качества. Разработка и сопровождение сложных ПС на базе CASE–технологий позволяют предупреждать и устранять наиболее опасные системные и алгоритмические ошибки на ранних стадиях проектирования, а также использовать неоднократно проверенные в других проектах программные и информационные компоненты высокого качества. Предупреждение ошибок должно поддерживаться высококачественной документацией в процессе создания ПС в целом и их компонентов.