Особенности разработки ПО

 

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

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

 

Разработке ПО присущ ряд специфических особенностей.

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

1. Разработка ПС носит существенно творческий характер (на каждом шаге приходится делать какой-либо выбор, принимать решение) и не сводится к выполнению какой-либо последовательности регламентированных действий. Тем самым эта разработка ближе к процессу проектирования каких-либо сложных устройств, но никак не к их массовому производству.

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

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

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

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

 

Анализ надежности элементов (конкретно для ИС) показывает, что примерно

40 - 45% всех отказов возникает из-за ошибок на этапе проектирования,

30 % - от неправильной эксплуатации,

25-30 % – от всех остальных причин (ошибок, допущенных при производстве, отестественного старения).

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

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

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

 

 Основные задачи теории надежности сложных ПС

Учитывая особенности разработки ПО, из теории надежности технических систем выделилось направление – надежность программных средст в. К основным задачам этого направления можно отнести:

1)  формулирование основных понятий, используемых при исследовании и применении показателей надежности программных средств (ПС);

 2 ) выявление и исследование основных факторов, определяющих характеристики сложных программных комплексов;

3) выбор и обоснование критериев надежности для комплексов программ различного типа и назначения;

4) исследование дефектов и ошибок, динамики их изменения при отладке и сопровождении, а также влияния на показатели надежности ПС;

5)исследование методов и средств контроля и защиты путем использования различных видов избыточности;

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

 

Результаты решения этих задач являются основой для создания современных сложных ПС с заданными показателями надежности.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: