Разработка программы по учету рабочего времени службы охраны предприятия
Содержание
ВВЕДЕНИЕ
Программирование – процесс создания компьютерных программ с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика), инженерии, спорта и ремесла. [1]
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Цель программирования состоит в том, чтобы создать программу, которая показывает определенное желательное поведение в ответ на действия пользователя либо автономно - независимо от пользователя. [2]
Программное обеспечение является
одним из видов обеспечения
Данный проект предназначен для автоматизации труда и сокращения затрачиваемого времени на рутинные операции, так же данный проект позволит наиболее полно использовать человеческие ресурсы предприятия.
Пояснительная записка к дипломному проекту включает в себя ряд разделов:
- «Введение» – обзор и оценка современного состояния решаемой проблемы;
- «Анализ задачи» – содержит описание предметной области, функциональной модели и инструменты разработки;
- «Проектирование задачи» – при проектировании задачи рассматриваются данные, процессы и инструменты разработки в комплексе;
- «Применение» – название и назначение программы;
- «Реализация» – заключается в кодировании и тестировании ПП;
- «Экономический анализ ДП» – расчет затрат на реализацию программы, а также расчет стоимости программного продукта;
- «Вопросы охраны труда при работе с компьютерами» – социально-экономическое значение охраны труда;
- «Заключение» – краткая формулировка проблемы, пути решения проблемы, использованные методы и средства, возможность модификации;
- «Список использованных источников» – перечень источников, из которых бралась информация для реализации, поставленной задачи;
- «Приложения» – схемы, таблицы, рисунки, не вошедшие в основную часть пояснительной записки.
1 Анализ задачи
1.1 Описание предметной области
Исходные данные к проекту: разработать программу для автоматизированного составления графика дежурств и учёта рабочего времени службы охраны предприятия.
Требуется реализовать следующие функции:
- учёт персонала;
- учёт рабочих и выходных дней;
- ведение статистики;
- составление графика дежурств;
- генерация документов сопутствующих графику дежурств и экспорт их в документ Excel.
Программа должна иметь возможность сохранять сгенерированные отчёты, а также возможность удалять их по требованию пользователя.
Преимущества программного средства:
- удобный и дружественный интерфейс для ввода и просмотра данных;
- возможность указания приоритетных или нежелательных дней для дежурства;
- возможность настройки внешнего вида программы;
- интерактивная помощь.
В настоящее время задачи поставленные перед программой выполняются человеком с высоким уровнем затрат временных ресурсов.
Периодичность использования программы составит минимум один раз в месяц, а так же при необходимости составить расписание дежурств и сопутствующие документы.
Прямых аналогов для данной программы в свободном доступе найдено не было.
1.2 Функциональная модель
В программе исходная и вводимая пользователем информация хранятся в базе данных DB, которая имеет следующую структуру:
- таблица Workers содержит столбцы:
- ID – уникальный идентификатор;
- Fam – фамилия работника;
- IO – инициалы работника;
- Dol – занимаемая работником должность;
- D_k –код занимаемой должности;
- RVS – количество часов;
- Sovm – флаг указывающий является ли работник совместителем;
- Dsovm – совмещаемая должность;
- KDS – код совмещаемой должности;
- RSVD – количество часов для совмещаемой должности;
- Razn – степень равномерности распределения дежурств;
- PC – данные о предыдущим дежурстве.
- таблица Ras содержит столбцы:
- Names – комментарий;
- Date – дата.
- таблица PRZ содержит столбцы:
- Names – название праздника;
- OPR – строка идентификатор даты проведения праздника.
После ввода данных программа используется для решения своей основной задачи, а именно генерации расписания дежурств. Результатом работы программы будут составленные расписания дежурств и сопутствующие документы, а так же другая информация, которая необходима для работы с программой.
Для запрета непосредственного доступа в базу данных посторонними программными средствами предусмотрен семизначный цифровой неизменяемый пароль 7681013. При необходимости пароль может быть изменен разработчиком в исходном коде программы.
1.3 Инструменты разработки
Для реализации поставленной задачи в качестве среды разработки приложения была выбрана среда программирования Embarcadero C++Builder 2010. C++ Builder – программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++. [3]
Программный продукт C++ Builder изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, которое сейчас принадлежит компании Embarcadero Technologies.
C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты.
C++ чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности:
- высокая совместимость с языком С, позволяющая использовать весь существующий С-код (код С может быть с минимальными переделками скомпилирован компилятором С++);
- поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщенное программирование;
- имеется возможность работы на низком уровне с памятью, адресами, портами;
- возможность создания обобщённых контейнеров и алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции, используя шаблоны.
Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования – при необходимости язык позволяет обеспечить максимальную эффективность программы. [3]
2 Проектирование задачи
2.1 Организация данных
Программное средство состоит из шестнадцати взаимосвязанных модулей:
- Unit1.cpp – модуль главного меню программы;
- Unit2.cpp – модуль управления кадрами;
- Unit3.cpp – модуль подключение к базе данных;
- Unit4.cpp – модуль учета праздников и переносов;
- Unit5.cpp – модуль настройки;
- Unit6.cpp – модуль статистики;
- Unit7.cpp – модуль загрузки;
- Unit8.cpp – модуль ввода и редактирования данных для обозначения рабочего дня;
- Unit9.cpp – модуль ввода и редактирования данных для обозначения праздничного дня;
- Unit10.cpp – модуль ввода и редактирования данных для учёта работников;
- Unit11.cpp – модуль генерации расписания и переноса расписания в документы;
- Unit12.cpp – модуль указания месяца для создания расписания;
- Unit13.cpp – модуль экспорта данных в MS Excel;
- Unit14.cpp – модуль установки реквизитов;
- Unit15.cpp – модуль выводящий сведения о программе;
- Unit16.cpp – модуль очистки данных.
2.2 Система помощи
В программе реализована система справки для помощи пользователю в работе с программой. Она представляет собой CHM файл, и вызывается через нажатие на соответствующую кнопку с надписью «Справка». В справке рассмотрено десять вопросов касающихся работы программы. Каждый вопрос рассмотрен в отдельном пункте и содержит развернутый и полный ответ.
Также для удобства работы пользователя в некоторых частях программы были расположены подсказки, обозначенные при помощи выделенных областей, которые дают краткую информацию по текущему вопросу.
2.3 Концептуальный прототип
Для учета праздничных дней, а так же дней, которые являются рабочими вследствие переноса выходных дней, в программе будет разработана система, предназначенная для учёта праздников. Для указания выходного дня имеется несколько режимов, которые предусматривают все возможные варианты определения даты. Переносы рабочих дней указываются при помощи непосредственной даты.
Для учёта персонала будет разработана система позволяющая учитывать: должность, продолжительность рабочего дня индивидуально для каждого работника, возможность совмещать две профессии на одном предприятии.
Для создания расписания дежурств будет разработан алгоритм, позволяющий учитывать предпочтения работников по дням дежурств и равномерно распределяющий свободные дежурства между всем доступным персоналом. После распределения дежурств отмечаются работники службы охраны, которые, по той или иной причине, получили больше или меньше дежурств, чем должно было быть отработанно ими за месяц и, в следующий раз, разница в дежурствах будет устранена частично или полностью.
Для экспорта документов будет создана система экспортирующие полученные документы в Ms Excel. Экспорт будет реализован при помощи технологии OLE серверов, и будет происходить при помощи шаблона заложенного в программе.
3 Реализация
3.1 Функции и элементы управления
Интерфейс программы является не только интуитивно понятным, а так же удобным и визуально привлекательным.
В дополнение к реализованным функциям, для повышения удобства работы с программой была разработана система подсказок, которая активируется по наведению курсора мыши на специальную область, отмеченную изображением (в соответствии с рисунком 3.1).
Рисунок 3.1 – Область подсказки.
После активации подсказки будет выведено окно (в соответствии с рисунком 3.2) содержащее текст подсказки. После того как курсор покинет отмеченную, область подсказка исчезнет.
Рисунок 3.2 – Подсказка.
В программе существует развитая система предупреждений, предусматривающая разнообразные решения, по усмотрению пользователя программы, большей части конфликтных ситуаций обнаруженных при разработке и тестировании программы.
3.1.1
Описание основной части программы
При запуске программы пользователь увидит окно приветствия с индикатором загрузки (в соответствии с рисунком 3.3). При первом запуске программы после установки на экране появляется напоминание, что программа запущена в первый раз и требует настройки.
Рисунок 3.3 – Окно приветствия
После того, как загрузка программы будет завершена, пользователь увидит главное меню программы (в соответствии с рисунком 3.4) при помощи которого возможен переход к большинству доступных функций в программе.
Рисунок 3.4 – Главное меню программы
Меню содержит восемь кнопок:
- кнопка «Выход» – предназначена для завершения работы с программой;
- кнопка «Справка» – предназначена для получения справки по программе и методах работы с программой;
- кнопка «О программе» – вызывает окно (в соответствии с рисунком 3.5) содержащее информацию версии, разработчиках и прочей информации о программе;
Рисунок 3.5 – О программе
- кнопка «Статистики» – предназначена для отображения окна статистик касающихся разных аспектов работы программы (в соответствии с рисунком 3.6);
Рисунок 3.6 – Статистика
- кнопка «Настройки» – используется для отображения окна настроек (в соответствии с рисунком 3.7). Окно настроек используется для установок настроек необходимых для работы программы. В частности это: определение требуемого количества работников для первой и второй смены, настройка внешнего вид программы, просмотреть архив документов (открытие произойдет в отдельном окне стандартного проводника Windows (в соответствии с рисунком 3.8), автоматически очистить архив документов и обнулить данные касающиеся работы программы;
Рисунок 3.7 – Настройки
Рисунок 3.8 – Архив документов
- кнопка «Рабочий календарь» – предназначена для вызова окна отображающего производственный календарь, который имеет режим расширения, при активации которого появляется дополнительная панель, содержащая список праздничных дней и список рабочих дней (в соответствии с рисунком 3.9), появившихся вследствие переносов праздничных дней. Так же дополнительная часть позволяет добавлять, редактировать и удалять даты из первого и второго списков. Редактирование можно вызвать нажатием на соответствующую кнопку или посредством двойного клика на запись требующую изменения. Удаление можно вызвать нажатием на соответствующую кнопку или при помощи нажатия на клавишу «Delete». При вызове редактирования или добавления появляется окно (в соответствии с рисунком 3.10);
Рисунок 3.9 – Производственный календарь
Рисунок 3.10 – Окно добавления или редактирования записей
- кнопка «Управление кадрами» – предназначена для управления записями касающихся персонала предприятия (в соответствии с рисунком 3.11), записи можно добавлять, редактировать, удалять. Так же как и при работе с датами производственного календаря редактирование записи можно вызвать посредством двойного клика на ней, а удаление нажатием кнопки «Delete». Добавление и редактирование записей происходит в окне (в соответствии с рисунком 3.12);
Рисунок 3.11 – Управление кадрами
Рисунок 3.12 – Окно добавления или редактирования записей
- кнопка «Работа с документами» – предназначена для открытия окон предназначенных для генерации расписания и его экспорта в MS Excel.
3.1.2 Описание принципа создания расписания и сопутствующих документов.
После нажатия кнопки «Работа с документами» появится окно с предложением выбрать месяц и год (в соответствии с рисунком 3.13), на основании которых, будет в дальнейшем создано расписание дежурств.
Рисунок 3.13 – Выбор месяца и года
После выбора надлежащих данных и нажатия кнопки «Принять» появиться окно (в соответствии с рисунком 3.14), предназначенное для создания расписания дежурств.
Рисунок 3.14 – Выбор месяца и года
В правой части формы расположено функциональное меню, состоящее из семи кнопок:
- кнопка «Генерация» – предназначена для генерации расписания дежурств;
- кнопка «Документы» – предназначена для создания документов по имеющимся данным;
- кнопка «Сброс» – предназначена для удаления результатов генерации расписания;
- кнопка «Очистить» – предназначена для удаления меток дней и результатов генерации расписания;
- кнопка «Календарь» – предназначена для вызова производственного календаря, действия выполняемые программой после нажатия этой кнопки аналогичны действиям после нажатия кнопки «Рабочий календарь» из главного меню программы;
- кнопка «Настройки» – предназначена для вызова настроек программы, действия выполняемые программой после нажатия этой кнопки аналогичны действиям после нажатия кнопки «Настройки» из главного меню программы;
- кнопка «Назад» – закрывает окно.
В правой части программы имеется выделенная группа с названием «Метки дней». Она предназначена для указания приоритетных дней для дежурств. После выбора метки нужно, кликнуть на соответствующую ячейку таблицы для того, что бы отметить необходимый день.
После генерации необходимого расписания дежурств, следует нажать на кнопку документы для создания документов сопутствующих и отражающих данное расписание дежурств. После нажатия на кнопку «Документы» появляется окно (в соответствии с рисунком 3.15), содержащие два документа (на отдельных вкладках).
Рисунок 3.15 – Выбор месяца и года
В верхней части окна расположены четыре кнопки:
- кнопка «Экспорт» – предназначена для экспортирования данных в MS Excel;
- кнопка «Реквизиты» – предназначена для установки реквизитов документа, таких как название организации, ФИО директора и ФИО ответственного за составление документов начальника охраны;
- кнопка «Справка» – предназначена для вызова справки, действия выполняемые программой после нажатия этой кнопки аналогичны действиям после нажатия кнопки «Справка» из главного меню программы;
- кнопка «Назад» – предназначена для закрытия текущего окна.
После нажатия кнопки «Экспорт»
текущие документы будут
Рисунок 3.16 – Результат работы программы
Если после генерации
3.2 Функциональное тестирование
Тестирование процесс исследования программного обеспечения с целью получения информации о качестве продукта. [1]
Конечной целью любого процесса тестирования является обеспечение такого ёмкого понятия как качество, с учётом всех или наиболее критичных для данного конкретного случая составляющих. [5]
Качество можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
- надёжность;
- сопровождаемость;
- практичность;
- эффективность;
- мобильность;
- функциональность.
Для реализации тестирования над программой был выполнен ряд операции. В таблице 3.1 приведены результаты тестирования программного продукта.
Таблица 3.1 – Результаты тестирования программного продукта
Действие |
Результат |
Запуск программы |
Запускается программа. Появляется форма приветствия. Происходит загрузка программы. Исчезает форма приветствия. Появляется меню программы |
Вызов статистики |
Открывается окно статистик. Статистики выводятся корректно |
Вызов настроек |
Появляется окно настроек |
Установка настроек |
Настройки устанавливаются корректно |
Вызов производственного календаря |
Форма открывается, необходимые данные выводятся |
Добавление, редактирование и удаление дат |
Все операции выполнены успешно |
Вызов формы предназначенной для работы с кадрами |
Форма открывается, необходимые данные выводятся |
Добавление, редактирование и удаление данных персонала |
Все операции выполнены успешно |
Продолжение таблицы 3.1
Действие |
Результат |
Вызов справки |
Справка запускается |
Нажатие на кнопку «Работа с документами» |
Появляется окно, предназначенное для ввода дат, после введения даты появляется окно, предназначенное для генерации расписания дежурств |
Установка меток для обозначения приоритетных дней |
Метки устанавливаться и |
Выполнение функций очистки поля для ввода данных |
Выполнен успешно |
Проверка алгоритма генерации расписания дежурств |
Алгоритм выполнен успешно |
Создание документов |
Документы созданы, форма для их демонстрации показана |
Запуск OLE сервера |
OLE сервер запущен успешно |
Экспорт данных в MS Excel |
Данные экспортированы |
Сохранение документа |
Документ сохранен |
Закрытие OLE сервера |
OLE сервер закрыт |
В результате проведенного тестирования были обнаружены и исправлены допущенные ошибки.
После чего было проведено регрессионное тестирование, которое проводится после усовершенствования функций программы или внесения в нее изменений.
Тестирование
разработанной программы
3.3 Полное тестирование
Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют с точки зрения используемого метода. То есть, нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО.
Существует несколько
Тестирование данной программы включило в себя несколько компонентов:
- проверка правильности взаимодействия элементов интерфейса;
- тестирование методов обработки данных;
- тестирование оптимизационных алгоритмов.
При тестировании был смоделирован ряд ситуаций, которые опытный пользователь вряд ли допустит, но их вполне можно ожидать от новичка. Эти случаи, в основном, касались установки исходных данных.
4 Применение
4.1 Назначение
Программа автоматически генерирует
расписание дежурств службы охраны и
автоматически переносит эти
сведения в документы, которые в
последствии можно
Данный программный продукт повысит эффективность работы службы охраны путем уменьшения временных затрат на составление расписания дежурств и заполнения необходимых документов, так же в случае потери документа или прихода его в негодность документ можно восстановить взяв его из хранилища программы. Это позволит увеличить производительность труда службы охраны, что приведет к положительному производственному эффекту. Программа позволит осуществить дополнительный контроль над использованием фонда рабочего времени, наиболее полно использовать человеческие ресурсы предприятия.

- Разработка программы проверки подлинности ИНН с ведением статистики
- Разработка программы продвижения срочных банковских вкладов банка ОАО «ЛЕВОБЕРЕЖНЫЙ»
- Разработка программы развития в условиях ДОУ
- Разработка программы развития в условиях МДОУ «Детский сад комбинированного вида №32 «Страна чудес» г. Зеленогорска, Красноярского края
- Разработка программы развития деятельности предприятия розничной торговли
- Разработка программы развития розничной точки торговли
- Разработка программы реализации методов неценовой конкуренции на примере ЗАО «Полевской машиностроительный завод»
- Разработка программы маркетинга по выводу на рынок нового товара (на материалах ЗАО «Агрофирма «Бунятино» Дмитровского района Московск
- Разработка программы "Организация перевозок"
- Разработка программы повышения экономической эффективности ЗАО «УОФ»
- Разработка программы повышения экономической эффективности ООО "Черлакавтотранс"
- Разработка программы по повышению экономической эффективности деятельности предприятия ООО «Партнер»
- Разработка программы по продаже недвижимости на примере инвестиционно-консультационной компании «Аграфис»
- Разработка программы по стимулированию кредитования малого бизнеса