Разработка программного продукта обеспечивающего экспорт спецификации из приложения PartList

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

Разработка программного продукта обеспечивающего экспорт спецификации из приложения PartList

Содержание

ЗАДАНИЕ

РЕФЕРАТ

ВВЕДЕНИЕ. ПОСТАНОВКА ЗАДАЧИ НА УРОВНЕ ЦЕЛЕЙ

ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ И СРЕДСТВ РЕШЕНИЯ ЗАДАЧИ

.1 Выбор метода передачи информации

.2 Выбор формата для представления

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

ОПИСАНИЕ СТРУКТУРЫ, ПРЕОБРАЗОВАНИЯ И ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ С ПОМОЩЬЮ ТЕХНОЛОГИЙ XML-XSL

.1 Механизм преобразования XML в PDF. Постановка задачи

.2 Расширяемый язык разметки XML

.3 Язык стилей XSL

.4 Текстовые процессоры

РЕАЛИЗАЦИЯ ПРЕДСТАВЛЕНИЯ СПЕЦИФИКАЦИИ В XML-ФОРМАТЕ И ЕЕ ПРЕОБРАЗОВАНИЕ В PDF-ФОРМАТ

.1 Разработка структуры xml-файла

.2 Применение XSLT-инструкций для разработки шаблона XSL

.3 Разработка шаблона XSL

.4 Алгоритм преобразования исходного XML в новый XML

.5 Использование MSXSL и Apache FOP

РАЗРАБОТКА КОНВЕРТЕРА XML-ПРЕДСТАВЛЕНИЙ ГРУППОВЫХ СПЕЦИФИКАЦИЙ НА СБОРОЧНОЕ ИЗДЕЛИЕ В PDF-ФОРМАТ

.1 Разработка приложения

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

.2 Создание инсталляционного пакета

.3 Руководство пользователя

ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЕ РАСЧЕТЫ

.1 Обоснование необходимости и актуальности разработки

.2 Определение трудоемкости разработки программного продукта

.3 Определение состава исполнителей

.4 Расчет сметной стоимости и договорной цены разработки ПП

.5 Расчет трудоемкости сопровождения ПП

.6 Определение стоимости сопровождения ПП

.7 Планирование цены ПП

.8 Анализ конкурентоспособности и качества разрабатываемого программного продукта

.8.1 Анализ технической прогрессивности разрабатываемого ПП

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

.8.4 Анализ экономических показателей разрабатываемого ПП

.8.5 Оценка конкурентоспособности ПП

.9 Анализ технико-экономических показателей разработки и эксплуатации ПП

БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ

.2 Шум на рабочем месте

Полученные результаты расчета сравниваются с допустимым значением уровня шума для отдельного рабочего места согласно СанПиН 2.2.4.1191-03

.3 Расчет освещённости рабочей зоны

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

.5 Требования по пожарной безопасности

.6 Экологичность проекта

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ. ПОСТАНОВКА ЗАДАЧИ НА УРОВНЕ ЦЕЛЕЙ

В наше время благодаря стремительному развитию вычислительной техники стали возможными разработка и использование систем автоматизированного проектирования и подготовки производства. Рынок специализированного программного обеспечения, или CAD (Computer Aided Design) технологий, насыщен всевозможными пакетами. Современные лидеры CAD систем - это так называемые системы «тяжелого» САПРа. К наиболее известным в промышленности "тяжелым" системам можно отнести следующие CAD системы: Creo, NX и CATIA. Основная часть таких пакетов - импортного производства, поэтому их надо приспосабливать к требованиям и традициям российских пользователей.

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

Локализацией одной из систем, а именно Creo, занимаются специалисты инженерно-консалтинговой компании Солвер. Данная промышленная система обладает возможностью параллельной разработки изделия: основной стратегией, применяемой ведущими компаниями. Многочисленный набор программных решений позволяет выбрать необходимую конфигурацию каждого рабочего места в соответствии с его функциональностью. Сюда включаются возможности промышленного дизайна, проектирования механических конструкций (в том числе, управление большими сборками), имитации функциональности изделия, изготовления и управления инженерными данными. На сегодняшний день решения Creo обеспечивают наиболее всестороннюю, интегрированную среду разработки продукта.

Основные задачи, которые ставятся перед любой системой автоматизированного проектирования - это сокращение сроков разработки нового изделия и повышение качества выполнения проекта. Creo решает эти задачи оптимальным путем. Программа обладает рядом преимуществ по сравнению с конкурентами. Но, как и любой другой продукт, не лишен недостатков [7].

Один из недостатков Creo - отсутствие удобных средств подготовки конструкторской документации в соответствии с отечественной ЕСКД. В том числе - средств формирования спецификаций на сборочное изделие.

Для преодоления указанного недостатка в компании «Солвер» был разработан плагин (надстройка) PartList для формирования спецификаций на сборочное изделие в соответствии с отечественными ГОСТами.

Модуль PartList предназначен для автоматизации процесса создания спецификации на сборочное изделие, разработанное в Creo (Рисунок 1). После установки модуль автоматически подключается в момент запуска Creo и позволяет назначать значения параметров спецификации компонентов сборки, устанавливать позиции компонентов (автоматически или вручную), формировать выходной документ для просмотра и печати.

Используя PartList, пользователь получает возможность:

-       задать параметры спецификации детали в режиме детали;

-       задать параметры спецификации сборочной единицы в режиме сборки;

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

-       сформировать, просмотреть и распечатать спецификацию, не выходя из Creo;

-       использовать при формировании спецификации автоматическое или ручное присвоение позиций;

-       редактировать значения параметров спецификации и полей основной надписи в режиме просмотра документа [3].

Рисунок 1 - Фрагмент групповой спецификации по ГОСТ 2.113-75

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

Основу управления жизненным циклом изделий составляет общекорпоративная информационная система управления для совместного создания, управления и использования актуальной информации об изделиях, объединяющая в единое информационное пространство людей, процессы, продукцию и информацию [8]. Для создания базы данных такой системы необходима документация в общеупотребительном электронном виде. PartList лишен возможности подготовки такой документации. Разработка средств экспорта спецификации из PartList в одном из стандартных форматов считается важной задачей. Их реализация позволит упростить процесс управления и передачи информации об изделии в рамках конструкторской подготовки производства. Уменьшить время на подготовку документации. Упростить процесс настройки рабочих мест пользователей.

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

1 ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ И СРЕДСТВ РЕШЕНИЯ ЗАДАЧИ

1.1 Выбор метода передачи информации

Один из способов передачи информации в файл, пригодный для чтения, был реализован специалистами «Солвер» в программном модуле, входящем в комплект программ поставляемых с PartList. Модуль Convertor.exe, реализованный средствами Visual Basic, способен конвертировать файл c расширением *.skd собственного формата PartList в файл формата, используемого Microsoft Word (расширение *.doc).

Рассмотрим другие общеупотребительные подходы.

В современном мире уже давно наметилась тенденция разбиения разного рода информации на группы. Человек, пришедший в магазин купить книгу по информатике, может легко найти её на отдельном стенде. Ярким примером разделения информации из жизни web-мастера служат HTML (Hypertext Markup Language - язык гипертекстовой разметки) и каскадные таблицы стилей CSS (Cascading Style Sheets) [1]. HTML - это стандартный язык разметки, используемый для описания того, как текст, изображения, гиперссылки и стандартные элементы графического интерфейса будут отображаться в web-браузере. Программист, разрабатывая web-страницу, вносит в текстовый файл данные, а так же элементы форматирования. Браузер загружая эту web-страницу, считывает данные и отображает их с учётом элементов форматирования. Но, в случае, когда для отображения объектов необходимо использовать большое количество элементов (тэгов) форматирования, гораздо удобнее воспользоваться CSS, определив в них новый элемент форматирования. Таким образом, создаваемый документ не загромождается лишней, повторяющейся информацией и легко воспринимается. Правда, HTML создавался для отображения информации и фокусируется на том, как выглядят данные. Соответственно полного отделения данных от их представления он не поддерживает. Более новой разработкой являются технологии XML и XSL.

Сейчас существует практически общепринятый подход, использующий связку технологий XML и XSL для представления, передачи и последующего преобразования информации.(Extensible Markup Language - расширяемый язык разметки) - это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он создан для описания данных и фокусируется на том, что они из себя представляют. XML предназначен для структурирования, хранения и передачи информации [2].

XSL (Extensible Stylesheet Language - расширяемый язык таблиц стилей) - язык стилей XML. Он может описывать преобразование XML в HTML, pdf и некоторые другие форматы. Может фильтровать и сортировать XML - данные, адресоваваться к разным частям документа. С помощью XSL возможно форматировать данные в зависимости от их значения [4].

Использование технологий XML и XSL позволяет отделить структуру данных от формата её представления и предоставляет средства для реализации нескольких представлений на базе одного XML-документа. Благодаря чему возможна разработка и последующее применение разных XSL-шаблонов для различных форм применяемых в ЕСКД, при одновременном использовании одной и той же структуры данных представленной в формате XML.

XML является платформенно независимым форматом, что открывает возможность его использования в среде любой операционной системы (при условии, что на персональном компьютере установлено соответствующее программное обеспечение). Использование XML не влечёт за собой покупки лицензии, он является открытым, бесплатно распространяемым форматом данных. Организация World Wide Web Consortium разработавшая и утвердившая стандарт XML предоставляет бесплатно распространяемый конвертор, объединения файлов XML и XSL, в форматы: PDF, PCL, PS, SVG, XML. Данный конвертор представляет собой fop-процессор (Formatting Objects Processor - процессор форматирующих объектов), именуемый Apache FOP [11]. Он является Java-приложением, которое считывает дерево форматирующих объектов и затем отображает полученную страницу в указанном формате вывода.

.2 Выбор формата для представления

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

Так как наша документация будет представлена в виде таблиц, хорошим вариантом её электронного формата был бы xls, который в свою очередь является внутренним форматом программы Microsoft Excel. Данный программный продукт специально разрабатывался специалистами компании Microsoft для работы с таблицами, поэтому позволяет легко вносить изменения в них. С экономической точки зрения, для использования программного продукта Microsoft Excel необходима покупка лицензии предприятием, а так же пользователями электронной документации. К тому же, он предоставляет посредственный «механизм» защиты информации. В Microsoft Excel реализована возможность защиты документа от изменения, но в случае его пересохранения открывается возможность редактирования. Нельзя запретить копирование текста в буфер обмена. Есть вариант установки пароля на открытие файла, но ведь возможность чтения необходима. Данное приложение входит в состав Microsoft Office, являющийся платформозависимым пакетом программ для офиса, то есть входящие в него программы могут быть установлены на компьютер только с операционной системой Windows. Значит, пользователь, работающий на Linux или Mac OS, не сможет воспользоваться электронной документацией в формате xls.

Формат doc менее удобен для редактирования таблиц, к тому же он принадлежит приложению Microsoft Word, входящему в состав пакета программ Microsoft Office. То есть, он не лишен недостатков присутствующих у xls.

HTML - электронный формат файла предназначенный для представления информации в сети Интернет. Он является открытым, бесплатно распространяемым форматом. HTML предоставляет возможность редактирования хранящихся в нём данных. Для внесения изменений необходим простейший текстовый редактор, но для этого пользователю необходимо знать сам язык HTML (Hypertext Markup Language - гипертекстовый язык разметки) [1]. Данный формат файла является межплатформенным, то есть допускает своё использование на различных программных платформах (в различных операционных средах). HTML является альтернативой формату pdf, но не предоставляет возможности защиты данных от изменений, в отличие от конкурента. К тому же HTML не удобен при просмотре больших документов, так как позволяет сохранять каждую страницу только в отдельном файле.

Формат Adobe PDF (Portable Document Format - переносимый формат документов) является универсальным файловым форматом, который сохраняет все шрифты, форматирование, цвета и графику любого исходного документа независимо от того, в каком приложении и на какой платформе создавался этот исходный документ. Файлы Adobe PDF компактны, и любой пользователь бесплатной программы Adobe Reader может открывать к ним общий доступ, просматривать свои документы PDF и перемещаться по ним, а также печатать файлы PDF в точности такими, какими они были созданы. Adobe Reader, как правило, входит в состав программного обеспечения поставляемого с большинством новых персональных компьютеров.

Использование формата pdf не несёт за собой затрат связанных с покупкой лицензии ни со стороны предприятия, ни со стороны пользователя. Он предоставляет возможность защиты данных от копирования и последующего изменения. Листы документа хранятся в одном файле, что очень удобно. Приложения для чтения pdf-файлов распространяются бесплатно. Конвертор связки XML и XSL в PDF имеет бесплатную лицензию (приложение Apache FOP).

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

.3 Выбор программных средств обработки древовидных структур данных

Для выполнения преобразования данных xml-документа, в соответствии с xsl-шаблоном, в файл формата PDF, необходимо соответствующее программное обеспечение.

Обработка файла формата XML и применения к нему элементов языка XSLT возможна с помощью:

- серверной программы, например, Java или JavaServer Page (JSP), которая использует таблицу стилей для автоматического преобразования документа и представления его клиенту;

- клиентской программы, например, браузера, которая выполняет преобразование путём чтения таблицы стилей, указанной с помощью инструкции по обработке <?xml-stylesheet?> (эти функции в некотором объёме может выполнять Internet Explorer);

- отдельной программы, предназначенной для выполнения преобразования [1].

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

Для обработки файла, использующего форматирующие объекты языка XSL-FO и создания отформатированного документа, будем использовать fop-процессор, разработанный Джеймсом Таубером, который передал его проекту Apache XML. Программа Apache FOP (Formatting Object Processor - процессор форматирующих объектов), предназначенная для синтетических анализаторов Java, основана на XML-анализаторе Xerces проекта Apache XML. Так как Apache FOP является Java-приложением, оно может быть запущено на компьютер с любой операционной системой (при условии установленной на нём виртуальной машины Java) [2].

Данный программный продукт является бесплатно распространяемым, в отличие от конкурентов. Его функциональных возможностей достаточно для представления требуемой спецификации в pdf-формате в соответствии с ГОСТ 2.113 - 75.

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

Рассмотренные, в предыдущем подразделе, приложения предоставляют консольный интерфейс и поэтому не удобны для пользователя. Обработка большого числа файлов усложняется постоянным вводом путей к ним, передаваемых в качестве параметров, по средствам командной строки. Для устранения данного недостатка было принято решение о разработке программы XMLConverter, предоставляющей графический интерфейс пользователя. Данный программный модуль будет являться связующим звеном приложений, участвующих в преобразовании xml-документа в pdf-файл. В нём так же будет реализован алгоритм приведения спецификации в полное соответствие с ГОСТ 2.113 - 75 путём преобразования xml-документа в промежуточный xml-документ.

В качестве инструментальной среды программирования, в которой будет реализовано приложение, выбрана Microsoft Visual Studio 2010. Данный программный продукт предоставляет широкие возможности создания и редактированию приложений для операционных систем Windows XP/Vista/7/8. Visual Studio даёт возможность выбора языка программирования: С++, C#, F#, Basic. Самым гибким языком программирования, из выше перечисленных, является С++. Visual Studio предоставляет возможность выбора между двумя платформами для этого языка. Более молодой из них является NET. Её инструментальные средства хорошо продуманы. Библиотеки Framework, предоставляемые этой средой, дают широкие возможности для разработки графического пользовательского интерфейса. Используемые в NET технологии упрощают работу с функциями библиотеки Win32Api. Однако существенным недостатком этой платформы является большая ресурсоёмкость разработанного в её среде приложения. Это связано с тем, что в ней более активно используются готовые модули, предоставляющие программисту требуемые и не требуемые возможности. То есть в оперативную память загружаются и обрабатываются процессором блоки компонентов, которые не будут использоваться вообще. Альтернативой Framework является разработанная ранее библиотека MFC (Microsoft Foundation Classes - библиотека базовых классов Microsoft) [6]. Она предоставляет более скромные возможности при разработке интерфейса пользователя, так как использует не столь большое число готовых компонент, но их вполне достаточно для разработки GUI (Graphical User Interface - графический пользовательский интерфейс) приложения XMLConverter. Плюсом старой платформы является ее малая ресурсоёмкость. Так приложение, созданное с использованием MFC, занимает в оперативной памяти в 3-4 раза меньше места, чем созданное в NET.

Исходя из выше сказанного, для разработки приложения был выбран язык Visual C++ и библиотека MFC.

В рамках текущей главы были определены технологии, применяемые при преобразовании структуры данных xml-файла в pdf-документ.

2 ОПИСАНИЕ СТРУКТУРЫ, ПРЕОБРАЗОВАНИЯ И ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ С ПОМОЩЬЮ ТЕХНОЛОГИЙ XML-XSL

.1 Механизм преобразования XML в PDF. Постановка задачи

В рамках настоящей квалификационной работы для преобразования xml-файла, содержащего данные групповой спецификации, в pdf-файл необходимо:

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

2 этап.        Разработать таблицы стилей XSL по ГОСТ 2.113 - 75, описывающие преобразование и представление xml-документа в pdf-формате.

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

этап. С помощью процессора трансформирующих объектов MSXSL выполнить преобразование xml-файла в документ, использующий форматирующие объекты (файл с расширением *.fo).

этап. Используя процессор форматирующих объектов Apache FOP, получить требуемый файл формата PDF.

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

Схема, преобразования XML в PDF, представлена на рисунке 2.1.

Рисунок 2.1 - Механизм преобразования XML в PDF

.2 Расширяемый язык разметки XML

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

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

.3 Язык стилей XSL

спецификация конвертер шаблон

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

XSLT - язык преобразования XML в другие типы документов или в другие XML-документы. Он является наиболее важной частью стандарта XSL. XSLT можно применять для преобразования XML документов в формат, знакомый браузерам [2].

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

XSL-FO - язык форматирования, описывающий внешний вид страниц. Он предоставляет более совершенную визуальную модель страницы, нежели HTML и CSS. В отличие от связки последних, XSL-FO поддерживает такие типы форматирования, как направление письма с права на лево и снизу вверх, сноски, заметки на полях документа, перекрёстные ссылки на номера страниц и другие. В отличие от каскадных таблиц стилей CSS, которые преимущественно предназначены для веб-страниц, XSL-FO предназначен для более широкого круга задач. Можно, например, написать таблицу стилей XSL, которая с помощью форматирующих объектов сгенерирует вёрстку целой книги. Другая таблица стилей может “сгенерировать” из того же документа веб-сайт [4].

Подобно другим XML-приложениям, форматирующие XSL-объекты имеют собственное пространство имен <#"784574.files/image004.gif">

Рисунок 3.1

Разделов, как и строк, может быть много. Их число определяется данными, сформированными в PartList, а также требованиями соответствующего ГОСТа.

Для представления описанной структуры данных в XML формате воспользуемся тегами и их атрибутами. Для обозначения корневого элемента спецификации будем использовать элементы <specification> и </specification>. Данные, относящиеся к штампу спецификации, ограничим при помощи тега <stamp/>. Разметим содержимое элемента <stamp/> с помощью следующих атрибутов: OBOZNACHENIE, NAIMENOVANIE_1, NAIMENOVANIE_2, NAIMENOVANIE_3, NAIMENOVANIE_4, NAIMENOVANIE_5, RAZRABOTAL, PROVERIL, N_KONTROL, UTVERDIL, NAZVANIE_ORGANIZACII_1, NAZVANIE_ORGANIZACII_2, PERVICH_PRIM, kline_before, kline_after, kpage. Соответствующие значения атрибутов представлены в таблице 3.1. Наименование разбивается, в зависимости от длины, на некоторое количество строк (не больше 5). Атрибут NAZVANIE_ORGANIZACII_2 может отсутствовать, если название организации состоит из одной строки.

Таблица 3.1 - Атрибуты элемента <stamp/>

Атрибут

Значение

OBOZNACHENIE

Обозначение

NAIMENOVANIE_1

Наименование, строка 1

NAIMENOVANIE_2

Наименование, строка 2

NAIMENOVANIE_3

Наименование, строка 3

NAIMENOVANIE_4

Наименование, строка 4

NAIMENOVANIE_5

Наименование, строка 5

Атрибут

Значение

RAZRABOTAL

Разработал

PROVERIL

Проверил

N_KONTROL

Нормоконтролер

UTVERDIL

Утвердил

NAZVANIE_ORGANIZACII_1

Название организации, 1

NAZVANIE_ORGANIZACII_2

Название организации, 2

PERVICH_PRIM

Первичная применяемость

kline_before

Отступ перед разделом

kline_after

Отступ после раздела

Kpage

Количество страниц в документе


Раздел обозначим при помощи тега <section/>. К данному элементу относится только одно поле данных «наименование», обозначим его следующим образом s_NAIMENOVANIE. Символ s в начале имени описываемого элемента служит для идентификации этого атрибута, как атрибута относящегося к тегу <section/>.

Для выделения данных, относящихся к строке, будем использовать тег <line/>. Соответствующие значения атрибутов представлены в таблице 3.2. Примечание может быть представлено в виде одной строки (атрибут PRIMECHANIE), а может быть разбито на две строки (PRIMECHANIE_1 и PRIMECHANIE_2, соответственно).

Таблица 3.2 - Атрибуты элемента <line/>

Атрибут

Значение

FORM

Формат

ZONE

Зона

POZICIA

Позиция

OBOZNACHENIE

Обозначение

NAIMENOVANIE

Наименование

Атрибут

Значение

KOL-VO_0

Количество 0

KOL-VO_N

Количество N

 

PRIMECHANIE

Примечание

 

PRIMECHANIE_1

Примечание, строка 1

 

PRIMECHANIE_2

Примечание, строка 2

 


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

<?xml version="1.0" encoding="UTF-8"?>

<specification>

<stamp OBOZNACHENIE="СПЕЦИФИКАЦИЯ" NAIMENOVANIE_1="" NAIMENOVANIE_2="" NAIMENOVANIE_3="Разгонщик" NAIMENOVANIE_4="" NAIMENOVANIE_5="" RAZRABOTAL="Кобыльский" PROVERIL="Гундорова" N_KONTROL="Качанов" UTVERDIL="Кравец"_ORGANIZACII_1="ВГТУ, ФАЭМ" NAZVANIE_ORGANIZACII_2="ВМ-022"_PRIM = ""_before="2" kline_after="1" kpage="3"/>

<section s_NAIMENOVANIE="Документация"/>

<line FORM="" ZONE="" POZICIA="" OBOZNACHENIE="Р35-1.00.000 СБ" NAIMENOVANIE="Сборочный чертеж" KOL-VO_0="" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>

… <!-- Некоторое количество элементов <line … /> -->

<line FORM="" ZONE="" POZICIA="" OBOZNACHENIE="Р35-1.00.000 МЧ" NAIMENOVANIE="Монтажный чертеж" KOL-VO_0="" PRIMECHANIE="" PRIMECHANIE_1="примечание" PRIMECHANIE_2=""/>

<section s_NAIMENOVANIE="Сборочные единицы"/>

<line FORM="" ZONE="" POZICIA="1" OBOZNACHENIE="Р34-1.05.000" NAIMENOVANIE="Подъемник" KOL-VO_0="1" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>

<line FORM="" ZONE="" POZICIA="2" OBOZNACHENIE="Р35-1.01.003" NAIMENOVANIE="Гидроцилиндр" KOL-VO_0="3" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>

</specification>

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

.2 Применение XSLT-инструкций для разработки шаблона XSL

Применение XSLT-инструкций обусловлено необходимостью выборки данных из xml-файла. Для их использования в шаблоне XML необходимо указать пространство имён, а именно: <xsl:stylesheet version="1.0" xmlns:xsl="#"784574.files/image005.gif">

Рисунок 4.1

Рисунок 4.2

В созданном проекте, для редактирования диалогового окна, щёлкаем в меню по «View». В открывшемся списке выбираем «Resource View». В появившемся окне, в дереве представляющем ресурсы проекта, щёлкаем по элементу «Dialog». В раскрывшемся списке выбираем «IDD_XMLCONVERTOR_DIALOG», как показано на рисунке 4.4.

Рисунок 4.3

Рисунок 4.4

Для добавления элементов в форму, нам понадобится меню «Toolbox». Для его открытия необходимо щёлкнуть в меню «View» по элементу с соответствующим именем. Из появившегося диалогового меню будем использовать объекты: «Button», «Edit Control», «Combo Box», «Static Text», «List Control». На рисунке 4.5 показана часть меню «Toolbox».

Рисунок 4.5

Для того чтобы добавить элемент, достаточно щёлкнуть мышкой по выбранному объекту, и держа клавишу нажатой, перетащить его на редактируемый диалог. Для открытия окна свойств добавленного элемента необходимо, щёлкнуть по нему правой кнопкой мыши, выбрать, в появившемся контекстном меню, элемент «Properties» (Рисунок 4.6).

Добавим необходимые элементы к окну разрабатываемого приложения, как показано на рисунке 4.7. С помощью поля «Caption», свойств каждого объекта, приведём его заголовок в соответствие с рассмотренным рисунком.

Для того чтобы при запуске приложения кнопки: «Преобразовать xml в pdf» и «Удалить выбранный элемент» были не активны, нужно установить, в свойствах каждого элемента, значение поля «Disabled» в «True». Чтобы элемент «List Control» отображал колонки, необходимо в его свойствах, для поля «View» указать значение «Report». Для оконного объекта «Combo Box», в поле «Type» нужно выбрать значение «Drop List». Чтобы рассматриваемый объект содержал значения, воспользуемся полем Data, введя в него строку вида «ГрупСпец_Ф1_gost-B_0-9;ГрупСпец_Ф1_gost-B_10-19;ГрупСпец_Ф1_gost-B_20-29;». В которой через точку с запятой указан список значений элемента «Combo Box». Так как поле, в котором будет отображаться директория для вывода pdf-файлов, не должно подвергаться редактированию, установим его свойство «Read Only» в «True».

Рисунок 4.6

Добавим в класс разрабатываемой формы функции - обработчики событий, вызываемые по нажатию соответствующей кнопки. То есть, определим методы, каждый из которых будет вызываться при получении формой соответствующего сообщения от Windows. Для этого, в редакторе форм, два раза щелкнем по кнопке в окне разрабатываемой программы. Редактор Visual Studio автоматически добавит функцию - обработчик сообщения «ON_BN_CLICKED» (отправляемого Windows приложению при щелчке левой кнопкой мыши по элементу «Buttom»), которое поступит в очередь и обработается приложением в порядке следования. Так как сообщения обрабатываются программой очень быстро, щёлчек пользователя по описываемой кнопке, запущенного на выполнение приложения, вызовет соответствующую функцию практически мгновенно. Таким образом добавляются обрабочки событий щелчка левой кнопки мыши для каждого объекта «Buttom».

Рисунок 4.7

Для элемента формы типа «List Control», с идентификатором ресурса «IDC_LIST1» определим три обработчика следующих сообщений: «LVN_ITEMCHANGED», «LVN_DELETEITEM», «LVN_ITEMACTIVATE». Первый будет вызываться при выборе элемента, рассматриваемого объекта. Второй при его удалении. Третий при двойном щелчке мышкой по элементу. Для их добавления, необходимо щёлкнуть правой кнопкой мыши по рассматриваемому элементу, в окне редактора форм, и в появившемся меню выбрать «Add Event Handler». В выведенном окне (Рисунок 4.8): выбрать сообщение; указать класс (в данном случае «CXMLConverterDlg»), в который будет добавлена функция; ввести имя добавляемого метода в поле с названием «Function handler name» или оставить предложенное по умолчанию. После выполнения описанных действий щёлкнуть по кнопке «Add and Edit».

Рисунок 4.8

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

CListCtrl *pList = (CListCtrl*) GetDlgItem(IDC_LIST1);>InsertColumn(0,_T("Полный путь к xml-файлу"),0,370,-1);>InsertColumn(1,_T("Статус"),0,100,-1);>InsertColumn(2,_T("Состояние"),0,100,-1);

Здесь, с помощью функции GetDlgItem( ) получаем указатель на оконный элемент с идентификатором «IDC_LIST1». Метод InsertColumn() создаёт колонку. В него в качестве параметров передаются: порядковый номер, название, положение текста (0 означает, что текст будет выравниваться по левому краю), ширина, связь с другими колонками (если значение -1, связи нет). Макрос _T( ) применяется для преобразования строки в Unicode. Рассмотренный фрагмент кода необходимо поместить в виртуальную функцию OnInitDialog( ), которая вызывается Windows при инициализации диалогового окна [6].

Данные выводятся в «IDC_LIST1» с помощь функций: InsertItem( ) и SetItem( ). Первый метод используется для добавления элементов в главный (первый) столбец. Второй для добавления элементов в дочнрние столбцы. В качестве параметра в каждую из функций передается указатель на структуру типа «LV_ITEM». Которая содержит переменные определяющие: номер (позицию) элемента в строке, номер столбца, выводимый текст, максимальную длину выводимой строки. Структура инициализируется перед вызовом функций: InsertItem() и SetItem() [6]. Демонстрационный пример кода представлен ниже.

CListCtrl *pList = (CListCtrl*) GetDlgItem(IDC_LIST1);_ITEM lvitem;.mask = LVIF_TEXT;.iItem = 0;.iSubItem = 0;.pszText = str.GetBuffer();.cchTextMax = lstrlen(str);>InsertItem(&lvitem);.iSubItem = 1;.pszText = _T("Не выполнено");.cchTextMax = lstrlen(_T("Не выполнено"));

pList->SetItem(&lvitem);

Флаг «LVIF_TEXT» разрешает вывод текста. Переменная str строкового типа CString, который является классом входящем в MFC и предоставляет широкие возможности работы со строкой. Переменная данного типа является динамической, то есть память под нее выделяется по мере необходимости. Так как переменная pszText, структуры lvitem, должна присвоить указатель, адресующий статический блок памяти, необходимо сделать его таковым. Для этого применяется метод класса CString именуемый GetBuffer() [6].

Чтобы считать данные из элемента типа «List Control», нужно заменить в рассмотренном коде вызов функции InsertItem() на GetItem(). После её выполнения в переменной str окажется текст требуемой ячейки.

Чтобы удалить необходимую строку, используют функцию DeleteItem(), как показано ниже.

CListCtrl *pList = (CListCtrl*) GetDlgItem(IDC_LIST1);

pList->DeleteItem(m_nSelectItem);

Где m_nSelectItem - порядковый номер удаляемой строки. Весь элемент «List Control» очищают с помощью метода DeleteAllItems().

Для ввода полного пути к преобразуемому xml-файлу, воспользуемся стандартным диалоговым классом CFileDialog, предоставляемым MFC. Объявим переменную типа этого класса. Определим значения три, которые будут передаваться его конструктору. Нас интересуют первый и третий атрибут. Первый, определяет, будет ли диолог открывать файл или напротив его сохранять. Второй установим в 0. Третий, указывает, какого типа файлы будут видны в диалоге. Для запуска построения модального диалогового окна открытия файла воспользуемся функцией DoModal( ). Данный метод возвратит управление основному окну приложения только после закрытия им вызванного.

То есть, пользователь не сможет обратится к главному окну, пока не закроет дочернее. Код реаализующий описанные события представлен ниже.fdialog(TRUE,0,_T("*.xml"));

fdialog.DoModal();

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

wchar_t sDir[512];brinfo;.hwndOwner = 0;.pidlRoot = 0;.pszDisplayName = sDir;.lpszTitle =_T("Выберите папку для вывода pdf-файлов");.ulFlags = BIF_RETURNONLYFSDIRS;.lpfn = 0;

brinfo.lParam = 0;

Для вывода диалогового окна воспользуемся функцией SHBrowseForFolder(&brinfo). Которая возвращает значение типа LPITEMIDLIST. Используя переменную рассмотренного типа и функцию SHGetPathFromIDList() получим путь к выбранной пользователем папке. Пример представлен ниже.pDirList = SHBrowseForFolder(&brinfo);(pDirList,sDir);

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

Рисунок 4.9

Для того, чтобы сделать не активными кнопки программы необходимо воспользоваться функциями: GetDlgItem() и EnableWindow(). Первая возврвщает указатель на объект. Вторая делает его пассивным, либо активным, в зависимости от значений FALSE или TRUE, соответственно. Применение этих функций продемонстрированно ниже.

GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);

Для предусмотрения возможности ввода количества отступов до и после раздела в генерируемой спецификации, создадим с помощью редактора форм диалоговое окно. Для этого в меню «Resource View» (Рисунок 4.4) нужно щёлкнуть правой кнопкой мыши по элементу «Dialog» и выбрать «Add Resource». В появившемся окне (Рисунок 4.10) выбрать «Dialog» и щёлкнуть «New». В результате в проект будет добавлен новый шаблон диалога. После выполнения ряда действий, принципы проведения которых были описаны ранее, получется диалоговое окно представленное на рисунке 4.11.

Рисунок 4.10

Рисунок 4.11

После создания формы диалога, необходимо добавить для нее класс в проект. Для этого необходимо щёлкнуть правой кнопкой мыши по форме и в появившемся контекстном меню выбрать «Add Class». В выведенном на экран окне указать имя создаваемого класса «CSetting» в поле «Class name». В качестве базового класса, методы которого будут наследоваться, оставить предложенный по умолчанию CDialog. Щелкнуть «Finish». При добавлении событий для элементов формы, их обрабочики будут помещаться в определённый для них класс Setting. То есть, в только что созданный. Далее неообходимо указать заголовочный файл нового диалога в cpp-файле основного диалога. Затем внести объявление класса в виде записи «class CSetting» в заголовочный файл класса CXMLConverterDlg. Для вызова окна представленного на рисунке 4.11 при щелчке мышкой по кнопке в главном диалоге, необходимо внести в обработчик соответствующего события код представленный ниже.*pSitting = new CSitting();>DoModal();[] pSitting;

Для того, чтобы считывать и хранить значения вносимые в элемент «Edit Controll» необходимо добавить переменную. Для этого в редакторе форм необходимо щёлкнуть правой кнопкой мыши по нужному объекту, выбрать в меню «Add Variable». В появившемся окне указать категорию, имя и тип переменной. Возможно так же ввести минимальное и максимальное её значения. Пример представлен на рисунке 4.12.

Рисунок 4.12

В результате выполнения работ описанных в текущей главе, был разработан пользовательский интерфейс приложения XMLConverter.

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

Во время выполнения настоящей квалификационной работы был разработан алгоритм преобразования xml-документа в промежуточный xml-документ. При его рассмотрении примем во внимание, что все расчёты количества добавляемых строк ведутся с учётом заданных величин отступов сверху и снизу для разделов в спецификации. Отступы представлены в виде пустых строк. Введём в алгоритм счётчик общего количества строк i. Он нужен для контроля позиции текущего элемента, а также, чтобы вычислить количество пустых строк, которые необходимо добавить в конец xml-документа. Перед запуском алгоритма i равно 0. Под элементами будем понимать, теги <line/> и <section/>. Преобразование рассматривается на уровне этих объектов. Рассматривая их, будем иметь в виду, что они несут с собой данные, хранимые в атрибутах. Каждый из этих элементов (<line/> и <section/>) образует строку таблицы спецификации. То есть, говоря о строке pdf-документа, будем подразумевать, что это <line/> или <section/> xml-документа и наоборот.

Алгоритм состоит из следующих шагов.

1 этап.        Увеличиваем счётчик на единицу. Рассматриваем i-ю строку xml-документа. Если это <section/>, переходим к этапу 2. Иначе переходи к этапу 5.

2 этап.        Проверяем, не попадёт ли раздел на вторую строку страницы спецификации, при добавлении пустых строк (по одной, начиная с нуля) сверху, в пределах заданного отступа. Если да, вносим необходимое число пустых элементов <line/> и увеличиваем счётчик на количество добавленных строк. Переходим к этапу 7. Иначе, увеличиваем счётчик на величину заданного отступа. Переходим к этапу 3.

этап. Проверяем, не получается ли разрыв между разделом и первой не пустой строкой, после него, в виде переноса последней на другой лист спецификации, при добавлении пустых строк (по одной, начиная с нуля) снизу, в пределах заданного отступа. Если да, добавляем перед <section/> необходимое число <line/>, сдвигая, таким образом, раздел на вторую строку следующего листа. Увеличиваем счётчик на число добавленных строк. Переходим к этапу 7. В противном случае переходим к этапу 4.

этап. Проверяем, не попадёт ли раздел на первую строку страницы спецификации. Если да, добавляем перед <section/> один пустой <line/> и увеличиваем счётчик на единицу. Переходим к этапу 7.

этап. Проверяем, не попадёт ли <line/> на последнюю строку страницы спецификации. Если да, добавляем перед ним две пустых строки и увеличиваем счётчик на два. исло добавленных строкего, в виде переноса последней люсмые в атрибутах. Переходим к следующему этапу.

этап. Проверяем, не попадёт ли <line/> на первую строку страницы спецификации. Если да, добавляем перед ним один пустой <line/> и увеличиваем счётчик на единицу. Переходим к этапу 8.

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

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

Перейдем к программной реализации представленного алгоритма. Чтение данных из xml-файла производится с помощью функции ReadFile(). Но, для начала, необходимо открыть файл с помощью функции CreateFile() [10]. Рассмотрим следующий фрагмент кода.

HANDLE hFile = CreateFile(sDir,GENERIC_READ,0,0,OPEN_EXISTING,0,0);

DWORD fileSize = GetFileSize(hFile,0);

char *fileBuffer = new char[fileSize];

DWORD bytesRead;

ReadFile(hFile,fileBuffer,fileSize,&bytesRead,0);

Первый параметр передаваемый в функцию CreateFile() - это строковая переменная содержащая путь к открываемому xml-файлу. Флаг GENERIC_READ означает, что файл открывается только для чтения. Флаг OPEN_EXISTING сведетельствует от том будет открыт существующий файл. Рассматривыемый метод возвращает идентификатор открытого ресурса (файла). Функция GetFileSize() возвращает размер открытого файла. С помощью функции ReadFile() данные всего файла считываются в оперативную память (по адресу содержащемуся в fileBuffer). Третий параметр рассматриваемого метода - количество байт для чтения. После выполнения функции, переменная bytesRead будет содержать число реально прочитанных байт.

Для программной проверки, не попадёт ли раздел на вторую строку страницы спецификации (этап 2, рассмотренного алгоритма) был разработан следующий фрагмент кода.

for(DWORD k = 0; k < kline_before + 1; k++)

{(((*line) + k == 2)||((*line) + k == (K+2))||((( (*line) + k - (K+2))% T == 0)&&(( (*line) + k ) > (K+2))))

{[section][2] = k;= true;;

}

}

Здесь переменная kline_before содержит значение количесива пустых <line/> добавляемых сверху <section/>. По адресу хранящимуся в line, находится значение счётчика строк. Переменная K - это количество строк на первой странице спецификации. Т - количество строк на 2й и последующих страницах спецификации. Переменная section содержит количество просмотренных разделов. И соответственно, номер текущего раздела. Переменая массива positionSectionStart[section][2] содержит количество строк добавляемых перед текущим разделом. Переменная массива positionSectionStart[section][0] содержит позицию символа < (текущего тега <section/> или <line/>) в xml-файле. Значение элемента массива positionSectionStart[section][1] информирует о том, что positionSectionStart[section][0] содержит позицию объекта <section> или <line/>.

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

for(DWORD k = 0; k < kline_after + 2; k++)

{

//Проверяем не попала ли секция в конец листа спецификации((((*line)+k) == K)||(((((*line)+k-K)%T) == 0)&&(((*line)+k) > K)))

{

(*section10_29)++;_29[*section10_29][0] = section;

//Должны быть добавлены как минимум 2 строки_29[*section10_29][1] = k + 2;

*line += k + 2;;

}

}

Здесь переменная kline_after одержит значение количесива пустых <line/> добавляемых снизу <section/>. По адресу хранящимуся в section10_29 находится значение счётчика разделов попавших в начало или конец листа спецификации. Элемент массива positionSection10_29[*section10_29][0] содержит порядковый номер раздела в xml-документе. Переменая positionSection10_29[*section10_29][2] содержит число дополнительно добавляемых строк перед разделом, для переноса его на новый лист спецификации.

Программная реализация проверки попадания раздела в конец листа спецификации представлена ниже.

if((*line == 1)||(*line == (K+1))||(((*line - (K+1))%T== 0)&&((*line > (K+1))))

{

(*section10_29)++;_29[*section10_29][0] = section;_29[*section10_29][1] = 1;

*line ++;;

}

Проверка на этапах 5 и 6 реализуется аналогично.

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

.2 Создание инсталляционного пакета

Для создания пакета инсталляции разработанного приложения и всех сопутствующих компонентов воспользуемся бесплатно распространяемой программой NetScat Extreme Installer, версии 1.04. Для этого, после её запуска на вкладке «Общие» введём данные, как показано на рисунке 4.13.

На вкладке «Файлы» укажем директорию, в которой находятся файлы, предназначенные для компоновки создаваемого инсталлятора. Вкладка «Ярлыки» предназначена для ввода данных о ярлыках, которые необходимо создать инсталлятору при установке приложения. Соответствующие информационные поля заполняются, как показано на рисунке 4.14. Запись «%Desktop%» обозначает, что ярлык будет создан на рабочем столе. То есть вместо этой записи будет подставлен путь к папке рабочего стола. Запись «%Dest%» обозначает путь к рабочей папке устанавливаемого приложения. Далее необходимо набрать текст лицензионного соглашения на вкладке «Соглашение». Есть возможность загрузить уже существующее соглашение из файла с расширением rtf или txt. На вкладке «Языки» выбираются языки, перечень которых будет предложен при запуске инсталляционного пакета, созданного NetScat Extreme Installer. Результат выбора определит, какой из представленных языков будет использован мастером, для ведения диалога с пользователем во время установки.

Рисунок 4.13

Рисунок 4.14

Последним этапом настройки параметров создаваемого инсталлятора является выбор вкладки «Построение», в которой указывается степень сжатия. После чего необходимо щёлкнуть «Построить». В появившемся окне ввести имя файла и выбрать папку для его сохранения. Щёлкнуть «Ok».

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

.3 Руководство пользователя

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

1 этап.        Для установки программы запустить файл

XMLConverter_Setup.exe, следовать предписаниям программы установщика.

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

3 этап.        После запуска приложения, щёлкнуть мышкой по кнопке "Выбрать xml-файл". Файлов можно выбрать несколько, все они будут преобразованы поочерёдно. Если выбран не тот файл, его можно удалить из списка, воспользовавшись кнопкой "Удалить выбранный элемент".

этап. Выбрать с помощью ниспадающего списка требуемый xsl-шаблон, он будет применён для всех выбранных xml-файлов.

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

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

этап. Щёлкнуть преобразовать xml в pdf. На экране появятся поочерёдно два окна консоли. Это работают MSXSL и процессор форматирующих объектов Apache FOP.

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

этап. Для открытия директории, где находятся полученные pdf-файлы с помощью встроенного в Windows файлового менеджера Explorer, достаточно щёлкнуть по кнопке "Открыть".

В рамках настоящей квалификационной работы было разработано приложение, предоставляющее интуитивно понятный пользовательский интерфейс, позволяющий управлять компонентами, входящими в его состав. Был разработан и реализован в программе, алгоритм обработки структуры данных xml-файла в новый xml-документ. Пример первых двух страниц полученного pdf-документа, в результате работы программы XMLConverter, представлен соответственно в приложениях С и D .

5 ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЕ РАСЧЕТЫ

.1 Обоснование необходимости и актуальности разработки

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

Локализацией одной из систем, а именно Creo, занимаются специалисты инженерно-консалтинговой компании Солвер. Данная промышленная система обладает возможностью параллельной разработки изделия: основной стратегией, применяемой ведущими компаниями. Многочисленный набор программных решений позволяет выбрать необходимую конфигурацию каждого рабочего места в соответствии с его функциональностью. Сюда включаются возможности промышленного дизайна, проектирования механических конструкций (в том числе, управление большими сборками), имитации функциональности изделия, изготовления и управления инженерными данными.

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

Один из недостатков Creo - отсутствие удобных средств подготовки конструкторской документации в соответствии с отечественной ЕСКД. В том числе - средств формирования спецификаций на сборочное изделие.

Для преодоления указанного недостатка в компании «Солвер» был разработан плагин (надстройка) PartList для формирования спецификаций на сборочное изделие в соответствии с отечественными ГОСТами.

Модуль PartList предназначен для автоматизации процесса создания спецификации на сборочное изделие, разработанное в Creo (Рисунок 1). После установки модуль автоматически подключается в момент запуска Creo и позволяет назначать значения параметров спецификации компонентов сборки, устанавливать позиции компонентов (автоматически или вручную), формировать выходной документ для просмотра и печати.

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

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

.2 Определение трудоемкости разработки программного продукта

Для определения трудоемкости разработки программного продукта воспользуемся «Укрупненными нормами времени на изготовление и сопровождение программных средств вычислительной техники» (далее - «Нормы»).

Параметры разрабатываемого ПП приведены в таблице 5.1.

Таблица 5.1 - Параметры разрабатываемого ПП

Параметр

Значение

Стадии разработки ПП

1) техническое задание


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


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


4) внедрение

Степень новизны ПП

ПС, является развитием определенного параметрического ряда ПС на прежнем типе ЭВМ/ОС

Новый тип ЭВМ

Новый тип ОС

----------

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

60%

Средства разработки ПП

Системы программирования на основе Java c СУБД (MySQL), Google Web Toolkit, Spring Framework, Hibernate

Характер среды разработки

Персональные IBM PC-совместимые ЭВМ c ОС Windows

Группа сложности

Группа 3 (минимальная сложность)

Функции ПП

1) вывод данных на экран


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


3) формирование базы данных


4) обработка записей базы данных


5) конвертация документа


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

Результаты приведем в таблице 5.2.

Таблица 5.2 - Численные величины, характеризующие ПП

Величина

Обозначение

Значение

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

LПрПр

0,06


LТП

0,5


LРП

0,34


LВн

0,1

Поправочный коэффициент, учитывающий степень новизны ПП и использование при разработке ПП новых типов ЭВМ и ОС

0,40

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

0,8

Поправочный коэффициент, учитывающий характер среды разработки и средства разработки ПП

KУР

0,17


Используя данные таблицы 5.2, произведем расчеты, необходимые для определения трудоемкости ПП, в соответствии с «Нормами». Значения рассчитанных величин приведем в таблице 5.3. Общий объем разрабатываемого ПП оценен в 24010 условных машинных команд.

Таблица 5.3 - Расчет трудоемкости ПП

Величина

Обозначение и порядок расчета

Значение

Коэффициент сложности ПП

1,16


Общий объем разрабатываемого ПП

 36940


Базовая трудоемкость разработки ПП, чел. дни

1528

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

259,8


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

 301,37



Общая трудоемкость разработки ПП, определяем по формуле:

 = 125,3 чел. дней.

Таким образом, общая трудоемкость разработки ПП равняется 125,3 чел. дней.

5.3 Определение состава исполнителей

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

Таблица 5.4 - Расчет необходимого количества исполнителей

Величина

Обозначение и порядок расчета

 Значение

Общее число дней в году

DK

365

Число выходных и праздничных дней в году

118

Фонд рабочего времени одного работающего в месяц, дни

20.6


Директивный срок выполнения разработки, мес.

Д

4


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


Состав исполнителей для реализации рассматриваемого ПП - это руководитель проекта, ведущий программист, трое программистов и оператор БД. Данные об окладах персонала приведены в таблице 5.5.

Таблица 5.5 - Состав исполнителей разработки ПП

Профессия исполнителя

Количество, чел.

Месячный оклад, р.

1. Руководитель проекта

1

24 500

2. Ведущий программист

1

13 000

Всего

2

37 500


5.4 Расчет сметной стоимости и договорной цены разработки ПП

На момент написания работы ставка социальных отчислений составляет 30%;

Сметную стоимость и договорную цену ПП рассчитаем в таблице 5.12, выполнив предварительно расчеты составляющих сметной стоимости в таблицах 5.6-5.11.

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

Таблица 5.6 - Расчет затрат на материалы и покупные изделия

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

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

Норма Расхода, шт

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

1 Бумага для принтера

200

3

600

2 Ручка

20

3

60

3 Диск DVD-RW

50

3

150

Итого

810

Транспортно-заготовительные расходы (15%)

121.5

Всего

931.5


Таблица 5.7 - Показатели, по расчету затрат на оплату труда работников, обеспечивающих функционирование ПЭВМ, административного и вспомогательного персонала

Показатель

Обозначение

Норматив минимальной заработной платы в РФ на дату планового расчета, р.

ЗMIN

Повышающий коэффициент

Количество ПЭВМ, обслуживаемых одним работником

НОБСЛ

Процент премии

П


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

Таблица 5.8 - Затраты на оплату труда работников, обеспечивающих функционирование ПЭВМ, административного и вспомогательного персонала

Персонал, обеспечивающий функционирование ПЭВМ

Должность работника

Показатель

Значение

Порядок расчета РОСН

Значение РОСН

Инженер - электронщик

ЗMIN

7500

10 800



1




НОБСЛ

10




П

20



Системный программист

ЗMIN

6500

9 360



1




НОБСЛ

10




П

20



Оператор

ЗMIN

5200

7 488



1




НОБСЛ

10




П

20



Административный персонал

Начальник ИВЦ

ЗMIN

10000

14 400



1




НОБСЛ

10




П

20



Вспомогательный персонал

Уборщица

ЗMIN

4700

6 768



1




НОБСЛ

10




П

20




Расчет затрат на электроэнергию произведем в таблице 5.9.

Таблица 5.9 - Расчет затрат на электроэнергию

Величина

Обозначение и порядок расчета

Значение

Длительность рабочей смены, час

tСМ

8

Количество рабочих дней в плановом периоде

247

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

1

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

9

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

 1975


Число рабочих смен в сутки

KСМ

1

Процент плановых потерь рабочего времени, %

Α

20

Эффективный годовой фонд времени работы ПЭВМ, час

 1 580


Стоимость электроэнергии на момент выполнения плановых расчетов, р./кВт-час

ЦЭ

2,97

Суммарная мощность ПЭВМ с периферией, кВт

PЭВМ

1

Затраты на силовую электроэнергию, р.

 4692,6


Суммарная мощность, которая идет на освещение, кВт

PОСВ

0,5

Затраты на осветительную электроэнергию, р.

 2346,3



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

Таблица 5.10 - Расчет на эксплуатацию специального оборудования

Показатель

Значение

Основная заработная плата работников, обеспечивающих функционирование ПЭВМ, в том числе: - инженера-электронщика; - системного программиста; - оператора.

  10 800 9 360 7 488

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

14 400

Основная заработная плата вспомогательного персонала

6 768

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

48 816

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

9 763

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

10 170

Амортизационные отчисления с оборудования

2100

Затраты на электроэнергию, в том числе: - затраты на силовую электроэнергию; - затраты на электроэнергию, идущую на освещение.

 4692,6 2346,3

  Общие затраты на электроэнергию

7038,9

Расходы на профилактику оборудования

540

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

14 644,8

Годовые расходы на содержание и эксплуатацию одной ПЭВМ

91 690

Стоимость одного машино-часа работы ПЭВМ

59,1



Сумма расходов на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту, составит 7400,2 р.

Расчет затрат на оплату труда и социальные отчисления осуществляется в таблице 5.11.

Таблица 5.11 - Расчет затрат на оплату труда и социальные отчисления

 Профессия исполнителя

Количество исполнителей, чел.

Месячный оклад, р.

Заработная плата за период разработки ПП, р. (4 месяца)

Руководитель проекта

1

24 500

98 000

Ведущий программист

1

13 000

52 000

Итого

2

18 750

150 000

Дополнительная заработная плата (15%)

-

-

22 500

Социальные отчисления с заработной платы р (30%)

-

-

51 750


Расчет сметной стоимости и договорной цены разработки ПП произведем в таблице 5.12.

Таблица 5.12 - Расчет стоимости и договорной цены разработки ПП

Наименование статьи затрат

Сумма, р.

1. Материалы и покупные изделия

931.5

2. Расходы на содержание и эксплуатацию оборудования

7400

3. Основная заработная плата исполнителей

150 000

4. Дополнительная заработная плата исполнителей

22 500

5. Социальные отчисления с заработной платы р

51 750

6. Научные и производственные командировки

-

7. Контрагентские расходы

-

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

90000

9. Сметная стоимость разработки ПП

322 581.5

10. Прибыль (20 %)

64516

11. Договорная цена разработки

387098


Таким образом, стоимость разработки программного комплекса программных средств для представления групповой спецификации на сборочное изделие, генерируемой модулем PartList в среде Creo, в pdf-формате. составляет 387098 рублей.

.5 Расчет трудоемкости сопровождения ПП

Параметрами, влияющими на расчет трудоемкости сопровождения, являются:

-   характер поставки;

-       характеристика средств разработки ПП;

-       характеристика полноты тестирования;

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

-       характер внедрения;

-       функции ПП;

-       объем документации;

-       функции, подлежащие доработке;

-       разработка дополнительных функций;

-       показатели повышения сложности ПП.

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

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

Параметр

Значение

Характер внедрения

Локальное внедрение ПС

Функции ПП

Вывод данных на экран


Формирование базы данных

Объем документации

1,5 тыс строк


В соответствии с параметрами, влияющими на трудоемкость сопровождения ПП, указанными в таблице 5.13, определим численные величины, характеризующие сопровождение ПП. Проведем расчеты, необходимые для определения трудоемкости сопровождения ПП. Результаты приведем в Таблице 5.14.

Таблица 5.14 - Расчет трудоемкости сопровождения ПП

Величина

Обозначение и порядок расчета

Значение

Коэффициент, учитывающий уровень повышения сложности ПС

KСЛ

0,33

Коэффициент, учитывающий наличие в фонде аналогов ПС

KАН

1,12

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

13

Трудоемкость приемки и освоения опытного образца ПП

 4,8


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

KУЧ

1,2

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

НВР.ПР.

7

Трудоемкость проверки и оценки опытного образца ПП

 2,772


Норма времени на анализ ОПС

НВР АН

5,3

Трудоемкость разработки документации по доработке ПП

 2,1


Норма времени на обучение специалистов организации-заказчика работе с ПП

НВР.ОБ.

17

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

5,6


Трудоемкость сопровождения ПП

ТСОПР=ТОС+ТПР+ТРР+ТОБ

15,272


Трудоемкость сопровождения ПП определяем по формуле:

ТСОПР=ТОС+ТПР+ТРР+ТОБ =15,272 чел. дней.

Таким образом, трудоемкость сопровождения ПП равняется 15,272 чел. дней.

.6 Определение стоимости сопровождения ПП

Расчет стоимости сопровождения произведем в таблице 5.15, предполагая, что сопровождение проводит специалист с месячным окладом 7500 р.

Таблица 5.15 - Расчет стоимости сопровождения ПП

Величина

Обозначение и порядок расчета

Значение

Фонд рабочего времени одного работающего в месяц (рассчитан в пункте 4.3)

21

Месячный оклад исполнителя, осуществляющего сопровождение ПП

ЗП МЕС

7 500

Дневной оклад исполнителя, осуществляющего сопровождение ПП

357,14


Стоимость сопровождения программного продукта

5454,24



Стоимость сопровождения программного продукта определяем по формуле:

 = 5454,24

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

5.7 Планирование цены ПП

Определим цену программного продукта, используя формулу

, где  - стоимость проекта.

,

где DС - часть стоимости разработки, приходящаяся на одну копию программы;

Таблица 5.16 - Расчет цены ПП

Величина

Обозначение

Значение

Планируемое число копий ПП

N

100

Часть стоимости разработки, приходящаяся на одну копию программы

3870


Стоимость проекта

9325



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

.8 Анализ конкурентоспособности и качества разрабатываемого программного продукта

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

-   оценку функциональной пригодности;

-       оценку способности к взаимодействию;

-       оценку защищенности;

-       оценку надежности;

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

.8.1 Анализ технической прогрессивности разрабатываемого ПП

Таблица 5.17 - Расчет коэффициента технической прогрессивности разрабатываемого ПС

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

Вес, b

Значение Параметра






ПЭ

ПБ

ПН





Время решения задачи, сек

0,4

10

13

15

0,76

0,67

0,30

0,27

Объем оперативной памяти, МБ

0,3

20

30

35

0,67

0,57

0,20

0,17

Объем памяти на жестком диске, МБ

0,3

10

350

15

0,03

0,67

0,01

0,20

Итого

1,0

-

-

-

-

-

0,51

0,64


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

,

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

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

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

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

kФВ = 8/6 = 1,3

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

Таблица 5.18 - Функциональные возможности

Не измеряемые параметры

Наличие параметра

Балльные оценки


Базовый ПП

Новый ПП

Базовый

Новый

1. Наличие шаблона XSL для групповой спецификации по ГОСТ 2.113 - 75

нет

да

1

2

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

нет

да

1

2

3. Возможность сформировать, просмотреть и распечатать спецификацию

да

да

2

2

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

да

да

2

2

Итого



6

8


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

Нормативные или, так называемые, регламентируемые параметры характеризуют соответствие разрабатываемого ПП международным и национальным стандартам, нормативам, законодательным актам и др. В данной разработке kНОРМ=1.

.8.4 Анализ экономических показателей разрабатываемого ПП

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


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

р.,

р.

 р.

 р.

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

Таблица 5.19 - Расчет цены потребления ПС

Наименование расходов

Сумма, р.


Базовый ПС

Новый ПС

1. Продажная цена ПС

5340

3870

2. Стоимость сопровождения ПС

5454,24

5454,24

3. Эксплуатационные издержки потребителя за весь период эксплуатации ПС

293156,7

292391,82

4. Цена потребления

303948

301713


Значение коэффициента цены потребления kЦП = 301713/303948=0,99, а следовательно эксплуатация требует больших затрат.

Экономические параметры разрабатываемого ПС лучше чем у базового, так как КЦП < 1.

.8.5 Оценка конкурентоспособности ПП

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

В нашем случае kИ = 1,25*1,3*(1/0,99) =1,64.

Анализируемый ПП конкурентоспособен, так как kИ > 1.

5.9 Анализ технико-экономических показателей разработки и эксплуатации ПП


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

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

Показатели

Новый ПП

1. Затраты на разработку, р.

247952,4

2. Продажная цена, р.

2479,52

3. Эксплуатационные издержки потребителя за весь период эксплуатации ПП, р.

292391,82

4. Цена потребления, р.

300325,58

5. Интегральный коэффициент конкурентоспособности ПП

1,64

6. Коэффициент изменения функциональных возможностей

1,3

7. Коэффициент технической прогрессивности

1,25

8. Коэффициент цены потребления

0,99


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

6 БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ

.1 Безопасность производственной среды

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

Помещение, в котором осуществлялась разработка диплома, представляет собой комнату площадью 18 , площадь остекления 4 , высота потолков - 3,5 м. В помещении находятся два окна. Оно оборудовано шестью рабочими местами.

Работа осуществлялась на ПЭВМ со следующими характеристиками: системный блок (Intel Pentium Dual Core 2,0 ГГц, 2048 Мб ОЗУ, видеокарта G102M 512 Мб, DVD-ROM, блок питания 500Вт), монитор (LCD 19 дюймов), клавиатура, мышь.

.2 Шум на рабочем месте

Шум может привести не только к нарушениям слуха (в случае постоянного нахождения при шуме более 85 децибел(dB)), но может быть фактором стресса и повысить систолическое кровяное давление.

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

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

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

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

Источниками шума персонального компьютера являются работа дискового накопителя и вентиляции (кулеры на процессоре, корпусе, шум от работающих жестких дисков и DVD-приводов). Шум возникает также при работе печатающей и копировально-множительной техники. Возникающие при работе компьютера шумы охватывают диапазон 30 Гц-40 кГц.

Полученные результаты расчета сравниваются с допустимым значением уровня шума для отдельного рабочего места согласно СанПиН 2.2.4.1191-03.


Таблица 6.1 - Уровни шума в помещении

 Тип помещения

Уровни звукового давления, Дб, на частотах


Среднегеометрические октавных полос, Гц


31.5

63

125

250

500

1000

2000

4000

Допустимые значения шума для выполнения работы на компьютере

86

71

61

54

49

45

42

40

Фактические значения шума на рабочем месте

30

27

32

29

31

30

26

36


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

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

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

Согласно СанПиН 2.2.4.1191-03 для обеспечения звукоизоляции помещений при их отделке рекомендуется применять звукопоглощающие материалы с максимальными коэффициентами звукопоглощения в диапазоне частот 63-8000 Гц.

.3 Расчет освещённости рабочей зоны

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

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

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

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

Нормами для данных работ установлена освещённость рабочего места ЕН=300 лк (для работ высокой точности, когда наименьший размер объекта различения равен 0,3-0,5 мм).

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

Общий световой поток определяется по следующей формуле

, (6.1)

где ЕН -освещённость рабочего места по норме;

S - площадь помещения, м2;

z1 - коэффициент запаса, который учитывает износ и загрязнение светильников (z1=1,5);

z2=1,1 - коэффициент, учитывающий неравномерность освещения;

h - коэффициент использования светового потока выбирается в зависимости от типа светильника, размеров помещения, коэффициентов отражения стен и потолка помещения.

Площадь помещения, если его длина составляет =6 м, а ширина =3 м, составляет

. (6.2)

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

- коэффициент отражения побелённого потолка Rп=70%;

- коэффициент отражения от стен, оклеенных светлыми обоями Rст=80%;

- коэффициент

, (6.3)

где hР - расчетная высота (hП=3,5 - 0,15 - 0,8 = 2,55 м).

Тогда для люминесцентных ламп (i=0,78) коэффициент использования светового потока равен h=0,49.

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

. (6.4)

Наиболее приемлемыми для помещения вычислительного центра являются люминесцентные лампы ЛБ (белого света) или ЛТБ (тёпло-белого света), мощностью 20, 40 или 80 Вт.

Световой поток одной лампы ЛТБ40 составляет F1=3100 лм, следовательно, для получения светового потока Fобщ=18183 лм необходимо N-ламп, число которых можно определить по формуле

; (6.5)

 (6.6)

Таким образом, необходимо установить 6 ламп ЛТБ40.

Электрическая мощность всей осветительной системы вычисляется по следующей формуле

, (6.7)

где P1 - мощность одной лампы (P1= 40 Вт);

N - число ламп.

. (6.8)

Таким образом, помещение имеет оптимальное светового потока  лм, что составляет запас 5% от требуемого значения и обеспечивает освещенность 315лк.

6.4 Расчет параметров вентиляции рабочей зоны

 

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

Расчет вентиляции проводится для наиболее неблагоприятных условий: тёплый период года, в помещении включены все ПЭВМ (6 шт. мощностью 500 Вт). В помещении работает 3 инженера. Учитывая, что один человек выделяет 90 Вт тепла, тепловыделение от людей составит:

Тепловыделения от ПЭВМ и источников искусственного освещения определяются по формуле:

 (6.9)

где Q - тепловыделения, Вт;- суммарная мощность устройств, Вт;

n - коэффициент тепловых потерь

( n=0,7 для ПЭВМ, n=0,55 для люминесцентных ламп).

Тепловыделения от 3-х ПЭВМ составит

Тепловыделения от 6-ти ламп ЛТБ-40 составят:

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

 (6.10)

где - тепловыделения от солнечной радиации, Вт;

S - площадь остекления, м2;- тепловыделения через 1 м2 поверхности остекления, Вт/м2;

h - коэффициент учёта характера остекления.

В рассматриваемом случае S= 4 м2, q = 145 Вт/ м2, h = 1,15.

Тогда по 5.10:

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

Объём приточного воздуха, необходимого для поглощения избытков тепла определяется по формуле:

 (6.11)

где G - объём приточного воздуха, м3/ч;- теплоизбытки, Вт;р - удельная теплоёмкость воздуха (1000 Дж/(кг ));

r - плотность воздуха (1,2 кг/м3);

- температура удаляемого воздуха, ;

 - температура приточного воздуха, .

Температура приточного воздуха в тёплый период года для широты Воронежа принимается равной 20 . Температура удаляемого воздуха определяется по формуле:

 (6.12)

где  - температура удаляемого воздуха, ;

 - оптимальная температура воздуха в рабочей зоне (23 );- температурный градиент ( 1 /м);- высота помещения (2,7 м).

 = 23 + 1  (2,7-2) = 23,7 .

Тогда по формуле 6.11 имеем:

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

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

круглого стального воздуховода длиной 1,5 м;

воздухораспределителя ВП для подачи воздуха в помещение.

Потери давления в вентиляционной системе определяются по формуле:

 (6.13)

где H - потери давления, Па;- удельные потери давления на трение в воздуховоде, Па/м;- длина воздуховода, м;

x - суммарный коэффициент местных потерь в системе;- скорость воздуха (V=3 м/с);

r - плотность воздуха ( r=1,2 кг/ м3).

Необходимый диаметр воздуховода для данной

вентиляционной системы:

Принимаем в качестве диаметра ближайшую cтандартную величину - 0,45 м. Для воздуховода данного диаметра удельные потери давления на трение R=0,24 Па/м.

Местные потери возникают в жалюзийной решётке (x=1,2), воздухораспределителе (x=1,4) и калорифере (x=2,2). Тогда суммарный коэффициент x = 1,2+1,4+2,2 = 4,8.

Тогда по формуле 6.13 имеем:

С учётом 10%-ого запаса


.5 Требования по пожарной безопасности

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

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

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

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

Число эвакуационных выходов из зданий, помещений и с каждого этажа зданий определяется расчетом, но должно составлять не менее двух. Эвакуационные выходы должны располагаться рассредоточенно. При этом лифты и другие механические средства транспортирования людей при расчетах не учитывают. Ширина участков путей эвакуации должна быть не менее 1 м, а дверей на путях эвакуации не менее 0.8м. Ширина наружных дверей лестничных клеток должна быть не менее ширины марша лестницы, высота прохода на путях эвакуации - не менее 2 м. При проектировании зданий и сооружений для эвакуации людей должны предусматриваться следующие виды лестничных клеток и лестниц: незадымляемые лестничные клетки (сообщающиеся с наружной воздушной зоной или оборудованные техническими устройствами для подпора воздуха); закрытые клетки с естественным освещением через окна в наружных стенах; закрытые лестничные клетки без естественного освещения; внутренние открытые лестницы (без ограждающих внутренних стен); наружные открытые лестницы. Для зданий с перепадами высот следует предусматривать пожарные лестницы.

Рисунок 6.1 - План эвакуации из производственного помещения

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

В качестве пожарных извещателей в машинном зале устанавливаются дымовые фотоэлектрические извещатели типа ИДФ-1 или ДИП-1. Исходя из высоты потолка (4 м) и площади помещения (30-40 м2) по нормам достаточно одного извещателя на машинный зал. Эти устройства характеризуются высокой скоростью и надежностью срабатывания и работают на принципе рассеяния частицами дыма теплового излучения.

Основные способы пожаротушения:

§   охлаждение очага горения или горящего материала ниже определенных температур;

§   изоляция очага горения от воздуха или снижение концентрации кислорода в воздухе путем разбавления негорючими газами;

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

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

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

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

Для тушения плавящихся при нагреве материалов (каучук, стеарин и др.) используют распыленную воду, пену, хладоны, порошки.

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

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

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

В помещении в целях обеспечения пожарной безопасности предусмотрено:

-        щит пожарный открытый;

         2 порошковых огнетушителя ОП-5;

-        углекислотный огнетушитель ОУ-2;

-        воздушно-пенный огнетушитель ОВП-4;

         ящик пожарный с песком;

         лопата;

         2 конусообразных ведра.

.6 Экологичность проекта

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

ЗАКЛЮЧЕНИЕ

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

В рамках настоящей дипломной работы были разработаны:

-       структура xml-представления спецификации;

-       шаблоны XSL для групповой спецификации по ГОСТ 2.113 - 75;

-       программу-конвертер, выполняющую преобразование xml-файла в промежуточный файл рассматриваемого формата, а также реализующую интерфейс между пользователем и программными средствами, выполняющими дальнейшее преобразование (с использованием xsl-шаблонов).

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.   С.Н.Смирнов, XML и JDBC. Практическое введение, Гелиос АРВ, 2010г., 188с.

2.      Джо Грэй, Динар Дальви, Фредрик Нормен, XML.NET, Лори, 2012г., 642с.

3.      PartList. Руководство пользователя. - Воронеж, Солвер. - 2013 г., 38 с.

.        Елена Бенкен, PHP, MySQL, XML. Программирование для Интернета, БХВ-Петербург, 2011 г., 304 с.

.        Дуг Тидуэлл, XSLT, Символ-Плюс, 2010 г., 960 с

.        Борис Пахомов, С/С++ и MS Visual C++ 2012, БХВ-Петербург, 2013 г., 502 с.

.        Введение в Creo Parametric 2.0. - Воронеж, Солвер. - 2013г., 707 с.

.        Введение в Windchill PDMLink 10.0. - Воронеж, Солвер. - 2012 г., 202 с.

ПРИЛОЖЕНИЕ А

ЛИСТИНГ ШАБЛОНА XSL

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="#"784574.files/image092.gif">

ПРИЛОЖЕНИЕ D

ВТОРАЯ СТРАНИЦА ГРУППОВОЙ СПЕЦИФИКАЦИИ, ПРЕДСТАВЛЕННОЙ В ФОРМАТЕ PDF

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

 

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