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

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

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

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

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

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++)

{

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

{

positionSectionStart[section][2] = k;

yes = true;

break;

}

}

 

Здесь переменная 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++)

{

//Проверяем не попала ли секция в конец листа спецификации

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

{

(*section10_29)++;

positionSection10_29[*section10_29][0] = section;

//Должны быть добавлены как минимум 2 строки

positionSection10_29[*section10_29][1] = k + 2;

*line += k + 2;

break;

}

}

 

Здесь переменная 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)++;

positionSection10_29[*section10_29][0] = section;

positionSection10_29[*section10_29][1] = 1;

*line ++;

break;

}

 

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

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


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

 

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

 

 

Рисунок 4.13

 

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

 

 

Рисунок 4.14

 

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

 

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

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

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

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

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

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

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

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

5.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
Поправочный коэффициент, учитывающий степень новизны ПП и использование при разработке ПП новых типов ЭВМ и ОС KН 0,40
Поправочный коэффициент, учитывающий степень использования в разработке стандартных ПП KТ 0,8
Поправочный коэффициент, учитывающий характер среды разработки и средства разработки ПП KУР 0,17

 

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

 

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

Величина Обозначение и порядок расчета Значение
Коэффициент сложности ПП 1,16
Общий объем разрабатываемого ПП
Базовая трудоемкость разработки ПП, чел. дни TБ
Трудоемкость разработки ПП с учетом конкретных условий разработки, чел. дни 259,8
Общая трудоемкость разработки ПП, чел. дни 301,37

 

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

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

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

 

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

 

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

 

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

Величина Обозначение и порядок расчета Значение
Общее число дней в году DK
Число выходных и праздничных дней в году DВ
Фонд рабочего времени одного работающего в месяц, дни 20.6
Директивный срок выполнения разработки, мес. Д

 

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

 

 


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

 

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

Профессия исполнителя Количество, чел. Месячный оклад, р.
1. Руководитель проекта 24 500
2. Ведущий программист 13 000
Всего 37 500

 

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

 

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

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

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

 

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

Наименование материала Цена за единицу, р. Норма Расхода, шт Стоимость, р.
1 Бумага для принтера
2 Ручка
3 Диск DVD-RW
Итого
Транспортно-заготовительные расходы (15%) 121.5
Всего 931.5

 

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

Показатель Обозначение
Норматив минимальной заработной платы в РФ на дату планового расчета, р. ЗMIN
Повышающий коэффициент KП
Количество ПЭВМ, обслуживаемых одним работником НОБСЛ
Процент премии П

 

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

 

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

Персонал, обеспечивающий функционирование ПЭВМ
Должность работника Показатель Значение Порядок расчета РОСН Значение РОСН
Инженер - электронщик ЗMIN 10 800
KП
НОБСЛ
П
Системный программист ЗMIN 9 360
KП
НОБСЛ
П
Оператор ЗMIN 7 488
KП
НОБСЛ
П
Административный персонал
Начальник ИВЦ ЗMIN 14 400
KП
НОБСЛ
П
Вспомогательный персонал
Уборщица ЗMIN 6 768
KП
НОБСЛ
П

 

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

 

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

Величина Обозначение и порядок расчета Значение
Длительность рабочей смены, час tСМ
Количество рабочих дней в плановом периоде DР
Продолжительность нерабочего времени в предпраздничные дни, час tП
Количество предпраздничных дней в плановом периоде DП
Номинальный фонд времени работы оборудования за рассчитываемый период, час
Число рабочих смен в сутки KСМ
Процент плановых потерь рабочего времени, % Α
Эффективный годовой фонд времени работы ПЭВМ, час 1 580
Стоимость электроэнергии на момент выполнения плановых расчетов, р./кВт-час ЦЭ 2,97
Суммарная мощность ПЭВМ с периферией, кВт PЭВМ
Затраты на силовую электроэнергию, р. 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
Амортизационные отчисления с оборудования
Затраты на электроэнергию, в том числе: - затраты на силовую электроэнергию; - затраты на электроэнергию, идущую на освещение.   4692,6 2346,3
Общие затраты на электроэнергию 7038,9
Расходы на профилактику оборудования
Прочие производственные расходы 14 644,8
Годовые расходы на содержание и эксплуатацию одной ПЭВМ 91 690
Стоимость одного машино-часа работы ПЭВМ 59,1

 

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

 

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

 

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

  Профессия исполнителя Количество исполнителей, чел. Месячный оклад, р. Заработная плата за период разработки ПП, р. (4 месяца)
Руководитель проекта 24 500 98 000
Ведущий программист 13 000 52 000
Итого 18 750 150 000
Дополнительная заработная плата (15%) - - 22 500
Социальные отчисления с заработной платы р (30%) - - 51 750

 

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

 

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

Наименование статьи затрат Сумма, р.
1. Материалы и покупные изделия 931.5
2. Расходы на содержание и эксплуатацию оборудования
3. Основная заработная плата исполнителей 150 000
4. Дополнительная заработная плата исполнителей 22 500
5. Социальные отчисления с заработной платы р 51 750
6. Научные и производственные командировки -
7. Контрагентские расходы -
8. Накладные расходы
9. Сметная стоимость разработки ПП 322 581.5
10. Прибыль (20 %)
11. Договорная цена разработки

 

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