- •Введение 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.2 Расчет трудоемкости и продолжительности работ
В первую очередь необходимо определить планируемое число исполнителей для разработки программного продукта. В данной разработке занято двое исполнителей: руководитель проекта (РП), он же проектировщик и программист, и непосредственно прикладной программист или инженер-программист (ИП).
Также необходимо отметить, что в связи со спецификой разрабатываемого ПО, для разработки требуется 2 персональных компьютера.
Расчет трудоемкости выполнения работ по созданию программного средства по сумме трудоемкости этапов и видов работ, оцениваемых экспертным путем в человеко-днях, как правило, носит вероятностный характер, так как зависит от множества трудно учитываемых факторов [5.2, 5.3].
Трудоемкость каждого вида работ определяется по формуле:
|
(5.1) |
где – трудоемкость работ, чел-дн;
– минимально возможная трудоемкость выполнения отдельного вида работ, чел-дн;
– максимально возможная трудоемкость выполнения отдельного вида работ, чел-дн.
Продолжительность каждого вида работ в календарных днях ( ) определяется по следующей формуле:
|
(5.2) |
где – продолжительность каждого вида работ, календарные дни;
– количество исполнителей, чел;
– коэффициент, учитывающий выходные и праздничные дни.
Коэффициент рассчитывается следующим образом:
|
(5.3) |
где – число календарных дней в году, дн;
– количество рабочих дней в году, дн.
Согласно производственному и налоговому календарю на 2012 год, число календарных дней в году составляет 366 дней, а количество рабочих дней – 249 [5.4]. Таким образом:
|
|
Полный список видов и этапов работ по созданию ПО, экспертные оценки и расчетные величины их трудоемкости, а также продолжительность каждого вида работ, рассчитанные по формулам (5.1) и (5.2), представлены в таблице 5.2.
Таблица 5.2 – Перечень работ и их продолжительность
Наименование работы |
Трудоемкость, чел.дн. |
Кол-во исп., чел.
|
Исполнители |
Продолж. работ, раб. дн. |
Продолж. работ, кал. дн. |
||||||||
|
|
|
|
|
|
|
|||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||||||
Техническое задание |
|
||||||||||||
Постановка задачи |
1 |
2 |
1,4 |
1 |
РП |
1,4 |
2,0 |
||||||
Сбор материалов и анализ существующих разработок |
1 |
3 |
1,8 |
1 |
ИП |
1,8 |
3,0 |
||||||
Подбор литературы |
1 |
2 |
1,4 |
1 |
ИП |
1,4 |
2,0 |
||||||
Определение требований к системе |
2 |
3 |
2,4 |
1 |
РП |
2,4 |
4,0 |
||||||
Определение стадий, этапов и сроков разработки ПО |
2 |
3 |
2,4 |
1 |
РП |
2,4 |
4,0 |
||||||
Эскизный проект |
|
||||||||||||
Анализ существующих аналогичных систем |
4 |
7 |
5,2 |
1 |
ИП |
5,2 |
8,0 |
||||||
Разработка структурной схемы программы |
3 |
6 |
4,2 |
1 |
РП |
4,2 |
6,0 |
||||||
Разработка функциональной схемы программы |
13 |
22 |
16,6 |
1 |
РП |
16,6 |
24,0 |
||||||
Технический проект |
|
||||||||||||
Технико-экономическое обоснование проекта |
2 |
3 |
2,4 |
1 |
РП |
2,4 |
4,0 |
||||||
Определение требований к ПО |
2 |
4 |
2,8 |
2 |
РП, ИП |
1,4 |
2,0 |
||||||
Выбор инструментальных средств |
1 |
2 |
1,4 |
2 |
РП, ИП |
0,7 |
1,0 |
||||||
Определение требований к программно-аппаратным средствам |
1 |
2 |
1,4 |
1 |
ИП |
1,4 |
2,0 |
||||||
Рабочий проект |
|
||||||||||||
Программирование |
25 |
28 |
26,2 |
1 |
ИП |
26,2 |
39,0 |
||||||
|
|
|
|
|
|
|
|
||||||
Продолжение
таблицы 5.2 |
5 |
8 |
6,2 |
1 |
ИП |
6,2 |
9,0 |
||||||
Разработка программной документации |
3 |
6 |
4,2 |
2 |
РП, ИП |
2,1 |
3,0 |
||||||
Согласование и утверждение работоспособности ПО |
2 |
3 |
2,4 |
2 |
РП,ИП |
1,2 |
2,0 |
||||||
Внедрение |
|
||||||||||||
Опытная эксплуатация |
4 |
7 |
5,2 |
1 |
ИП |
5,2 |
8,0 |
||||||
Анализ данных, полученных в результате эксплуатации |
3 |
5 |
3,8 |
2 |
РП, ИП |
1,9 |
3,0 |
||||||
Устранение замечаний, выявленных при эксплуатации |
4 |
6 |
4,8 |
1 |
ИП |
4,8 |
7,0 |
||||||
Корректировка технической документации по результатам испытаний |
2 |
4 |
2,8 |
2 |
РП, ИП |
1,4 |
2,0 |
РП – руководитель проекта;
ИП – инженер-программист.
Таким образом, с учётом данных из таблицы 5.2, общая трудоемкость проведения работ составляет 99 человеко-дней.