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

Содержание


Презентации» Образование» Качество программного обеспечения
Качество программного обеспеченияКачественные характеристики программного продукта
 - надежность;
 - эффективность;
 - модифицируемость;
 -Эффективность программы - это минимальные затраты оперативной и внешней памяти, времениМобильность - программа является завершенной и машинонезависимой.Модифицируемость - это возможность расширения вычислительных возможностей отдельных модулей.Учет человеческого фактора - программа не требует излишних затрат времени иНадежность программы определяется как свойство выполнять заданные функции в заданных условиях работы иСбои в работе:
 выдача неверных результатов;
 отсутствие результатов;
 уменьшение производительности;
 порчаОтказ программного продукта может быть обусловлен двумя причинами:
 1) нарушение разработчиком программыКлассификация программ
 По степени точности спецификации:
 1) программы, функции которых полностьюВ связи с этой классификацией введено понятие корректности программы - ее соответствие спецификации. Характерной особенностью ошибок, вызывающих отказы программ, является их скрытность - проявлениеОбеспечение и повышение надежности программ 
 1) Усовершенствование технологии программирования. 
 МетодологическиеОбеспечение и повышение надежности программ 
 Основные концепции программирование
 а) ЗащитаОбеспечение и повышение надежности программ 
 Основные концепции программирование
 б) УстойчивостьОбеспечение и повышение надежности программ 
 Модуль проектируется в виде блоковОбеспечение и повышение надежности программ 
 2) Выбор алгоритмов не чувствительных к различного рода нарушениямОбеспечение и повышение надежности программ 
 Мерой чувствительности алгоритма может являтьсяОбеспечение и повышение надежности программ 
  3) Резервирование программ (введение структурной избыточности).
Обеспечение и повышение надежности программ 
 При дуальном программировании (если разрабатываются две версииОбеспечение и повышение надежности программ 
 При N-версионном программировании подготавливаются N версий программы и правильныйОбеспечение и повышение надежности программ 
 при модифицированном дуальном программировании наряду сОбеспечение и повышение надежности программ 
 4) Тестирование программ. Тестирование - проверкаОбеспечение и повышение надежности программ 
 При выборочном тестировании надежность программы не можетОбеспечение и повышение надежности программ 
 Полное тестирование при всех возможных входныхОбеспечение и повышение надежности программ 
 Структурное выборное тестирование основанно на разделенииМетоды обеспечения надежности программных средств
 создавать программные модули и функциональные компоненты высокого,Методы обеспечения надежности программных средств
 Все принципы и методы обеспечения надежностиМетоды обеспечения надежности программных средств
 Предупреждение ошибок
 принципы и методы, позволяющиеМетоды обеспечения надежности программных средств
 Обнаружение ошибок
 Методы сосредоточивают внимание наМетоды обеспечения надежности программных средств
 Исправление ошибок 
 Функции программного обеспечения, предназначенныеМетоды обеспечения надежности программных средств
 Обеспечение устойчивости к ошибкам
 Мера способностиПредупреждение ошибок
 Цель — не допустить появления ошибок в готовой программе.Предупреждение ошибок
 1) методы, позволяющие справиться со сложностью, свести ее к минимуму,Предупреждение ошибок
 Предупреждение ошибок — оптимальный путь к достижению надежности программного обеспечения.
Обнаружение ошибок
 Если предполагать, что в программном обеспечении какие-то ошибки все жеОбнаружение ошибок
 Немедленное обнаружение имеет два преимущества: можно минимизировать влияние ошибки иОбнаружение ошибок
 Меры по обнаружению ошибок можно разбить на две подгруппы: 
 пассивные попыткиОбнаружение ошибок
 Пассивное обнаружение. 
 Меры по обнаружению ошибок могут быть приняты наОбнаружение ошибок
 1.  Взаимное недоверие. Каждый из компонентов должен предполагать, что все другие содержатОбнаружение ошибок
 Активное обнаружение ошибок
 Диагностический монитор -параллельный процесс, который периодически анализируетОбнаружение ошибок
 Монитор может 
 обследовать основную память, чтобы обнаружить блоки памяти,Исправление ошибок
 После того как ошибка обнаружена, либо она сама, либо ееИсправление ошибок
 Некоторые устройства способны обнаружить неисправные компоненты и пе­рейти к использованиюИсправление ошибок
 Другой подход к исправлению связан с попытками восстановить разрушения, вызванные ошибками, напримерИсправление ошибок
 Польза от методов борьбы с искажениями ограничена, поскольку предполагается, чтоСПАСИБО ЗА ВНИМАНИЕ!



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Качество программного обеспечения


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Слайд 47
Описание слайда:
СПАСИБО ЗА ВНИМАНИЕ!


Скачать презентацию на тему Качество программного обеспечения можно ниже:

Похожие презентации