Если xi < kг (i,j), то элемент сети находится в исправном состоянии (Aij=1).
Второй этап - проверка структуры, полуученой в результате выхода ее элементов из строя, на связность. Если сеть связана, то исход испытаний относится к числу благоприятных. Отношения числа благоприятных исходов к общему числу испытаний NOи будет оценкой структурной надежности анализируемой сети связи.
Процедура проверки сети на связность состоит в следующем. На анализируемой сети связи выбирается произвольный узел коммутации. Далее одновременно соединяют соседние узлы коммутаций к первоначально выбранному. Эта процедура осуществляется до тех пор, пока сеть не представится в виде одинокой точки (в случаи, если сеть связна) или множество точек (если сеть не связна). Данный метод получил названия метода ’’Соединения’’.
Алгоритм проверки сети на связность методом “свертки", состоит из следующих операций:
Выбор произвольного узла коммутаций (вектор-строки ap) матрицы A=║aij║s,s.
Запись выбранного номера узла коммутаций ap в одномерный массив P (1), который имеет размерность S.
Определение соседних узлов коммутаций: a1,...,aR, где R - степень узлов коммутаций. Если соседних узлов коммутаций нет, то переходим к шагу 7.
Проверка наличия номеров соседних узлов коммутаций в массиве P (1). Отсутствующие номера записываем в массив P (1).
Формируем новый вектор-строку a1p=a1Úa2Ú...ÚaRÚap.
Проверяем: ap=1→сеть считается связной; ap1≠1→возвращяемся к шагу номер 3.
Проверяем: массив Р (1) заполнен весь? Если да, то сеть считается связной. В противном случае сеть несвязна.
Изобразим алгоритм оценки структурной надежности радиотехнических систем методом статистического моделирования.
Начинаем программу с описания переменных, которые мы будем использовать походу программы. Задаем два двухмерных массива, которые понадобятся нам для описания матрицы ”смежности” и три одномерных массива, которые будем использовать при процедуре ”свертки".
С помощью процедуры ” kol_node ” мы осуществляем ввод количества узлов анализируемой системы. А с помощью процедуры ”kol_attemp ” задаем необходимое количество испытаний.
Процедуру ” number_attemp ” начинаем с обнуления всех используемых массивов т.к программа хранит данные о испытаниях. Далее мы при помощи двух циклов for, задаем матрицу ”смежности” двумя способами: автоматически (param=1) или вручную (param=2). Цикл ”whiled<N" выполняется до тех пор, пока не выполнятся все испытания. Потом, с помощью генератора случайных чисел задаем переменную ”R” в интервале от 0 до 1, затем сравниваем значения ”R” с элементами матрицы ”смежности”. Если R больше элемента, то значению элемента матрицы смежности присваевается единица, а если R меньше, то элементу присваевается ноль. Далее проводим процедуру проверки сети на ”связность”. Если при сложений элементов первой строки матрицы, мы получим ноль, то проводить процедуру свертки не надо т.к сеть ”несвязна". Переходим к следующему испытанию. Но, а если при сложение всех элементов строки получим сумму равную количеству элементов, то тогда сеть связна. При наличие в строке как нулевых, так и единичных элементов, мы проводим процедуру свертки. В первой строке находим единичный элемент, по положению которого определяем с номером какой строкой строки мы будем складывать первую строку. Полученную в результате строку проверяем на связность. Если она несвязна, то повторяем операцию сложения (полученную строку складываем со следующей строкой). Операцию проводим до тех пор, пока все элементы в строке не будут равны единицы или пока все строки не будут стянуты в одну. При проверки сети на связность, мы используем три одномерных массива. В массиве ”h” мы храним информацию о строках стянутых на предыдущем шаге, в массив ”mh" заносятся номера всех строк которые стянуты, а массив ”m” мы используем как промежуточный, в нем записана информация о еще не стянутых строках.
Далее мы описываем процедуру MENU. Которая обеспечивает доступ к соответствующим процедурам, отвечающим за ввод данных и ввывод результатов.
Тело программы включает в себя только обращение к процедуре MENU.
В данном проекте разработано программное обеспечение лабораторной работы на тему ” Исследование структурной надежности РТС". Ввиду отсутствия информации о подобных разработках осуществить сравнение данного продукта с аналогом не представляется возможным. Поэтому произведём расчёт себестоимости программы.
Себестоимость программного обеспечения можно определить по формуле 4.1:
С= (З / m) K (t1+t2) (1+Kн) + 8 t3 См, (4.1)
где С - себестоимость программного обеспечения;
З - среднемесячная заработная плата разработчика программы, (руб);
m - среднее количество рабочих дней в месяце;
К - коэффициент, учитывающий отчисления во внебюджетные фонды:
Пенсионный-28%.
Фонд занятости-1.5%
Фонд страхования-5.4%
Фонд мед. страхования-3.6%
Итого 38.5%, К=1.385
t1 - время, затраченное разработчиком в днях:
1. Разработку требований к программе.
2. Составление алгоритма программы.
t2 - время, затраченное на написание и отладку программы (дни),
Kн. - коэффициент, учитывающий накладные расходы. Мы его примем равным Kн. =2;
t3 - время, затраченное на разработку программы с использованием машинного времени (дни).
Так как в данном случае время, на написание и отладку программы является временем, затраченным на разработку программы с использованием машинного времени, то t2= t3.
См. - стоимость одного часа машинного времени, (дни).
Среднемесячную заработную плату разработчика программы примем равную З=2000 рублей.
Количество рабочих дней в месяц примем равное m=20.
Коэффициент, учитывающий отчисления во внебюджетные фонды равен К=1.385.
Стоимость одного часа машинного времени примем равное См. =10 рублей.
Для расчета себестоимости необходимы затраты по времени. Для этого предлагается применять экспертные оценки. Работа по разработке программной продукции разбивается на этапы, для каждого этапа экспертами устанавливаются временные оценки. В качестве экспертов выступают автор проекта и руководитель дипломного проекта. На основании экспертных оценок затрат времени определяется средняя оценка, которая считается по формуле 4.2:
, (4.2)где tp - экспертная оценка руководителя, (дни);
tc - оценка автора проекта, (дни);
Оценка времени предусмотрена для трёх ситуаций:
1. Наименьшая возможная величина затрат.
2. Наиболее вероятная величина затрат.
3. Наиболее возможная величина затрат.
Экспертные оценки и средние оценки затрат времени приводятся в таблице 4.1:
Таблица 4.1 - Экспертные и средние оценки затрат времени
Этапы разработки программы | Наименьшая возможная величина зaтрат (дни) | Наиболее вероятная величина затрат (дни) | Наиболее возможная величина затрат (дни) | ||||||
tp | tc | tp | tc | tp | tc | ||||
Подготовительное время, которое нужно потратить для того, чтобы приступить к написанию программы, t1 | 6 | 5 | 5.6 | 7 | 6 | 6.6 | 9 | 8 | 8.6 |
Время, затраченное на написание и отладку программы, t2=t3 | 14 | 13 | 13.6 | 17 | 15 | 16.2 | 21 | 18 | 19.8 |
На следующем этапе рассчитывается ожидаемая величина затрат времени и стандартное отклонение этой величины для каждого этапа.
, (4.3)где Moi - ожидаемая величина затрат времени для каждого этапа времени, (дни);
аi - средняя оценка наименьшей возможной величины затрат, (дни);
mi - средняя оценка наиболее вероятной величины затрат, (дни);
bi - средняя оценка наиболее возможной величины затрат, (дни);
Gi - стандартное отклонение времени для каждого этапа, [дни].
Результаты ожидаемой величины и стандартное отклонения приводятся в таблице 4.2:
Таблица 4.2 - Результаты ожидаемой величины и стандартное отклонения.
Этапы разработкиПрограммы | Средняя величина затрат времени по этапам | Ожидаемая величина затратВремени для каждого этапа, Moi (дни) | Стандартное отклонение временидля каждого этапа, Gi (дни) | ||
наименьшей возможной, ai (дни) | наиболее вероятной, mi (дни) | наиболее возможной, bi (дни) | |||
Подготовительное время, которое нужно затратить для того, чтобы приступить к написанию программы, t1 | 6 | 5.6 | 8.6 | 6.77 | 0.11 |
Время затраченное на написание программы и отладку,t2=t3 | 13.6 | 16.2 | 19.8 | 16.4 | 1.07 |
Зная математическое ожидание, по каждому этапу рассчитывается общая величина математического ожидания в целом по программе: