Главная страница  Анализ эмпирических данных 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [ 66 ] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

ТОМ числе иа стадии формулирования требований, проектирования, программирования и сопровождения.

Приведенные вын1е количественные результаты следует рассматривать как типичные для определенных условий одной конкретной разработки. Хотя основные классы ошибок, выделенные в Проектах 2 и 3, аналогичны соответствуюш,им классам ошибок в Проекте 5, детализированные характеристики ошибок совершенно различны вследствие различия режимов работы систем (пакетный в отличие от реального времени), применявшихся языков программирования (ДЖОВИАЛ в отличие от ФОРТРАНа), стратегий разработки (принцип одновременного выполнения всего проекта сразу в отличие от принципа нисходящего проектирования). Главная мысль, которую авторы стремились подчеркнуть в данной работе, заключается в том, что качество (и надежность) программного обеспечения может быть повышено, если уделять должное внимание деталям и правильному применению соответствующих методов его разработки и испытаний. Специалные средства не только способствуют выполнению функций, которые обычно осуществляются вручную, но и позволяют справляться с такими задачами, которые вообще невозможно было бы решать, опираясь лишь на ручные методы, Применение рассмотренных средств, вероятно, есть единственный путь к достижению требуемого уровня дисциплины и внимания к необходимым деталям в условиях временных ограничений, накладываемых графиками разработки современных систем программного обеспечения.



Глава 5

Модели надежности программного обеспечения

5.1. Введение

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

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



) В дальнейшем слова ошибка, тип ошибки определяются как причина дефекта системы программного обеспечения; и наоборот, дефект рассматривается как проявление допущенной ранее ошибки.

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

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



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [ 66 ] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.