Разделы презентаций


Качество программного обеспечения

Содержание

Качественные характеристики программного продукта- надежность;- эффективность;- модифицируемость;- мобильность;- понятность (программа должна быть составлена так, чтобы ее легко было читать и использовать, так как программа пишется для людей);   - учет человеческого фактора.

Слайды и текст этой презентации

Слайд 1Качество программного обеспечения

Качество программного обеспечения

Слайд 2Качественные характеристики программного продукта
- надежность;
- эффективность;
- модифицируемость;
- мобильность;
- понятность (программа

должна быть составлена так, чтобы ее легко было читать и

использовать, так как программа пишется для людей);
   - учет человеческого фактора.

Качественные характеристики программного продукта- надежность;- эффективность;- модифицируемость;- мобильность;- понятность (программа должна быть составлена так, чтобы ее легко

Слайд 3Эффективность программы - это минимальные затраты оперативной и внешней памяти,

времени работы процессора, необходимые для выполнения программы.

Эффективность программы - это минимальные затраты оперативной и внешней памяти, времени работы процессора, необходимые для выполнения программы.

Слайд 4Мобильность - программа является завершенной и машинонезависимой.

Мобильность - программа является завершенной и машинонезависимой.

Слайд 5Модифицируемость - это возможность расширения вычислительных возможностей отдельных модулей.

Модифицируемость - это возможность расширения вычислительных возможностей отдельных модулей.

Слайд 6Учет человеческого фактора - программа не требует излишних затрат времени

и усилий пользователя по поддержанию ее функционирования.

Учет человеческого фактора - программа не требует излишних затрат времени и усилий пользователя по поддержанию ее функционирования.

Слайд 7Надежность программы определяется как свойство выполнять заданные функции в заданных условиях работы

и на заданной вычислительной машине

Надежность программы определяется как свойство выполнять заданные функции в заданных условиях работы и на заданной вычислительной машине

Слайд 8Сбои в работе:
выдача неверных результатов;
отсутствие результатов;
уменьшение производительности;
порча данных пользователя.

Сбои в работе:выдача неверных результатов;отсутствие результатов;уменьшение производительности;порча данных пользователя.

Слайд 9Отказ программного продукта может быть обусловлен двумя причинами:
1) нарушение разработчиком программы

спецификации - технических требований к программе;
2) спецификация неточная или не полная.

Отказ программного продукта может быть обусловлен двумя причинами:1) нарушение разработчиком программы спецификации - технических требований к программе;2) спецификация неточная

Слайд 10Классификация программ
По степени точности спецификации:
1) программы, функции которых полностью определяются

спецификацией;
2) программы, функции которых корректируются сопоставлением вычислительных и измеренных результатов (сюда

относятся моделирующие программы , реализующие математическую модель физического объекта )
3) программы, действующие в постоянно изменяющейся среде (эта среда состоит из других программ, данных пользователей, реальных установок и схем и т.п.; к ним относятся операционные системы, управляющие программы и т.д.).

Классификация программПо степени точности спецификации:1) программы, функции которых полностью определяются спецификацией;2) программы, функции которых корректируются сопоставлением вычислительных и

Слайд 11В связи с этой классификацией введено понятие корректности программы - ее соответствие

спецификации.
Но поскольку спецификация не всегда и не полностью соответствует

фактическим требованиям к программе, возможны случаи, когда некорректная программа работает надежно или, наоборот, корректная программа - ненадежно.
В связи с этой классификацией введено понятие корректности программы - ее соответствие спецификации. Но поскольку спецификация не всегда и

Слайд 12 Характерной особенностью ошибок, вызывающих отказы программ, является их скрытность -

проявление лишь в редких комбинациях исходных данных.

 Характерной особенностью ошибок, вызывающих отказы программ, является их скрытность - проявление лишь в редких комбинациях исходных данных.

Слайд 13Обеспечение и повышение надежности программ
1) Усовершенствование технологии программирования.
Методологические подходы
необходимо

широко использовать принципы модульного программирования в сочетании с практикой минимизации

числа соединений между модулями
необходимо искать и применять способы так называемого  оборонительного программирования, направленного на уменьшение вероятности ошибок в программах.

Обеспечение и повышение надежности программ 1) Усовершенствование технологии программирования. Методологические подходынеобходимо широко использовать принципы модульного программирования в сочетании

Слайд 14Обеспечение и повышение надежности программ
Основные концепции программирование
а) Защита –ограничение

неправильного использования программных объектов.
Требование проектировать и программировать таким образом,

чтобы не только гарантировать ожидаемое использование программы в строгом соответствии со спецификациями, но и сделать невозможным ее неправильное использование.
Обеспечение и повышение надежности программ Основные концепции программированиеа) Защита –ограничение неправильного использования программных объектов. Требование проектировать и

Слайд 15Обеспечение и повышение надежности программ
Основные концепции программирование
б) Устойчивость к

ошибкам, заключается в том, что как бы хорошо ни была

спроектирована и реализована программа, в ней обязательно будет содержаться несколько остаточных ошибок.
Модули программы, которые могут дать сбой, должны иметь “резервный запас”.
Обеспечение и повышение надежности программ Основные концепции программированиеб) Устойчивость к ошибкам, заключается в том, что как бы

Слайд 16Обеспечение и повышение надежности программ
Модуль проектируется в виде блоков

восстановления. Каждый блок восстановления содержит пропускной тест и один или

несколько вариантов реализации. Основной вариант инициируется при вызове блока восстановления, и когда его выполнение завершается, происходит проверка значения пропускного теста.
Если он дает «истину», то считается, что выполнение блока восстановления успешно завершено.
Если же тест дает «ложь», то инициируется другой вариант, за которым следует определение значения пропускного теста и т. д. , и так до успешного выполнения блока восстановления.
Если же ни один вариант не прошел пропускного теста, то блок восстановления рассматривается как ошибочный и начинается исполнение другого варианта вызываемого модуля.
Обеспечение и повышение надежности программ Модуль проектируется в виде блоков восстановления. Каждый блок восстановления содержит пропускной тест

Слайд 17Обеспечение и повышение надежности программ
2) Выбор алгоритмов не чувствительных к различного рода нарушениям

вычислительного процесса (использование алгоритмической избыточности).

Обеспечение и повышение надежности программ 2) Выбор алгоритмов не чувствительных к различного рода нарушениям вычислительного процесса (использование алгоритмической избыточности).

Слайд 18Обеспечение и повышение надежности программ
Мерой чувствительности алгоритма может являться

погрешность вычислений.
Результаты вычислений искажаются следующими погрешностями:
а) исходных данных, трансформированными в ходе

вычислений;
б) округления;
в) погрешностями метода;
г) погрешностями, обусловленными отказами, сбоями и ошибками в программе;

Обеспечение и повышение надежности программ Мерой чувствительности алгоритма может являться погрешность вычислений. Результаты вычислений искажаются следующими погрешностями:а)

Слайд 19Обеспечение и повышение надежности программ
 3) Резервирование программ (введение структурной избыточности).
Основано

на осознании того факта, что достижение необходимого уровня надежности программы

путем использования технологических мер обычно ограничено.
Для этого подготавливаются две или более версий программы для решения одной и той же задачи.
Обеспечение и повышение надежности программ  3) Резервирование программ (введение структурной избыточности).Основано на осознании того факта, что достижение необходимого

Слайд 20Обеспечение и повышение надежности программ
При дуальном программировании (если разрабатываются две версии

программы) в случае обнаружения расхождения в результатах, необходимо определить по

дополнительным критериям, какой результат правильный и отбросить другой результат.
Обеспечение и повышение надежности программ При дуальном программировании (если разрабатываются две версии программы) в случае обнаружения расхождения в результатах,

Слайд 21Обеспечение и повышение надежности программ
При N-версионном программировании подготавливаются N версий программы и правильный результат

определяется по мажоритарному признаку, т.е. выбирается тот результат, который наблюдается

в большинстве вариантов программы.
Обеспечение и повышение надежности программ При N-версионном программировании подготавливаются N версий программы и правильный результат определяется по мажоритарному признаку, т.е. выбирается

Слайд 22Обеспечение и повышение надежности программ
при модифицированном дуальном программировании наряду с

достаточно точной, но сложной основной программой используется менее точная, но

простая резервная программа.
Если при одинаковых исходных данных результаты работы программ отличаются на величину большую, чем допустимая погрешность, делается предположение, что отказала основная программа, как менее надежная, и в качестве правильного результата принимается результат работы резервной программы.
Обеспечение и повышение надежности программ при модифицированном дуальном программировании наряду с достаточно точной, но сложной основной программой используется

Слайд 23Обеспечение и повышение надежности программ
4) Тестирование программ. Тестирование - проверка

работы программы по результатам ее выполнения на специально подобранных наборах

исходных данных - тестах.
Программа может быть тестирована либо полностью, либо выборочно в отдельных точках пространства исходных данных.
Обеспечение и повышение надежности программ 4) Тестирование программ. Тестирование - проверка работы программы по результатам ее выполнения на

Слайд 24Обеспечение и повышение надежности программ
При выборочном тестировании надежность программы не может

быть полностью гарантирована. Если тесты предлагаются программистом, то они могут

охватить только те части программы, с которыми программист наиболее знаком. Поэтому многие скрытые ошибки могут оставаться не обнаруженными.
Обеспечение и повышение надежности программ При выборочном тестировании надежность программы не может быть полностью гарантирована. Если тесты предлагаются программистом,

Слайд 25Обеспечение и повышение надежности программ
Полное тестирование при всех возможных входных

наборах программы или даже тестирование всех путей в структуре программы

нереально, так как число тестов будет недопустимо большим.
Обеспечение и повышение надежности программ Полное тестирование при всех возможных входных наборах программы или даже тестирование всех путей

Слайд 26Обеспечение и повышение надежности программ
Структурное выборное тестирование основанно на разделении пространства

исходных данных на классы, причем каждый класс позволяет подтвердить определенные

свойства или работоспособность определенных элементов структуры программы.
Обеспечение и повышение надежности программ Структурное выборное тестирование основанно на разделении пространства исходных данных на классы, причем каждый

Слайд 27Методы обеспечения надежности программных средств
создавать программные модули и функциональные компоненты высокого,

гарантированного качества;
предотвращать дефекты проектирования за счет эффективных технологий и средств автоматизации обеспечения

всего жиз­ненного цикла комплексов программ и баз данных;
обнаруживать и устранять различные дефекты и ошибки про­ектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла ПС;
удостоверять достигнутое качество и надежность функциони­рования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию;
оперативно выявлять последствия дефектов программ и данных и восстанавливать нормальное, надежное функционирование комплексов программ.
Методы обеспечения надежности программных средствсоздавать программные модули и функциональные компоненты высокого, гарантированного качества;предотвращать дефекты проектирования за счет эффективных технологий

Слайд 28Методы обеспечения надежности программных средств
Все принципы и методы обеспечения надежности

в соответствии с их целью можно разбить на четыре группы:
предупреждение

ошибок,
обнаружение ошибок,
исправление ошибок,
обеспечение устойчивости к ошибкам. 

Методы обеспечения надежности программных средствВсе принципы и методы обеспечения надежности в соответствии с их целью можно разбить

Слайд 29Методы обеспечения надежности программных средств
Предупреждение ошибок
принципы и методы, позволяющие минимизировать

или вообще исключить ошибки.

Методы обеспечения надежности программных средствПредупреждение ошибокпринципы и методы, позволяющие минимизировать или вообще исключить ошибки.

Слайд 30Методы обеспечения надежности программных средств
Обнаружение ошибок
Методы сосредоточивают внимание на функциях

самого программного обеспечения, помогающих выявлять ошибки.

Методы обеспечения надежности программных средствОбнаружение ошибокМетоды сосредоточивают внимание на функциях самого программного обеспечения, помогающих выявлять ошибки.

Слайд 31Методы обеспечения надежности программных средств
Исправление ошибок 
Функции программного обеспечения, предназначенные для

исправления ошибок или их последствий.

Методы обеспечения надежности программных средствИсправление ошибок Функции программного обеспечения, предназначенные для исправления ошибок или их последствий.

Слайд 32Методы обеспечения надежности программных средств
Обеспечение устойчивости к ошибкам
Мера способности системы

программного обеспечения продолжать функционирование при наличии ошибок.

Методы обеспечения надежности программных средствОбеспечение устойчивости к ошибкамМера способности системы программного обеспечения продолжать функционирование при наличии ошибок.

Слайд 33Предупреждение ошибок
Цель — не допустить появления ошибок в готовой программе.

Предупреждение ошибокЦель — не допустить появления ошибок в готовой программе.

Слайд 34Предупреждение ошибок
1) методы, позволяющие справиться со сложностью, свести ее к минимуму,

так как это — главная причина ошибок перевода;
2)  методы достижения большей

точности при переводе;
3)  методы улучшения обмена информацией;
4)  методы немедленного обнаружения и устранения ошибок. Эти методы направлены на обнаружение ошибок на каждом шаге перевода, не откладывая до тестирования программы после ее написания.
Предупреждение ошибок1) методы, позволяющие справиться со сложностью, свести ее к минимуму, так как это — главная причина ошибок

Слайд 35Предупреждение ошибок
Предупреждение ошибок — оптимальный путь к достижению надежности программного обеспечения.
Лучший

способ обеспечить надежность — прежде всего не допустить возникновения ошибок.


Предупреждение ошибокПредупреждение ошибок — оптимальный путь к достижению надежности программного обеспечения.Лучший способ обеспечить надежность — прежде всего не

Слайд 36Обнаружение ошибок
Если предполагать, что в программном обеспечении какие-то ошибки все же

будут, то лучшая (после предупреждения ошибок) стратегия — включить средства

обнаружения ошибок в само программное обеспечение.

Обнаружение ошибокЕсли предполагать, что в программном обеспечении какие-то ошибки все же будут, то лучшая (после предупреждения ошибок) стратегия

Слайд 37Обнаружение ошибок
Немедленное обнаружение имеет два преимущества: можно минимизировать влияние ошибки и

последующие затруднения для человека, которому придется извлекать информацию о ней,

находить ее и исправлять.
Обнаружение ошибокНемедленное обнаружение имеет два преимущества: можно минимизировать влияние ошибки и последующие затруднения для человека, которому придется извлекать

Слайд 38Обнаружение ошибок
Меры по обнаружению ошибок можно разбить на две подгруппы: 
пассивные попытки обнаружить

симптомы ошибки в процессе «обычной» работы программного обеспечения
активные попытки программной

системы периодически обследовать свое состояние в поисках признаков ошибок.

Обнаружение ошибокМеры по обнаружению ошибок можно разбить на две подгруппы: пассивные попытки обнаружить симптомы ошибки в процессе «обычной» работы программного

Слайд 39Обнаружение ошибок
Пассивное обнаружение. 
Меры по обнаружению ошибок могут быть приняты на нескольких

структурных уровнях программной системы.

Обнаружение ошибокПассивное обнаружение. Меры по обнаружению ошибок могут быть приняты на нескольких структурных уровнях программной системы.

Слайд 40Обнаружение ошибок
1.  Взаимное недоверие. Каждый из компонентов должен предполагать, что все другие содержат

ошибки. Когда он получает какие-нибудь данные от другого компонента или

из источника вне системы, он должен предполагать, что данные могут быть неправильными, и пытаться найти в них ошибки.
2. Немедленное обнаружение. Ошибки необходимо обнаружить как можно раньше. Это не только ограничивает наносимый ими ущерб, но и значительно упрощает задачу отладки.
3.  Избыточность. Все средства обнаружения ошибок основаны на некоторой форме избыточности (явной или неявной).
Обнаружение ошибок1.  Взаимное недоверие. Каждый из компонентов должен предполагать, что все другие содержат ошибки. Когда он получает какие-нибудь данные от

Слайд 41Обнаружение ошибок
Активное обнаружение ошибок
Диагностический монитор -параллельный процесс, который периодически анализирует состояние

системы с целью обнаружить ошибку:
периодически выполняемая задача (например, она планируется

на каждый час)
задача с низким приоритетом, которая планируется для выполнения в то время, когда система переходит в состояние ожидания.
Обнаружение ошибокАктивное обнаружение ошибокДиагностический монитор -параллельный процесс, который периодически анализирует состояние системы с целью обнаружить ошибку:периодически выполняемая задача

Слайд 42Обнаружение ошибок
Монитор может
обследовать основную память, чтобы обнаружить блоки памяти, не

выделенные ни одной из выполняемых задач и не включенные в

системный список свободной памяти.
проверять также необычные ситуации: например, процесс не планировался для выполнения в течение некоторого разумного интервала времени.
осуществлять поиск «затерявшихся» внутри системы сообщений или операций ввода-вывода, которые необычно долгое время остаются незавершенными, участков памяти на диске, которые не помечены как выделенные и не включены в список свободной памяти, а также различного рода странностей в файлах данных.
Обнаружение ошибокМонитор может обследовать основную память, чтобы обнаружить блоки памяти, не выделенные ни одной из выполняемых задач и

Слайд 43Исправление ошибок
После того как ошибка обнаружена, либо она сама, либо ее

последствия должны быть исправлены программным обеспечением.
Исправление ошибок самой системой

— плодотворный метод проектирования надежных систем аппаратного обеспечения.
Исправление ошибокПосле того как ошибка обнаружена, либо она сама, либо ее последствия должны быть исправлены программным обеспечением. Исправление

Слайд 44Исправление ошибок
Некоторые устройства способны обнаружить неисправные компоненты и пе­рейти к использованию

идентичных запасных.
Аналогичные методы неприменимы к программному обеспечению вследствие глубоких

внутренних различий между сбоями аппаратуры и ошибками в программах.
Если некоторый программный модуль содержит ошибку, идентичные «запасные» модули также будут содержать ту же ошибку.
Исправление ошибокНекоторые устройства способны обнаружить неисправные компоненты и пе­рейти к использованию идентичных запасных. Аналогичные методы неприменимы к программному

Слайд 45Исправление ошибок
Другой подход к исправлению связан с попытками восстановить разрушения, вызванные ошибками, например

искажения записей в базе данных или управляющих таблицах системы.

Исправление ошибокДругой подход к исправлению связан с попытками восстановить разрушения, вызванные ошибками, например искажения записей в базе данных или управляющих

Слайд 46Исправление ошибок
Польза от методов борьбы с искажениями ограничена, поскольку предполагается, что

разработчик заранее предугадает несколько возможных типов искажений и предусмотрит программно

реализуемые функции для их устранения.

Исправление ошибокПольза от методов борьбы с искажениями ограничена, поскольку предполагается, что разработчик заранее предугадает несколько возможных типов искажений

Слайд 47СПАСИБО ЗА ВНИМАНИЕ!

СПАСИБО ЗА ВНИМАНИЕ!

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика