Программный продукт для интерактивного распознавания компактных многомерных классов образов

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,02 Мб
  • Опубликовано:
    2013-06-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программный продукт для интерактивного распознавания компактных многомерных классов образов

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Юго-Западный государственный университет"

Кафедра "Программное обеспечение вычислительной техники"





ДИПЛОМНАЯ РАБОТА

на соискание квалификации инженер

Программный продукт для интерактивного распознавания компактных многомерных классов образов

Специальность 230105.65 "Программное обеспечение вычислительной техники и автоматизированных систем"



автор работы Лисицин Александр Леонидович

Руководитель работы Е.А. Петрик




Курск, 2012 г.

Задание на дипломную работу

 

Студент: Лисицин Александр Леонидович

. Тема "Программный продукт для интерактивного распознавания компактных многомерных классов образов" утверждена приказом по ЮЗГУ № 166-У от "12" марта 2012 г.

. Срок представления проекта к защите "7" июня 2012 г.

. Исходные данные для проектирования: требования пользователя, операционная система Microsoft Windows, язык программирования C++.

. Содержание пояснительной записки:

Титульный лист

Задание (ТЗ)

Реферат

Аннотация на иностранном языке

Содержание

 

Summary

Определения, обозначения и сокращения

Введение

1. Техническое задание

Основание для разработки

Назначение разработки

Рассмотренные альтернативы

Стандарты

Требования пользователя к программному изделию

Описания прецедентов

Диаграмма вариантов использования

Технико-экономическое обоснование целесообразности разработки программного продукта

Безопасность жизнедеятельности

2. Технический проект

Реализация прецедентов при помощи диаграмм последовательностей системных операций

Тестовые наборы, построенные по данным вариантов использования

Концептуальная модель предметной области

Верификация модели предметной области на полноту и непротиворечивость

Реализация системных операций в виде диаграмм взаимодействия

Тестовые наборы, построенные на основании покрытий диаграмм взаимодействия

Диаграмма классов

Диаграмма активностей

Тестовые наборы

3. Рабочий проект

Классы и объекты интерфейса пользователя

Тестовые наборы для отладки интерфейса пользователя

Программная реализация классов

Тестовые наборы для отладки методов класса WViewer

Класс драйвера тестирования

Заключение

Список использованных источников

Приложение

Реферат

 

Данный текстовый документ имеет объем __ страниц, количество иллюстраций составляет 19, таблиц - 14, приложений - 2. При работе над данным отчетом по практике было использовано 7 источников литературы.

Имеется графический материал в объёме 10 листов.

Перечень ключевых слов: класс, образ, задача распознания образов, компактное множество, компактность.

Объектом разработки являются отображение на плоскости точек из многомерного пространства, интерактивное распознавание отдельных классов образов.

Целью работы является определение компактных классов образов.

Программа позволяет спроецировать на плоскость образы многомерного пространства, что наглядно представляет многомерные данные.

Функциональная полнота и простота освоения позволят создать условия для успешной эксплуатации в медицине и в области науки.

Summary


The text of the document has a capacity of __ pages, the number of illustrations is 19, tables - 14, application - 2. While working on the report on the practice has been used 7 sources of literature. There is the graphic material in the volume 10 sheet.of keywords: class, image, problem распознания image, compact ensemble, compactness.Object of the development are an image on planes point from multivariate space, interaction separate classes image.Purpose of the work is a determination of the compact classes image.Program allows present on plane images multivariate space that graphically presents the multivariate data.Functional fullness and simplicity of the mastering will allow to create the condition for successful usage in medicine and in the field of sciences.

Определения, обозначения и сокращения


В настоящем отчете использовались следующие определения, обозначения и сокращения:

интерактивность:

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

многомерность:

Измерение параметров объекта (точки) в 3-х и более измерениях;

образ, класс:

Классификационная группировка в системе классификации, объединяющая (выделяющая) определённую группу объектов по определённому признаку;

состояние:

Определённой формы отображение измеряемых текущих (или мгновенных) характеристик наблюдаемого объекта;

образ, ситуация:

Совокупность состояний;

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

Введение


Данная программа разрабатывается для интерактивного распознавания компактных многомерных классов образов.

Актуальность выбранной темы определяется тем, что имеющиеся программные продукты аналогичного назначения имеют высокую стоимость и не отвечают всем предъявленным требованиям. Так же в данной программе представляется на плоскости многомерное (3 и более измерений) пространство, что само по себе нововведение для данного решения.

Задачей данной работы является распознание в многомерном пространстве отдельных непересекающихся классов.

При реализации поставленных задач использованы такие средства разработки, как язык моделирования UML.

Использование данной программы позволит отобразить на плоскости многомерное пространство и распознать на нем отдельные классы образов, что само собой является сложной задачей при работе с множеством измерений. В этом заключается общественно-социальная значимость данной работы.

программный интерфейс пользователь

1. Техническое задание


Основание для разработки


Основанием для разработки программного продукта служит задание на практику "Программный продукт для интерактивного распознавания компактных многомерных классов образов", утвержденное на основании приказа по ЮЗГУ № 166-У от "12" марта2012 года.

 

Назначение разработки


Данная программа разрабатывается с целью интерактивного распознавания компактных многомерных классов образов.

 

Рассмотренные альтернативы


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

 

Стандарты


Разработка программной документации и программного продукта должна производиться согласно ГОСТ 19.701-90, ГОСТ 2.304-88. Текстовый материал пояснительной записки должен соответствовать требованиям стандарта университета СТУ 04.02.030-2008. Все артефакты проектирования должны быть разработаны в соответствии со стандартом UML.

Требования пользователя к программному изделию


Входные и выходные данные

Входными данными должны являться:

–       Файл с расширением XML созданный в MsExcel или OpenOffice содержащий таблицу с 3мя или более столбцами сохранённый как "таблица XML 2003" или "Microsoft Excel 2003 XML" соответственно.

Выходными данными должны являться:

Данные, формата Таблица XML 2003.

Информационная совместимость

Форматы хранения данных должны быть разработаны на основе документов, приведенных в 1.5.1 и по своей структуре полностью соответствовать им. В качестве входных данных программа должна использовать файл формата XML.

Программные ограничения, совместимость

Программа должна быть написана на объектно-ориентированном языке программирования C++, и работать под управлением операционной системы Microsoft Windows 7.

Результирующие компоненты изделия

В программное изделие должны входить следующие компоненты:

командный файл для запуска приложения;

программная документация на разработку.

Требования к интерфейсу программы

Интерфейс программы изображен на рисунке 1.1

Рисунок 1.1 - Требования к интерфейсу программы

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

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

= cntX + z r sin (α),= cntY + z r cos (α),

где r это расстояние от центра или выбранной центром точки до описываемой точки и вычисляется по формуле:

= sqrt ( (A1 - A`1) 2 + (A2 - A`2) 2 + … + (An - A`n) 2),

где α - это угол наклона вектора, который строится с помощью векторной суммы многомерных координат точки отложенных соответственно по построенным в окне осям;- двумерное увеличение/уменьшение представления всех точек, A1A2 … An - многомерные координаты точки, A`1A`2 … A`n - многомерные координаты точки, в которую в данный момент перенесены координаты.

Интерактивное представление данных изменяется с применением интерактивных средств для распознания компактных многомерных классов образов:

–       перенос центра координат в выбранную точку;

–       настройка веса коэффициентов представления осей;

–       автоматический поиск представления.

Носители информации

Носителем может быть CD или DVD диск, и также Flash диск.

Требования к надежности

Программный продукт должен функционировать на всех разработанных тестах.

Рестарт

Предусматривать сохранение вводимых данных. В случае сбоя необходимо перезапустить программу и открыть сохранённую копию.

Требования к составу и параметрам технических средств

Программное изделие должно работать на компьютере со следующими характеристиками:

-       процессор IntelPentium 2200 МГц,

-       адаптер SVGA с цветным дисплеем,

-       видеокарта с поддержкой DirectX 9 или выше,

-       оперативная память 1024 Мб,

-       клавиатура,

-       манипулятор типа "мышь",

-       свободное место на жестком диске 50 Мб.

 

Описания прецедентов


Перечень прецедентов программы

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

средства работы с файлами. В связи с этим должны быть реализованы прецеденты:

"Открытие данных из файла",

"Добавление данных из файла в открытое окно",

"Сохранение данных в файл";

средства выбора точек. В связи с этим должны быть реализованы прецеденты:

"Прямоугольное выделение",

"Инвертировать выделение";

средства интерактивного распознания классов. В связи с этим должны быть реализованы прецеденты:

"Выбрать диапазон",

"Перенос точек в класс",

"Настройка параметров переноса",

"Компьютерное выделение класса",

"Настройка параметров выделения класса";

средство изменения многомерных параметров представления. В связи с этим должны быть реализованы прецеденты:

"Перенести центр координат в выбираемую точку",

"Поиск текущего центра представления",

"Поиск начала данных",

"Компьютерный поиск оптимального центра";

средства для управления двумерными параметрами представления. В связи с этим должны быть реализованы прецеденты:

"Масштаб: Увеличить",

"Масштаб: Уменьшить",

"Изменить двумерное положение центра координат";

средства для вызова справки. В связи с этим должен быть реализован прецедент:

"Вызов справки".

Прецедент "Открытие файла"

Основной исполнитель. Пользователь, система.

Заинтересованные лица и их требования. Пользователь. Хочет открыть данные из файла Таблица XML2003.

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

Результат (Постусловие). Будет открыт файл, обработаны данные из него и представлены на экране в новом окне.

Основной успешный сценарий (или основной процесс):

1.      Пользователь нажимает на вкладку "Файл".

2.      Вкладка "Файл" активируется. Отображаются её компоненты.

.        Пользователь нажимает кнопку "Открыть набор из файла таблица XML".

.        Система открывает диалог выбора файла

.        Пользователь выбирает файл таблица XML2003.

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

Расширения (или альтернативные потоки):

1а. Пользователь покидает вкладку "Файл".

.        Система активирует другую выбранную вкладку.

б. Пользователь отменяет выбор файла из диалога выбора файла.

.        Система закрывает диалог выбора файла и возвращается к главному окну

в. Пользователь выбирает файл не того типа или некорректного содержания

Система выдает ошибку и возвращается к главному окну.

 

Диаграмма вариантов использования


Перечисленные в 1.5.1 прецеденты, а так же их взаимосвязи с исполнителем отражены в диаграмме вариантов использования, представленной на рисунке 1.2 Диаграмма была построена в соответствии с правилами и обозначениями языка UML [1].

Рисунок 1.2 - Диаграмма вариантов использования

 

Технико-экономическое обоснование целесообразности разработки программного продукта

Целесообразность разработки

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

В технико-экономическом плане разрабатываемыйпрограммный продукт для интерактивного распознания компактных многомерных классов образов является прибыльным проектом. Его разработка является экономически и технически целесообразной. Коэффициент уровня качества разрабатываемого продукта на 61%превышает имеющиеся показатели аналогичных вычислений, ручного расчета.

Расчет сметы затрат на разработку программного продукта

К единовременным затратам разработчика относятся затраты на теоретические исследования, постановку задачи, проектирование, разработку алгоритмов и программ, отладку, опытную эксплуатацию, оформление документов.

Исходными данными для расчёта сметы затрат на разработку являются:

.        Комплекс задач подсистемы - Управление НИР и ОКР.

2.      Степень новизны - А.

.        Степень сложности алгоритма - 2.

.        Степень применения типовых проектных решений 20-25%.

.        Степень контроля входной и выходной информации - 12-22.

.        Объем в документостроках - до 50 тыс.

.        Используются языковые описатели и построители отчетов.

.        Язык программирования высокого уровня.

.        Работа в режиме реального времени.

.        Вид используемой информации:

1.      Входная информация:

–       ПИ-1,НСИ-1.

.        Выходная информация 1.

В таблице 1.1 показана трудоёмкость разработки.

Таблица 1.1 - Трудоемкость разработки программы

1

2

3

4

5

6

Этап разработки

Тип. трудоёмкость, в днях

 Основание

 Коэффициенты

 Основание

Расчетная часть (в днях)

Техническое задание Постановщик Разработчик ПО

 50

Табл.4.1, Норма 7А

К1 = 0,65 К2 = 0,35

Примечание к таблице 4.1

 32,5 17,5

Технический проект Постановщик Разработчик ПО

  33 10

 Табл.4.15, Норма 2А Табл.4.16, Норма 2А

К1 = 1,57 К2 = 1 К3 = 1,67 Кобщий =2,62

Табл.1.1 (1,7*1+1,45*1) /2 Табл.1.3 Табл.1.5 Произвед.

 80,46 26,2

Рабочий проект Постановщик Разработчик ПО

  9 54

 Табл.4.41, Норма 2А Табл.4.42, Норма 2А

К1 = 1,82 К2 = 1 К3 = 1 К4 = 1,75 К5 = 0,8 К6 = 0,8 Кобщий = 2,04

Табл.1.2 (2,27*1+1,365*1) /2 Табл.1.3 Табл.1.4 Табл.1.5 Пункт.1.11 Табл.1.6 Произвед.

 18,36 110,16

Внедрение Постановщик Разработчик ПО

 10 11

 Табл.4.71, Норма 2А Табл.4.72, Норма 2А

К1 = 1 К2 = 1 К3 = 1,60 К4 = 0,8 Кобщий = 1,28

Табл.1.3 Табл.1.4 Табл.1.5 Табл.1.6 Произвед.

 12,8 14,08


В таблице 1.2 представлен расчёт зарплаты разработчиков программы.

Таблица 1.2 - Расчет зарплаты разработчиков программы

Исполнитель

Оклад, руб.

Общая трудоемкость, чел/дни

Ст-ть 1 дня, руб.

Прямая зарплата, руб.



ТЗ

ТП

РП

Вн

Общая трудоемкость работ, дни



Постановщик

12000

32,5

80,46

18,36

12,8

144,12

545,45

78 610, 25

Разработчик

10000

17,5

26,2

110,16

14,08

167,94

454,55

76 337, 13

Итого


50

106,66

128,52

26,88

310,26


154 947, 38


Составление сметы затрат на разработку

В смету затрат на разработку ПО включается:

·        материальные затраты;

·        основная и дополнительная зарплата;

·        страховые взносы;

·        стоимость машинного времени на подготовку и отладку программ;

·        стоимость инструментальных средств;

·        накладные расходы.

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

Стоимость материальных затрат отображена в таблице 1.3.

Таблица 1.3 - стоимость материальных затрат

Наименование материала

Количество

Цена за единицу

Стоимость

Бумага

5

130

650

Флеш - карта

2

1000

2000

Картридж

3

2000

6000

Диск

10

10

100

Канцтовары

2

100

200

Итого



8950


Транспортно-заготовительные расходы составляют 5-10% от стоимости.

ТЗР = 895 руб.

Стоимость комплектующих с учетом ТЗр составляет:

+ 895 = 9845 руб.

.        Определение основной заработной платы разработчиков.

Основная зарплата разработчиков ПП определена в расчетах.

ЗО = ЗП + П.

ЗП = 154 947, 38.

П = 30-40% от ЗП.

П = 154 947, 38* 0,30 = 46 484, 21 руб.

ЗО = 154 947, 38+ 46 484, 21 = 201 431, 59 руб.

.        Определение дополнительной заработной платы разработчиков.

Дополнительная зарплата разработчиков может быть рассчитана в процентах от основной заработной платы (10-15%).

ЗД = ЗО * 0,10 = 201 431, 59 * 0,10 =20 143,16 руб.

.        Определение отчислений страховых взносов.

(201 431, 59+ 20 143,16) * 0,3 = 66 472, 42 руб.

.        Стоимость машинного времени зависит от себестоимости машино-часа работы ЭВМ и времени работы ЭВМ и включает амортизацию ЭВМ и оборудования и затраты на электроэнергию.


где АМ - амортизационные отчисления, руб.;

ОФ - балансовая стоимость ЭВМ и оборудования, руб. (в балансовую стоимость ЭВМ и оборудования включается цена приобретения, затраты на транспортировку (7-10% от цены приобретения) и установку (2-5% от цены приобретения));

На - норма амортизации, % (10-12,5%); Тм - время использования оборудования, дни, равное:


где Ттех. пр, Траб. пр, Твн - фактические затраты времени на разработку эскизного, технического, рабочего проекта и внедрение соответственно, дни.

Затраты на электроэнергию


где Сэл - стоимость 1 кВт/ч электроэнергии, денежные единицы; Мэвм - мощность ЭВМ, кВт/ч; Тсут - время работы ЭВМ в сутки, ч.

В таблице 1.4 представлена стоимость оборудования для разработки ПО.

Таблица 1.4 - стоимость оборудования для разработки ПО

Наименование оборудования

Количество

Цена за единицу, руб.

Стоимость, руб.

Затраты на транспортировку, руб.

Затраты на монтаж, руб.

Балансовая стоимость, руб.

Компьютер

2

30000

60000

6000

3000

69000

Принтер

1

4000

4000

400

200

4600

Производственно-хозяйственный инвентарь

2

15000

30000

1500

34500

Сканер

1

3000

3000

300

150

3450

Итого



97000

9700

4850

111550


 руб.

 ;

 ;

 

 15 026, 22 руб.

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

В таблице 1.5 представлена стоимость системного программного обеспечения.

Таблица 1.5 - Стоимость системного программного обеспечения

Наименование оборудования

Количество

Цена за единицу, руб.

Стоимость, руб.

Затраты на транспортировку, руб.

Затраты на монтаж, руб.

Балансовая стоимость, руб.

Windows 7

2

12000

24000

2400

1200

27600

MS Office 2010

2

12000

24000

2400

1200

27600

KIS 2011

2

1000

2000

200

100

2300

Visual Studio 2010

2

30000

60000

6000

3000

69000

Итого



110000

11000

5500

126500


 ,


.        Накладные расходы определяются в размере 10-100% от основной заработной платы разработчиков ПС.

.        Прочие расходы определяются в размере 2-5% от суммы предыдущих затрат.


По данным расчета составить смету затрат на разработку ПО.

В таблице 1.6 представлена смета затрат на разработку ПО.

Таблица 1.6 - Смета затрат на разработку ПО

Элементы затрат

Стоимость, руб.

Структура сметы затрат, %

Материальные затраты

2,59

Основная заработная плата

201 431, 59

58,34

Дополнительная заработная плата

5,83

Страховые взносы

66 472, 42

19,25

Оплата машинного времени

15 026, 22

4,35

Стоимость инструментальных средств

1,83

Накладные расходы

5,83

Прочие расходы

1,96

Всего

345 243, 70

100,00


Расчет цены ПП

Расчет оптовой цены предприятия

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

 ,

где  - полная себестоимость изделия,

 - прибыль на единицу изделия.

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


Прибыль рассчитывается в размере 20-40% от стоимости разработки одного программного продукта.


Расчет отпускной цены предприятия


,

 руб.

В дальнейших расчетах используется отпускная цена предприятия.

Расчет цены базового ПП

Для определения экономической эффективности разрабатываемого ПП необходимо учитывать цены базового и разработанного ПП.

Расчет балансовой стоимости ПП

В балансовую стоимость включаются затраты, связанные с приобретением, транспортировкой и монтажом объектов основных фондов.

Затраты на транспортировку Ктр

Затраты на транспортировку рассчитываются прямым счетом или укрупнено, в процентах от отпускной цены предприятия (определяются транспортные расходы по спроектированному и базовому ПП).

 руб.,

где  - коэффициент, учитывающий транспортные расходы (7-10%).

Затраты на монтаж Км

Затраты на монтаж рассчитываются прямым счетом или укрупнено, в процентах от отпускной цены предприятия (определяются затраты на монтаж по спроектированному и базовому ПП):

 руб.,

где  - коэффициент, учитывающий затраты на монтаж (2-5%).

Балансовая стоимость системы

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

 руб.

Расчет экономической эффективности разработки

Определение годовых издержек в сфере эксплуатации

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

Определение годовой заработной платы обслуживающего персонала.


 ,

где  - среднее число рабочих дней в году (250-270 дн.);

 - коэффициент дополнительной заработной платы (10-15%);

 - страховые взносы (30%);

 - среднечасовая заработная плата персонала (30 руб. /час);

 - среднее время обслуживая системы в день;

L-количество рабочих.

Определяется годовая заработная плата обслуживающего персонала по спроектированному и базовому ПП ().

 .

 .

Определение годовой суммы амортизационных отчислений

Годовая сумма амортизационных отчислений зависит от балансовой стоимости системы и нормы амортизационных отчислений и определяется по спроектированному и базовому ПП.

 руб. /год.

где  - общая норма амортизационных отчислений (10-12%).

Определение годовой стоимости потребляемой электроэнергии

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

 руб. /год,

где  - стоимость электроэнергии, руб. /КВт*ч;

М - мощность устройств, КВт;

Ф - число часов работы устройства за год при односменном режиме работы (2000-2160 часов в год).

Определение годовых затрат на плановый ремонт

Годовые затраты на плановый ремонт зависят от балансовой стоимости системы и коэффициента затрат на ремонт и рассчитываются по спроектированному и базовому ПП.

 руб. /год.

Расчет годовых эксплуатационных затрат

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

 руб. /год.

 руб. /год.

Расчет приведенных затрат

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

 243 400,99руб/год,

 руб/год,

где ЕН - нормативный коэффициент экономической эффективности (0,15).

Расчет годового экономического эффекта

Годовой экономический эффект находится как разность приведенных затрат в сфере эксплуатации для спроектированной и базовой систем.

 руб/год.

Оценка конкурентоспособности устройства

Конкурентоспособность товара - его интегральное свойство, обусловливающее способность товара удовлетворять требованиям покупателей по сравнению с товарами-аналогами в условиях конкретного рынка в данный период времени. Составляющие конкурентоспособности товара представляют собой уровни его определённых технических, экономических и коммерческих характеристик, необходимых для достижения успеха на конкретном рынке.

Для оценки конкурентоспособности продукции производителю необходимо определить внутреннюю структуру двух основных факторов конкурентоспособности: цены (ценовые параметры) и качества (неценовые параметры).

Расчет показателя конкурентоспособности

При расчете показателя конкурентоспособности необходимо придерживаться следующего алгоритма:

·        разработать на основе знания рынка и требований к товару совокупность показателей его качества и выбрать несколько важнейших показателей;

·        получить количественные характеристики значимости (аi) каждого из m параметров путем опроса экспертов, соблюдая условие


·        сформулировать модель эталона-образца товара в разрезе выбранных параметров с позиции покупателей, задав его количественные оценки (  );

·        разработать количественные оценки тех же самых параметров качества по своему изделию (ni) и по изделию конкуренту ().

В таблице 1.7 представлена оценка конкурентоспособности.

Таблица 1.7 - Оценка конкурентоспособности

Выбранные экспертами параметры качества (не более 5-ти)

Количественные характеристики


niэ

ni

ni k

ai

Простота работы с программным продуктом

10

9

3

0,2

Быстродействие

10

8

5

0,5

Потребляемая память

10

6

6

0,2

Защищенность

10

7

4

0,1


По количественным характеристикам определяем уровень качества спроектированного устройства и конкурентного товара:

 ,

 .

 

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

 


Безопасность жизнедеятельности


Анализ опасных вредных факторов

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

·        проблемы, обусловленные наличием электромагнитного излучения;

·        проблемы зрения;

·        проблемы, связанные с мышцами и суставами;

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

Электромагнитное излучение, которое действует в течение длительного промежутка времени. Влияние компьютеров на организм человека, встает достаточно остро ввиду нескольких причин:

·        Компьютер имеет сразу два источника электромагнитного излучения (монитор и системный блок).

·        Пользователь ПК лишен возможности работать на безопасном расстоянии.

·        Длительное время влияния компьютера.

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

Требования к допустимым уровням электромагнитного поля (согласно СанПин 2.2.2/2.4.1340-03) представлены в таблице 1.8

Таблица 1.8 - Временные допустимые уровни ЭМП, создаваемых ПЭВМ на рабочих местах

Наименование параметров

ВДУ

Напряженность электрического поля

в диапазоне частот 5 Гц - 2 кГц

25 В/м


в диапазоне частот 2 кГц - 400 кГц

2,5 В/м

Плотность магнитного потока

в диапазоне частот 5 Гц - 2 кГц

250 нТл


в диапазоне частот 2 кГц - 400 кГц

25 нТл

Напряженность электростатического поля

15 В/м


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

В соответствии с СанПин 2.2.2/2.4.1340-03 "Электростатические поля" допустимые уровни напряжение электростатических полей должны соответствовать следующим требованиям:

·        Допустимые уровни напряженности электростатических полей устанавливаются в зависимости от времени пребывания персонала на рабочих местах.

·        Предельно допустимый уровень напряженности электростатических полей (Епред) устанавливается равным 60 кВ/м в течение 1 ч.

·        При напряженности электростатических полей менее 20кВ/м время пребывания в электростатических полях не регламентируется.

·        В диапазоне напряженности от 20Кв/м до 60Кв/м допустимое время пребывания персонала в электростатическом поле без средств защиты t в часах определяется по формуле:


Повышенный уровень шума на рабочем месте. Источниками шумовых помех могут стать вентиляционные установки, кондиционеры или периферийное оборудование для ЭВМ (плоттеры, принтеры и др.). При постоянном воздействии шум приводит к бессоннице, нарушениям слуха, к возникновению неврозов. Согласно СанПин 2.2.2/2.4.1340-03 "Гигиенические требования к персональным ЭВМ и организации работы", в производственных помещениях при выполнении основных или вспомогательных работ с использованием ПЭВМ уровни шума на рабочих местах не должны превышать 50 дБА.

Неблагоприятные метеорологические условия рабочей зоны (температура, влажность и подвижность воздуха). Метеорологические условия рабочей зоны оказывают влияние на теплообмен человека с окружающей средой, на тепловое состояние человека и определяют самочувствие, работоспособность, здоровье и производительность труда. Оптимальные величины показателей микроклимата на рабочих местах производственных помещений представлены в таблице 1.9 (согласно СанПин 2.2.4.548-96 "Гигиенические требования к микроклимату производственных помещений").

Таблица 1.9 - Оптимальные величины показателей микроклимата на рабочих местах

Период года

Категория работ по уровням энергозатрат, Вт

Температура воздуха,°C

Температура поверхностей, °C

Относительная влажность воздуха, %

Скорость движения воздуха, м/с

Холодный

Iа (до 139) Iб (140 - 174)

22-24 21-23

21-25 20-24

60-40 60-40

0,1 0,1

Теплый

Iа (до 139) Iб (140-174)

23-25 22-24

22-26 21-25

60-40 60-40

0,1 0,1


Неудовлетворительные параметры естественного и искусственного освещения (отсутствие или недостаток естественного света, недостаточная освещенность рабочей зоны, прямая и отраженная блескость, повышенная пульсация светового потока, повышенная яркость света, пониженная контрастность). Неудовлетворительные параметры освещения приводят к нарушениям зрения, снижению работоспособности. Согласно 2.2.2/2.4.1340-03 "Гигиенические требования к персональным ЭВМ и организации работы", искусственное освещение в помещениях эксплуатации мониторов и ПЭВМ должно осуществляться системой общего равномерного освещения. Допускается использование местного освещения, предназначенного для освещения зоны расположения документов. Освещенность поверхности стола должна быть 300 - 500 лк, освещение не должно создавать бликов на поверхности экрана; освещенность поверхности экрана не должна быть более 300 лк; яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200 кд/м2; яркость бликов на экране ПЭВМ не должна превышать 40 кд/м2 и яркость потолка не должна превышать 200 кд/м2. Следует ограничивать неравномерность распределения яркости в поле зрения монитором и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не должно превышать 3: 1 - 5: 1, а между рабочими поверхностями и поверхностями стен и оборудования 10:

. Коэффициент пульсации не должен превышать 5 %, что должно обеспечиваться применением газоразрядных ламп в светильниках общего и местного освещения с высокочастотными пускорегулирующими аппаратами (ВЧ ПРА) для любых типов светильников. При отсутствии светильников с ВЧ ПРА лампы многоламповых светильников или рядом расположенные светильники общего освещения следует включать на разные фазы трехфазной сети.

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

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

Таблица 1.10 - Значения нормируемых показателей концентраций аэроионов и коэффициента униполярности

Нормируемые показатели

Концентрация n+ (ион/см3)

Концентрация n- (ион/см3)

Коэффициент униполярности Y

Минимально допустимые

n+ >= 400

n - >= 400

0,4

Максимально допустимые

n+ < 50000

n - < 50000

1,0


Повышенная тяжесть и напряженность трудового процесса при работе с ЭВМ отрицательно влияет на центральную нервную систему, органы чувств, эмоциональное состояние пользователя. Согласно СанПин 2.2.2/2.4.1340-03 "Гигиенические требования к персональным ЭВМ и организации работы", организация работы с ПЭВМ осуществляется в зависимости от вида и категории трудовой деятельности. В нашем случае вид трудовой деятельности "творческая работа в режиме диалога с ПЭВМ"; установленная категория тяжести, по суммарному времени непосредственной работы с ПЭВМ за рабочую смену сводится к ограничению - не более 6 часов. В зависимости от категории трудовой деятельности и уровня нагрузки за рабочую смену при работе с ПЭВМ устанавливается суммарное время регламентированных перерывов: при восьми часовом рабочем дне - 90 минут.

Основные решения по обеспечению безопасности и комфортности

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

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

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

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

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

Для обеспечения оптимальных параметров микроклимата в помещениях, оборудованных ПЭВМ, должна проводиться ежедневная влажная уборка и систематическое проветривание после каждого часа работы на ПЭВМ.

Общие требования к организации рабочих мест пользователей ПЭВМ:

–       При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

–       Рабочие места с ПЭВМ в помещениях с источниками вредных производственных факторов должны размещаться в изолированных кабинах с организованным воздухообменом.

–       Рабочие места с ПЭВМ при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, рекомендуется изолировать друг от друга перегородками высотой 1,5 - 2,0 м.

–       Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600 - 700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

–       Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей, характера выполняемой работы. При этом допускается использование рабочих столов различных конструкций, отвечающих современным требованиям эргономики. Поверхность рабочего стола должна иметь коэффициент отражения 0,5 - 0,7.

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

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

Требования к организации и оборудованию рабочих мест с ПЭВМ для взрослых пользователей:

–       Высота рабочей поверхности стола для взрослых пользователей должна регулироваться в пределах 680 - 800 мм; при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм.

–       Модульными размерами рабочей поверхности стола для ПЭВМ, на основании которых должны рассчитываться конструктивные размеры, следует считать: ширину 800, 1000, 1200 и 1400 мм, глубину 800 и 1000 мм при нерегулируемой его высоте, равной 725 мм.

–       Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной - не менее 500 мм, глубиной на уровне колен - не менее 450 мм и на уровне вытянутых ног - не менее 650 мм.

–       Конструкция рабочего стула должна обеспечивать:

–       ширину и глубину поверхности сиденья не менее 400 мм;

–       поверхность сиденья с закругленным передним краем;

–       регулировку высоты поверхности сиденья в пределах 400 - 550 мм и углам наклона вперед до 15 град, и назад до 5 град.;

–       высоту опорной поверхности спинки 300 +-20 мм, ширину - не менее 380 мм и радиус кривизны горизонтальной плоскости - 400 мм;

–       угол наклона спинки в вертикальной плоскости в пределах +-30 градусов;

–       регулировку расстояния спинки от переднего края сиденья в пределах 260 - 400 мм;

–       стационарные или съемные подлокотники длиной не менее 250 мм и шириной - 50 - 70 мм;

–       регулировку подлокотников по высоте над сиденьем в пределах 230 +-30 мм и внутреннего расстояния между подлокотниками в пределах 350 - 500 мм.

–       Рабочее место пользователя ПЭВМ следует оборудовать подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20°. Поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм.

–       Клавиатуру следует располагать на поверхности стола на расстоянии 100 - 300 мм от края, обращенного к пользователю или на специальной, регулируемой по высоте рабочей поверхности, отделенной от основной столешницы.

Безопасность в чрезвычайных ситуациях

Наиболее вероятными чрезвычайными ситуациями техногенного происхождения при работе с ЭВМ являются пожары.

Можно выделить следующие основные причины возникновения пожаров при работе с ЭВМ:

)        в современных ЭВМ высока плотность размещения элементов электронных схем, что приводит к их перегреванию;

2)      в непосредственной близости друг от друга расположены соединительные провода, соединительные кабели, при протекании по ним тока выделяется большое количество теплоты и при отсутствии охлаждения возможно чрезмерное повышение температуры;

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

)        большие переходные сопротивления в местах контактных соединений при наличии плохого контакта;

)        искрение и электрическая дуга (при размыкании электрических цепей под нагрузкой, при пробое изоляции);

)        перегрузка электросети.

Помещения с находящимися в них ПЭВМ относятся к категории В по классификации помещений и зданий по взрывопожарной опасности, к степени II огнестойкости строительных конструкций и зданий.

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

В помещениях с ПЭВМ необходимо предусмотреть наличие лучевой пожарной сигнализации с комбинированными датчиками.

Мероприятия по пожарной профилактике:

·        организационные мероприятия предусматривают правильную эксплуатацию машин и внутризаводского транспорта, правильное содержание зданий, территории, противопожарный инструктаж и т.д.;

·        эксплуатационные мероприятия включают своевременную профилактику, осмотры, ремонты и испытание оборудования;

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

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

Для обеспечения мер по обнаружению и локализации пожара, эвакуации рабочего персонала, а также для уменьшения материальных потерь необходимо наличие:

.        Системы автоматической пожарной сигнализации (тепловые, дымовые, световые и звуковые извещатели);

2.      Эвакуационных путей и выходов;

.        Первичных средств тушения пожаров (огнетушители, вёдра, ёмкости с водой, ящики с песком, ломы топоры, лопаты и т.д.).

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

Выбор и расчет устройств защитного отключения.

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

УЗО постоянно сравнивает ток, протекающий к электроприбору с током, протекающим от электроприбора (по нейтрали) и распознает утечку из электросети по появлению разницы между входящим и выходящим токами. Когда разность токов достигает опасного для жизни человека значения (обычно это 30 мА), то УЗО отключает напряжение. Таким образом, ток утечки, текущий через поврежденную изоляцию или через тело человека, не успевают причинить вреда, т.к. время срабатывания УЗО очень мало.

Рабочие параметры УЗО: номинальное напряжение, номинальный ток, номинальный отключающий дифференциальный ток (уставка по току утечки). Эти параметры выбираются на основе технических параметров проектируемой электроустановки.

Качество и надежность работы УЗО определяется рядом параметров, прежде всего номинальным условным током короткого замыкания (Inc) и номинальной включающей и отключающей (коммутационной) способностью (Im).

.        Номинальный условный ток короткого замыкания - характеристика, определяющая надежность и прочность устройства, качество исполнения его механизма и электрических соединений (минимально допустимое значение Inc=3 кА.).

2.      Коммутационная способность УЗО согласно требованиям норм, должна быть не менее десятикратного значения номинального тока или 500 А.

.        Качественные устройства имеют, как правило, гораздо более высокую коммутационную способность - 1000, 1500 А. Это означает, что такие устройства надежнее, и в аварийных режимах, например, при коротком замыкании на землю, устройства защитного отключения, опережая автоматические выключатели, гарантированно произведут отключение.

Выбор устройства защитного отключения зависит от параметров сети (1 или 3 фазы и номинальный ток). Однако основной показатель при выборе значение тока утечки. Суммарный ток утечки сети с учетом присоединяемых стационарных и переносных электроприемников в нормальном режиме работы не должен превышать 1/3 номинального тока УЗО. При отсутствии данных ток утечки электроприемников следует принимать из расчета 0,4 мА на 1 А тока нагрузки, а ток утечки сети - из расчета 10 мкА на 1 м длины фазного проводника.

Приблизительные значения токов утечки, возникающих при использовании бытового и офисного электрооборудования, составляют: факс 0,5 - 1мА; принтер <1мА; компьютер 1 - 2мА; ксерокс 0,5 - 1мА; электробытовой прибор <0,75мА; светильник <1мА.

В зависимости от наличия постоянной составляющей тока утечки УЗО могут быть двух классов: "АС" и "А". Наиболее распространенным считается класс "АС", обеспечивающий защиту от тока утечки синусоидальной переменной формы. Цены на УЗО класса "А" несколько выше, но аппарат данного класса осуществляет защиту и от пульсирующих постоянных составляющих в токе утечки. Некоторые современные производители бытовой техники предписывают использование защитных устройств для приборов с "электронной начинкой". Соответствующее указание имеется в паспорте изделия.

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

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

Кроме УЗО, устанавливаемых на распределительном щитке, можно встретить электророзетки со встроенным УЗО. Эти устройства бывают двух видов: первый устанавливается на место существующей розетки, второй подсоединяется к имеющейся розетке, и затем уже в него включается вилка от электроприбора.

К преимуществам данных устройств можно отнести отсутствие необходимости замены в домах старой застройки электропроводку, а к недостаткам - высокую стоимость (розетки со встроенным УЗО обойдутся примерно в 3 раза дороже, чем УЗО, устанавливаемые на распределительный щит).

Третьим видом устройств со встроенным УЗО является так называемая "УЗО-вилка".

К эффективным защитным устройства также относятся дифференциальные автоматы, которые представляют собой комбинацию автоматического выключателя с УЗО (по типу "два в одном"). Дифференциальный автомат срабатывает в обоих случаях: как при утечке тока на землю, так и при коротких замыканиях и перегрузке. Их выгодно применять в том случае, когда на установку двух отдельных устройств в электрошкафу не хватает места. Цена на дифференциальный автомат превышает цену на УЗО.

Прежде, чем купить УЗО, следует обратить внимание на маркировку прибора - на лицевой панели каждого УЗО обязательно должно присутствовать значение номинального тока, который оно способно проводить в продолжительном режиме, и номинального отключающего дифференциального тока, вызывающего срабатывание устройства. Остальные сведения можно располагать и на боковых поверхностях. Обычно производителю удается также указать на передней панели свое название, номинальное напряжение, марку и тип прибора. Последнее в виде символа: синусоида - тип AC, а если под ней еще изображении два положительных полупериода - это тип A. И, конечно, чтобы было понятно назначение кнопки, на ней ставят слово "Test" или букву "T". Стоит также отметить, что помимо оригинальных УЗО известных производителей (ABB, Legrand, Астро-УЗО, ИЭК, SASSIN и др.) на российском рынке появилось огромное количество самых разнообразных подделок УЗО неустановленного происхождения и имеющих часто привлекательный внешний вид, но по техническим параметрам не выдерживающих даже приемосдаточных испытаний. Применение подобных устройств совершенно недопустимо, поэтому, при выборе УЗО необходимо обратить внимание и на наличие сопроводительной технической документации, в том числе обязательно двух сертификатов - сертификата соответствия и сертификата пожарной безопасности.

Защитные устройства типа УЗО устанавливаются в распределительном шкафу квартиры (можно использовать и уже имеющиеся шкафы).

Номинальный отключающий дифференциальный ток IDn = ток уставки выбирается из следующего ряда: 6 мА, 10 мА, 30 мА, 100 мА, 300 мА, 500 мА - причем, реальное значение тока отключения определяется еще и номинальным неотключающим током утечки IDn0 и находится ниже уровня уставки, поскольку номинальный неотключающий дифференциальный ток IDn0 УЗО, обычно, равен половине значения тока уставки: IDn0 = 0,5 IDn. Каждое конкретное устройство имеет, как правило, определенное стабильное значение отключающего тока, находящееся в указанном диапазоне. Во избежание ложных отключений следует учитывать данное обстоятельство и сопоставлять реальное значение отключающего тока с "обычным"="фоновым" током утечки в электроустановке.

Уставку УЗО для каждого конкретного случая применения, теоретически, выбирают с учетом следующих факторов:

–       значения существующего в данной электроустановке суммарного (с учетом присоединяемых стационарных и переносных электроприемников) тока утечки на землю - так называемого "фонового тока утечки";

–       значения допустимого тока через человека на основе критериев электробезопасности;

–       реального значения отключающего дифференциального тока УЗО, которое в соответствии с требованиями ГОСТ Р 50807-94 находится в диапазоне 0,5 IDn - IDn.

Согласно требованиям ПУЭ (7-е изд., п.7.1.83) номинальный дифференциальный отключающий ток УЗО должен быть не менее чем в три раза больше суммарного тока утечки защищаемой цепи электроустановки - ID. То есть: IDn > = 3 ID.

Суммарный ток утечки электроустановки замеряется специальными приборами, либо определяется расчетным путем. При отсутствии фактических (замеренных) значений тока утечки в электроустановке ПУЭ (п.7.1.83) предписывают принимать ток утечки электроприемников из расчета 0,4 мА на 1 А тока нагрузки, а ток утечки цепи из расчета 10 мкА на 1 м длины фазного проводника.

В некоторых случаях, для определенных потребителей значение уставки задается нормативными документами. В ГОСТ Р 50669-94 применительно к зданиям из металла или с металлическим каркасом задается значение уставки УЗО не выше 30 мА. Временные указания предписывают: для сантехнических кабин, ванных и душевых устанавливать УЗО с током срабатывания: 10 мА, если на них выделена отдельная линия; в остальных случаях, (например, при использовании одной линии для сантехнической кабины, кухни и коридора) допускается использовать УЗО с уставкой 30 мА (п.4.15); в индивидуальных жилых домах для групповых цепей, питающих штепсельные розетки внутри дома, включая подвалы, встроенные и пристроенные гаражи, а также в групповых сетях, питающих ванные комнаты, душевые и сауны УЗО с уставкой 30 мА; для устанавливаемых снаружи штепсельных розеток УЗО с уставкой 30 мА (п.6.5).

В ПУЭ (7-е изд. п.7.1.84) рекомендуется для повышения уровня защиты от возгорания при замыканиях на заземленные части на вводе в квартиру, индивидуальный дом и тому подобное установка УЗО с током срабатывания до 300 мА.

Известно, что для обеспечения лучшей электробезопасности и одновременно максимальной бесперебойности электроснабжения наиболее предпочтительна установка отдельного УЗО перед каждым автоматическим выключателем. Именно такое сочетание и представляют собой автоматические выключатели дифференциального тока - УЗО и "автомат" в одном корпусе. Следует заметить, что они стоят дороже отдельных "автомата" и УЗО но при этом более компактны и существенно упрощают монтажные работы.

Самой распространенной ошибкой при монтаже УЗО является подключение к УЗО нагрузки, в цепи которой имеется соединение нулевого рабочего проводника с открытыми проводящими частями электроустановки или соединение с нулевым защитным проводником. Также возможны следующие ошибки: подключение нагрузок к нулевому проводнику до УЗО, подключение нагрузок к нулевому рабочему проводнику другого УЗО, перемычка между нулевыми рабочими проводниками различных УЗО. Расчетом, монтажом и наладкой электросхем с использованием УЗО должны заниматься только квалифицированные специалисты. Только в этом случае вы получите гарантию того, что защита сработает вовремя.

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

На рисунке 2.1 показана диаграмма последовательностей системных операций, разработанная на основе прецедента "Взрыв точек". Исполнителем сценария прецедента "Взрыв точек" является Пользователь. Диаграмма была построена в соответствии с правилами и обозначениями языка UML.

Рисунок 2.1 - Диаграмма последовательностей системных операций

(для сценария прецедента "Взрыв точек")

 


Тестовые наборы, построенные по данным вариантов использования


Рассмотрим прецедент "Взрыв точек". По сценарию прецедента "Взрыв точек" в соответствии с требованиями к тестированию аналитических и проектных моделей были построены следующие тестовые наборы:

.        Случай использования: пользователь в меню программы выбирает автоматическую смену точки обзора (Представление->Автоматическая смена точки обзора).

Предусловие: пользователь открыл в приложении файл вида Таблица XML 2003.

Тестовый случай: в текущем представлении нет сходящихся точек.

Ожидаемый результат: оповещение пользователя, о том что сходящихся точек нет, положение точек на экране не изменилось.

.        Случай использования: пользователь в меню программы выбирает автоматическую смену точки обзора (Представление - >Автоматическая смена точки обзора).

Предусловие: пользователь открыл в приложении файл вида Таблица XML 2003.

Тестовый случай: в текущем представлении имеется сгусток сходящихся точек, который возможно "взорвать точки" сгустка на отдельно представленные несходящиеся точки.

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

.        Случай использования: пользователь в меню программы выбирает автоматическую смену точки обзора (Представление - >Автоматическая смена точки обзора).

Предусловие: файл пользователь открыл в приложении файл вида Таблица XML 2003.

Тестовый случай: в текущем представлении имеется сгусток сходящихся точек, который не возможно "взорвать" на отдельно отображённые не сходящиеся точки.

Ожидаемый результат: оповещение пользователя, о том что "взрыв точек" данного сгустка не возможен, представление без схождения не может быть выполнено, положение точек на экране изменилось (количеством сходящихся точек минимальное в текущем наборе).

.        Случай использования: пользователь в меню программы выбирает автоматическую смену точки обзора (Представление - >Автоматическая смена точки обзора).

Предусловие: файл пользователь открыл в приложении файл вида Таблица XML 2003.

Тестовый случай: в текущем представлении имеется несколько сгустков сходящихся точек, пользователь выбирает сгусток который он хочет разбить.

Ожидаемый результат: изменение положения точек на экране (если разбиение без схождений возможно), оповещение пользователя и изменение положения точек с минимальным схождением - если действие невозможно выполнить.

 

Концептуальная модель предметной области


При разработке концептуальной модели предметной области были выполнены следующие действия:

.        Составлен список кандидатов на роль концептуальных классов на основе текстового описания прецедентов: "Обозреватель", "Справка", "Точки", "Группы точек", "Параметры представления", "Взрыв", "Параметры взрыва".

2.      Добавлены необходимые ассоциации, отражающие связи, для которых требуется выделение памяти и кратность. Разработанные ассоциации представлены в таблице 2.1.

Таблица 2.1 - Разработанные ассоциации

Объекты

Ассоциации

Кратность

1

2

3

Обозреватель - Справка

Включает

1 - 1

Обозреватель - Параметры представления

Включает

1 - 1

Параметры представления - Точки

Включает

1 - 1

Группы точек - Точки

Включает

1 - 1

Точки - Группы точек

Включает

1 - 1

Взрыв точек - Группы точек

Взаимодействует

1 - 1

Взрыв точек - Группы точек

Включает

1 - 1

Взрыв точек - параметры взрыва

Включает

1 - 1


3.      Добавлены атрибуты, необходимые для выполнения информационных требований.

На рисунке 2.2 показана концептуальная модель предметной области, разработанная на основе текстового описания прецедента "Взрыв точек".

Рисунок 2.2 - Концептуальная модель предметной области

Верификация модели предметной области на полноту и непротиворечивость


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

Все эти понятия представлены в разработанной концептуальной модели предметной области как концептуальные классы или атрибуты концептуальных классов. Это указывает на полноту модели.

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

 

Реализация системных операций в виде диаграмм взаимодействия


Диаграммы взаимодействия отражают взаимодействие объектов, организованное вокруг самих объектов и связей между ними, отображают потоки передачи сообщений между исполнителями и системой.

Рассмотрим реализацию системной операции компьютерного распознавания.

На рисунке 2.3 представлена диаграмма коопераций, отражающая взаимодействие объектов в процессе выполнения системной операции startButton_Explosion взрыва точек. Диаграмма была построена в соответствии с правилами и обозначениями языка UML.

Рисунок 2.3 - Диаграмма коопераций

Операция: выполнить взрыв ().

Ссылки: прецеденты: взрыв точек.

Предусловия: отмечены особым цветом сходимости.

Постусловия: смена точки обзора, представление из которой без сходимостей.

Операция: создать объект ().

Ссылки: прецеденты: взрыв точек.

Предусловия: отмечены особым цветом сходимости.

Постусловия: создан объект "Explosion".

Операция: смена точки обзора ().

Ссылки: прецеденты: взрыв точек.

Предусловия: отмечены особым цветом сходимости.

Постусловия: поменялся точка обзора.

Операция: проверка сходимостей ().

Ссылки: прецеденты: взрыв точек.

Предусловия: отмечены особым цветом сходимости.

Постусловия: получили список сходимостей (список может быть пустым).

Тестовые наборы, построенные на основании покрытий диаграмм взаимодействия


На основании покрытий диаграмм взаимодействия были построены следующие тестовые наборы:

.        Операция: проверка сходимостей ().

Предусловие: отмечены особым цветом сходимости.

Тестовый случай: ProblemPoints. Count == 0.

Ожидаемый результат: выдаёт сообщение, что нет сходимостей.

.        Операция: смена точки обзора ().

Предусловие: выделены крупнее, отмечены особым цветом сходимости.

Тестовый случай: CurrentPointравен 1.

Ожидаемый результат: CurrentPoint увеличивается на 1.

.        Операция: новое совпадение ().

Предусловие: выделены крупнее, отмечены особым цветом сходимости.

Тестовый случай: несколько точек проецируется в одну.

Ожидаемый результат: точка выделяется особым цветом.

 

Диаграмма классов


На рисунке 2.4 показана разработанная диаграмма классов пакета TravelingSalesmanProblemLibrary. Диаграмма была построена в соответствии с правилами и обозначениями языка UML [1 с.291].

Рисунок 2.4 - Диаграмма классов для реализации прецедента "Взрыв точек"

 

Диаграмма активностей


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

Рисунок 2.5 - Диаграмма активностей

 

Тестовые наборы


Тестовые наборы для отладки системы

Тестовые наборы для отладки системы представлены в таблице 2.2

Таблица 2.2 - Тестовые наборы

Описание

Ввод

Вывод


Состояние

Событие

Состояние

Системные сообщения

1

2

3

4

5

Запуск приложения

Приложение не запущено

Запуск приложения

Приложение запущено

нет

Повторный запуск приложения

Приложение запущено

Повторный запуск приложения

Приложение запущено

нет

Открытие файла

Приложение запущено

Открытие файла

Приложение запущено

нет

Настройка параметров

Запущено приложение, активировандиалог "Взрыв точек"

Изменение параметров по умолчанию

Система сохраняет изменённые параметры вкладки "Настройки" до закрытия диалога

нет

Взрыв точек

Открыт диалог "Взрыв точек "

Пользователь подтверждает начало "взрыва"

Система изменяет точку обзора показывает новое представление данных

Система оповещает об изменениях

 


3. Рабочий проект


Классы и объекты интерфейса пользователя


Пользовательский интерфейс включает в себя следующие объекты:

-       набор кнопок управления;

-       основная форма приложения, которая состоит из вкладок, структура которых отражения в таблице 3.1.

-       дочерние окна с представлением данных из файлов

Таблица 3.1 - Структура вкладок

Название вкладки

Назначение

Файл

Вкладка предназначена для отображения инструментов для открытия файлов

Выборка

Вкладка предназначена для отображения инструментов для выбора представленных точек и работы с выборками

Представление

Вкладка предназначена для отображения инструментов для изменение многомерных параметров представления файла

Вид

Вкладка предназначена для отображения инструментов для изменения двумерных параметров представления файла

Справка

Вкладка предназначена для отображения инструментов для вызова справки.


На рисунке 3.1 представлен внешний вид главного окна приложения (данный вид будет отображен после запуска приложения).

- названия вкладок; 2 - кнопка вызова диалога настроек параметров; 3 - кнопки инструментов; 4 - вызов справки.

Рисунок 3.1 - Внешний вид главного окна приложения

На рисунке 3.2 представлен внешний вид окна при наведении на точку.

Рисунок 3.2 - внешний вид окна при наведении на точку

На рисунке 3.3 представлено окно надстроек осей.

Рисунок 3.3 - Окно настроек осей

Описание программного кода для данной кладки содержится в приложении А.

 

Тестовые наборы для отладки интерфейса пользователя


Для отладки интерфейса разработаны следующие тестовые наборы:

.        Случай использования: Открытие файла.

Предусловие: Открыто главное окно программы. Вызван диалог открытия файла нажатием кнопки "Открыть файл".

Тестовый случай: Подтверждение открытия файла.

Ожидаемый результат: Открытие дочернего окна с представленными данными из выбранного файла (рисунок 3.5).

Рисунок 3.5 - Открыто дочернее окно с представленными данными из файла

2. Случай использования: Перенос начала координат в выбранную точку.

Предусловие: Открыто главное окно программы. Открыто представление данных из файла. Тестовый случай: Нажатие на точку, из имеющегося набора. Ожидаемый результат: Начало координат переместится в выбранную точку, соответственно представление множества поменяется, относительно нового центра (рисунок 3.6).

Рисунок 3.6 - Начало координат переместилось в выбранную точку

2. Случай использования: Изменение веса осей.

Предусловие: Открыто главное окно программы. Открыто представление данных из файла.

Тестовый случай: Изменить бегунком параметр "вес оси", в дополнительном диалоге.

Ожидаемый результат: В зависимости от воздействия, вес оси соответственно меняется. Если в большую сторону, то точки прижимаются к оси, если в меньшую - отдаляются (рисунок 3.7).

Рисунок 3.7 - Изменение веса оси

.        Случай использования: Автоматический поиск представления.

Предусловие: Открыто главное окно программы. Открыто представление данных из файла.

Тестовый случай: Нажатие кнопки компьютерного поиска представления.

Ожидаемый результат: Начало координат переместится в точку относительно которой схождений не будит, или их количество будит минимальным на данном наборе (рисунок 3.8).

Рисунок 3.8 - Произведен автоматический поиск представления

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

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

Тестовый случай: Нажатие на точке со схождением (крупнее остальных, выделены темным цветом).

Ожидаемый результат: Рядом с точкой появился список сходящихся в неё точек (рисунок 3.9).

Рисунок 3.9 - Представлен список точек, сходящихся в выбранную

Программная реализация классов


На основе диаграмм классов, разработанных ранее, были созданы базовые определения классов на объектно-ориентированном языке программирования C++. Примеры описания классов WViewer и WPoint отображены на рисунках 3.10 - 3.12.

#ifndef WVIEWER_H #define WVIEWER_H #include <QtGui> #include <QFile> #include "wpoints. h" #include "axl. h" #include "mainwindow. h" class points; class WPoint; class WViewer: public QMainWindow { Q_OBJECT protected: void paintEvent (QPaintEvent *); void resizeEvent (QResizeEvent *); void wheelEvent (QWheelEvent *); void mouseMoveEvent (QMouseEvent *); void mousePressEvent (QMouseEvent *); void mouseReleaseEvent (QMouseEvent *); void closeEvent (QCloseEvent *); bool eventFilter (QObject *, QEvent *); QSize sizeHint (); QLabel* label; int px1, py1, px2, py2; int **xy; double zoom; int dltCenterXAxl; int dltCenterYAxl; public: QList<points*> ps; QList<Axl*> axls; QDialog* dialog; int* range; // +++++++++++++++++++++++++++++++++ // параметры переноса точек по группам int numPoints; // +++++++++++++++++++++++++++++++++ //  bool isVisibleFromAxl; int axlId; void visibleFromAxl (); // +++++++++++++++++++++++++++++++++ //  bool isVisibleFromPlanes; QList<double> coefcs; void setupPlanesCoefcs (); void visibleFromPlanes (); int mks; // +++++++++++++++++++++++++++++++++ //  int Visiblefrom; int Visibleto;

Рисунок 3.10 - Базовое описание класса WViewer

 // +++++++++++++++++++++++++++++++++ // Параметры классификации void selectNewClass (); int numPsAuto; double rgAuto; bool total; bool nextSteps; // +++++++++++++++++++++++++++++++++ // Поиск начала void seachBeginVisible (); //  WPoint* currentCentr; void seachCurrentCentrMass (); explicit WViewer (QFile* file, QWidget *parent = 0); ~WViewer (); void increaceZoom (); void decreaceZoom (); double getZoom (); void setCenterXAxl (int); void setCenterYAxl (int); int getCenterXAxl (); int getCenterYAxl (); int getCountAxl (); void setPsForSelectPoints (); void add (QFile*); void recomp (); void updateVisible (); void invers (); void unselect (); void selectFromAxl (int numAxl, int v1, int v2); void visibleAll (); signals: }; #endif // WVIEWER_H

Рисунок 3.11.

Базовое описание класса WViewer

На основе диаграмм взаимодействия системных операций для описанных классов были определены соответствующие методы.

Фрагмент описания методов, определенных для класса WViewer, представлены на рисунке 3.12.

void WViewer:: updateVisible () { for (int i=0; i<this->ps. size (); ++i) { for (int ii=0; ii<this->ps [i] - >pointJoin. size (); ++ii) { delete ps [i] - >pointJoin [ii]; } ps [i] - >pointJoin. clear (); } this->visibleAll (); for (int i=0; i<this->ps. size (); ++i) { ps [i] - >updateVisible (); } if (isVisibleFromAxl) visibleFromAxl (); if (isVisibleFromPlanes) visibleFromPlanes (); for (int i = 0; i<this->ps. size (); ++i) { for (int ii = 0; ii<this->ps [i] - >point. size (); ++ii) { if (ps [i] - >point [ii] - >isVisible ()) { for (int iii = 0; iii<this->ps [i] - >point. size (); ++iii) { if (ps [i] - >point [iii] - >isVisible () && iii! = ii && (abs (ps [i] - >point [iii] - >x () - ps [i] - >point [ii] - >x ()) < 2) && (abs (ps [i] - >point [iii] - >y () - ps [i] - >point [ii] - >y ()) < 2)) { ps [i] - >pointJoin << new WPointJoin (this, ps [i] - >point [ii]); ps [i] - >pointJoin [ps [i] - >pointJoin. size () - 1] - >setVisible (true); ps [i] - >pointJoin [ps [i] - >pointJoin. size () - 1] - >point << ps [i] - >point [ii]; ps [i] - >pointJoin [ps [i] - >pointJoin. size () - 1] - >point << ps [i] - >point [iii]; ps [i] - >point [ii] - >setVisible (false); ps [i] - >point [iii] - >setVisible (false); for (int iiii = 0; iiii<this->ps [i] - >point. size (); ++iiii) { if (ps [i] - >point [iiii] - >isVisible () && iiii! = ii && (abs (ps [i] - >point [iiii] - >x () - ps [i] - >point [ii] - >x ()) < 2) && (abs (ps [i] - >point [iiii] - >y () - ps [i] - >point [ii] - >y ()) < 2)) { ps [i] - >pointJoin [ps [i] - >pointJoin. size () - 1] - >point << ps [i] - >point [ii]; ps [i] - >point [iiii] - >setVisible (false); }

Рисунок 3.12 - Фрагмент описания методов класса WViewer

Описание всех классов и определенных в них методов представлено в приложении А.

 


Тестовые наборы для отладки методов класса WViewer


Тестовые наборы для отладки методов класса WViewer включают в себя тестовые наборы из таблицы 2.2, а также примеры тестовых наборов, представленные в таблице 3.2.

Таблица 3.2 - Тестовые наборы для отладки методов класса WViewer

Ввод

Вывод

Установка

Метод

Результат

Системное сообщение

1

2

3

4

Открытие файла

WViewer:: WViewer (QFile*file,QWidget*parent)

Открывается дочернее окно с представлением данных из файла

Нет

Добавление файла

void WViewer:: add (QFile*file)

Будут добавлены новые классы из выбранного файла

Нет

Компьютерный поиск представления

void WViewer:: seachNotCompactClass ()

Будет найдена точка, с минимальным схождением

Нет

Перенос начала координат

Void WViewer:: updateVisible ()

Построение точек относительно нового начала координат

Нет

 

Класс драйвера тестирования


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

Заключение


В результате выполнения данной работы были разработан и создан программный продукт для интерактивного распознавания компактных многомерных классов образов.

Все требования, предъявленные в техническом задании, реализованы полностью в данной работе.

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

Возможность взаимодействия с такими широко распространёнными программами как Excel и Open Office дает широкие перспективы в дальнейшей эксплуатации программы. Все эти качества определяют социальную и экономическую значимость работы.

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

Список использованных источников


1        Ларман, К. Применение UML и шаблонов проектирования [Текст]: пер. с англ. / К. Ларман; М.: Изадетельский дом "Вильямс", 2004.624 с.

2       Макгрегор, Д. Тестирование объектно-ориентированного программного обеспечения [Текст]: практическое пособие: пер. с англ. / Д. Макгрегор, Д. Сайкс; К.: ООО "ТИД "ДС", 2002.432 с.

         Кватрани, Т. Rational Rose 2000 и UML. Визуальное моделирование [Текст]: пер. с англ. / Т. Кватрани; М.: ДМК Пресс, 2001.176 с.

         Смирнова И.М. Геометрия. Расстояния и углы в пространстве. М.: Академкнига, 2005.

         Jasmin Blanchette C++ GUI Programming With Qt

         Mats Henricson and Erik Nyquist Programming in C++ - Rules and Recommendations.

         Бьерн Страуструп, Переводчик Николай Мартынов The C++ Programming Language. М.: Бином, 2011.

         Устройства защитного отключения (узо): Н. Душкин, Владимир Монаков, Владимир Старшинов, Издательство: Энергосервис, 2006 г.

Приложение


Текстпрограммы

Main. cpp

#include<QtGui/QApplication>

#include"mainwindow. h"(intargc,char*argv [])

{(argc,argv);:: setCodecForCStrings (QTextCodec:: codecForName ("Windows-1251"));;. show ();. showMaximized ();. exec ();

}. h

#ifndefMAINWINDOW_H

#defineMAINWINDOW_H

#include<QMainWindow>

#include<QLabel>

#include"wviewer. h"

#include"dialogs. h";{;

}: publicQMainWindow

{_OBJECT:;:();(QWidget*parent=0);(QObject*,QEvent*);

~MainWindow ();<WViewer*>viewers;;*iconLabel;*toolLabel;*activeViewer;:();();();();();();();();::: MainWindow*ui;::_toolButton_8_clicked ();_toolButton_10_clicked ();_toolButton_11_clicked ();_toolButton_9_clicked ();

};

#endif // MAINWINDOW_H. cpp

#include<QtGui>

#include<QtWebKit>

#include"mainwindow. h"

#include"ui_mainwindow. h"

#include"xmlviewhandler. h"

#include"wviewer. h":: MainWindow (QWidget*parent):(parent),(newUi:: MainWindow)

{>setupUi (this);=0;=QDir:: currentPath ();(ui->toolButton_3,SIGNAL (clicked ()),this,SLOT (select ()));(ui->toolButton_4,SIGNAL (clicked ()),this,SLOT (check ()));(ui->toolButton_5,SIGNAL (clicked ()),this,SLOT (review ()));=newQLabel ();=newQLabel ();();>tabWidget->setTabText (0,"Файл");>tabWidget->setTabText (1,"Выборка");>tabWidget->setTabText (2,"Представление");>tabWidget->setTabText (3,"Вид");>tabWidget->setTabText (4,"Справка");(ui->toolButton,SIGNAL (clicked ()),this,SLOT (open ()));(ui->toolButton_2,SIGNAL (clicked ()),this,SLOT (add ()));(ui->toolButton_6,SIGNAL (clicked ()),this,SLOT (selectOnAxis ()));(ui->toolButton_7,SIGNAL (clicked ()),this,SLOT (invers ()));(ui->pushButton,SIGNAL (clicked ()),this,SLOT (on_toolButton_10_clicked ()));(ui->pushButton_2,SIGNAL (clicked ()),this,SLOT (on_toolButton_10_clicked ()));(ui->pushButton_3,SIGNAL (clicked ()),this,SLOT (on_toolButton_10_clicked ()));

}:: add () {(activeViewer==0) {:: information (0,"Message","Переддобавлением, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}=:: getOpenFileName (this,tr ("OpenBookmarkFile"),:: currentPath (),("XMLFiles (*. xml)"));(fileName. isEmpty ());*file=newQFile (fileName);>add (file);

}:: review () {>setText ("review");>setPixmap (QPixmap (QDir:: currentPath () +"/review. bmp"));="review";

}:: select () {>setText ("select");>setPixmap (QPixmap (QDir:: currentPath () +"/select. bmp"));="select";

}:: check () {>setText ("check");>setPixmap (QPixmap (QDir:: currentPath () +"/check. bmp"));="check";

}:: invers () {(activeViewer==0) {:: information (0,"Message","Передработой, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}>activeViewer->invers ();

}:: open () {=:: getOpenFileName (this,tr ("OpenBookmarkFile"),:: currentPath (),("XMLFiles (*. xml)"));(fileName. isEmpty ());*file=newQFile (fileName);*view=newWViewer (file,this);>setGeometry (50, 200,800,530);>show ();<<view;=view;

}:: selectOnAxis () {(activeViewer==0) {:: information (0,"Message","Передработой, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}*dial=newSelectFromAxlDialog (this);>setVisible (true);

}:: about () {*dial=newAboutDialog (this);>setGeometry (50,50,400,128);>show ();

}:: eventFilter (QObject*obj,QEvent*event) {(event->type () ==QEvent:: WindowActivate) {>activeViewer= (WViewer*) obj;

}(event->type () ==QEvent:: Close) {>activeViewer=NULL;

}:: eventFilter (obj,event);

}:: sizeHint () {;. setHeight (600);. setWidth (600);;

}:: ~MainWindow ()

{;

}:: on_toolButton_9_clicked ()

{(activeViewer==0) {:: information (0,"Message","Передработой, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}>increaceZoom ();

}:: on_toolButton_11_clicked ()

{(activeViewer==0) {:: information (0,"Message","Передработой, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}>decreaceZoom ();

}:: on_toolButton_10_clicked ()

{*webView=newQWebView ();>show ();>setUrl (QUrl ("file: // /"+curDir+"/help/index.html"));

}:: on_toolButton_8_clicked ()

{(activeViewer==0) {:: information (0,"Message","Передработой, загрузитенаборизфайлатаблицаXML",QMessageBox:: Yes);;

}>dialog->setVisible (! activeViewer->dialog->isVisible ());

}. h

#ifndefDIALOGS_H

#defineDIALOGS_H

#include<QObject>

#include<QtGui>

#include"mainwindow. h": publicQDialog

{_OBJECT:(QWidget*parent=0);

~SelectFromAxlDialog ();*dialogButtonBox;*lineEditNumAxl;*lineEditValue1;*lineEditValue2;*slider;:(QCloseEvent*);*labelAxl;*labelValue1;*labelValue2;*labelDelta;:(int);();();

};: publicQDialog

{_OBJECT:(QWidget*parent=0);

~AboutDialog ();*okButton;:(QCloseEvent*);*labelLogo;*labelText;:();

};

#endif // DIALOGS_H. cpp

#include"dialogs. h":: SelectFromAxlDialog (QWidget*parent):(parent)

{(150,150,220,100);=newQLabel (this);>setText ("Axl#");>setGeometry (0,3,26, 20);=newQLabel (this);->setText ("Valuefrom");->setGeometry (70,3,54, 20);=newQLabel (this);->setText ("to");->setGeometry (169,3,10, 20);=newQLabel (this);>setText ("Delta=0");>setGeometry (3, 20,60, 20);=newQLineEdit (this);>setGeometry (28,0,40, 20);=newQLineEdit (this);->setGeometry (126,0,40, 20);=newQLineEdit (this);->setGeometry (180,0,40, 20);=newQDialogButtonBox (QDialogButtonBox:: Ok

|QDialogButtonBox:: Cancel,Qt:: Horizontal,this);>setGeometry (20,70,180,25);>setVisible (true);=newQSlider (Qt:: Horizontal,this);>setGeometry (2,40,216, 20);>setRange (-200, 200);>setValue (0);(slider,SIGNAL (valueChanged (int)),this,SLOT (change (int)));(dialogButtonBox,SIGNAL (accepted ()),this,SLOT (accept ()));(dialogButtonBox,SIGNAL (rejected ()),this,SLOT (reject ()));

}:: ~SelectFromAxlDialog () {;;;;;;;

}:: change (intvalue) {>setText ("Delta="+QVariant (slider->value ()). toString ());();

}:: accept () {

( (MainWindow*) parent ()) - >activeViewer->unselect ();

( (MainWindow*) parent ()) - >activeViewer->selectFromAxl (lineEditNumAxl->text (). toInt () - 1,lineEditValue1->text (). toInt () +slider->value (),->text (). toInt () +slider->value ());

}:: reject () {>close ();

}:: closeEvent (QCloseEvent*) {;

}:: AboutDialog (QWidget*parent):(parent)

{=newQLabel (this);>setPixmap (QPixmap (QDir:: currentPath () +"/logo. bmp"));=newQLabel (this);>setGeometry (140,10,350,40);>setText ("ProgramPoliViewer\n\nDevelopers: WasilevskyValentin&LisicinAlexander");=newQPushButton (this);>setGeometry (330,100,60, 20);>setText ("ok");(okButton,SIGNAL (clicked ()),this,SLOT (close ()));

}:: ~AboutDialog () {;;;

}:: closeEvent (QCloseEvent*) {;

}:: close () {;

}. h

#ifndefWPOINTS_H

#defineWPOINTS_H

#include<QWidget>

#include"wviewer. h"

#include"wtransitdata. h"

#include"mainwindow. h";: publicQWidget

{_OBJECT:(QPaintEvent*);(QMouseEvent*);;;*value;;:*ps;(points*,QWidget*parent=0);(WTransitPoint*trpoint,QWidget*parent,points*pnts);();();(bool);() const;() const;(int);::

};;

{:

// constforstyleSheet:*viewer;<WPoint*>point;*color;;;();

// voidadd (WPoint*);(intx1, inty1, intx2, inty2);(intnumAxl, intv1, intv2);; // размерточекдописать; // аурадописать();();();(WViewer*,QColor*);(WViewer*,WTransitPoints*trpoints);

};

#endif // WPOINTS_H. cpp

#include<QPainter>

#include<QStyleOption>

#include<QMessageBox> // fordelete

#include<QVariant> // fordelete

#include<QEvent>

#include"wpoints. h":: points (WViewer*v,WTransitPoints*trpoints)

{=v;("Currentitemcount: ");. append (QString ("%1"). arg (viewer->ps. length ()));:: information (0,"Message",str. toStdString (). c_str (),QMessageBox:: Yes);(viewer->ps. length ())

{:>cssActive="QWidget{background-color: \(cx: 0.5,cy: 0.5,fx: 0.5,fy: 0.5,\: 0.5,stop: 0.2#e11,stop: 0.9#fff); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";>cssDefault="QWidget{\color: qradialgradient (\: 0.5,cy: 0.5,\: 0.5,fy: 0.5,radius: 0.5,\: 0.3#FFF,stop: 0.8#F00); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";;:>cssActive="QWidget{background-color: \(cx: 0.5,cy: 0.5,fx: 0.5,fy: 0.5,\: 0.5,stop: 0.2#11e,stop: 0.9#fff); \: 1pxsolid#00F; \radius: 6px}\: hover{\: 1pxsolid#000; }";>cssDefault="QWidget{\color: qradialgradient (\: 0.5,cy: 0.5,\: 0.5,fy: 0.5,radius: 0.5,\: 0.3#FFF,stop: 0.8#00F); \: 1pxsolid#00F; \radius: 6px}\: hover{\: 1pxsolid#000; }";;:>cssActive="QWidget{background-color: \(cx: 0.5,cy: 0.5,fx: 0.5,fy: 0.5,\: 0.5,stop: 0.2#e11,stop: 0.9#fff); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";>cssDefault="QWidget{\color: qradialgradient (\: 0.5,cy: 0.5,\: 0.5,fy: 0.5,radius: 0.5,\: 0.3#FFF,stop: 0.8#F00); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";;:>cssActive="QWidget{background-color: \(cx: 0.5,cy: 0.5,fx: 0.5,fy: 0.5,\: 0.5,stop: 0.2#e11,stop: 0.9#fff); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";>cssDefault="QWidget{\color: qradialgradient (\: 0.5,cy: 0.5,\: 0.5,fy: 0.5,radius: 0.5,\: 0.3#FFF,stop: 0.8#F00); \: 1pxsolid#F00; \radius: 6px}\: hover{\: 1pxsolid#000; }";;::: critical (0,QObject:: tr ("Applicationerror"),

"ERROR");;

}*clr=newQColor ();=0,s=255,h=255;(v->ps. size () /30%4==1) {dlt=6; s=255; h=190; }(v->ps. size () /30%4==2) {dlt=4; s=190; h=255; }(v->ps. size () /30%4==3) {dlt=2; s=190; h=190; }>setHsv (30+60* (v->ps. size () %5) +8* (v->ps. size () /5%6) +dlt,s,h);=clr;(inti=0; i<trpoints->point. size (); ++i) {*tmp=newWPoint (trpoints->point [i],v,this);>setSelect (false);<<tmp;

}

}:: recomp () {(inti=0; i<point. size (); i++) {[i] - >recomp ();

}

}:: invers () {(inti=0; i<point. size (); ++i) {(point [i] - >sel () ==true)[i] - >setSelect (false);[i] - >setSelect (true);

}

}:: unselect () {(inti=0; i<point. size (); i++)[i] - >setSelect (false);

}:: selectArea (intx1, inty1, intx2, inty2) {(inti=0; i<point. size (); i++)(point [i] - >x () *viewer->getZoom () +viewer->getCenterXAxl () >x1

&&point [i] - >x () *viewer->getZoom () +viewer->getCenterXAxl () <x2

&&point [i] - >y () *viewer->getZoom () +viewer->getCenterYAxl () >y1

&&point [i] - >y () *viewer->getZoom () +viewer->getCenterYAxl () <y2) {[i] - >setSelect (true);

}[i] - >setSelect (false);

}:: selectFromAxl (intnumAxl, intv1, intv2) {(inti=0; i<point. size (); ++i) {(this->point [i] - >getV (numAxl) >=v1&&this->point [i] - >getV (numAxl) <=v2)[i] - >setSelect (true);

}

}:: updateVisible () {(inti=0; i<point. size (); ++i) {( ( (viewer->getCenterXAxl () +point [i] - >x () *viewer->getZoom ()) >viewer->width () - 2)

|| ( (viewer->getCenterXAxl () +point [i] - >x () *viewer->getZoom ()) <2)

|| ( (viewer->getCenterYAxl () +point [i] - >y () *viewer->getZoom ()) >viewer->height () - 2)

|| ( (viewer->getCenterYAxl () +point [i] - >y () *viewer->getZoom ()) <2))[i] - >setVisible (false);[i] - >setVisible (true);

}

}:: WPoint (WTransitPoint*trpoint,QWidget*parent,points*pnts):(parent) {=false;>setCursor (Qt:: PointingHandCursor);=pnts;=trpoint->getValues ();(parent);

}:: WPoint (points*pnts,QWidget*parent):(parent) {=false;>setCursor (Qt:: PointingHandCursor);=pnts;=newint [ ( (WViewer*) parent) - >getCountAxl ()];(parent);

}:: paintEvent (QPaintEvent*) {>setGeometry ( ( (WViewer*) this->parent ()) - >getCenterXAxl () +vx* ( (WViewer*) this->parent ()) - >getZoom () - 6, ( (WViewer*) parent ()) - >getCenterYAxl () +vy* ( (WViewer*) this->parent ()) - >getZoom () - 6,12,12);;. init (this);(this);() - >drawPrimitive (QStyle:: PE_Widget,&opt,&p,this);

}:: mousePressEvent (QMouseEvent*) {

( (MainWindow*) ( (WViewer*) this->parent ()) - >parent ()) - >check ();(inti=0; i< ( (WViewer*) this->parent ()) - >getCountAxl (); ++i)

( (WViewer*) this->parent ()) - >range [i] =this->value [i];

( (WViewer*) this->parent ()) - >recomp ();

( (WViewer*) this->parent ()) - >updateVisible ();

( (WViewer*) this->parent ()) - >update ();

}:: x () const{;

}:: getV (inti) {[i];

}:: y () const{;

}:: setSelect (boolb) {(! b) {>setStyleSheet (this->ps->cssActive);

}else{>setStyleSheet (this->ps->cssDefault);

}>select=b;>update ();

}:: sel () {;

}WPoint:: recomp () {=0;(inti=0; i< ( (WViewer*) this->parent ()) - >getCountAxl (); i++)=l+pow ( (value [i] - ( (WViewer*) this->parent ()) - >range [i]),2);=sqrt (l);=0;(inti=0; i< ( (WViewer*) this->parent ()) - >getCountAxl (); i++)=x+ (value [i] * ( (WViewer*) this->parent ()) - >axls [i] - >getLvl ()

( (WViewer*) this->parent ()) - >range [i] * ( (WViewer*) this->parent ()) - >axls [i] - >getLvl ())

* ( (WViewer*) this->parent ()) - >axls [i] - >getCos ();=0;(inti=0; i< ( (WViewer*) this->parent ()) - >getCountAxl (); i++)=y+ (value [i] * ( (WViewer*) this->parent ()) - >axls [i] - >getLvl ()

( (WViewer*) this->parent ()) - >range [i] * ( (WViewer*) this->parent ()) - >axls [i] - >getLvl ())

* ( (WViewer*) this->parent ()) - >axls [i] - >getSin ();=sqrt (pow (x,2) +pow (y,2));(vec! =0)

{= (int) (l*x/vec);= (int) (l*y/vec);

}

{=0;=0;

}

}

Похожие работы на - Программный продукт для интерактивного распознавания компактных многомерных классов образов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!