Начинаем программу с описания переменных, которые мы будем использовать походу программы. Задаем два двухмерных массива, которые понадобятся нам для описания матрицы ”смежности” и три одномерных массива, которые будем использовать при процедуре ”свертки".
С помощью процедуры ” kol_node ” мы осуществляем ввод количества узлов анализируемой системы. А с помощью процедуры ”kol_attemp ” задаем необходимое количество испытаний.
Процедуру ” number_attemp ” начинаем с обнуления всех используемых массивов т.к программа хранит данные о испытаниях. Далее мы при помощи двух циклов for, задаем матрицу ”смежности” двумя способами: автоматически (param=1) или вручную (param=2). Цикл ”while d<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 |
Зная математическое ожидание, по каждому этапу рассчитывается общая величина математического ожидания в целом по программе:
(4.4)
Mo = 23.2 дня.
Зная стандартное отклонение, по каждому этапу рассчитывается общая величина стандартного отклонения в целом по программе:
, (4.5)
G = 1.18 дня.
В итоге себестоимость программы:
Данная программа предназначена для использования внутри ВУЗа.
Разработанная программа, позволяет проводить анализ различных типов структур сетей связи. Рассмотреть, как зависит надежность сети от выбранного типа структуры построения системы и от надежности линии связи, рассчитать надежность анализируемой системы, что практически не возможно реализовать в ручную.
Дата: 2019-07-30, просмотров: 228.