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

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

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

Реферат

Пояснительная записка 76 страниц, 24 рисунка, 4 таблицы, 22 литературных источника, 7 приложений.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, СШивка, РЕДАКТИРОВАНИЕ, ТОПОГРАФИЧЕСКИЕ КАРТЫ, c#, .NET FRAMEWORK, VISUAL STUDIO.

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

В первом разделе дипломного проекта приведён аналитический обзор литературы по картографии, произведён обзор существующих технологий и программных средств, выполнен патентный поиск.

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

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

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

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

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

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

Введение

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

Целью данного диплома является создание программного продукта, который позволит сшивать и редактировать топографические карты. Входными параметрами программы должен служить набор топографических карт. Формат топографических карт может быть таким как jpg, png, bmp. Программа должна предоставить возможность автоматизированной сшивки карт путем анализа изображения, так же интерфейс программы должен позволять добавлять и удалять с карты топографические знаки, возможность как загрузки карт, так и сохранения конечного результата. Сохранение карт должно быть реализовано в форматах jpg, png, bmp и полностью совместимо с современными графически пакетами Photoshop и CorelDrow.

Аналитический обзор литературы

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

Современная картография подразделяется на ряд дисциплин: картоведение, математическую картографию, картометрию, проектирование и составление карт, редактирование карт, оформление карт, издание карт [1]. Картография тесно связана со многими науками. Цикл географических наук вооружает картографию знаниями, и сегодня картографию трудно представить без тесного взаимодействия с аэрокосмическим зондированием, геоинформатикой и телекоммуникацией [2]. Электронные карты и атласы, трехмерные картографические модели, космофотокарты и другие геоизображения стали привычными средствами исследования для географов, геологов, экологов и других специалистов в науках о Земле и смежных социально-экономических отраслях знания [3]. Особенно тесная связь существует между картографией и геодезией [4]. Геодезия изучает форму и размеры земного эллипсоида, создает плановую и высотную основу топографических карт, а, следовательно, и географических карт. В то же время, в зависимости от задач картографирования, устанавливается программа построения геодезических сетей, определяются требования к их точности и к методике производства работ. Картография активно развивается во многих направлениях. Постоянно расширяется тематика карт, разрабатываются карты нового типа, совершенствуются методы их исследования в научной и практической деятельности. Например, в связи с возрастающей ценностью земель быстро завоевывают признание карты использования земель, или кадастровые карты, показывающие размещение угодий различного хозяйственного использования. Эти карты предназначаются для обеспечения организации эффективного использования и охраны сельскохозяйственных, лесохозяйственных и городских земель при планировании производства, мелиорации земель и решении других народнохозяйственных задач [5].

Новым направлением в развитии современной картографии является геоинформационное картографирование - автоматизированное создание и использование карт на основе ГИС (геоинформационных систем), баз картографических данных и знаний.

Геоинформационное картографирование

Суть геоинформационного картографирования составляет информационно - картографическое моделирование геосистем. Наиболее важными характерными чертами данного вида картографирования являются:

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

системный подход к изображению и анализу геосистем;

создание изображений новых видов и типов (электронных карт, трехмерных компьютерных моделей и др.);

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

оперативность, приближающаяся к реальному времени; преимущественно проблемно-практическая ориентация картографирования, нацеленная на обеспечение принятия решений [6].

Универсальное и наиболее распространенное средство для создания ГИС ARC/INFO служит для обеспечения компьютерного картографирования и оперативного принятия решений. Оно работает с любыми видами информации, имеющей привязку к территории. С помощью ARC/INFO можно легко получить в цифровой форме любую карту, схему, видеоизображение или рисунок, ввести табличные, статистические и другие тематические данные, привязанные к объектам карты. ARC/INFO позволяет работать с сериями карт, накладывая одну карту на другую, и проводить их сопряженный анализ, создавать «твердые» копии необходимых карт и схем.

Упрощенная версия ARC/INFO - Arcview - поддерживает внутренний формат SHAPE и внутренний язык программирования AVENUE. Но при использовании этой системы для больших по объему слоев проявляется эффект процессорозависимости, т. е. нужно иметь мощные ресурсы процессора и памяти, чтобы эффективно работать с ней. В ее поставку входят дополнительные модули для анализа геоинформационных данных 3D-Analyst и SpatialAnalyst.

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

При разработке ГИС-приложений среда разработки Maplnfo Professional обеспечивает доступ к базам данных Oracle8i, хранилищам данных на сервере и управление ними, создание тематических карт, создание и запись SQL-запросов. Кроме того, эта среда разработки поддерживает растровые форматы, включая BMP, JPG, TIFF, MrSID, имеет универсальный преобразователь для форматов AutoDesk, ESRI и Intergraph. Начиная с версии 6, обеспечивается поддержка Интернета и трехмерных изображений, а также усовершенствованы средства геокодирования информации.

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

Главными преимуществами российской системы GEOGRAPH-GE-ODRAW является функциональность и невысокая цена. Она состоит из трех основных модулей:

Geograph (модуль конечного пользователя, фактически - это просмотрщик);

Geodraw (векторный топологический редактор);

Geoconstructor (средство разработки приложний).

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

Для обработки графической информации объектов (отображения метрических данных и их графического редактирования) в комплект модульной многоцелевой кадастровой системы Geocad System входит специализированный модуль CPS Graph. Он является неотъемлемой частью.

ГИС ИнГЕО - система, в которой пользователь сам может конструировать библиотеки любых векторных символов, линий, заливок. Это наиболее эффективная ГИС для создания топопланов масштаба 1:10000 - 1:500. Она имеет развитую инструментальную систему в технологии lnternet\lntranet, с помощью которой пользователь может самостоятельно строить сложнейшие реляционные таблицы семантических данных картографических объектов. ИнГЕО имеет мощную кадастровую надстройку - систему ИМУЩЕСТВО и систему МОНИТОРИНГ.

Система TopoL представляет собой универсальную ГИС, применимую во многих отраслях для решения разнообразных прикладных задач. Она позволяет выполнять весь комплекс работ по созданию, редактированию, анализу и использованию цифровых карт местности. Ее вариант TopoL-L предназначен для лесхозов и лесоустройства.

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

Развитие Интернета не обошло стороной и картографию. Так, картографическое ПО для Интернета позволяет публиковать готовые тематические карты во Всемирной сети. Серверные картографические приложения, разработанные для внедрения интерактивных карт в Интернете, имеют широкий набор картографических функций. Одним из таких программных продуктов, предназначенных для публикации и сопровождения картографической информации в Интернете, является MapXtreme - сервер картографических приложений, созданный корпорацией Maplnfo. Открытая архитектура MapXtreme работает с любым Web-сервером и не нуждается в дополнительных plugins, что позволяет использовать любые браузеры на ПК или рабочих станциях UNIX. Еще один продукт этой корпорации, MapXsite, позволяет достаточно легко встраивать в Web-страницы картографическую информацию.

Обзор C#

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

Наиболее полно информация о классах описывается в книге «С# 2005 и платформа .Net 3.0» .Книгу отличает простой и доступный стиль изложения, изобилие примеров и множество рекомендаций по написанию высококачественных программ. Подробно рассматриваются такие вопросы, как основы языка программирования C#, организация среды .NET, работа с данными, написание Windows и Web-приложений, взаимодействие через сеть, создание Web служб и многое другое. Немалое внимание уделено проблемам безопасности и сопровождения кода. Тщательно подобранный материал позволит без труда разобраться с тонкостями использования Windows Forms и построения Web страниц [7].

Однако кроме основ построения кода, так же необходимо просматривать готовые решения. Это позволяет значительно повысить скорость разработки а так же повышает опыт программиста. Книга Климова А.П. «С# советы программистам» [8] представляет собой сборник советов, алгоритмов и готовых примеров программ на языке С# в среде MS Visual Studio 2005/2008 из различных областей: работа с формами и элементами управления, папками и файлами, мышью и клавиатурой, мультимедиа и графикой, использование технологий WMI и WSH, взаимодействие с MS Office и другими приложениями, работа в локальной сети и Интернете, особенности использования функций Windows API и др. Так же дополнительно в продолжение темы готовых решений представлена книга «Visual C# в задачах и примерах» [9]. Книга представляет собой сборник программ и задач для самостоятельного решения. Примеры различной степени сложности - от простейших до приложений работы с графикой и базами данных - демонстрирует назначение базовых компонентов, раскрывает тонкости разработки Windows Forms в Microsoft Visual C#. Уделено внимание использование технологии LINQ. Справочник, входящий в книгу содержит описание базовых компонентов, событий, исключений, и наиболее часто используемых функций.

Примеры работ с графическими приложениями освещено в книге Абрамяна М.Э «Visual C# на примерах» [10]. Книга содержит подробное описание 32 проектов, демонстрирующих различные аспекты создания Windows-приложений для платформы Net Framework. Рассматриваются оптимальные приемы разработки программ, управление событиями, механизм обработки исключений, особенности консольных и MDI приложений. Детально описываются основные компоненты библиотеки Windows Forms и классы, входящие в графическую библиотеку GDI+. Демонстрируются примеры работы с клавиатурой и мышью, а так же дополнительные возможности NET- приложений, в том числе реализация режима Drag&Drop, работа с реестром Windows и др.

Работу с файлами и файловыми системами прекрасно описал Михаил Фленов в своей книге «Библия C#». Книга имела такой значительный успех, что претерпела 2 издание. Материал книги сопровождается большим количеством практических примеров. Подробно описывается логика выполнения каждого участка программы. Во второе издание внесены исправления и добавлена глава по сетевому программированию [11].

Патентный поиск

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

Найденные результаты:

) «Устройство, способ и программное обеспечение для обработки изображений с увеличением резкости» (RU 2456670 C2) - патент на полезную модель;

) «Способ оценки качества изображения, способ формирования документа, компьютерный программный продукт, пользовательский интерфейс, файл данных и электронное устройство» (RU 2437154 С2) - патент на полезную модель;

) «Устройство обработки информации, компьютерный программный продукт и способ управления отображением» (RU 2011134146A) - заявка на изобретение.

Выводы

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

Был проведен патентный поиск и найдено несколько патентов и заявка на изобретение на смежную тему.

Разработка программной системы

Разработка алгоритма программы

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

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

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

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

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

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

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

Свойства модулей:

функциональная целостность и завершенность (каждый модуль реализует одну функцию, но реализует хорошо и полностью);

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

эволюционируемость (развиваемость);

открытость для пользователей и разработчиков (для модернизации и использования);

корректность и надежность;

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

Свойства (преимущества) модульного проектирования алгоритмов:

возможность разработки алгоритма большого объема (алгоритмического комплекса) различными исполнителями;

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

облегчение тестирования алгоритмов и обоснования их правильности;

упрощение проектирования и модификации алгоритмов;

уменьшение сложности разработки (проектирования) алгоритмов (или комплексов алгоритмов);

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

Тестирование алгоритма - это проверка правильности или неправильности работы алгоритма на специально заданных тестах или тестовых примерах - задачах с известными входными данными и результатами (иногда достаточны их приближения).

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

Пример. Для задачи решения квадратного уравнения ax2 + bx + c = 0 такими исключительными случаями, например, будут: 1) a = b = c = 0; 2) a = 0, b, c - отличны от нуля; 3) D = b2 - 4ac < 0 и др.

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

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






















Рисунок 2.1 - Алгоритм программы

Разработка схемы и структуры программы

Структурное программирование - методология разработки программного обеспечения <#"871354.files/image001.gif">Рисунок 2.3 - Картины в сравнении

Затем необходимо сформировать массив совпадений. Количество «ответов» в массиве будет равно количеству пикселей. Соответственно, если сравнивать каждую сторону первой картины с 4 сторонами второй картины, а так же все остальные стороны, получим массив совпадений из 16 строк. Примем обход сторон по часовой стрелке. Обход сторон представлен на рисунке 2.4.

Рисунок 2.4 - Порядок обхода пикселей

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

Рисунок 2.5 - Массив совпадений пикселей

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

Рисунок 2.6 - Схематичный массив совпадений пикселей

Данный массив содержит суммарное совпадение пикселей 2 картин. Исходя из рисунка, мы не можем сказать сразу, какая все же сторона наиболее совпадает. Соответственно мы должны выяснить максимальное число для 1 стороны и запомним этот результат. Ответом будет массив из 4 значений, который возвращает максимальное значение по каждой стороне и представлено на рисунок 2.7. Так же стоит отметить, что стороны кубика нумеруются с «1».

Рисунок 2.7 - Суммарный результат обработки массива

Однако нас не интересуют значения. Нас интересуют порядковые номера сторон, с которыми произошло совпадение. Для этого анализируем, используя предыдущий массив, какая сторона соответствует данным числам. Результаты записываем в массив результатов функции и представлены на рисунке 2.8.

Рисунок 2.8 - Результат работы функции

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

public int[] AnalisKubov(System.Drawing.Bitmap image1, System.Drawing.Bitmap image2, int percent)

Функция в качестве входящих параметров получает две «картины» или 2 объекта типа System.Drawing.Bitmap а так же процент совпадения сторон друг с другом. Под процентом совпадения сторон понимается отношения количества совпавших пикселей к общему количеству пикселей.

Color[][] im1 = new Color[4][]; // 1 массив[][] im2 = new Color[4][]; // 2 массив[0] = new Color[image1.Width];[1] = new Color[image1.Height];[2] = new Color[image1.Width];[3] = new Color[image1.Height];[0] = new Color[image2.Width];[1] = new Color[image2.Height];[2] = new Color[image2.Width];[3] = new Color[image2.Height];

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

for (int i = 0; i < im1.Length; i++)

{(int j = 0; j < im1[i].Length; j++)

{(i == 0) im1[0][j] = image1.GetPixel(j, 1);(i == 1) im1[1][j] = image1.GetPixel(image1.Width - 1, j);(i == 2) im1[2][j] = image1.GetPixel(j, image1.Height - 1);(i == 3) im1[3][j] = image1.GetPixel(1, j);

}

}(int i = 0; i < im2.Length; i++)

{(int j = 0; j < im2[i].Length; j++)

{(i == 0) im2[0][j] = image2.GetPixel(j, 1);(i == 1) im2[1][j] = image2.GetPixel(image2.Width - 1, j);(i == 2) im2[2][j] = image2.GetPixel(j, image2.Height - 1);(i == 3) im2[3][j] = image2.GetPixel(1, j);

}

}

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

bool[][] res = new bool[16][];(int i = 0; i <= 15; i++)

{k = 0;(i <= 3) k = im1[0].Length;(i > 3 && i <= 7) k = im1[1].Length;(i > 7 && i <= 11) k = im1[2].Length;(i > 11 && i <= 15) k = im1[3].Length;[i] = new bool[k];

}

Результаты совпадений поместим в массив. Так как будет сравниваться 16 сторон, то полученный результат поместим в массив типа bool [16]. Размерность массива будет соответствовать размерности массива с пикселями.

m = 0; //переменная для счета количества проходов

for (int i = 0; i < im1.Length; i++) // проход по граням 1 кубика

{(int k = 0; k < im1.Length; k++) // проход по граням 2 кубика

{(im1[i].Length == im2[k].Length)

{(int j = 0; j < im1[i].Length; j++) // проход по пикселям

{(PixelAnalis(im1[i][j], im2[k][j], Percent)) res[m][j] = true;

}

}++;

}

}

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

= new int[4]; // этот массив - массив совпадений

int[] TempMass = new int[16];count = 0;(int i = 0; i <= 15; i++)

{(int j = 0; j < res[i].Length; j++)

{(res[i][j]) count++;

}[i] = count;= 0;

}

Здесь мы создаем временный массив TempMass, который будет содержать суммарную информацию сравнений сторон картин.

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

int[] Max = new int[4];(int i = 0; i <= 15; i++)

{(i <= 3)

{(TempMass[i] > Max[0])

{[0] = TempMass[i];(Max[0] > 0 & TempMass[i] > 0)

{((int)(((double)Max[0] / (double)res[i].Length) * 100) >= percent) MassRes[0] = i + 1;

};

} //1 сторона кубика

}((i > 3 & i <= 7))

{(TempMass[i] >= Max[1])

{[1] = TempMass[i];(Max[1] > 0 & TempMass[i] > 0)

{((int)(((double)Max[1] / (double)res[i].Length) * 100) >= percent) MassRes[1] = i - 3;

};

} //2 сторона кубика

}((i > 7 & i <= 11))

{(TempMass[i] >= Max[2])

{[2] = TempMass[i];(Max[2] > 0 & TempMass[i] > 0)

{((int)(((double)Max[2] / (double)res[i].Length) * 100) >= percent) MassRes[2] = i - 7;

};

}

//3 сторона кубика

}((i > 11 & i <= 15))

{(TempMass[i] >= Max[3])

{[3] = TempMass[i];(Max[3] > 0 & TempMass[i] > 0)

{((int)(((double)Max[3] / (double)res[i].Length) * 100) >= percent) MassRes[3] = i - 11;

};

}//4 сторона кубика

}

}

В данном коде мы сначала проверяем, какая из сторон учувствует в сравнении. Например, if (i <= 3) - это первая сторона. Значит, результат мы запишем в массив с нулевым индексом. Так же мы должны проверить, максимальное ли число мы записываем или нет. Это максимальное число мы держим во временном массиве Max. И элемент Max[0] соответствует 1 максимальному числу массива.

Так же этот массив мы используем для нахождения индекса элемента, с каким совпала соответствующая сторона картины (код ниже).

for (int i = 0; i < 4; i++)

{( Max[i] > maxtemp)

{= Max[i];

}

}(int i = 0; i < 4; i++)

{(Max[i] > (int) (((double)maxtemp) * (((double)Percent1) / 100)))

{ [l] = Max[i]; ++;

}

}

// ищем номера совпавших элементов

int j = 3;= 0;k=0;(int i = 0; i < TempMass.Length;i++ )

{((max1[k]> 0) & (max1[k] == TempMass[i])) // счетчик элементов массива max1

{(i <= 3) \

{

MassRes[0] = i + 1; TempMass1[0] = max1[k];

}(i > 3 && i <= 7)

{

MassRes[1] = i - 3;TempMass1[1] = max1[k];

}(i > 7 && i <= 11)

{ [2] = i - 7; TempMass1[2] = max1[k];

}

if (i > 11 && i <= 15)

{

MassRes[3] = i - 11; TempMass1[3] = max1[k];

} (k < 3) k++; // это заплатка, если неверно выставлены проценты

} (j == i) // счетчик сторон

{++;= j + 4;

}

}

Одной из проблем при поиске совпавших сторон является наличие нескольких совпадений. Однако, как показала практика, при наличии совпавших сторон более 1, их численное значение (количество совпавших пикселей) значительно меньше(на 30-40 процентов). Следовательно, найдя максимальное значение из всех совпавших сторон, мы можем «отсечь» лишние стороны, которые являются не более чем цифровым случайным совпадением.

Анализ массива картин

Существует некий массив наборов картин, которые необходимо сравнить. Сравнение полностью картин необходимость отсутствует. Достаточно сравнить их «края». Таким образом, можно обнаружить, какие из краев совпадают. Решить эту задачу можно 2 способами:

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

Б) все картины сравнивать по очереди, затем получить массив ответов сравнения картин (используется в этом дипломе).

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

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

Рисунок 2.9 - Последовательность действий при решении задачи сравнений картин

Получение массива совпадений есть последовательный перебор каждой картины в сравнении с остальными. Массив совпадений представлен на рисунке 2.10.

Рисунок 2.10 - Порядок сравнений картин

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

А) 1 сравнить с 2,3,4.

Б) 2 сравнить с 3 и 4.

В) 3 сравнить с 4.

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

Рисунок 2.11 - Массив результатов совпадений сторон

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

Сборка пазла происходит по следующей схеме. Имея массив совпадений, мы можем сразу же строить пазл. Для этого введем массив с условными координатами и шагом в 1.

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

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

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

После сборки пазла необходимо переместить в начало координат. Делается это для упрощения расчета реальных координат. Для этого находится квадратик с минимальной условной координатой по Х и У. Затем начало координат переносим в точку (0,0). От всех условных координат отнимаем эти значения. При этом перенос выглядит как на рисунке 2.13.

Рисунок 2.13 - Перенос собранного пазла в начало координат

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

Выводы

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

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

Обоснование технических приемов программирования

Обоснование выбора языка программирования

Язык С# и связанную с ним среду .NET Framework можно без преувеличения назвать самой значительной из предлагаемых в настоящее время технологий для разработчиков. Среда .NET является такой средой, которая была создана для того, чтобы в ней можно было разрабатывать практически любое приложение для запуска в Windows, а С# является языком программирования, который был специально создан для использования в .NET Framework. Например, с применением С# и .NET Framework можно создавать динамические веб-страницы, приложения Windows Presentation Foundation, веб-службы XML, компоненты для распределенных приложений, компоненты для доступа к базам данных, классические настольные приложения Windows и даже клиентские приложения нового интеллектуального типа, обладающие возможностями для работы в оперативном и автономном режимах. В настоящем дипломе рассматривается версия .NET Framework 4. Не стоит поддаваться заблуждению из-за наличия в названии Framework слова "NET" и думать, что данная среда предназначена только для создания приложений, ориентированных на Интернет. Слово "NET" здесь является лишь показателем того, что, по мнению Microsoft, распределенные приложения, в которых обработка распределяется между клиентом и сервером, являются шагом вперед. Однако важно понимать, что С# представляет собой язык, предназначенный не только для написания приложений, способных работать в Интернете и в сети. Он предоставляет средства для кодирования практически любого типа программного обеспечения или компонентов для платформы Windows. Язык С# и среда .NET привели к революционным изменениям в способе написания разработчиками программ и сделали программирование приложений для Windows гораздо более простым, чем когда-либо. Так что же такого важного в .NET и С#?

Для понимания важности .NET не помешает вспомнить о многих технологиях Windows, которые появились в последние примерно 18 лет. Хотя на первый взгляд все они могут выглядеть довольно разными, на самом деле все операционные системы Windows, начиная с Windows 3.1 (которая вышла в 1992 г.) и заканчивая Window 7 и Windows Server 2008 R2, в основе своей имеют один и тот же хорошо знакомый API-интерфейс Windows.

По мере появления новых версий Windows в этот API-интерфейс добавлялось много новых функций, но это был скорее процесс совершенствования и расширения API-интерфейса, а не его замена. То же самое можно сказать и о многих других технологий и каркасах, которые применялись для разработки программного обеспечения, ориентированного на Windows. Например, технология COM (Component Object Model - объектная модель компонентов) первоначально называлась технологией OLE (Object Linking and Embedding - связывание и внедрение объектов) и по большей части представляла собой средство для связывания различных типов документов Office, например, для размещения в документе Word таблицы Excel. После этого она эволюционировала в технологию СОМ, затем в DCOM (Distributed СОМ - распределенная объектная модель компонентов) и, наконец, в сложную технологию СОМ+, которая стала основой для обеспечения связи между всеми компонентами, а также реализации транзакций, служб обмена сообщениями и организации пула объектов.

Подобный подход с совершенствованием программного обеспечения был выбран Microsoft по вполне очевидной причине, а именно - для обеспечения обратной совместимости. За многие годы независимыми разработчиками была написана масса программ для Windows, и ОС Windows не была бы такой успешной, если бы при каждом добавлении новой технологии существующая кодовая база нарушалась. Хотя наличие обратной совместимости является важным свойством технологий Windows и одной из сильных сторон платформы Windows, с ним также связан и один серьезный недостаток.

При каждом совершенствовании какой-нибудь технологии и добавлении в нее новых возможностей, из-за необходимости в наличии обратной совместимости она получается немного сложнее, чем была раньше. Из-за этого со временем стало ясно, что нужно что-то менять. В Microsoft не могли до бесконечности расширять одни и те же языки и средства для разработки, постоянно делая их все более и более сложными для удовлетворения конфликтующих между собой потребностей в поддержке новейшего оборудования и обеспечении обратной совместимости с тем, что было в ходу, когда Windows впервые стала популярной в начале 90-х годов прошлого века. Настал момент начать с чистого листа и создать простой, но при этом совершенный набор языков, сред и средств разработки, который бы позволял разработчиками легко писать современное программное обеспечение. Для этого первоначально и были предназначены язык С# и среда .NET. Грубо говоря, .NET представляет собой платформу или API-интерфейс для программирования на платформе Windows. Вместе с .NET Framework язык С# был разработан с нуля специально для работы в .NET, а также для объединения всех достижений, которые были сделаны в средах разработки, и всех принципов объектно-ориентированного программирования, которые были выведены за последние 25 лет.

Прежде чем продолжить, следует отметить, что обратная совместимость при этом не утратилась. Существующие программы все равно будут продолжать работать, потому что в .NET предусмотрена возможность для работы с существующим программным обеспечением.

В настоящее время связь между программными компонентами в Windows осуществляется практически полностью за счет использования технологии СОМ. С учетом этого в .NET Framework предлагается и возможность для создания оболочек вокруг существующих компонентов СОМ и тем самым позволения компонентам .NET взаимодействовать с ними.

Преимущества .Net. Пока лишь в общем говорилось о том, насколько .NET является замечательной технологией, но ничего конкретно о том, каким образом она облегчает жизнь разработчикам. Поэтому в настоящем разделе кратко перечисляются некоторые из наиболее совершенных функциональных возможностей .NET. И .NET Framework, и С# изначально основаны на принципах объектно-ориентированного программирования. Поставляемая библиотека базовых классов построена полностью с нуля и является интуитивно понятной.

Независимость от языка. В .NET код, написанный на любом языке - Visual Basic, C# или управляемом C++ - компилируется в код на промежуточном языке (Intermediate Language). Это делает языки способными к взаимодействию в невиданной до сих пор мере.

Усовершенствованная поддержка для создания динамических веб-страниц. Хотя в классической технологии ASP предлагалась довольно высокая степень гибкости, ее все равно не хватало из-за необходимости использования интерпретируемых сценарных языков, а отсутствие объектно-ориентированного дизайна часто приводило к получению довольно запутанного кода ASP. В .NET предлагается интегрированная поддержка для создания веб-страниц с помощью ASP.NET. В случае применения ASP.NET код создаваемых страниц поддается компиляции и может быть написан на любом поддерживающем .NET языке высокого уровня, например, С# или Visual Basic 2010. В новой версии .NET эта поддержка улучшилась еще больше, сделав возможным применение новейших технологий вроде Ajax и jQuery.

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

Разделение кода. В .NET был полностью переделан способ разделения кода между приложениями за счет введения понятия сборки вместо традиционных библиотек DLL. Сборки обладают формальными средствами для управления версиями и допускают одновременное существование рядом нескольких различных версий сборок.

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

Установка с нулевым воздействием. Сборки бывают двух типов: разделяемые и приватные. Разделяемые сборки представляют собой обычные библиотеки, доступные всему программному обеспечению, а приватные сборки предназначены для использования только с определенными программами. Существующие программы все равно будут продолжать работать, потому что в .NET предусмотрена возможность для работы с существующим программным обеспечением. Приватные сборки являются полностью самодостаточными, поэтому процесс их установки выглядит просто. Никакие записи в системный реестр не добавляется; все нужные файлы просто размещаются в папке файловой системы. В .NET предлагается полностью интегрированная поддержка для разработки веб-служб таким же простым образом, как и приложений любых других типов. Studio 2010. Вместе с .NET поставляется среда разработки Visual Studio 2010, которая способна одинаково хорошо справляться как с кодом на языке C++, С# и Visual Basic 2010, так и с кодом ASP.NET или XML. В Visual Studio 2010 интегрированы все наилучшие возможности сред конкретных языков из всех предыдущих версий этой замечательной IDE-среды.

Обоснование выбора операционной системы

Для выбора операционной системы необходимо сначала определиться, какие стоит рассматривать. Исторически сложилось так, что наиболее превалирующими операционными системами являются Windows и Linux(Unix). Следовательно, их и необходимо сравнивать.

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

Для начала необходимо дать определение понятию "настольный компьютер".

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

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

Также нужно сказать о принципиальных различиях между операционными системами MS Windows и GNU/Linux. Для точного понимания того, что есть что.

Первое отличие заключается в том, что операционная система (далее будет использоваться сокращение - ОС) MS Windows разрабатывается и поддерживается одной единственной компанией - Microsoft corporation. Ей же принадлежат авторские права на этот продукт, и она же взимает плату за использование ОС Windows и бесплатного использования компания Microsoft не допускает. То есть если вы хотите использовать эту ОС вы должны заплатить компании Microsoft./Linux это ОС, разрабатываемая и поддерживаемая десятками, если не сотнями компаний в разных странах мира и тысячами программистов. Права на эту ОС переданы в общественную собственность. И хотя в мире есть много компаний, которые предоставляют платную техническую поддержку этой ОС, само использование GNU/Linux не оговаривается финансовыми условиями. То есть вы не обязаны никому ничего платить, для того чтобы иметь право использования Linux.

Второе принципиальное отличие заключается в том, что в Windows графическая среда пользователя является неотъемлемой частью ОС. То есть Windows в варианте без графической среды (консольный режим) попросту не существует.

В то время как GNU/Linux это ОС текстового (консольного) режима и графическая среда это отдельный программный продукт, подобно текстовому редактору или видеопроигрывателю. Программ, которые реализуют графическую среду для ОС GNU/Linux более 10, но широко используются только две - GNOME и KDE.

Графическая среда пользователя необходимая и важнейшая часть ОС для настольных компьютеров. И сравнивая две ОС с этой точки зрения, важно понимать, что мы сравниваем Windows не с Linux, а с одной из графических сред, например с KDE.

Третье отличие в том, что MS Windows как конечный продукт состоит из собственно ОС и небольшого набора прикладных программ, которые имеют очень скромную функциональность. Другими словами, устанавливая Windows, вы получаете только ОС и для того, чтобы решать какие-то задачи вам нужно дополнительно находить и устанавливать прикладные программы./Linux в чистом виде, как ОС, распространяется лишь в узкоспециальных областях применения. А применительно к рассматриваемому мной случаю используются так называемые дистрибутивы Linux. Дистрибутив это комплект, состоящий из ОС GNU/Linux, графической среды пользователя и набора прикладных программ. То есть, устанавливая дистрибутив Linux, вы получаете готовую к практическому использованию систему, в которую вам быть может ничего больше не нужно будет добавлять.

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

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

ОС MS Windows имеет как плюсы, так и минусы. Например, поддержка очень большого ассортимента компьютерного оборудования. Какая бы экзотическая "железяка" вам не попалась, почти наверняка вы сможете ее использовать под Windows. Хотя быть может вам и потребуется время на поиски нужной программы-драйвера. Огромное количество прикладных программ, на сегодняшний день это уже, наверное, более ста тысяч наименований. Для любой прикладной задачи на платформе Windows есть как минимум несколько десятков, для популярных задач существуют сотни программ. Выбрать есть из чего. На любой вкус.

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

К минусам же можно отнести сравнительно высокую стоимость.Даже в самом дешевом варианте , притом, что такая "дешевая" Windows, приобретаемая в комплекте с новым компьютером, "привязана" к этому компьютеру. А это значит, что, меняя компьютер, вам снова придется тратить деньги на Windows. Варианты Windows независимые от компьютера имеют цену ближе к двумстам долларов США и выше. И это стоимость Windows для одного компьютера. И если вам нужна ОС, например, на пять компьютеров, которые уже у вас есть (не новые), то придется выложить за пять копий Windows около тысячи долларов. Очень большое количество вредоносных программ (так называемые компьютерные вирусы). Для версии Windows XP это особо серьезная проблема, которая вынуждает конечного пользователя нести дополнительные расходы. Либо на покупку хорошей антивирусной программы либо на обращение к специалистам в случаях, когда вредоносные программы делают невозможной нормальную работу ОС Windows. Эту проблему можно уменьшить за счет квалифицированной настройки ОС Windows и аккуратного ее использования в ситуациях риска, главная из которых Интернет. Также жесткая зависимость от разработчика. ОС Windows распространяется только в бинарном виде, который труднодоступен для изменения, но более того, компания Microsoft вообще запрещает вносить какие-либо изменения в рабочие коды ОС Windows. Так что если вам потребуется какая-то функциональность, которой сейчас нет в ОС Windows, то остается лишь надеяться на, то, что Microsoft когда-нибудь эту функциональность реализует либо искать некие "заплатки" от сторонних разработчиков. Впрочем, для среднестатистического пользователя это несущественный недостаток.

Плюсы ОС GNU/Linux - это сравнительно низкая стоимость. В более или менее большом городе вполне реально получить диск с каким-либо дистрибутивом Linux, обратившись к энтузиастам, распространяющим Linux. Если таковых в вашем городе нет, можно купить наиболее популярные дистрибутивы через Интернет, с доставкой по почте и это можно сделать в любом населенном пункте, где работает почта. Также по почте можно совсем бесплатно получить CD диск с дистрибутивом Ubuntu Linux. При этом, имея всего одну физическую копию дистрибутива Linux, вы получаете право установить его на любое количество компьютеров. То есть, возвращаясь, к примеру, о пяти компьютерах, если вы купите одну копию дистрибутива Linux это будут все ваши расходы на пять компьютеров - вам не нужно будет покупать пять копий. Итак, с одной стороны (Windows) около тысячи долларов, с другой стороны (Linux) примерно 300 рублей (или даже меньше этого). Также практическое отсутствие, по крайней мере, на сегодняшний день, вредоносных программ для этой платформы. Что позволяет избежать дополнительных расходов по предотвращению или ликвидации ущерба от вредоносных программ. Независимость от разработчика. Если вам потребовалась какая-то функциональность, отсутствующая в ОС Linux, вы может ее добавить своими собственными усилиями. Такая возможность есть благодаря тому, что ОС Linux распространяется не только в бинарном виде, но и в исходных кодах, причем нет никаких запретов на модификацию этих исходных кодов.

ОС GNU/Linux имеет ряд минусов. Например, значительно худшая, чем для платформы Windows, поддержка компьютерного оборудования, в особенности внешнего, такого как, например принтеры или USB устройства. Пожалуй, хуже всего дело обстоит со сканерами и USB, а также внутренними HSF/HCF модемами. Вполне реальна ситуация когда вам не удастся использовать какое-то оборудование под ОС Linux. Но проблема в значительной степени решаема, за счет более тщательного подхода к выбору оборудования. Перед приобретением "железки" можно, в Интернет, поискать информацию о возможности ее работы под ОС Linux.

Также значительно меньшее, чем для платформы Windows, количество прикладных программ. Более того, если речь идет о некоторых программах - безусловных лидерах в своих прикладных областях, то под ОС Linux нет ни соответствующих версий самих этих программ, ни других, сопоставимых по функциональности программ. К таким прикладным программам относятся продукты компании Adobe, экономические программы 1С, программа инженерного проектирования AutoCAD, программы распознавания текстов (FineReader). Конечно, под ОС Linux есть и графические редакторы и программы моделирования/проектирования, но они сильно уступают лидерам. Однако программы уровня Adobe PhotoShop или AutoCAD необходимы далеко не всем и для распространенных случаев, программ под ОС Linux вполне хватает. Частично этот недостаток можно компенсировать за счет того, что некоторые Windows-программы можно запустить на платформе Linux. Это возможно не для всех Windows-программ, но быть может именно та Windows-программа, которая вам нужна, будет работать под Linux.

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

Выводы

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

Исходя из вышесказанного, платформой для нашей программы мы выбираем Windows. Несмотря на то, что она относится к платным продуктам, все ее параметры однозначно говорят в пользу нашего выбора. Таким образом, выбрав Windows в качестве операционной системы мы получим и среду разработки и набор реализованных для работы с графикой программ и процедур для языка C#.

Руководство пользователя системы

Установка программы

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

Рисунок 4.1 - Установка программы

Удаление программы

Для удаления программы необходимо зайти в панель управления, в папку «Установка и удаление программ » затем найти приложение «Diplom karta» и двойным кликом деинсталлировать ее. Окно «установка и удаление программ» представлена на рисунке 4.2.

Рисунок 4.2 - Удаление программы

Последовательность действий пользователя

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

После запуска программы мы увидим интерфейс программы. Интерфейс программы представлен на рисунке 4.4. На рисунке цифрами обозначены:

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

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

- меню для выполнения операций пользователя

- панель для добавления топографических знаков

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

Рисунок 4.4 - Интерфейс программы

Пользователь добавляет в проект рисунки карт с помощью пункта меню File-Add. Добавленные карты сразу же отображаются на рабочем поле программы, что представлено на рисунке 4.5.

Рисунок 4.5 -Добавление карт

Далее пользователь выбирает режим для «склеивания» карт. Делается это с помощью меню Options-Percent. При этом во всплывающем окне необходимо задать следующие параметры:

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

процент совпадение квадратов;

процент совпадения массива квадратов.

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

Рисунок 4.6 - Окно выбора параметров

Процент совпадения пикселей. Этот параметр задает, какое количество пикселей 1 стороны совпасть со второй стороной. Параметр изменяется от 1 до 100.

Процент совпадения квадратов. Этот параметр задает процент совпадения при сравнивании одной картинки с другой. Параметр изменяется от 1 до 100.

Процент совпадения массива квадрата. Этот параметр используется при отсекании шумовых результатов. Они возникают, когда 2 стороны похожи друг на друга. Однако при задании процента отсекания можно их отбросить.

После задания параметров склеивания через меню Operation-Split мы объединяем картинки разрозненных карт. Пример результата сшивки карт представлен на рисунке 4.7.

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

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

Кликаем левой кнопкой мыши по нужному топографическому знаку;

Появившийся значок левой клавишей мыши мы фиксируем его рядом с мышью;

Правая клавиша позволяет зафиксировать значок на нужном месте карты.

Рисунок 4.7 - Результат сшивки карт

Рисунок 4.8 - Процесс редактирования карты

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

Рисунок 4.9 - Диалоговое окно сохранения файлов

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

Выводы

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

Экономический раздел

Общая характеристика разрабатываемого ПС

Основной целью экономического раздела является экономическое обоснование целесообразности разработки программного средства (ПС), представленного в дипломном проекте.

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

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

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

Созданное программное средство принадлежит к первой группе программ по степени сложности и по степени новизны относится к группе B.

Программное средство разработано при помощи объектно-ориентированного языка С#.

Для полноценной работы необходимо:

наличие операционной системы Windows;

наличие установленных библиотек .Net Framework 2.0 и выше.

Установка данного продукта производится с помощью программы Setup. Наличие подключения к сети интернет или какого-либо иного программного и аппаратного обеспечения не требуется.

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

Исходные данные

Исходные данные для расчета стоимости программного продукта представлены в таблице 5.1.

Таблица 5.1 - Исходные данные для расчетов

Наименование показателя

Единица измерения

Условные обозначения

Норматив

Коэффициент изменения скорости обработки информации

ед.

Кск

0,5

Численность разработчиков

чел.

Чр

1

Тарифная ставка 1-го разряда в организации

руб.

380 000

Тарифный коэффициент

ед.

Кт

2,65

Фонд рабочего времени

дн.

ФРВ

247

Коэффициент естественных потерь рабочего времени

ед.

Кп

1,3

Коэффициент премирования

ед.

Кпр

1,1

Норматив дополнительной заработной платы

%

Ндз

10

Ставка отчислений в Фонд социальной защиты населения

%

Нфсзн

34

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

%

Нбгс

0,5

Цена одного машино-часа

руб.

Цм

506,42

Норматив прочих затрат

%

Нпз

13

Норматив накладных расходов

%

Ннр

110

Норматив расходов на сопровождение и адаптацию

%

Нрса

10

Уровень рентабельности

%

Урн

30

Ставка НДС

%

Нндс

20


Определение объема программного средства

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

На основании информации о функциях разрабатываемого ПС по каталогу функций определяется объем функций. Данные по содержанию и объему функций на разрабатываемое программное средство представлены в таблице 5.2.

Таблица 5.2 - Содержание и объем функций на разрабатываемое ПС ВТ

Номер функции

Содержание функции

Объем условных машино-команд VisualC# (Microsoft)

101

Организация ввода информации

150

102

Контроль, предварительная обработка и ввод информации

450

109

Организация ввода/вывода информации в интерактивном режиме

320

111

Управление вводом/выводом

2400

207

Манипулирование данными

9550

306

Обработка файлов в диалоговом режиме

3050

506

Обработка ошибочных и сбойных ситуаций

410

507

Обеспечение интерфейса между компонентами

970

707

Графический вывод результатов

4540

ИТОГО

21840


Общий объем ПС рассчитывается по следующей формуле:

(5.1)

где - общий объем ПС, условных машино-команд;

 - объем i-ой функции ПС, условных машино-команд; - общее число функцией.

В связи с достаточно быстрым изменением ВТ определяется скорректированный объем функций по следующей формуле:

, (5.2)

гдеVo - общий объем ПС, условных машино-команд;

Кск - коэффициент изменения скорости обработки информации.

Кск = 0,5 - по исходным данным, Vo = 21840 условных машино-команд - рассчитано по формуле 5.1.

 21840 . 0.5= 10920 машино-команд.

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

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

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

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

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

С учетом дополнительного коэффициента сложности  рассчитывается общая трудоемкость ПС:

(5.3)

где То - общая трудоемкость ПС, человеко-дней;

Тн - нормативная трудоемкость ПС, человеко-дней;

Ксл - дополнительный коэффициент сложности ПС, ед.

Тн = 349 человеко-дней - по данным, приведенным в приложении 3 методического пособия [12];

Ксл = 0,12 - по данным, приведенным в таблице 4.2 приложения 4 методического пособия [12].

То=349 (1+0,12) =390,88 человеко-дней.

Расчет основной заработной платы

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

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

Сзм= Сзм1. Кт,  (5.4)

гдеСзм - тарифная ставка за месяц, руб.;

Сзм1 - тарифная ставка 1-го разряда за месяц, руб.;

Кт - тарифный коэффициент, ед.

Сзм1 = 380 000 - по исходным данным;

Кт = 2,65 - по исходным данным, приведенным в таблице 5.1.

Сзм = 380 000·2,65 = 1 007 000 рублей.

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

,(5.5)

гдеСоз - основная заработная плата, руб.;

Сзд - тарифная ставка за день, руб.;

ТО - общая трудоемкость ПС, человеко-дней;

Кп - коэффициент естественных потерь рабочего времени, ед.;

Кпр - коэффициент премирования, ед.

ТО = 390,88 человеко-дней - рассчитано по формуле 7.3;

Кп = 1,3 - по исходным данным;

Кпр =1,1 - по исходным данным.

Соз = (1 007 000/21,5)·390,88·1,3·1,1 = 26 180 052 рублей.

Расчет дополнительной заработной платы

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

,(5.6)

гдеСдз - дополнительная заработная плата на конкретное ПС, руб.;

Соз - основная заработная плата, руб.;

Ндз - норматив дополнительной заработной платы, %.

Соз = 26 180 052 руб. - рассчитано по формуле (5.5);

Ндз = 10% - по исходным данным, приведенным в таблице 5.1.

Сдз = (26 180 052·10) /100 = 2 618 005 рублей.

Расчет отчислений в Фонд социальной защиты населения

Отчисления в Фонд социальной защиты населения (ФСЗН) определяются в соответствии с действующими законодательными актами по нормативу в процентном отношении к фонду основной и дополнительной зарплаты исполнителей:

(5.7)

гдеСфсзн - сумма отчислений в Фонд социальной защиты населения, руб.;

Нфсзн - норматив отчислений в Фонд социальной защиты населения, %.

Соз - основная заработная плата, руб.;

Сдз - дополнительная заработная плата на конкретное ПС, руб.;

Соз = 26 180 052 руб. - рассчитано по формуле (5.5);

Сдз = 2 618 005 руб. - рассчитано по формуле (5.6);

Нфсзн = 34% - по исходным данным, приведенным в таблице 5.1.

Сфсзн = ((26 180 052 + 2 618 005)·34) /100 = 9 791 339 рублей.

Расчет отчислений по обязательному страхованию от несчастных случаев на производстве и профессиональных заболеваний

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

(5.8)

гдеСбгс - сумма отчислений по страхованию от несчастных случаев, руб.;

Нбгс - норматив отчислений по страхованию от несчастных случаев, %.

Соз - основная заработная плата, руб.;

Сдз - дополнительная заработная плата на конкретное ПС, руб.;

Соз = 26 180 052 руб. - рассчитано по формуле 5.5;

Сдз = 2 618 005 руб. - рассчитано по формуле 5.6;

Нбгс = 0,5% - по исходным данным, приведенным в таблице 5.1.

Сбгс = ((26 180 052 + 2 618 005) · 0,5) / 100 = 143 990 рублей.

Расчет расходов на спецоборудование

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

Расчет расходов на материалы

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

(5.9)

гдеСм - сумма расходов на материалы, руб.;

Нм - норма расхода материалов в расчете на 100 строк исходного кода ПС, руб.;

- скорректированный объем ПС, условных машино-команд;

 = 7170 условных машино-команд - рассчитано по формуле 5.2;

Нм = 380 руб. - по данным, приведенным в приложении 5 методического пособия [12].

Для разрабатываемого программного средства Нм= 380 руб., а расходы на материалы составят:

См = 380·10920 /100 = 41 496 рублей.

Расчет расходов на оплату машинного времени

Расходы включают оплату машинного времени, необходимого для разработки и отладки ПС, которое определяется по нормативам (в машино-часах) на 100 строк исходного кода машинного времени в зависимости от характера решаемых задач и типа ПЭВМ.

(5.10)

гдеСмв - сумма расходов на оплату машинного времени, руб.;

Цм - цена одного машино-часа, руб.;

Нмв - норматив расхода машинного времени на отладку 100 строк кода;’ - скорректированный объем ПС, условных машино-команд;

Цм = 506,42 руб. - по исходным данным, приведенным в таблице 5.1;

= 7170 условных машино-команд - рассчитано по формуле 5.2.

Информационная система выполняет общесистемные задачи, поэтому

Нмв = 12 машино-часов - по данным, приведенным в приложении 6 методического пособия [12].

Смв = 506,42·(10920 /100)·12 = 663 613 рублей.

Расчет прочих прямых затрат

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

(5.11)

гдеСпз - сумма прочих затрат, руб.;

Нпз - норматив прочих затрат в целом по организации, %;

Соз - основная заработная плата, руб.;

Соз = 26 180 052 руб. - рассчитано по формуле 5.5;

Нпз = 13% - по исходным данным, приведенным в таблице 5.1.

Спз = (26 180 052·13) / 100 = 3 403 407 рублей.

Расчет накладных расходов

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

(5.12)

гдеСнр - сумма накладных расходов, руб.;

Ннр - норматив накладных расходов в целом по организации, %;

Спз - сумма прочих затрат, руб.;

Соз - основная заработная плата, руб.;

Соз = 26 180 052 руб. - рассчитано по формуле 5.5;

Ннр = 110% - по исходным данным, приведенным в таблице 5.1.

Снр=26 180 052·110/100= 28 798 507 рублей.

Расчет суммы расходов на разработку ПС ВТ

Общая сумма расходов на ПС рассчитывается по формуле

(5.13)

гдеСр - сумма расходов на разработку ПС ВТ, руб.;

Соз - основная заработная плата, руб.;

Сдз - дополнительная заработная плата на конкретное ПС, руб.;

Сфсзн - сумма отчислений в Фонд социальной защиты населения, руб.;

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

См - сумма расходов на материалы, руб.;

Смв - сумма расходов на оплату машинного времени, руб.;

Спз - сумма прочих затрат, руб.;

Снр - сумма накладных расходов, руб.;

Соз = 26 180 052 руб. - рассчитано по формуле 5.5;

Сдз = 2 618 005 руб. - рассчитано по формуле 5.6;

Сфсзн = 9 791 339 руб. - рассчитано по формуле 5.7;

Сбгс = 143 990 руб. - рассчитано по формуле 5.8;

См = 41 496 руб. - рассчитано по формуле 5.9;

Смв = 663 613 руб. - рассчитано по формуле 5.10;

Спз = 3 403 407 руб. - рассчитано по формуле 5.11;

Снр = 28 798 507 руб. - рассчитано по формуле 5.12.

Ср= 26 180 052 + 2 618 005 + 9 791 339 + 143 990 + 41 496 + 663 613 +

403 407 + 28 798 507 = 71 640 409 рублей.

Расчет расходов на сопровождение и адаптацию

Кроме того, организация-разработчик осуществляет затраты на сопровождение и адаптацию ПС, которые определяются по нормативу

(5.14)

гдеСрса - сумма расходов на на сопровождение и адаптацию ПС ВТ, руб.;

Ср - сумма расходов на разработку ПС, руб.;

Нрса - норматив расходов на сопровождение и адаптацию, %;

Ср = 71 640 409 - рассчитано по формуле 5.13;

Нрса = 10% - по исходным данным, приведенным в таблице 5.1.

Срса = 71 640 409·10/100=7 164 041 рублей.

Расчет полной себестоимости разработки ПС ВТ

Общая сумма расходов на разработку (с затратами на сопровождение и адаптацию) - полная себестоимость ПС определяется по следующей формуле:

(5.15)

гдеСп - полная себестоимость ПС ВТ, руб.;

Ср - сумма расходов на разработку ПС, руб.;

Срса - сумма расходов на сопровождение и адаптацию ПС, руб.;

Ср = 71 640 409 руб. - рассчитано по формуле 5.13;

Срса = 7 164 041 руб. - рассчитано по формуле 5.14.

Сп = 71 640 409 + 7 164 041 = 78 804 450 рублей.

Определение отпускной цены на ПС ВТ

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

Прибыль рассчитывается по следующей формуле:

(5.16)

гдеПпс - прибыль от реализации ПС, руб.;

Урп - уровень рентабельности ПС, %;

Сп - полная себестоимость программного средства, руб.;

Сп = 78 804 450 руб. - рассчитано по формуле 5.15;

 = 30% - по исходным данным, приведенным в таблице 5.1.

Ппс = 78 804 450·30/100 = 23 641 335 рублей.

Прогнозируемая цена разработчика ПС без налогов:

,(5.17)

гдеЦп - прогнозируемая цена разработчика ПС, руб.;

Сп - полная себестоимость программного средства, руб.;

Ппс - прибыль от реализации, руб.;

Сп = 78 804 450 руб. - рассчитано по формуле 5.15;

Ппс = 23 641 335 руб. - рассчитано по формуле 5.16.

Цп = 78 804 450 + 23 641 335 = 102 445 785 рублей.

Сумма налога на добавленную стоимость:

,(5.18)

гдеНДС - сумма налога на добавленную стоимость, руб.;

Нндс - ставка НДС, %;

Цп - планируемая цена разработчика ПС, руб.;

Цп = 102 445 785 руб. - подсчитано по формуле (5.17);

Нндс = 20% - по исходным данным, приведенным в таблице 5.1.

НДС=(102 445 785·20)/100 = 20 489 157 рублей.

Планируемая отпускная цена:

,(5.19)

гдеЦо - планируемая отпускная цена, руб.

Цо= 102 445 785 + 20 489 157 = 122 934 942 рублей.

Результаты и выводы по расчетам

В таблице 5.3 приведены данные о затратах, которые понесет разработчик при создании и продаже программного средства.

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

Общее время, затраченное на разработку, составляет 349 человеко-дней. Прибыль от реализации программного средства составляет 23 641 335 рублей. Планируемая отпускная цена разработчика программного средства без налогов 122 934 942 рублей.

Таблица 5.3 - Расчет затрат на создание ПС и отпускной цены

Наименование показателя

Сумма, рублей

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

26 180 052

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

2 618 005

Отчисления в Фонд социальной защиты населения

9 791 339

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

143 990

Расход на материалы

41 496

Расход на оплату машинного времени

663 613

Прочие прямые затраты

3 403 407

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

28 798 507

Расходы на разработку ПС

71 640 409

Расходы на сопровождение и адаптацию ПС

7 164 041

Полная себестоимость ПС

78 804 450

Прибыль от реализации ПС

23 641 335

Планируемая цена разработчиков ПС без налогов

102 445 785

Налог на добавленную стоимость

20 489 157

Отпускная цена с НДС

122 934 942


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

Мероприятия по охране труда и безопасности жизнедеятельности

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

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

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

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

организация рабочего места пользователя;

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

Описание рабочего места программиста

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

При правильной организации рабочего места производительность труда инженера возрастает с 8 до 20 процентов.

Согласно ГОСТ 21480-76 конструкция рабочего места и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям.

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

оптимальное размещение оборудования, входящего в состав рабочего места;

достаточное рабочее пространство, позволяющее осуществлять все необходимые движения и перемещения;

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

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

Главными элементами рабочего места пользователя являются письменный стол и кресло. Основным рабочим положением является положение сидя. Рабочее место для выполнения работ в положении сидя организуется в соответствии с ГОСТ 21480-76.

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

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

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

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

Рисунок 6.1 - Зоны досягаемости рук в горизонтальной плоскости

а - зона максимальной досягаемости;

б - зона досягаемости пальцев при вытянутой руке;

в - зона легкой досягаемости ладони;

г - оптимальное пространство для грубой ручной работы;

д - оптимальное пространство для тонкой ручной работы.

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

дисплей размещается в зоне а (в центре);

клавиатура - в зоне г/д;

системный блок размещается в зоне б (слева);

принтер находится в зоне а (справа);

документация и литература размещается в зоне легкой досягаемости ладони - в (слева);

литература, неиспользуемая постоянно - в выдвижных ящиках стола;

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

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

поверхность стола должна обладать свойствами, исключающими появление бликов в поле зрения пользователя;

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

Параметры рабочего места выбираются в соответствии с антропометрическими характеристиками. При использовании этих данных в расчетах следует исходить из максимальных антропометрических характеристик (М+2). При работе в положении сидя рекомендуются следующие параметры рабочего пространства:

ширина не менее 700 мм;

глубина не менее 400 мм;

высота рабочей поверхности стола над полом 700-750 мм.

Оптимальными размерами стола являются:

высота 710 мм;

длина стола 1300 мм;

ширина стола 650 мм.

Поверхность для письма должна иметь не менее 40 мм в глубину и не менее 600 мм в ширину.

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

высота не менее 600 мм;

ширина не менее 500 мм;

глубина не менее 400 мм.

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

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

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

допускать регулирование высоты в зависимости от роста работающего человека (в пределах от 400 до 550 мм);

иметь слегка вогнутую поверхность,

иметь небольшой наклон назад.

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

высота стола 710 мм;

длина стола 1300 мм;

ширина стола 650 мм;

глубина стола 400 мм.

Поверхность для письма:

в глубину 40 мм;

в ширину 600 мм.

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

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

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

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

Освещенность рабочего места

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

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

недостаточность освещенности;

чрезмерная освещенность;

неправильное направление света.

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

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

Искусственное освещение выполняется посредством электрических источников света двух видов: ламп накаливания и люминесцентных ламп. Будем использовать люминесцентные лампы, которые по сравнению с лампами накаливания имеют существенные преимущества:

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

обладают более высоким КПД (в 1.5-2 раза выше, чем КПД ламп накаливания);

обладают повышенной светоотдачей (в 3-4 раза выше, чем у ламп накаливания);

более длительный срок службы.

Расчет освещения производится для комнаты площадью 36 м2, ширина которой 4.9 м, высота - 4.2 м. Воспользуемся методом светового потока.

Для определения количества светильников определим световой поток, падающий на поверхность по формуле 6.1:

(6.1)

где F - рассчитываемый световой поток, Лм;

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

Е = 300 Лк при газоразрядных лампах; - площадь освещаемого помещения (в нашем случае S = 36 м2 );- отношение средней освещенности к минимальной (обычно принимается равным 1.1-1.2 , пусть Z = 1.1);

К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение определяется по таблице коэффициентов запаса для различных помещений и в нашем случае К = 1.5); - коэффициент использования, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (Рс) и потолка (Рп)), значение коэффициентов Рс и Рп определим по таблице зависимостей коэффициентов отражения от характера поверхности: Рс=30%, Рп=50%. Значение n определим по таблице коэффициентов использования различных светильников.

Для этого вычислим индекс помещения по формуле 6.2:

,(6.2)

где S - площадь помещения, S = 36 м2;- расчетная высота подвеса, h = 3.39 м;- ширина помещения, А = 4.9 м;

В - длина помещения, В = 7.35 м.

Подставив значения получим:


Зная индекс помещения I, Рс и Рп, по таблице находим n = 0.28. Подставим все значения в формулу для определения светового потока F:

 Лм.

Для освещения выбираем люминесцентные лампы типа ЛБ40-1, световой поток которых F = 4320 Лк.

Рассчитаем необходимое количество ламп по формуле 6.3:

,(6.3)

где N - определяемое число ламп;- световой поток, F = 63642,857 Лм;- световой поток лампы, Fл = 4320 Лм.


При выборе осветительных приборов используем светильники типа ОД. Каждый светильник комплектуется двумя лампами.

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

 

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