Разработка серверной части АРМ специалиста по работе с персоналом
Анализ деятельности кадровой службы, обоснование выбора средств автоматизации ее работы, классификация используемых информационных методов. Разработка технических требований и архитектуры серверной части. Основные этапы реализации программных модулей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 19.01.2017 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рисунок 21. Общая последовательность работы в режиме запроса страницы
Весь сервис состоит из набора компонентов, которые представляют собой классы объектов. Компоненты, в свою очередь, могут работать с файлами различных типов. К таким типам относятся:
1) шаблоны страниц;
2) содержимое страниц;
3) чанки;
4) сниппеты.
Все компоненты были созданы вручную в интегрированной среде разработки «NetBeans».
Рисунок 22. Общая последовательность работы в режиме асинхронного запроса
После того, как пользователь перейдёт на любую страницу сервиса, клиентская часть отсылает запрос, который обрабатывается веб-сервером и запускается скрипт index.php.
Скрипт определяет базовый пусть к каталогу и устанавливает флаг работы приложения, который предотвращает ручной запуск скриптов системы, путём ввода имени файла-скрипта в адресной строке браузера. Следующим шагом создаётся экземпляр компонента «application», после чего запускается на выполнение.
7.2 Компонент «application»
Данный компонент представляет собой каркас приложения. Его основными функциями являются:
1) обработка присланных данных;
2) создание и хранение экземпляров других компонентов;
3) последовательный запуск компонентов;
4) обмен информацией между компонентами;
5) отправка пользователю заголовков вместе с содержимым страницы.
После создания всех необходимых для работы сервиса компонентов происходит их последовательных запуск.
Рисунок 23. Создание компонентов в «application»
В начале происходит подключение к базе данных, которая работает через систему управления базами данных MySQL. Для безопасности подключения используются логин и пароль, заданные на стадии установки и настройки сервиса. После чего из базы данных приложение получает список настроек, который включает в себя название сервиса, базовые страницы и др.
В случаях авторизации или запроса от уже авторизованного пользователя следующим шагом идёт создание сессии. После этого происходит заполнение компонента «user» данными о текущем пользователе, основываясь на данных сессии.
Рисунок 24. Получение списка настроек
Новым шагом проверяется тип запроса от пользователя. В случае запроса страницы компонент «router» обрабатывает URL для получения псевдонима страницы и проверки на наличие доступ у текущего пользователя к запрашиваемой страницы. Далее «application» передаёт полученный псевдоним в компонент «parser» для формирования итоговой страницы.
Рисунок 25. Отработка запроса страницы
В случае асинхронного запроса определяется запрашиваемый сниппет и запускается на выполнение.
Итогом работы компонента «application» является отправка заголовков и содержимого страницы или же результата работы сниппета.
Рисунок 26. Отработка асинхронного запроса
7.3 Компонент «database»
Данный компонент предоставляет функции для удобной работы с базой данных. Такими функциями являются:
1) формирование строки запроса;
2) экранирование специальных символов. Производится для того, чтобы оградить систему от несанкционированного доступа путём ввода исполняемого кода в поля, где он может совершить действия, которые необходимы злоумышленнику. Чаще всего от подобных уязвимостей страдают системы, использующие SQL и HTML;
3) подключение к базе данных;
4) получение ошибок от СУБД. Используется для корректного продолжения работы;
5) закрытие соединения.
7.4 Компонент «session»
Отвечает за работу системы с сессией пользователя, которая включает в себя создание, получение данных и уничтожение. Также в данном компоненте происходит получение изменений данных в куках, установка имени сессии и продолжительности её жизни.
Рисунок 27. Проверка продолжения работы сессии
7.5 Компонент «user»
Компонент хранит данные о текущем пользователе: логин, пароль, адрес электронной почты и др. В этом же компоненте составляется список псевдонимов страниц, к которым данный пользователь имеет доступ. А также для авторизованного пользователя происходит получение личных данных.
Рисунок 28. Заполнение компонента «user» данными
7.6 Компонент «router»
Данный компонент получает псевдоним страницы из запроса (рисунке 29), проверяет существование псевдонима в базе данных и проверяет наличие в списке доступных текущему пользователю.
Рисунок 29. Пример запроса страницы
В случае отсутствия псевдонима в базе данных будет выведена страница с ошибкой 404 (не найдена запрашиваемая страница), а при недоступности данной страницы для пользователя будет выведена форма авторизации. Если авторизованный пользователь попытается запросить страницу, к которой у него нет доступа - он будет перенаправлен на свою главную страницу.
Рисунок 30. Работа компонента «router»
7.7 Компонент «parser»
Текущий компонент формирует содержимое страницы. Каждая страница состоит из:
1) шаблона, который представляет собой html разметку страницы со вставленными чанками и сниппетами (рисунке 32);
2) набора чанков, т.е. выделенных блоков разметки;
3) набора сниппетов, скриптов возвращающих текстовый результат;
4) набора плейсхолдеров, т.е. мест для вставки данных самой страницы и системы.
Рисунок 31. Функция обработки плейсхолдеров
Формирование происходит путём линейного сопоставления в шаблоне страницы последовательности слов с правилами вставки чанков, сниппетов, плейсхолдеров с их последующей заменой на их содержимое.
Рисунок 32. Шаблон страницы специалиста
Полностью сформированное содержимое страницы передаётся в компонент «application» для отправки пользователю.
Рисунок 33. Процесс формирования страницы по шаблону
8. Экспериментальное тестирование и отладка
1. Серверная часть имеет одну точку входа, которая представлена файлом index.php, поэтому прямой доступ к файлам должен быть закрыт. Для этого, в начале выполнения программы, устанавливается флаг (рисунок 34), что запуск произведён корректно.
Рисунок 34. Установка флага
После этого его наличие проверяется в начале каждого вызываемого скрипта (рисунок 35).
Рисунок 35. Проверка флага
Сделав прямой запрос «hrw.demo\application.core.php», выполнение скрипта было прекращено и на экран выведено сообщение о невозможности такого действия.
2. Компонента «router» тестировался, путём запроса страниц, через различные псевдонимы, к ним относились: существующие и не существующие, а так же те, к которым был и не было доступа разным группа пользователей. В результате компонент выдавал правильные данные.
· Не существующий - страница 404 ошибки;
· Существующий с нужным уровнем доступа - запрашиваемая страница;
· Существующий с недостаточным уровнем доступа - страница по умолчанию.
3. При тестировании компонента «parser» было выявлено, что количество проходов по шаблону для некоторых страниц излишне из-за чего в пустую расходуется процессорное время. Для решения была добавлена проверка на изменение содержимого страницы после текущего прохода с результатом предыдущего (рисунок 36).
Рисунок 36. Проверка изменение содержимого страницы
4. При тестировании вывод страницы не содержал изображений. Проверив запросы браузера и их обработку на серверы было выявлено, что из-за перенаправления всех запросов на одну точку входа (рисунок 37), запрос отдельного изображения обрабатывался так же.
Рисунок 37. Перенаправление запросов в одну точку
Для решения было дописаны правила, исключающие такое поведение для каталога «media» и файлов изображений (рисунок 38).
Рисунок 38. Исключения для изображений
5. При тестировании кода авторизации после ввода неправильного лоигна / пароля, пользователь оказывался заблокированным слишком быстро, а именно в два раза. Результат проверки дублирования запросов к базе данных и количества вызовов скриптов не выявил ошибок, следовательно, ошибка крылась в сервере и / или браузере. Проверив запросы к серверу, стало ясно, что от браузера к запросу страницы добавляется ещё дополнительный запрос на получение иконки сайта.
Эта ошибка была исправлена добавлением в исключения переадресации ещё и расширения файла иконки (рисунок 39).
Рисунок 39. Исключения для изображений
Заключение
Цель данного дипломного проекта заключалась в разработке программного продукта, который позволит сделать работу HR-специалиста более комфортной, чем при работе с бумажными носителями, путём оптимизации поиска, получения и обработки необходимой информации. Цель была полностью выполнена.
Для реализации поставленных целей необходимо было выполнение следующих задач:
1) поиск и анализ программного обеспечения схожей тематики;
2) изучение взаимодействия между собой большого количества инструментов для web-разработки, таких как: HTML, CSS, JavaScript, PHP, MySQL и др.;
3) разработка серверной части автоматизированной информационной системы;
4) создание документации для ознакомления и работы администраторов с проектом.
В дополнение к задачам проекта была введена аутентификация и администрирование пользователей.
Данный программный продукт может быть внедрён в рабочий процесс любого предприятия, которое заинтересовано в более продуктивной работе.
В результате получился продукт достаточно функциональный, чтобы обеспечить большинство нужд HR-отдела или отдела кадров в работе с потенциальными сотрудниками на этапе отбора персонала. Разработанный продукт получился достаточно лёгким для освоения и понимания любым сотрудником предприятия.
Данный проект, на первый взгляд, не приносит значительной экономической выгоды. Много затрат, много работы, однако присутствуют неэкономические эффекты, а именно: оптимизируется работа всего отдела кадров, HR-отдела или человека, который занимается взаимодействием с кандидатами, т.к. объединяет несколько программных продуктов в один.
Реализация данного проекта, произведенная с учетом всех вышеперечисленных факторов, позволит частично сократить бумажный документооборот за счёт поступления резюме в электронном виде, повысить производительность труда, сократить время на получение и обработку информации. Как следствие, образуются дополнительные временные ресурсы для выполнения необходимой работы, либо обработки большего количества соискателей за тот же промежуток времени. Таким образом, решится проблема окупаемости и рентабельности внедрения данного программного продукта.
Сметная калькуляция затрат представляет собой плановую себестоимость производства программного изделия и составляется на всем объеме работ. Сметная калькуляция затрат на рассматриваемый проект представлена в таблице.
Сметная калькуляция затрат на создание ПО учет ресурсов на предприятии
Статья затрат |
Всего затрат на проект, руб. |
|
Материалы |
670,00 |
|
Заработная плата |
41400 |
|
Отчисления на социальные нужды |
12502,80 |
|
Расходы на амортизацию |
575,01 |
|
Накладные расходы |
8280 |
|
Прочие расходы |
1902,83 |
|
Всего |
65330,64 |
Итоговая стоимость продукта составит 65330 руб.
Список использованных источников
1. Звонников В.И. Контроль качества обучения при аттестации: компетентностный [Текст]: учеб. Пособие / В.И. Звонников, М.Б. Челышкова - М.: Университетская книга, Логос, 2009. - 72 с.
2. Митросенко С.В. Педагогика среднего профессионального образования [Текст] / С.В. Митросенко. - Красноярск: Сиб. фед. ун-т, 2007. - 250 с.
3. Рябов В.В. Проектирование критериев оценки качества подготовки и переподготовки специалистов [Текст] / В.В. Рябов, Ю.В. Фролов. - М.: Исследовательский центр проблем качества подготовки специалистов, 2006. - 28 с.
4. Определение компетенций [Электронный ресурс]: Ведущий портал о кадровом менеджменте. - URL: http://hrm.ru/opredeleniekompetencijj - 17.06.2012 г.
5. Banham, J. On Professionalism and Professions: The Management Charter Initiative / J. Banham // The Journal of the Operational Research Society. - 1989. - Vol. 40, №4. - С. 315-321.
6. The definition and selection of key competencies (DeSeCo). Executive summary [Электронный ресурс]. - URL: http://www.oecd.org/document/17/0,3746, en_2649_39263238_2669073_1_1_1_1,00.html. - 17.06.2012 г.
7. Ветошкина, Т. Роль компетенции в управлении персоналом [Текст]/ Т. Ветошкина // Кадровик. Кадровый менеджмент. -2008. - №3. - 11-18 с.
8. Емельянова Н.З. Основы построения автоматизированных систем: учеб. пособие / Н.З. Емельянова. - М.: ИНФРА-М, 2009. - 269 с.
9. Фримен Э., Изучаем HTML, XHTML и CSS. - П.: Питер, 2010. - 656 с.
10. Дмитрий К., Алексей К. PHP. В подлиннике. - Спб.: БХВ-Петербург, 2005. - 1120 с.
11. Костарев А.Ф. PHP 5. - Спб.: «БХВ-Петербург», 2008. - 1104 с.
12. Мэтт З. PHP: объекты, шаблоны и методики программирования, 3-е издание. - М.: «Вильямс», 2010. - 560 с.
13. Рэндал Ш. Изучаем Perl. - П.: Символ-Плюс, 2009. - 384 с.
14. Кузнецов М., Симдянов И. MySQL 5. В подлиннике. - Спб.: «БХВ-Петербург», 2006. - 1024 с.
15. Стив С., Тим К., Джойс П. PHP и MySQL. Библия программиста, 2-е издание. - М.: Диалектика, 2010. - 912 с.
16. Одинцов И.О. Профессиональное программирование. Системный подход. - 2-е изд. - СПб.: БХВ-Петербург, 2004. - 624 с.
17. Программа «AllFusion ERwin Data Modeler» [Электронный ресурс]. - URL: http://erwin.com/products/data-modeler/standard-edition
18. 1С: Зарплата и управление персоналом 8 [Электронный ресурс]. - URL: http://www.v8.1 c.ru/hrm/
19. Программа «Кадры SB 2006» [Электронный ресурс]. - URL: http://web.archive.org/web/20111027232558/http://softsb.ru/opisanie-programmy.htm
20. Программы ИНФИН. КАДРЫ [Электронный ресурс]. - URL: http://www.april-v.ru/infinprog.shtml#13
21. Вязигин А.В. Оценка персонала: высшего и среднего звена. - М.: Вершина, 2006. - 256 с.
22. Робертс Г. Рекрутинг и отбор. Подход, основанный на компетенциях. - М.: ГИППО, 2010. - 288 с.
23. Управление персоналом организации: Учебник / под ред. А.Я. Кибанова - 4-е изд., доп. и перераб. - М.: ИНФРА-М, 2010. - 695 с.
24. Фитц-енц Ж., Дэвидсон Б. Как измерить HR-менеджмент. - М.: ГИППО, 2009. - 359 с.
Размещено на Allbest.ru
Подобные документы
Анализ программных средств для решения задач по управлению персоналом. Автоматизированные информационные системы и их классификация. Разработка технических требований и архитектуры клиентской части. Характеристика web-технологий. Разработка алгоритмов.
дипломная работа [3,2 M], добавлен 19.01.2017Реализация базы данных и серверной части информационной системы склада средствами СУБД Microsoft SQL Server. Анализ предметной области, информационных задач, пользовательской системы. Программа реализации проекта. Выработка требований и ограничений.
курсовая работа [2,4 M], добавлен 15.11.2015Анализ организационной структуры управления предприятия. Состав программных средств серверной части. Характеристика автоматизированных бизнес-процедур. Направления деятельности функционального подразделения, обслуживание технической части рабочей станции.
отчет по практике [124,2 K], добавлен 27.09.2014Характеристика программной системы автоматизации МЧС по контролю рыбаков дрейфующих на льдинах. Выбор инструментальных средств разработки системы, технологии ее реализации. Проектирование архитектуры системы. Анализ серверной и клиентской части системы.
курсовая работа [1014,5 K], добавлен 28.08.2012Программные средства для реализации базы данных и серверной части информационной системы "Учета технического обслуживания станков" средствами СУБД Microsoft SQL Server 2008. Разработка триггеров для поддержки сложных ограничений целостности в базе данных.
курсовая работа [768,3 K], добавлен 01.02.2013Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Обоснование выбора среды программирования и технических средств. Определение требований к компонентам системы. Описания объекта автоматизации. Написание инструкции по эксплуатации для пользователя. Разработка программных компонентов. Выбор методики СУБД.
курсовая работа [1,3 M], добавлен 27.10.2012Разработка metaCASE системы, которая по описанию языка автоматически генерирует визуальный редактор, генератор и другие средства инструментальной поддержки. Обмен данными между клиентской и серверной частью. Реализация репозитория для хранения диаграмм.
дипломная работа [2,4 M], добавлен 08.01.2014Формулировка требований к разработке и оформлению информационного сайта предприятия. Описание архитектуры сайта, меню навигации и алгоритма работы, листинг программного кода. Выбор серверной части и процесс отладки. Методы продвижения сайта в Интернете.
курсовая работа [4,6 M], добавлен 18.01.2014Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.
дипломная работа [3,7 M], добавлен 19.01.2017