- •Качество программного средства, уровень качества.
- •Математическая модель качества программного средства.
- •Методы контроля показателей качества программного средства.
- •Модели оценки качества программного средства с математической точки зрения.
- •Сбои и отказы. Классификация.
- •Понятие «правильной» программы.
- •Модель уязвимости программного средства: Объекты уязвимости.
- •Модель уязвимости программного средства: Внешние дестабилизирующие факторы и угрозы.
- •Модель уязвимости программного средства: Внутренние дестабилизирующие факторы и угрозы.
- •Модель уязвимости программного средства: Методы предотвращения угроз и повышения надежности.
- •Модель уязвимости программного средства: Оперативные методы повышения надежности.
- •Ошибки в программных средствах. Особенности выявления.
- •Ошибки в программных средствах. Первичные и вторичные ошибки. Виды ошибок.
- •Стратегия отладки программного обеспечения по тестовым данным.
- •Управление требованиями к разработки по.
- •Поведенческие модели по.
- •Модели системного окружения по.
- •Модели потоков данных.
- •Архитектурное проектирование по
- •Повторное использование компонент. Основные достоинства.
- •Повторное использование компонент. Основные недостатки.
Стратегия отладки программного обеспечения по тестовым данным.
Отладка ПС - деятельность по обнаружению и исправлению ошибок в ПС с использованием процессов выполнения его программ. Тестирование ПС - процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Этот набор данных называется тестовым или просто тестом. Отладка = Тестирование + Поиск ошибок + Редактирование. ^2. ВИДЫ ОТЛАДКИ ПРОГРАММНОГО СРЕДСТВА Задачи отладки программных средств. 1. Подготовить такой набор тестов и применить к ним ПС, чтобы обнаружить в нем по возможности большее число ошибок. 2. Определить момент окончания отладки ПС (или отдельной его компоненты). Для оптимизации набора тестов, необходимо заранее планировать этот набор и использовать рациональную стратегию планирования тестов. Проектирование тестов можно начинать сразу же после завершения этапа внешнего описания ПС. Возможны разные подходы к выработке стратегии проектирования тестов, которые можно условно графически разместить (см. рис.1) между следующими двумя крайними подходами. Оптимальная стратегия проектирования тестов расположена внутри интервала между этими крайними подходами, но ближе к левому краю. При этом в первом случае эта стратегия базируется на принципах: * на каждую используемую функцию или возможность - хотя бы один тест, * на каждую область и на каждую границу изменения какой-либо входной величины - хотя бы один тест, * на каждую особую (исключительную) ситуацию, указанную в спецификациях, - хотя бы один тест. Во втором случае эта стратегия базируется на принципе: каждая команда каждой программы ПС должна проработать хотя бы на одном тесте. В нашей стране различаются два основных вида отладки (включая тестирование): Автономная отладка ПС - последовательное раздельное тестирование различных частей программ с поиском и исправлением в них фиксируемых при тестировании ошибок. Комплексная отладка - тестирование ПС в целом с поиском и исправлением фиксируемых при тестировании ошибок во всех документах.
Качество программного обеспечения. Качество продукта и процесса.
Качество продукции – это совокупность свойств продукции, обуславливающая ее пригодность удовлетворять определенные потребности в соответствии с ее назначением.
Качество ПО:
Основы качества
Культура и этика программной инженерии;
Значение и стоимость качества;
Модели и характеристики качества;
Повышение качества.
Процессы и установление качеством
Подтверждение качества;
V&V(verification validation);
Оценка и аудит
Прагматические соображения
Требования к качеству;
характеристика дефектов;
техника управления качеством;
количественная оценка качества
В различных источниках разная терминология характеристик качества:
ISO 9126 (4 части) - определяет 3 связанных модели качества ПО: внутреннее, внешнее и в процессе.
ISO 14598 (6 частей) – опред набор соответствующих работ по оценке качества.
Хар-ки качества ПП:
Функциональность (способность ПО обеспечивать ф-и удовлетворяющие установленные и подразумеваемые потребности при использовании ПО в заданных условиях)
Надежность (способность ПО сохранять свой уровень качества функционирования в заданных условиях)
Практичность (обуславливает легкость понимания и привлекательность для пользователя при использовании в заданных условиях)
Эффективность (способность обеспеч. Производительность относительно кол-ва используемых ресурсов в заданных усл)
Сопровождаемость (способность к модификации, будь то усовершен., адаптация)
Мобильность (способность переноса из 1 среды в другую)
Функциональность:
Пригодность (способность обеспечить набор фун-ций для указанных задач и целей юзера)
Правильность (способность правильные/приемлемые результаты)
Способность к взаимодействию (способность взаимодействовать с 1 или более числом систем)
Защищенность (способность ПО защищать данные и информацию так, чтобы неуполномоченные системы не могли их менять)
Согласованность (способность ПО придерживаться стандартов, связанных с областью применения)
Надежность:
Завершенность (способность предотвращать отказ при ошибках)
Устойчивость к ошибкам (способность ПО сохранять заданный уровень функционирования в случаях ошибок ПО или нарушении установленного интерфейса)
Восстанавливаемость (способность восстанавливать заданный уровень функционирования и данные после отказа)
Согласованность (способность ПО придерживаться стандартов, связанных с надежностью)
Практичность:
Понятность (способность ПП обеспечить юзеру понимание о пригодности ПО и как его использовать для решения задач)
Изучаемость/обучаемость(способность обеспечить изучение юзера применению ПО)
Легкость использования (способность обеспечить юзеру возможность эксплуатировать и управлять ПО)
Привлекательность (способность нравиться)
Согласованность (способность ПО придерживаться стандартов, связанных со стилем, практичностью)
Эффективность:
Временная эффективность (способность обеспечить приемлемое время отклика и пропуск способность)
Использование ресурсов (способность использовать приемлемые ресурсы в течение приемлемого времени при выполнении функций в заданных условиях )
Согласованность
Сопровождаемость:
Анализируемость (способность ПО к диагностике его недостатков или причин отказов)
Изменяемость (способность к специфицированным изменениям)
Стабильность (способность минимизировать непредвиденные эффекты при его изменении)
Тестируемость (способность ПО обеспечивающая проверку)
Согласованность
Мобильность
Адаптируемость (способность ПО к адаптации к определенным средам)
Легкость установки (способность к установке в данной среде)
Сосуществование (способность сосуществовать с другим независимым ПО)
Согласованность
Верификация и аттестация программного обеспечения.
Верификацией и аттестацией называют процессы проверки и анализа, в ходе которых проверяется соответствие программного обеспечения своей спецификации, в частности функциональным и нефункциональным требованиям и требованиям заказчиков.
Верификауия и аттестация охватывают полный жизненный цикл ЛС – они начинаются на этапе анализа требований и завершаются проверкой программного кода на этапе тестирования готовой программной системы.
Как правило в ходе верификации и аттестации в системе обнаруживаются ошибки. Для исправления ошибок в систему вносятся изменения. Этот процесс отладки обычно интегрирован с другими процессами верифиувции и аттестации.
Верификация и аттестация-процесс обнаружения дефектов в программной системе.
Временная избыточность ресурсов для обеспечения надежности программных средств.
Временная избыточность состоит в использовании некоторой части производительности компьютера для контроля исполнения программ и восстановления (рестарта) вычислительного процесса. Для этого при проектировании систем должен предусматриваться запас производительности, который будет использоваться на контроль и оперативное повышение надежности функционирования. Величина временной избыточности зависит от требований к надежности и находится в пределах от 5-10% производительности процессора до 3-4-кратного дублирования производительности отдельной машины в многопроцессорных вычислительных комплексах. Временная избыточность или резерв времени используется на контроль и обнаружение искажений на их диагностику и выработку решений по восстановлению вычислительного процесса или информации,а также на реализации операций восстановления. Действия для оценки временной избыточности в программе определить совокупные затраты на контроль на работу при необнаруженном искажении и на восстановление обеспечевающие заданную вероятность обнаружения отказовой ситуации при исполнении программ: определить основные показатели надежности функционирования программ в зависимости от совокупных затрат на оперативный контроль и восстановление оптимизировать суммарные затраты на отладку программ и на оперативную защиту от искажений для обеспеения заданной надежности функционирования ПС.
Информационная избыточность ресурсов для обеспечения надежности программных средств.
Информационная избыточность ресурсов для обеспечения надежности программных средств. Используется для сохранения достоверности данных которые в наибольшей степени влияют на нормальное функционирование программного средства и требуют значительного времени для восстановления. Такие данные обычно характеризуют некоторые интегральные сведения о внешнем управляемом процессе и, в случае их разрушения, может прерваться процесс обработки информации внешних объектов отражающих на надежности программного средства В некоторых случаях информационная избыточность позволяет не только обнаруживать искажения данных, но и устранить в них ошибку Программная избыточность ресурсов для обеспечения надежности программных средств. · Заключается в сопоставлении результатов обработки одинаковых исходных данных программами различающимися используемыми алгоритмами для исключения искажений при несовпадении результатов
Программная избыточность ресурсов для обеспечения надежности программных средств.
Программная избыточность необходима для реализации программ автоматического контроля и восстановления данных с использованием информационной избыточности и для функционирования всех средств обеспечения надежности использующих временную избыточность
V-модель разработки ПО.
1)Предпроектные исследования, спецификация требований и разработка технического задания. Тестирование системы на приемо-сдаточные испытания. 2)Разработка архитектуры системы. Интеграция и комплексное тестирование системы. 3)Проект системы. Интеграция и тестирование программного обеспечения 4)Проекты модулей Тестирование модулей Кодирование
Линейный подход к разработке ПО.
Линейный подход использует описание алгоритма с простой структурой и на практике применим для систем управления с небольшим количеством каналов управления. Для описания алгоритмов, реализуемых с помощью линейного подхода, используются стандартные блок-схемы. Коды, реализуемые только на ассемблерах плохо обозримы. Для увеличения обозримости кода в настоящее время широкое используют как синтаксис, так и собственно язык С для написания модулей.
Компонентное проектирование.
Компонентная разработка программного обеспечения – это способ разработки, при котором возможно повторное использование ранее созданные компонент, при условии, что они разрабатывались с этой возможностью повторного использования. Разработка требований к ПО.
Разработка требований к ПО.
Это процесс, включающий в себя мероприятия, необходимые для создания и утверждения документа содержащего спецификацию системных требований.
Различают 4 основных этапа процесса разработки: анализ технической осуществимости создания системы, формирование и анализ требований, специфицирование требований и создание соответствующей документации, а так же аттестация этих требований.
