- •Введение 5
- •1 Исследовательский раздел
- •1.1 Анализ существующих аналогичных систем
- •1.1.1 Обзор архитектуры устройств usb
- •1.2 Обоснование выбора программно-аппаратных средств
- •1.3 Постановка задачи
- •1.4 Развернутое техническое задание
- •1.4.1 Общие сведения
- •2.1.1 Основные дескрипторы usb драйвера
- •2.1.1.1 Дескриптор устройства
- •2.1.1.2 Дескриптор расширения устройства
- •2.1.1.3 Дескриптор конфигурации
- •2.1.1.4 Дескриптор интерфейса
- •2.1.1.5 Дескриптор конечной точки
- •2.2 Разработка функциональной схемы драйвера
- •2.2.1 Драйвер в иерархии wdm
- •2.2.2 Уровни обмена данными usb устройств
- •2.2.3 Архитектура системного драйвера usb
- •2.2.4 Основные рабочие процедуры драйвера
- •2.2.5 Управление перемещаемостью кода в драйвере
- •2.3 Разработка алгоритмического обеспечения
- •2.3.1 Инициализация драйвера
- •2.3.3 Обработка расширенных запросов ioctl
- •2.3.4 Поддержка запросов Plug and Play
- •2.3.5 Управление питанием
- •2.3.5.1 Обработка запросов irp_mj_power
- •2.3.6 Процедура деинициализации драйвера
- •2.4 Разработка программного обеспечения
- •2.4.1 Процедура DriverEntry
- •2.4.2 Процедура DriverUnload
- •2.4.3 Процедура AddDevice
- •2.4.4 Процедура передачи запроса usbd
- •2.4.5 Обработчики usbCreate и usbClose
- •2.4.6 Обработчик ConfigureDevice
- •2.4.7 Обработчики запросов на чтение и запись
- •3 Технологический раздел
- •3.1 Технология разработки драйверов для операционных систем семейства Windows
- •3.1.1 Архитектура Windows Driver Model
- •3.1.2 Выбор типа разрабатываемого драйвера
- •3.1.3 Разработка usb драйвера
- •3.2 Технология отладки драйверов в операционных системах семейства Windows
- •3.2.1 Основные отладочные тесты
- •3.2.2 Основные «проблемы», возникающие при отладке драйвера
- •3.2.2.1 Аппаратные проблемы
- •3.2.2.2 Программные проблемы
- •3.2.3 Основные отладчики и утилиты для проверки драйвера
- •3.2.3.1 Отладчик WinDbg
- •3.2.3.2 Driver Verifier
- •3.2.4 Общие приемы отладки драйвера
- •3.2.4.1 Установка фиксированных точек прерывания
- •3.2.4.2 Промежуточный вывод на экран
- •3.2.4.3 Сохранение отладочного кода в исходном тексте драйвера
- •3.2.4.4 Перехват некорректных условий
- •3.2.4.5 Обнаружение утечек памяти
- •3.2.5 Замечания по отладке драйверов
- •4 Безопасность жизнедеятельности
- •4.1 Анализ эргономических параметров рабочего места пользователя пэвм
- •4.1.1 Общие эргономические аспекты рабочего места
- •4.2 Организация рабочего места пользователя с учётом эргономических требований
- •4.2.1 Организация рабочего стола
- •4.2.2 Рабочее кресло
- •4.2.3 Работа с клавиатурой и мышью
- •4.2.4 Расположение и эргономические характеристики монитора
- •4.2.5 Внутренний объем
- •4.2.6 Рабочая поза пользователя пэвм
- •4.3 Экологическая оценка и переработка узлов компьютерной техники содержащих платину
- •4.3.1 Извлечение платины из отработанных катализаторов
- •4.3.2 Извлечение платины из радиооборудования и сплавов для электрических контактов
- •5 Экономический раздел
- •5.1 Планирование разработки драйвера с построением графика выполнения работ
- •5.1.1 Определение этапов и работ по созданию программного продукта
- •5.1.2 Расчет трудоемкости и продолжительности работ
- •5.1.3 Построение графика выполнения работ
- •5.2 Расчет затрат на разработку
- •5.3 Оценка экономической эффективности проекта
- •1 К исследовательскому разделу
- •2 К специальному разделу
- •3 К технологическому разделу
- •4 К разделу «Безопасность Жизнедеятельности»
- •5 К экономическому разделу
- •Приложение а Установка драйвера с помощью inf-файла
- •Приложение б Графические материалы
5.1.3 Построение графика выполнения работ
При построении графика выполнения работ, как правило, применяют один из двух видов графиков – ленточные графики или диаграмма Ганта, и сетевые графики. В нашем случае наилучшем решением будет ленточный график.
Диаграмма Ганта (англ. Gantt chart, также ленточный график, график Ганта) — это популярный тип столбчатых диаграмм (гистограмм), который используется для иллюстрации плана, графика работ по какому-либо проекту. Первый формат диаграммы был разработан Генри Л. Гантом в 1910 году. [5.5]. Гант изучал менеджмент на примере постройки кораблей во время Первой мировой войны и предложил свою диаграмму, состоящую из отрезков (задач) и точек (завершающих задач, или вех), как средство для представления длительности и последовательности задач в проекте [5.6].
Ленточный график представляет собой таблицу, где перечислены наименования стадий разработки и видов работ, длительность выполнения каждого вида работ, и график, отражающий продолжительность каждого вида работ в виде отрезков времени, которые располагаются в соответствии с последовательностью выполнения работ [5.2].
Рассмотрим возможность оптимизации, т.е. сокращение времени выполнения проекта за счёт параллельного выполнения некоторых работ.
При анализе перечня работ и исполнителей видно, что такие стадии разработки, как техническое задание, а также технический и эскизный проект можно оптимизировать. К примеру, на стадии эскизного проекта такие работы, как «анализ существующих аналогичных систем» и «разработка структурной схемы программы» можно выполнять параллельно. В свою очередь, на стадии технического задания «сбор материалов и анализ существующих разработок» и «определение требований к системе» также можно выполнять параллельно и т.п.
На рисунке 5.1 представлен оптимизированный график процесса разработки программного продукта.
Рисунок
5.1 – Ленточный график разработки ПО
121
Таким образом, общая продолжительность работ до оптимизации - 135 календарных дней. Исходя из ленточного графика, можно увидеть, что общая длительность разработки программного продукта после операции оптимизации составила 120 календарных дней, т.е. сэкономлено 15 календарных дней (11%) от изначальной продолжительности в 135 календарных дней при последовательном выполнении работ.
5.2 Расчет затрат на разработку
Сметная стоимость проектирования и внедрения ПО включает в себя следующие затраты, определяемые по формуле:
|
(5.4) |
где – стоимость разработки ПО, руб.;
– основная заработная плата исполнителей, руб;
– дополнительная заработная плата, учитывающая выплаты за неотработанное время (оплата отпусков, льготных часов, за выслугу лет и др.), принимается в размере 10…15% от основной заработной платы, руб;
– отчисления во внебюджетные фонды государственного социального страхования (отчисления на социальное страхование), руб;
– затраты на используемые материалы, руб;
– затраты на машинное время, руб;
– накладные расходы, которые включают затраты на управление, уборку, ремонт, электроэнергию, отопление и др., руб.
Основная заработная плата исполнителей определяется по формуле:
|
(5.5) |
где – основная заработная плата исполнителей, руб;
– месячный оклад исполнителей, руб/мес;
– принятое среднее число рабочих дней в месяце (примем в размере 21 дня), дн;
– время работы исполнителей, раб.дн;
– коэффициент, учитывающий стимулирующие надбавки и дополнительные выплаты (в нашем случае, с учетом характера работы, ).
Дополнительная заработная плата исполнителей, учитывающая потери времени на отпуска и болезни (принимается в размере 10 - 15% от основной заработной платы), рассчитывается следующим образом:
|
(5.6) |
где – основная заработная плата исполнителей, руб.
Согласно статистическим данным, месячный оклад инженера-программиста составляет 30000 руб/мес, в случае руководителя проекта – 40000 руб/мес.
Тогда, с учетом формул (5.5) и (5.6) получаем расчет основной и дополнительной заработной платы (таблица 5.3):
Таблица 5.3 – Расчет основной и дополнительной заработной платы
Исполнитель |
Оклад, руб/мес |
Время работы, раб. дн. |
Основная зар. плата, руб |
Доп. зар. плата, руб |
Сумма осн. и доп. з.п., руб |
|||
Инженер-программист |
30000 |
60,9 |
87000
|
8700 |
95700
|
|||
Руководитель проекта |
40000 |
38,1
|
72571 |
7257 |
79828 |
|||
Итог |
159571
|
15957 |
175528 |
Помимо основной и дополнительной оплаты труда, необходимо рассчитать отчисления на социальные нужды. Отчисления на социальные нужды включают страховые взносы в пенсионный фонд, фонд обязательного медицинского и фонд социального страхования. Общая величина этих взносов в 2012 году составляет 30% и определяется нарастающим итогом с начала года на каждого работника с суммы выплат до 512000 рублей. Кроме того, в страховые взносы входят выплаты на обязательное социальное страхование от несчастных случаев и профессиональных заболеваний, размер которых дифференцирован в зависимости от класса профессионального риска и для видов экономической деятельности, отнесенной к 1-му классу риска, равен 0,2% от заработной платы. Отчисления на социальные нужды рассчитываются относительно выплаченной заработной платы (суммы основной и дополнительной заработной платы).
Таким образом, отчисления на социальные нужды будут составлять:
|
(5.7) |
где – отчисления на социальное страхование, руб.
Из формулы (5.7) получаем:
|
|
Расчет затрат на машинное время, которое включает затраты на электроэнергию, ремонт и амортизацию используемого в процессе разработки оборудования, осуществляется по следующей формуле:
|
(5.8) |
|
|
где – затраты на амортизацию оборудования, руб;
– затраты на ремонт оборудования, руб;
– затраты на потребляемую электроэнергию, руб.
Рассчитаем затраты на амортизацию оборудования. Чтобы определить величину амортизационных отчислений, необходимо рассчитать первоначальную стоимость оборудования и программного обеспечения. Сметы затрат на оборудование и ПО представлены в таблицах 5.4, 5.5 и 5.6.
Таблица 5.4 - Стоимость системного блока ПК
Наименование |
Цена за ед., руб. |
Кол-во, ед. |
Сумма, руб. |
Процессор INTEL Core i3 2100, LGA 1155, oem [cm8062301061600s r05c] |
3630,00 |
1 |
3630,00 |
Материнская плата ASUS P8H61-M LE(3.x) LGA 1155, mATX, Ret [p8h61-m le (3.x)] |
1840,00 |
1 |
1840,00 |
Видеокарта PCI-E 2.0 ASUS EN210/DI/512MD2(LP), 512Мб, DDR2, Low Profile, Ret |
1050,00 |
1 |
1050,00 |
Модуль памяти KINGSTON KVR1333D3N9/1G DDR3- 1Гб, 1333, DIMM, Ret |
270,00 |
2 |
540,00 |
Жесткий диск WD Scorpio Blue WD2500BPVT, 250Гб, HDD, SATA |
2560,00 |
1 |
2560,00 |
Оптический привод DVD-RW SONY AD-5240S, внутренний, SATA, белый, OEM |
640,00 |
1 |
640,00 |
Устройство охлаждения(кулер) TITAN DC-156B925B/RPW1, 95мм |
280,00 |
1 |
280,00 |
Термопаста TITAN TTG-G30015 шприц, 1.5г |
150,00 |
1 |
150,00 |
Блок питания HIPER M500, 500Вт, 135мм, черный, retail |
1950,00 |
1 |
1950,00 |
Корпус ATX AEROCOOL Vs-9, Midi-Tower, без БП, черный [en52924] |
1660,00 |
1 |
1660,00 |
Клавиатура GENIUS SlimStar 110 PS/2, черный |
310,00 |
1 |
310,00 |
Мышь GENIUS NetScroll 100, оптическая проводная, PS/2, retail, серебристый |
150,00 |
1 |
150,00 |
Итого: |
14760,00 |
Таблица 5.5 - Стоимость необходимого оборудования
Наименование |
Цена за ед., руб. |
Кол-во, ед. |
Сумма, руб. |
Персональный ПК (системный блок) (по таблице 5.5) |
14760,00 |
2 |
29520,00 |
МФУ HP LaserJet Pro M1536dnf Multifunction Printer (445 Вт) |
12330,00 |
1 |
12330,00 |
Монитор ЖК LG W1943SE-PF «R», 18.5", черный (21 Вт) |
3270,00 |
2 |
6540,00 |
Итого: |
48390,00 |
Таблица 5.6 – Затраты на программное обеспечение
Наименование |
Цена за ед., руб. |
Кол-во, ед. |
Сумма, руб. |
Операционная система MICROSOFT Windows 7 Professional, 32 bit, Rus, BOX, DVD |
3080,00 |
2 |
6160,00 |
MICROSOFT Office Home and Business 2010, 32/64, Rus, BOX, DVD |
6030,00 |
1 |
6030,00 |
Итого: |
12190,00 |
Рассчитаем затраты на амортизацию оборудования. Здесь необходимо учитывать транспортные расходы в размере 10% от базовой розничной стоимости.
Согласно данным из вышеприведенных таблиц, стоимость необходимого оборудования обойдется в размере рублей, а программное обеспечение – рублей.
При определении значения рекомендуется использовать линейный метод начисления амортизации. Норму амортизации по каждому объекту амортизационных начислений можно найти как величину, обратную сроку полезного использования объекта (сроку службы - ), устанавливаемому с учетом физического и морального износа, т.е.:
|
(5.9) |
|
|
где – норма амортизации, 1/лет;
– срок (время) полезного использования объекта (срок службы), лет.
Поскольку оборудование и ПО в данном случае используется ограниченное количество времени - в период разработки программного продукта, то амортизационные отчисления должны соответствовать этому промежутку времени
Для упрощения расчётов примем срок службы нематериальных активов равным 3 года. Что касается оборудования, то согласно постановлению Правительства РФ от 1 января 2002 г. N 1 «О Классификации основных средств, включаемых в амортизационные группы», срок службы оборудования (в данном случае компьютерной техники и МФУ) составляет 3 года [5.7].
Таким образом, норма амортизации для нематериальных активов и оборудования составит:
|
|
|
|
Для расчёта суммы амортизации воспользуемся следующей формулой:
|
(5.10) |
где – затраты на амортизацию оборудования, руб;
– норма амортизации, 1/лет;
– стоимость оборудования (персонального компьютера) для руководителя проекта и инженера-программиста, руб;
– стоимость МФУ, руб;
– время работы оборудования руководителя проекта, раб.дн;
– время работы оборудования инженера-программиста, раб.дн;
– время работы МФУ, раб.дн;
– количество рабочих дней в текущем году (в нашем случае – 249 рабочих дней), раб.дн.
Таким образом, расходы на амортизацию составят:
|
|
Стоимость ремонта примем в размере 10% от стоимости аппаратного обеспечения, тогда:
|
|
|
|
Затраты на электроэнергию вычисляются, исходя из времени работы оборудования, потребляемой мощности, а также тарифа стоимости киловатт-часа:
|
(5.11) |
где – затраты на потребляемую электроэнергию, руб;
– стоимость киловатт-часа, руб/кВт-ч;
– время работы i-го оборудования, часы;
– потребляемая мощность i-го оборудования, кВт.
Согласно данным поставщика электроэнергии, стоимость киловатт-часа в потребительской сети переменного тока напряжением 220В составляет в среднем 3,80 руб/кВт-ч [5.8]. В таблице 5.7 приведен расчет сметы затрат на электроэнергию:
Таблица 5.7 – Расчет затрат на электроэнергию
Наименование оборудования |
Кол-во |
Время работы, раб.дн. |
Время работы, часы |
Мощность оборудования, кВт |
Стоимость электро- энергии, руб |
Компьютер руководителя проекта (РП) |
1 |
38,1 |
304,8 |
0,521 |
603,44 |
Компьютер инженера- программиста (ИП) |
1 |
60,9 |
487,2 |
0,521 |
964,56 |
МФУ |
1 |
90,3 |
722,4 |
0,445 |
1221,58 |
Итог |
2789,58 |
Таким образом, общие затраты на электроэнергию составят:
|
|
|
|
Общие затраты на машинное время составят:
|
|
|
|
К накладным расходам относят расходы, связанные с управлением и организацией работ. Накладные расходы принимаются в размере 60…120% от основной заработной платы. Для нашего случая, долю накладных расходов примем в размере 80%:
|
(5.12) |
где – основная заработная плата исполнителей, руб.
Из вышеприведенной формулы рассчитываем накладные расходы:
|
|
К затратам на используемые материалы ( ) относят затраты на носители информации, бумагу для печатных устройств, канцелярские товары и др. В затраты на основные материалы также необходимо включить стоимость доставки в размере до от общей стоимости материалов. Для нашего случая стоимость доставки возьмем в размере 10% от стоимости материалов. Затраты, как правило, определяются по экспертным оценкам и приведены в таблице 5.8.
Таблица 5.8 - Расчет стоимости материалов
Материалы |
Количество, шт. |
Стоимость, руб. |
Бумага SvetoCopy (A4, 80г/м², белизна 146% CIE, 500 листов) |
4 |
600,00 |
Картридж для принтера, шт |
1 |
4820,00 |
Канцелярские товары (ручки, калькуляторы и проч.) |
- |
2000,00 |
Общая стоимость материалов |
7420,00 |
|
Итог (с учетом транспортных расходов) |
8162,00 |
Из приведенной выше таблицы получаем величину затрат на используемые (расходные) материалы:
Результаты расчета затрат на разработку и внедрение драйвера автоматизированного устройства хранения компакт дисков сведены в таблице 5.9.
Таблица 5.9 - Смета затрат на разработку и внедрение драйвера автоматизированного устройства хранения компакт дисков
Наименование |
Обозначение |
Сумма, руб. |
% к итогу |
|
Основная заработная плата |
|
159571,00 |
42 |
|
Дополнительная заработная плата |
|
15957,00 |
4 |
|
Отчисления на социальные нужды |
|
53009,00 |
14 |
|
Материалы |
|
8162,00 |
2 |
|
Стоимость машинного времени |
|
12733,58 |
4 |
|
Накладные расходы |
|
127656,80 |
34 |
|
Итого, |
377089,38 |
100 |
|
Таким образом, себестоимость разработки составляет 377089,38 руб.
Далее необходимо определить цену разработки программного продукта (розничную цену - ). Для этого можно воспользоваться следующей формулой:
|
(5.13) |
где – розничная цена программного продукта, руб;
– себестоимость разработки ПО, руб;
– прибыль, руб;
– налог на добавленную стоимость; форма изъятия в бюджет государства части добавленной стоимости, которая создаётся на всех стадиях процесса производства товаров, работ и услуг и вносится в бюджет по мере реализации, %.
В нашем случае прибыль составляет 30% от себестоимости разработки ПО, таким образом, данную величину можно рассчитать по следующей формуле:
|
(5.14) |
где – себестоимость разработки ПО, руб.
С учетом вышеприведенной формулы, рассчитаем прибыль:
|
|
В России ставка НДС с 1 января 2004 года составляет 18 %. Таким образом, с учетом вышеприведенных расчетов, мы теперь можем рассчитать розничную цену программного продукта по формуле (5.13):
|
|
Таким образом, розничная цена ПО составляет рублей.