Рисунок 2.17 - Окно приложения с информацией от датчиков судна
2.8 Организация взаимодействия с базой данных
Для организации доступа к базе данных используется встроенный в операционную систему Windows провайдер баз данных Microsoft.Jet.OLEDB.4.0.
Такой подход позволяет отказаться от дополнительного приобретения СУБД других производителей, что в свою очередь снижает себестоимость и размер рассматриваемого пакета программ.
Для организации доступа к данным построена цепочка посредников, схема которой показана на рисунке 2.18.
Рисунок 2.18 - Структура взаимодействия с базой данных
Применение показанной схемы имеет ряд преимуществ. Приведём основные из них.
Во-первых, система становится легко масштабируема. При подключении к системе новых судов достаточно дополнить структурированный файл данных новыми таблицами и внести дополнительные данные в справочник судов.
Во-вторых, в случае смены провайдера баз данных достаточно внести незначительные изменения в параметры конфигурации компонента связи ADOConnection. Внутреннюю структуру программы менять не нужно.
В третьих, такая структура проста, компактна и обладает достаточным быстродействием даже на ПЭВМ с низкими аппаратными характеристиками.
2.9 Разработка программы автоматического обновления базы данных
Программа автоматического обновления базы данных устанавливается на сервере диспетчера. Сообщения, посылаемые с судна, приходят на электронный почтовый ящик.
Информация о параметрах судна кодируется в виде форматированной строки и размещается в теме письма. Структура строки представлена на рисунке 2.19.
Рисунок 2.19 - Структура форматированной строки с параметрами судна
Как видно из рисунка 2.19, строка представляет собой последовательность информационных полей, разделённых разделителем. Такая структура позволяет достаточно просто произвести декодирование и запись значений полей в базу данных.
Если письмо написано капитаном судна, то в тему письма автоматически подставляется название судна.
При получении письма программа определяет тип письма: служебное или сообщение.
В случае, если это письмо служебное, то производится обработка и запись в базу данных строки, содержащейся в теме письма.
Если письмо содержит текст, написанный экипажем судна, то производится запись тела письма в базу данных.
Если в почтовом ящике обнаружено постороннее письмо, то оно будет удалено.
Программа позволяет задавать наиболее удобный режим обновления базы данных. Вид окна программы представлен на рисунке 2.20.
Рисунок 2.20 - Окно программы обновления базы данных
В ходе обновления базы данных производится вычисление значений объёма и массы топлива в грузу и балласте. Полученные значения также записываются в базу данных.
В нижней части окна размещена таблица, в которой отображается список полученных писем.
В правой части окна размещено поле, в котором ведется лог происходящих событий. Один раз в сутки, около полуночи, содержимое данного поля записывается в файл, а само поле очищается.
3. Технико-экономическое обоснование
3.1 Расчет затрат на зарплату разработчиков системы
Затраты на разработку складываются из:
- расходов по зарплате исполнителей;
- затрат на материалы;
- арендной платы за помещения;
- расходов на отопление, освещение,
- платы машинного времени
- амортизации основных фондов и т. д.
Расходы по заплате исполнителей Зз/п определяются по формуле (3.1):
(3.1)где Зосн – основная заработная плата работников,
kдоп, kс.ф. – коэффициенты, учитывающие дополнительную заработную плату и отчисления в социальные фонды.
Значения kдоп, kс.ф. можно принимать в размере:
kдоп = 0,08 ¸ 0,1, берем kдоп =0,9
kс.ф. = 0,39, берем kс.ф. =0,39
Основная заработная плата работников определяется в зависимости от трудоемкости этапов разработки, квалификации исполнителей и уровня их оплаты. Основная заработная плата работников определяется по формуле (4.2).
(3.2)где m – количество этапов разработки;
n – количество разработчиков, принимающих участие в разработке;
Зijчас – часовая зарплата работника i-ой квалификации на j-ом этапе разработки;
tij – затраты времени в часах i-го разработчика на j-ом этапе.
Программное изделие изготавливают два человека (первый – инженер первой категории, второй – программист). Заработная плата инженера составляет 2000 рублей в месяц, программиста – 2500 рублей в месяц. Определим количество этапов разработки программного изделия, количество исполнителей (один или два), продолжительность каждого этапа в днях и подсчитаем стоимость каждого этапа и общую стоимость всех этапов.
Полученные результаты сведены в таблицу 3.1.
Таблица 3.1 – Этапы разработки
Наименования этапов | Должность | Кол-во исполнит. | Часовая з/пл, руб. | Продол-жительн. работ, час | З/пл исполнит по этапу, руб | Стоим. этапа, руб. | Длит. этапа, дни | |||||||
Маркетинговые исследования | Инженер Программист | 2 | 10,42 10,70 | 24 | 250 256,8 | 506,8 | 3 | |||||||
Исследование предметной области для разработки | Инженер Программист | 2 | 10,42 10,70 | 40 | 416,8 420,5 | 837,3 | 5 | |||||||
Выбор программного обеспечения | Программист | 1 | 10,70 | 8 | 85,6 | 85,6 | 1 | |||||||
Подбор литературы | Инженер Программист | 2 | 10,42 10,70 | 24 | 250 256,8 | 506,8 | 3 | |||||||
Возможные альтернативные пути решения поставленной задачи | Инженер | 1 | 10,42 | 16 | 166,72 | 166,72 | 2 | |||||||
Создание базы данных и заполнение ее информацией | Программист | 1 | 10,70 | 112 | 1187,2 | 1187,2 | 14 | |||||||
Реализация системы обработки данных | Программист | 1 | 10,42 | 144 | 1500 | 1500 | 18 | |||||||
Тестирование и отладка работы системы в целом | Программист | 1 | 10,42 | 96 | 1000 | 1000 | 12 | |||||||
Тестирование работы системы на реальных данных. Окончательная отладка | Инженер Программист | 2 | 10,42 10,70 | 96 | 1000 649,9 | 1650 | 12 | |||||||
Наименования этапов | Должность | Кол-во исполнит. | Часовая з/пл, руб. | Продолжительн. работ, час | З/пл исполнит по этапу, руб | Стоим. этапа, руб. | Длит. этапа, дни | |||||||
Оформление документации | Инженер Программист | 2 | 10,42 10,70 | 88 | 946,96 941,6 | 1888 | 11 | |||||||
Передача системы заказчику | Инженер | 1 | 10,42 | 16 | 166,7 | 166,7 | 2 | |||||||
ИТОГО | 7570,6 | 83 |
Зосн = 7570 рубля.
Зз/п = 7570 *(1 + 0,09)*(1 + 0,39) = 11469,3 рубля.
Из них дополнительная заработная плата составляет 749 рублей, отчисления в социальные фонды – 3537,3 рубля.
3.2 Расходы на материалы
Затраты на материалы Зм определяются по формуле (3.3).
где l – количество наименований используемых материалов;
qijчас – расход материала i-го вида на j-ом этапе;
цi – цена единицы материала i-го вида.
Расчет показал, что Зм = 800 рублей (бумага, канцелярские товары, дискеты).
3.3 Смета расходов на оборудование
Необходимые материалы, их количество и стоимость приведены в таблице 3.3
Таблица 3.2. – Смета затрат на разработку программного продукта
№ | Наименование | Кол-во | Стоимость (руб.) | Примечание |
Оборудование | ||||
Датчик уровня | 1 | 20000 | ||
Вторичный преобразователь ИСУ100И | 1 | 6000 | ||
Контроллер M90-19-1A | 1 | 5676 | ||
Персональный компьютер | 1 | 15000 | ||
Комплект спутниковой антенны | 1 | 23000 | ||
Датчики вращения | 2 | 1000 | ||
Светодиодные индикаторы | 2 | 20 | ||
Сотовый телефон | 1 | 3000 | Опционально | |
GSM-модем | 1 | 3000 | Опционально | |
Расходные материалы | ||||
Кабель-канал | 1000 | Для прокладки кабелей от машинного отделения до рубки. Предохраняет от обрывов и повреждений | ||
Экранированный кабель многожильный кабель | 500 | Для передачи сигналов с датчиков | ||
Многожильный кабель | 500 | (опционально) для подключения реле | ||
3-жильный кабель на 220В | 100 | Питание датчика уровня | ||
ИТОГО: | 78796 |