- wlog – вывод информации в журнал вычислений;
- VectToStr – преобразование кода вектора направления в строку;
- ValidateView – обработка свойств доступности элементов панели управления;
- plDistance(x, y, x1, y1, x2, y2) – вычисление расстояние (минимального) от точки (x,y) до прямой, заданной точками (x1,y1) и (x2,y2)
StrToLen– выравнивание строки для образования формата определенной длины;
- NeigNode– рекурсивная обработка соседей точки на принадлежность узлу
- NeigLine – рекурсивная обраобтка соседей точки (x,y) на принадлежность сегменту
- GetLineVect – рекурсивная обработка кода сегмента линии;
- NodeCentre - вычисление значения центра узла;
- FillLine изменение принадлежности точек одного сегмента другому;
- CodeLine – формирование кода сегмента линии.
Схема программы SegCode представлена на рис. 4.1. Здесь представлено текстовое описание схемы программы:
1. Начало;
2. Инициализация массивов и переменных;
3. Если поиск узлов выполнен, то переход к п.5, иначе к п.4;
4. AnalyzeNode, переход к п.3;
5. Если поиск сегментов выполнен, то переход к п.7, иначе к п.6;
6. AnalyzeSeg, переход к п.5;
7. i=0; j=0; lnum=0; lineno=0;
8. Если j>=N, то переход к п.15;
9. Если i>=M, то переход к п.14;
10. Если (apix[i][j]=1)и(apix1[i][j]<0)и((NeigCount(i,j)=1)или(NeigCount(i,j)=2)), то переход к п.11, иначе к п.13;
11. lnum=lnum+1; lineno=lineno+1;
12. GetLineVect(i,j,lineno);
13. i=i+1; переход к п.9;
14. i=0; j=j+1; переход к п.8;
15. Конец.
4.3.6. Настройка программных средств
Для работы программы необходимо наличие операционной системы Windows 95/Windows NT или более поздней версии. Для работы программы с данными, размещенными в сети, необходима настройка сетевых подключений операционной системы к рабочей группе. Дополнительная настройка программы не требуется.
4.4. Описание контрольного примера
Контрольный пример предназначен для проверки программ подсистемы линейной сегментации, осуществляющих поиск узлов, сформированных в результате пересечения линий исходного графического изображения, поиск сегментов этих линий, их обработку и кодирование.
Схема программы SegCode
Номер сегмента | Начальная точка | Конечная точка | Количество узлов в сегменте |
1 | 30,11 | 13,2 | 0 |
2 | 14,30 | 14,25 | 1 |
3 | 25,30 | 25,22 | 1 |
4 | 7,27 | 14,25 | 1 |
5 | 28,22 | 25,22 | 1 |
6 | 5,16 | 10,11 | 1 |
7 | 1,7 | 10,11 | 1 |
8 | 14,7 | 10,11 | 1 |
9 | 25,9 | 25,22 | 1 |
10 | 14,25 | 10,11 | 2 |
11 | 14,25 | 25,22 | 2 |
Точки, определяющие направления для кодирования сегментов 10 и 11, образованных двумя узлами имеют координаты, представленные в таблице 4.3.
Таблица 4.3
Точки, определяющие направление
Номер сегмента | Координаты первой точки | Координаты точки направления | Координаты второй точки |
10 | 14,25 | 14,24 | 10,11 |
11 | 14,25 | 15,25 | 25,22 |
4.4.4. Результаты испытания программы
Для проверки правильности работы программы использовались исходные данные, указанные в пункте 4.4.2, и на их основе согласно математическому описанию, (см. п. 2.1.4, 3.1.4, 4.1.4) были выведены результаты, указанные в п. 4.4.3. Ниже приведены результаты работы программы:
1: (14,30)-(14,25)
2: (25,30)-(25,22)
3: (7,27)-(14,25)
4: (14,25)-(25,22) [15,25]
5: (14,25)-(10,11) [14,24]
6: (28,22)-(25,22)
7: (25,9)-(25,22)
8: (5,16)-(10,11)
9: (30,11)
10: (1,7)-(10,11)
11: (14,7)-(10,11)
Из результатов сравнения рассчитанных данных и данных, полученных в результате работы программы, видно, что они совпадают. Следовательно, можно сделать вывод о том, что программа работает правильно. В результате испытания программы было выявлено, что программа обеспечивает корректную обработку изображений различной степени сложности и содержащих различные типы структурных элементов.
5. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ
5.1. Расчет затрат на разработку «Подсистемы линейной сегментации»
Для определения величины расходов, потребовавшихся для создания подсистемы, используем прямой метод.
Расчет сметы затрат осуществляется по следующим статьям:
- расходы на материалы;
- расходы на оплату труда разработчиков;
- единый социальный налог;
- расходы на содержание и амортизацию ВТ;
- накладные расходы;
- прочие расходы.
К статье “Расходы на материалы” относятся покупные изделия, необходимые для выполнения работы, перечисленные в таблице 5.1.
Таблица 5.1
Расходы на материалы
Наименование материала | Количество | Стоимость, руб. |
Картридж для HPDeskJet 3420C | 1 шт. | 983 |
Канцелярские товары | - | 250 |
Итого: | 1233 |
Для расчета расходов по оплате труда определим продолжительность разработки системы. Она составила 5 месяцев. График работ по этапам (и их длительность) отображен в таблице 5.2.
Таблица 5.2
Продолжительность работ по этапам
Наименование этапа разработки | Длительность, месяцев |
1. Исследование объекта автоматизации, изучение средств разработки и программирования, формулировка требований к подсистеме. | 0.5 |
2. Анализ данных, разработка структур обмена данными, анализ быстродействия и ресурсоемкости структур обмена данными. | 1 |
3. Проработка интерфейсов, экранных форм, общая настройка системы. | 0.5 |
4. Разработка алгоритмов обработки | 1 |
5. Реализация на ЯП и отладка | 1 |
6. Документирование | 1 |
Итого: | 5 |
Оклад инженера-программиста, работающего над созданием системы, на период разработки (Пм = 5 месяцев) составил Окл = 5000.00 рублей в месяц. Вычислим расходы на оплату труда разработчиков за весь период разработки (ОТобщ):
Отр=Окл*Пм, (5.1)
где Отр – расходы на оплату труда программиста за 5 месяцев.
Отр = 5000 * 5 = 25000 руб.
Кроме того, необходимо учесть уральский коэффициент (15%).
Кур = 25000 * 0.15= 3750 руб.
Следовательно, расходы на оплату труда с учетом уральского коэффициента (Отрук) составила:
Отрук =Отр + Кур (5.2)
Отрук = 25000 + 3750 = 28750 руб.
Всего расходы на оплату труда:
ОТобщ = 28750 руб.
Статья единый социальный налог (ЕСН) – 26% рассчитывается от расходов на оплату труда (ОТобщ), кроме того необходимо учитывать отчисления в фонд страхования от несчастных случаев (ФСС) – 0.2%:
Сумма отчислений составляет:
Сотч = ОТобщ * 0.262 (5.3)
Сотч = 28750* 0.262 = 7532,50 руб.
Статья «Расходы на содержание и амортизацию ВТ» включает расходы, связанные с использованием ресурсов ЭВМ.
Стоимость одного машинного часа рассчитывается по формуле:
Ач = Сисп / (Чм * Кч), (5.4)
где Ач – аренда за час использования;
Сисп - общая стоимость использования ЭВМ (рассчитывается по формуле);
Чм – число месяцев в году;
Кч – среднемесячная продолжительность рабочего времени.
Сисп=Акомп+ЗПобсл+Сзч+Сэл+Апо, (5.5)