Разработка серверной части АРМ специалиста по работе с персоналом

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    790,89 Кб
  • Опубликовано:
    2017-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка серверной части АРМ специалиста по работе с персоналом

Введение

кадровый автоматизация программный информационный

Темой выпускной квалификационной работы выбрана «Разработка серверной части автоматизированного рабочего места специалиста по работе с персоналом», потому что в современном мире проблема подбора квалифицированного персонала становится всё более заметной, из-за большого потока людей разного уровня подготовки на одно рабочее место.

Объектом исследования выступают информационные технологии, а предметом является программное обеспечение специалиста (процесс взаимодействия соискателя и специалиста).

В очень крупных организациях за один день может приходить от 50 резюме на место, из-за чего на работу с каждым отдельным человеком может быть затрачено много лишнего времени, т.к. большое количество используемого программного обеспечения, не связанного в одну систему, даже переключение между различными приложениями отнимает время работника отдела кадров, которое он мог использовать на взаимодействие с другим кандидатом.

В данный момент широко распространены Web-ресурсы, подобные Headhunter.ru и Job.ru, которые позволяют организациям и соискателям взаимодействовать друг с другом, вся работа будет производиться через телефоны, почту и другие средства связи, что отнимает много времени у сотрудников организации.

Автоматизированное рабочее место по подбору персонала для работника отдела кадров позволит максимально быстро и комфортно работать с кандидатами, не затрачивая времени на лишние действия и не рассеивая внимание на работу с большим количеством стороннего программного обеспечения.

Для осуществления цели данного проекта необходимо выполнение следующих задач:

1. поиск и анализ программного обеспечения схожей тематики;

2.   изучение взаимодействия между собой большого количества инструментов для web-разработки, таких как: HTML, Perl, PHP, MySQL, PostgreSQL и др.;

.     разработка технических требований и архитектуры серверной части;

.     определение бизнес-процессов специалиста по работе с персоналом;

.     разработка модели баз данных;

.     разработка алгоритмов взаимодействия модулей;

.     разработка и реализация программных модулей;

.     создание документации для ознакомления и работы пользователей с проектом.

Был выбран web-сервис по причине многоплатформенности, т.е. сервисом можно пользоваться из любой системы и платформы, имеющей выход в интернет и браузер, поддерживающий, по крайней мере, псевдографическое отображение содержимого web-страниц.

Данный проект внедряется в отдел кадров IT-аутсорсинг фирмы ООО «Саппорт», в целях необходимости автоматизации и улучшения эффективности процесса приёма персонала специалистами фирмы.

Перечень используемых сокращений:

CASE - (Computer-Aided Software Engineering) - набор инструментов и методов программной инженерии для проектирования программного обеспечения;

CLX - (Component Library for Cross Platform) - Библиотека компонентов для различных платформ;

ERWin - (Entity Relationship for Windows) - Отношения сущностей для операционной системы Windows;

IDE - (Integrated Development Environment) - интегрированная среда разработки; - (Model Driven Architecture) - концепция модельно-ориентированного подхода к разработке программного обеспечения;

MySQL - свободная система управления базами данных;

PHP - (Hypertext Preprocessor) - препроцессор гипертекста;- (Rapid Application Development) - быстрая разработка приложений;- (Visual Component Library) - Библиотека визуальных компонентов;

АИС - Автоматизированная информационная система;

АРК - Автоматизированный рабочий комплекс;

БД - База данных;

ЖЦ ИС - Жизненный цикл информационных систем.

ЖЦ ПО - Жизненный цикл программного обеспечения;

ИС - Информационная система;

ПО - Программное обеспечение;

САПР - Система автоматизированного проектирования;

СУБД - Система управления базами данных;

ЭВМ - Электронная вычислительная машина;

API - интерфейс программирования приложений;

Репозиторий - место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.

Асинхронный запрос - это запрос без ожидания ответа от сервера. Т.е. скрипт создал объект, а объект послал запрос на сервер. При этом скрипт продолжает выполняться дальше и не ждёт ответа от сервера;

Чанк - это мини-шаблон для отдельного блока сайта;

Сниппет - это программный код (PHP, SQL, XPDO), в результате выполнения которого возвращается результат (аналог функций в PHP);

Cookie (куки) - небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя;

Плейсхолдер - элемент, помечающий место для дальнейшей вставки данных.

1.  
Анализ предметной области деятельности специалиста по работе с персоналом

1.1 Анализ и оценка предметной области

Анализ деятельности кадровой службы

Тема выпускной квалификационной работы «Разработка серверной части автоматизированного рабочего места специалиста по работе с персоналом» связана с деятельностью кадровой службы, а именно по подбору и приёму персонала на работу. Рассмотрим основные функциональные обязанности по работе с кадрами.

Отбор кандидатов на работу

Задача отбора персонала на должность является важным звеном работы предприятий и организаций. Правильное назначение кандидата на должность может повысить не только производительность труда, но и увеличить прибыль предприятия, повысить лояльность сотрудников.

Существуют многочисленные формы и методы формирования штата фирмы, с помощью которых отбирают наиболее подходящих им людей. Подбор персонала начинается с описания вакансии, то есть создания прототипа необходимого сотрудника. Далее определяется список подходящих кандидатур, среди которых и находится наиболее приемлемый вариант, максимально приближенный к прототипу. При необходимости описание вакансии корректируется. Желательно иметь начальную базу кандидатов, а в процессе работы постоянно ее пополнять. Особенно актуальной эта задача является для больших организаций и предприятий (супермаркетов, строительных фирмы и т.д.), где «текучесть» кадров достаточно высока.

В настоящее время для оценки профессиональной пригодности кандидатов используют различные модели компетентности, которые базируются на определении уровня компетенций (как по отдельности, так и их комбинации). При этом в каждой стране исторически сложились свои подходы к оценке компетенций. Большинство моделей включает в себя результаты оценок качественных характеристик личности, которые довольно трудно выразить числом. Также необходимо учитывать различные ограничения при расчете критериев компетентности. Таким образом, представить в нормализированном виде модель поиска лучшего кандидата является трудоемкой работой. Развитие подходов и методов для решения подобных задач является актуальной научной проблемой.

Для более глубокого понимания деятельности по подбору персонала необходимо рассмотреть понятия компетентности и компетенции.

На сегодняшний день не существует однозначного определения понятия «компетенции». Считается, что данный термин ввел в обращение Вайт (White, 1959), который предположил, что компетенция может быть представлена как «эффективное взаимодействие человека с окружающей средой» [1]. А также в числе личностных характеристик специалиста (выпускника) должна быть «компетентностная мотивация» в дополнение к компетенции, которую можно трактовать как сформированную способность. Компетенция служит для описания тех способностей выпускника учебного заведения, которые наиболее тесно связаны с его хорошей работой на основе полученной подготовки и сформированной в процессе обучения высокой мотивацией к ее выполнению.

Здесь следует также обратить особое внимание на различие в понятиях компетентность и компетенция. Компетенция - это личная способность, отражающая необходимые стандарты поведения специалиста, т.е. способность решать определенный класс профессиональных задач [2]. Совокупность компетенций; наличие знаний и опыта, необходимых для эффективной деятельности в заданной предметной области называют компетентностью (от англ. competency). На практике многие организации и задачи, и результаты работы, и поведение включают в описание, как компетентности, так и компетенции, таким образом, и объединяют эти два понятия. Но более типично описание компетенций связывать со способностями, отражающими стандарты поведения, чем с решением задач или с результатами работы.

Компетентность - это «интегрированная характеристика качеств личности, результат подготовки выпускника вуза для выполнения деятельности в определенных профессиональных и социально-личностным предметных областях (компетенциях), который определяется необходимым объемом и уровнем знаний и опыта в определенном виде деятельности». А компетенция «включает знание и понимание (теоретическое знание академической области, способность знать и понимать), знание как действовать (практическое и оперативное применение знаний к конкретным ситуациям), знание как быть (ценности как неотъемлемая часть способа восприятия и жизни с другими в социальном контексте).

Концепция индивидуальной компетенции давно и широко используется в управлении человеческими ресурсами в различных сферах жизни. В общем, это относится к набору навыков, которыми должен обладать человек, чтобы быть способным удовлетворительно выполнять указанную работу. Хотя данная концепция хорошо развита, споры о её четком определении продолжаются.

Модели профессиональной компетенции:

Существуют различные модели профессиональной компетенции, они зависят от подхода к пониманию определения компетентности. Модель компетенций - это их полный набор, характеризующий эффективное поведение человека, выполняющего определенную профессиональную деятельность [3].

Например, модель «Young» (2002) (основанная на модели «Sarawano's» (1993) [4]). Здесь компетентность и компетенции для исполнения (производительности) связаны между собой. Компетентность определяется как личностная характеристика (мотивы, черты, роль и знания), и как ведет себя человек (мастерство, или навыки). Компетенцией является то, что определенный специалист обязан делать - его трудовая деятельности (функции, задачи). Что, в свою очередь, приводит к выполнению остальных действий.

В модели «Jacobs» (1989) вводятся понятия «твердых» и «мягких» компетенции. Мягкие компетенции относятся к таким качествам, как творчество и чувствительность, т.е. включают в себя личные качества, которые лежат в основе поведения. Эти элементы рассматриваются как концептуально отличающееся от жестких компетенций, таких как «умение хорошо организовать работу». Различие модели Jacobs хорошо вписывается в модель Юнга, идентифицируя поведенческие компетенции как твердые, а мягкие компетенции как личностные характеристики человека.

В Великобритании, стандартная модель описывается через компетенции, которые представляются в форме результатов конкретной работы. Роль компетенций, необходимых в каждой работе определяется через средства функционального анализа - в результате процесс взаимосвязи (описанный сверху вниз) формируется из четырех уровней, как показано на рисунке 1.

Рисунок 1. Схема функциональной зависимости работ в стандартной модели компетенции. Общий случай

Современная модель MCI (Management Charter Initiative компетенций описанная в National Occupational Standards for Management) [5] включает в себя личные компетенции, отсутствующие в оригинале. Такое внедрение было создано для решения некоторых критических замечаний в MCI стандартах. В частности касающихся области управления, как показали недавние работы, что важно учитывать такие поведенческие характеристики, как уверенность в себе, чуткость и выносливость.

Следует также отметить, что компетентностный подход в управлении критикуется многими авторами. Как правило, утверждается, что управленческие задачи несут довольно специальный характер, что делает невозможным их обобщенность.

Другие авторы утверждают, что управленческие навыки и компетенции, слишком сложны и разнообразны, чтобы однозначно их определить.(1988) предполагает, что компетентностный подход обращает слишком много внимания на человека и игнорирует важность организационного развития.

Несмотря на недостатки, компетентностный подход развивается и используется при управлении в различных организациях во многих странах.

Общая схема структуры компетенций представлена на рисунке 2.

Рисунок 2. Разбиение компетенций на кластеры

На данной схеме компетенции собираются в кластеры. Оценка кластера может быть основана на ряде суждений, которые относятся к потребностям учащихся, потребностям на рабочем месте и характеристик единиц компетенции. Большинство моделей компетенций включают кластеры, относящиеся к [4]:

-    интеллектуальной деятельности, например, к анализу проблем и принятию решений;

-    действиям, например, к достижению конкретных результатов.

-    взаимодействию, например, к работе с людьми.

Также, важное место занимает подход, в котором в качестве основной компетенции личности рассматривают «рефлексивность».

Идею о рефлексивности мышления описал Шон в своей фундаментальной работе «The Reflective Practitioner» в 1983 [6]. Под рефлексивностью понимается, во-первых, способ отражения приобретенных неявных знаний, или «знания в действии», а во-вторых, способность кандидата к обучению путем (и в) практики. Таким образом, рефлексивность является жизненно важной компетенцией для процесса профессионального роста и для решения различных ежедневных проблем, которые не решаются простым применением отдельных научных или технических принципов. Речь идет не только о том, как люди думают, но и о том, как они строят опыт в целом, включая их мысли, чувства и социальные отношения. Наличие хорошо развитой данной компетенции позволяет человеку дистанцироваться от социального давления, иметь различные точки зрения, принимать самостоятельные решения и нести ответственность за свои действия.

Критерии эффективности компетенций:

Существуют определенные критерии эффективно работающей модели компетенций, сформулированные Марком Паркинсоном [7]. Необходимо помнить, что для оценки лучшего кандидата следует определить компетенции, которые должны быть:

-    исчерпывающими. Список компетенций должен полностью отражать все основные функции профессиональной деятельности (примерно 10-12 компетенций);

-    дискретными. Отдельная компетенция должна относиться к определенной деятельности, которая может быть четко отделена от других видов деятельности. Если компетенции перекрываются, будет трудно точно оценивать работу или людей;

-    сфокусированными. Каждая компетенция должна быть четко определена;

-    доступными. Каждая компетенция должна быть доступным образом сформулирована, чтобы ее можно было использовать универсально;

-    конгруэнтными. Компетенции должны укреплять организационную культуру и усиливать долгосрочные цели компании. Если компетенции кажутся слишком абстрактными, они не принесут пользы и не могут быть приняты;

-    современными. Система компетенций должна постоянно обновляться, так как должна отражать настоящие и будущие (предсказуемые) потребности организации.

Подходы к оценке компетенций:

На основе существующих моделей разрабатывались различные подходы к оценке компетенций.

Общие подходы к определению компетенций можно разделить на 3 группы:

-    поведенческий подход (американская традиция);

-    функциональный подход (британская традиция);

-    многомерный и целостный подход (Франция и Германия).

В американском подходе определение и оценка компетенций создавались как альтернатива традиционным тестам измерения уровня интеллекта IQ, которые обладают слабыми возможностями для прогнозирования эффективности работы [1]. Компетентностный подход применялся в целях определения причин успеха и эффективной работы лучших работников и выявление их отличий от менее успешных. Американская традиция связывает компетенции с поведенческими характеристиками, такими как самосознание, саморегуляция, социальные навыки и считает, что они могут быть сформированы через обучение и развитие. В частности, в 2000 г. была создана модель компетентности лидера (Holton и Lynham), где компетенций были определены как шесть кластеров (рисунке 3). Компетенции делились на 3 уровня - общеорганизационный, индивидуальный и уровень процессов.

Рисунок 3. Модель компетенций лидера

Англичане, в определении компетенции сосредотачивались не на личностных характеристиках, а на свойствах самой деятельности. При функциональном подходе ключевые роли играют профессиональные стандарты, которые затем декомпозируются в виде компетенций. На рисунке 4 показана целостная модель профессиональной компетентности, разработанная Cheetham and Chivers. Модель включает в себя пять наборов связанных компетенций и компетентностей.

В континентальной Европе понятие компетенций стало популярным с середины 1990-х гг.

Рисунок 4. Интегративная модель профессиональной компетентности (британская традиция)

Во Франции компетентностный подход представлен двумя полярными направлениями: компетенции как универсальный признак личности и компетенции как индивидуальные способности, проявляющиеся в процессе выполнения работы.

Определение компетенции основывается на трех аспектах: знании, опыте и поведенческих характеристиках.

В Германии вводится понятие «ключевые квалификации», включающее индивидуальные компетенции, которые формулируются как способность к сотрудничеству, гибкость, этичность, независимость в решении проблем. На рисунке 5 показана стандартная типология компетенций для модели в немецкой традиции.

Каждый из этих подходов имеет определенные преимущества. Традиционный Американский подход продемонстрировал важность индивидуальных особенностей и использование поведенческой компетенции как средство развития превосходной производительности.

Рисунок 5. Немецкий подход: «компетенции действия»

Основной подход Великобритании показал значение профессиональных определенных стандартов функциональной компетенции и их применимости на рабочем месте. Подход, принятый во Франции и Германии демонстрирует потенциал многомерной и более аналитической концепции компетенций.

Следует отметить, что объединение в одном контексте различных компетенций формирует различные компетентности [6]. На самом деле, в той или иной ситуации, или цели могут потребоваться различные кластеры компетенций, настроены по-разному в каждом конкретном случае (рисунке 6).

Люди, живущие в различных ситуациях, нуждаются в той или иной степени в различных компетенциях в соответствии, например, с культурными нормами, технологическим доступом, социальными отношениями и т.д.

Рисунок 6. Комбинирование компетенций в различных ситуациях

При грамотном применении модели компетенций ее использование не ограничивается оценкой. Она должна быть основой для разработки системы оценки, обучения, развития и мотивации, а также отбора персонала на вакантные должности. Построение целостной системы позволяет использовать модель компетенций наиболее эффективно и получить наибольший возврат на инвестиции в персонал.

Если кандидат подходит под все критерии, установленные на данное рабочее место, то после процесса отбора персонала начинается процесс приёма на работу, который тоже необходимо рассмотреть немного подробнее.

Прием на работу                                                      

Основанием возникновения трудовых отношений между работником и работодателем является заключение трудового договора.

Типовая форма трудового договора утверждается генеральным директором.

Трудовой договор, заключаемый между работодателем и работником, является соглашением, определяющим существенные условия труда и взаимные обязанности работника и работодателя.

Трудовой договор составляется в двух экземплярах, подписывается работником и работодателем. Один экземпляр выдается на руки работнику.

При заключении трудового договора должны быть согласованы следующие условия:

1)   дата начала работы;

2)   место работы (структурное подразделение и конкретное рабочее место);

3)   выполнение работы по определенной специальности, квалификации или должности, в соответствии со штатным расписанием; здесь же четко прописывается трудовая функция работника либо делается ссылка на утвержденную должностную инструкцию;

4)   основные права и обязанности работника;

5)   основные права и обязанности работодателя;

6)   характеристики условий труда, компенсации и льготы работникам за работу в тяжелых, вредных и (или) опасных условиях труда;

7)   режим труда и отдыха;

8)   размер и условия оплаты труда (в том числе даты выплаты заработной платы, порядок выплаты);

9)   виды и условия социального страхования, непосредственно связанные с трудовой деятельностью;

10) другие условия (при необходимости).

С работником может быть заключен срочный трудовой договор, если причины и условия, заключения такого договора предусмотрены действующим трудовым законодательством (ст. 59 Трудового кодекса).

При заключении трудового договора стороны могут устанавливать в нем любые условия, не ухудшающие положения работника по сравнению с действующим законодательством. Любое требование включить в трудовой договор положения, противоречащие действующему трудовому законодательству, как со стороны работодателя, так и со стороны работника, являются незаконными.

При заключении трудового договора работник обязан предоставить следующие документы:

-    паспорт;

-    трудовую книжку, за исключением случаев, когда трудовой договор заключается впервые или работник поступает на работу на условиях совместительства. Если при поступлении на основное место работы у работника нет оформленной трудовой книжки, работодатель оформляет ее на работника в течение недели со дня его приема на работу;

-    страховое свидетельство государственного пенсионного страхования. Если у работника не было ранее оформленного свидетельства, работодатель начинает процедуру его оформления в установленном порядке;

-    документы воинского учета - для военнообязанных и лиц, подлежащих призыву на военную службу. При предъявлении документов воинского учета работодатель имеет право устанавливать, состоит ли работник на воинском учете, и направлять его в соответствующий орган, осуществляющий воинский учет по месту жительства;

-    документ об образовании, о квалификации или наличии специальных знаний - при поступлении на работу, требующих специальных знаний или специальной подготовки.

Прием на работу без указанных документов не производится.

В целях более полной оценки профессиональных и деловых качеств, принимаемого на работу работника, работодатель может предложить ему представить краткую письменную характеристику (резюме) выполняемой ранее работы, умение пользоваться оргтехникой, работать на компьютере и т.д.

В целях сбора дополнительной информации работодатель может предложить работнику заполнить анкету.

Кроме перечисленных документов, работодатель может попросить у работника предоставить рекомендацию с последнего места работы, учебы, а также уточнить эту рекомендацию в организации, ее выдавшей.

Прием на работу осуществляется, как правило, с прохождением испытательного срока продолжительностью от 1 до 3 месяцев. Испытательный срок может быть отменен или сокращен работодателем.

Условия прохождения испытательного срока оговариваются в трудовом договоре, заключаемом с работником. Если в трудовом договоре не указано условие испытания, работник считается принятым без испытания. Целью испытания является проверка работника на соответствие его поручаемой работе. При установлении испытательного срока приложением к трудовому договору оформляется условие испытания (в чем оно состоит, кто контролирует от работодателя прохождение испытательного срока). В противном случае, если в трудовом договоре прописано установление испытательного срока, но не оформлено в качестве приложения описание испытания, прохождение испытания оценивается по выполнению должностных обязанностей.

В срок испытания, указанный в трудовом договоре, не входит период временной нетрудоспособности работника и другие периоды, когда он фактически отсутствовал на работе.

Если во время прохождения испытательного срока на данного работника будут поступать документы, подтверждающие, что он не справляется с должностными обязанностями, работодатель будет иметь право до истечения срока испытания расторгнуть трудовой договор с работником, предупредив его об этом в письменной форме не позднее, чем за три дня, с указанием причин, послуживших основанием для признания работника не выдержавшим испытание. При получении такого предупреждения работник имеет право в письменной форме выразить свое мнение по поводу данной ситуации. Если работодатель сочтет аргументы работника существенными, то он может снять предупреждение о расторжении трудового договора. Если письменного протеста со стороны работника не последует, то будет считаться, что работник согласен с предъявленными ему претензиями и фактом не прохождения испытательного срока.

Во время испытательного срока, если работник придет к выводу, что предложенная работа не является для него подходящей, то он имеет право расторгнуть трудовой договор по собственному желанию, предупредив об этом работодателя за три дня.

Если срок испытания прошел, а работник продолжает работу, он считается выдержавшим испытание. Продление испытательного срока со стороны работодателя незаконно. Также незаконно установление испытания при переводе на другую работу.

В случае если работник во время испытательного срока показывает хорошие результаты работы, работодатель может досрочно объявить об окончании испытательного срока для данного работника.

Прием на работу оформляется приказом (распоряжением) работодателя, изданным на основании заключенного трудового договора. Содержание приказа (распоряжения) должно соответствовать условиям трудового договора.

Приказ (распоряжение) работодателя о приеме на работу объявляется работнику под расписку в трехдневный срок со дня фактического допущения к работе работника.

По его просьбе работнику может быть выдана заверенная копия приказа (распоряжения) о приеме на работу.

При приеме на работу на работника оформляется в установленном порядке личная карточка Т-2, утверждаемая Госкомстатом и содержащая в себе следующие сведения: автобиографические сведения, сведения о семье, сведения о стаже работы до прихода в данную организацию и другие сведения на основании предъявленных при приеме на работу работником сведений. Данные, вносимые в личную карточку Т-2, являются персональными данными работника, и на них распространяется требование по их защите и специальным правилам их обработки. Кроме этого, в личной карточке Т-2 отражаются сведения о приеме, постоянных переводах работника и о расторжении трудового договора. Со всеми этими данными работник должен быть ознакомлен под подпись в самой карточке.

После того как работник проработает в организации свыше пяти дней, работодатель вносит ему запись о приеме в трудовую книжку, в случае, если эта работа является для работника основной.

В случае необходимости по решению работодателя, принятый работник проходит курс обучения. Одновременно работнику на период освоения должностных обязанностей может назначаться наставник из числа высококвалифицированных специалистов работодателя. Допускаются по договоренности с работодателем внутреннее совместительство и совмещение профессий (должностей) и другая дополнительная работа работников, которая оплачивается в размере оговоренной сторонами.

Расторжение трудового договора с работником

Прекращение трудового договора может иметь место только по основаниям, предусмотренным трудовым законодательством.

Прекращение трудового договора оформляется приказом (распоряжением) работодателя, предоставляемым работнику для ознакомления под подпись.

Срочный трудовой договор подлежит расторжению досрочно по требованию работника в случае его болезни или инвалидности, препятствующих выполнению работы по договору, нарушения работодателем законодательства о труде, коллективного или трудового договора и по другим уважительным причинам, предусмотренным действующим трудовым законодательством.

В день расторжения трудового договора работодатель обязан выдать работнику его трудовую книжку с внесенной в нее записью о расторжении и произвести с ним окончательный расчет.

При расторжении трудового договора, работнику выплачивается денежная компенсация за все неиспользованные дни отпуска из расчета 2,33 отпускных дня за каждый проработанный месяц (в расчете на 28 календарных дней ежегодного очередного отпуска за каждый месяц работы).

По письменному заявлению работника неиспользованные отпуска могут быть предоставлены ему с последующим расторжением трудового договора. При этом днем расторжения трудового договора считается последний день отпуска, а трудовую книжку и расчет работник получает в последний день своей работы (непосредственно перед началом отпуска).

Записи о причинах расторжения трудового договора в трудовую книжку должны производиться в точном соответствии с формулировками действующего законодательства и со ссылкой на соответствующую статью.

Днем расторжения трудового договора работника считается последний день его работы. При высвобождении вследствие сокращения штата или численности работнику может быть предоставлена другая работа при наличии вакантных должностей, предложено пройти переподготовку либо трудовой договор с ним расторгается.

Работники имеют право расторгнуть трудовой договор, заключенный на неопределенный срок, предупредив об этом работодателя письменно за две недели. По истечении указанного срока работник вправе прекратить работу, а работодатель обязан выдать работнику трудовую книжку и произвести с ним расчет. В случаях, когда заявление работника об увольнении по собственному желанию обусловлено невозможностью продолжения работы (зачисление в учебное заведение, переход на пенсию и другие случал), работодатель расторгает трудовой договор в срок, о котором просит работник.

По договоренности между работником и администрацией трудовой договор может быть расторгнут и до истечения срока предупреждения об увольнении.

Перемещение работника

Перевод на другую работу производится в случаях, установленных трудовым законодательством.

В установленных трудовым законодательством случаях перевод допускается как с письменного согласия работника, так и без него.

Продолжительность перевода на другую работу для замещения отсутствующего работника не может превышать одного месяца в течение календарного года.

Перевод на другую работу оформляется приказом (распоряжением работодателя), на основании которого делается запись в трудовую книжку работника (за исключением случаев временного перевода).

Приказ (распоряжение) работодателя о переводе работника, объявляется последнему под подпись.

Проблемы

В фирме «Саппорт» функционал кадровой службы выполняется в традиционной форме без использования специальных программных средств. При этом возникает ряд проблем:

-    требуется значительное время на работу с бумажными документами (наличие пустых бланков, оформление, поиск, и т.п.);

-    хранение бумажных документов без наличия их электронной копии не позволяет оперативно вносить различные изменения и дополнения в документы, осуществлять их быстрый поиск;

-    неупорядоченное хранение электронных документов при их наличии в в разных местах диска осложняет поиск документов;

-    работа по набору персонала не унифицирована.

Для устранения данных проблем предлагается сначала автоматизировать работу кадровой службы по управлению подбором персонала, так как в будущем предполагается расширение штата с учетом видов деятельности организации. Для этого необходимо решить следующие задачи:

-    разработать программный продукт для полноценной работы с соискателем на стадии отбора персонала;

-    предоставить готовые шаблоны документов, которые сэкономят время работодателя и соискателя на их составление и заполнение;

-    организовать единое место хранения электронных документов, передаваемых соискателями;

-    предоставить возможность оперативно делать резервные копии хранимых документов;

-    разработать математическую модель для автоматизированного экспертного отбора соискателей для дальнейшего развития информационной системы.

2.  
Анализ и выбор средств автоматизации проекта

2.1 Автоматизированные информационные системы и их классификация

Формализация ситуаций производственно-хозяйственных процессов, внедрение в практику экономической работы оптимизационных методов, опыт создания АИС, оснащение коммерческих и государственных структур современными вычислительными средствами. Создаются повсеместно АИС управленческой деятельности. Автоматизированные информационные системы разнообразны и могут быть классифицированы по ряду признаков.

Классификация систем по сфере функционирования объекта управления понятна, рассматривают признаки. По видам процессов управления АИС делятся на [8]:

АИС управления организационно-технологическими процессами представляют собой многоуровневые системы, объединяющие АИС управления технологическими процессами и АИС управления предприятиями.

АИС управления технологическими процессами - это человеко-машинные системы, обеспечивающие управление технологическими устройствами, станками, автоматическими линиями.

Для АИС организационного управления объектом служат социально-экономические, производственно-хозяйственные функциональные процессы, реализуемые на всех уровнях управления экономикой, в частности:

1)   Финансовые АИС;

2)   АИС фондового рынка;

)     Банковские АИС;

)     Страховые АИС;

)     Налоговые АИС;

)     Статистические АИС;

)     АИС таможенной службы.

АИС промышленных предприятий и организаций и др.

АИС научных исследований обеспечивают высокое качество и эффективность межотраслевых расчетов и научных опытов. Методической базой таких систем служат экономико-математические методы, а технической базой - разнообразная вычислительная техника и технические средства для проведения экспериментальных работ. Организационно - технологические системы и системы научных исследований могут включать в свой круг системы автоматизированного проектирования работ (САПР).

Обучающие АИС получают широкое распространение в системе образования при подготовке специалистов, при переподготовке и повышении квалификации работников разных отраслей.

В соответствие с третьим признаком классификации выделяют территориальные, отраслевые и межотраслевые АИС, которые одновременно являются системами организационного управления, но уже более высокого уровня иерархии.

Территориальные АИС предназначены для управления административно-территориальными районами. Деятельность территориальных систем нацелена на качественное выполнение управленческих функций в регионе, формирование отчетности, выдачу оперативных сведений местным государственным и хозяйственным органам.

Отраслевые АИС функционируют в сферах промышленного и агропромышленного комплексов, в строительстве, на транспорте. Эти системы решают задачи информационного обслуживания аппарата управления соответствующих ведомств.

Межотраслевые АИС являются специализированными системами функциональных органов управления национальной экономикой (банковских, финансовых, статистических, снабженческих и др.). Располагая мощными вычислительными комплексами, межотраслевые многоуровневые АИС обеспечивают разработку экономических и хозяйственных прогнозов, государственного бюджета, осуществляют контроль результатов и регулирование деятельности всех звеньев хозяйства, а также контроль наличия и распределения ресурсов.

Современное развитие информатизации в области экономической и управленческой деятельности требует общих подходов в решении организационных, технических и технологических проблем. Основными факторами, определяющими результаты создания и функционирования АИС и процессов информатизации, являются:

1)   Интерпретация информационной деятельности как одного из видов бизнеса;

2)   Активное участие человека - специалиста в системе автоматизации обработки информации и принятия управленческих решений;

)     Формирование условий организационно-функционального взаимодействия и его математическое, модельное, системное и программное обеспечение;

)     Создание и внедрение научных и прикладных разработок в области информатизации в соответствии с требованиями пользователей;

)     Наличие научно обоснованной программно-технической, технологической платформы, реализуемой на конкретном экономическом объекте;

)     Постановка и решение конкретных практических задач в области управления с учетом заданных критериев эффективности.

Определяя АИС, как организованную, для достижения общей цели совокупность специалистов, средств вычислительной и другой техники, математических методов и моделей, интеллектуальных продуктов и их описаний, а также способов и порядка взаимодействия указанных компонентов, главным звеном и управляющим субъектом в перечисленном комплексе элементов человек, специалист.

Предметная область. Моделирование предметной области:

Взаимосвязанные ресурсы и процессы экономической системы можно описать в терминах предметной области.

Предметной областью называются элементы материальной системы, информация о которых хранится и обрабатывается в АИС.

Информационным отображением всей предметной области экономического объекта служит информационная база АИС. Информационная база состоит из одной или нескольких баз данных. Для описания предметной области необходимы такие термины, как объект, свойство объекта, взаимодействие (связь) объектов, свойство взаимодействия.

Объектом называется любой элемент некоторой системы. В экономических приложениях понятие объекта сужается до понятия физического объекта, под которым понимается любой предмет, занимающий место в пространстве.

Объекты делятся на простые и сложные. Сложные объекты же делятся на: составные, обобщенные, агрегированные.

Свойствами объектов являются:

1)   Единичные и множественные;

2)   Статические, неизменяемые со временем и динамические, т.е. изменяемые во времени;

)     Объекты экономической сферы группируются в три крупных типа, имеющих название средств производства, предметов труда и исполнителей.

)     Свойством объекта называется некоторая величина, которая характеризует состояние объекта в любой момент времени. Отдельный экземпляр объекта можно точно описать, если указать достаточное количество значений его свойств.

Довольно большие упрощения в описании объектов связаны с установлением аналогий в структуре объектов, образующих класс. Объекты одного класса описываются одноименными свойствами. Объекты, входящие в некоторый тип, содержат ряд свойств, характерных для типа в целом.

Деятельность, которая растянута во времени, охватывается понятием взаимодействия объектов. Взаимодействием объектов называется факт участия нескольких объектов, в каком-либо процессе, который протекает во времени и в пространстве.

Проблема полноты отображения объектов и процессов предметной области в хранимые данные решается в АИС следующим образом. Предполагается, что представление объекта или процесса сводится к указанию его свойств; информационным отображением свойств служат атрибуты и экземпляр объекта или экземпляр процесса представлен в базе данных как набор пар <Имя атрибута>,<3 начение атрибута>, где имена атрибутов различны и соответствуют названиям свойств объекта или процесса. Вопрос о выражении сущности объектов с помощью того или иного набора свойств решается путем расширения набора свойств, описывающих объект, чем достигается более полное представление о его сущности. Количество свойств должно быть таково, чтобы всегда можно было отличить объект одного класса от объекта другого класса, а также любые два объекта из одного и того же класса. Среди свойств, описывающих объект, необходимо выделить идентифицирующие свойства, т.е. свойства, по значению которых можно однозначно отличить данный экземпляр объекта от любого другого (в том числе и в пределах класса объектов, содержащего этот экземпляр).

Случается, что установление идентифицирующего свойства не является простой задачей.

Искусственный идентификатор, обычно, соответствует простой нумерации экземпляров объектов, например Инвентарный номер.

Каждая сущность, реальный или воображаемый объект, должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:

1)   Иметь уникальное имя; к одному и тому же имени всегда должна применяться одна и та же интерпретация;

2)   Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;

)     Обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;

)     Обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.

Каждая сущность может обладать любым количеством связей с другими сущностями модели.

Связь (отношение) между сущностями обладает свойством, именуемым мощность - количество экземпляров сущности-потомка, которое может существовать для каждого экземпляра сущности-родителя.

При определении типа связи, если экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то связь является идентифицирующей, иначе - не идентифицирующей. Атрибутом служит любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Экземпляр атрибута определяется типом характеристики и ее значением, и называется значением атрибута.

Для обеспечения связи между сущностями используются понятия ключей:

1)   Первичный ключ:

2)   Альтернативный ключ;

)     Внешний ключ.

Первичный ключ (главный ключ) - атрибут или группа атрибутов, однозначно идентифицирующая каждый экземпляр сущности. При выборе первичного ключа следует отдавать предпочтение наиболее простым ключам, имеющим числовой тип значений. Первичный ключ должен обладать следующими свойствами:

1)   Должен иметь уникальные значения;

2)   Не должен содержать пустых (неопределенных) значений:

)     Должен быть компактным, т.е. должен содержать только такие атрибуты, удаление любого из которых может привести к утрате уникальности.

Альтернативный ключ - замена главного ключа. Используется для организации поиска данных. Выбирается из числа ключей-кандидатов на роль главного ключа.

Внешний ключ - существует только для дочерней сущности и является ссылкой на значение ключа родительской сущности. При создании связей (отношений) между сущностями в дочернюю сущность передаются атрибуты, составляющие первичный ключ родительской сущности. Эти атрибуты и составляют внешний ключ.

Функциональные и обеспечивающие подсистемы АИС:

Функциональная часть АИС фактически является моделью системы управления объектом.

На сегодняшний день наиболее важными задачами являются следующие функции управления: планирование, организация, активизация, координация, контроль и анализ.

В ходе декомпозиции функциональная часть разбивается на подсистемы, в соответствии с различными классификационными признаками:

1)   Уровень управления (высший, средний, оперативный);

2)   Вид управляемого ресурса (основные фонды, материальные, трудовые, финансовые и информационные ресурсы);

)     Сфера применения (банковские информационные системы, статистические, налоговые, бухгалтерские, страховые и т.д.);

)     Функции управления и период управления.

Если подсистемы реализуют некоторые отдельные друг от друга функции управления, то каждую из них можно делить на более детальные подфункции (задачи).

В задачах, на нахождение неизвестной процедуры, является цель, достижения поиска информационной технологии, способной предоставить пользователю необходимую информацию. Затем, задача из статуса на нахождение переходит в статус на доказательство. В задачах на доказательство в качестве неизвестного выступает цепочка известных правил, выполнение которых позволяет отождествить объект по заданным критериям. Доказательство заключается в том, чтобы каждый раз при наличии новых исходных данных продемонстрировать наличие или отсутствие у объекта тех или иных характеристик. Особенно ярко этот тип задач демонстрируется экспертными системами, в которых сам принцип их построения базируется на доказательстве цели. Состав задач в АИС определяется следующими факторами:

1)   Важностью той или иной функции управления;

2)   Возможностью формализации управленческих процедур;

)     Уровнем подготовки персонала управления к использованию компьютеров;

)     Наличием информационной базы и технических средств.

Обеспечивающие подсистемы АИС состоят из:

) Информационное обеспечение представляет собой хранимые на предприятии потоки информации. Информация формируется в результате обработки данных. Любая система имеет дело с двумя видами информации: внешняя и внутренняя. Для внешней информации характерны неточность, обрывистость, противоречивость. Она в основном касается состояния рынка и конкурентов, прогнозов, цен, политической ситуации, так как такая информация носит вероятностный характер, то для ее обработки создаются экспертные системы.

) Техническое обеспечение - компьютеры, средства коммуникации и оргтехника. Весь компьютерный парк предприятия делится на 2 части - персональные и высокопроизводительные компьютеры. Компьютеры могут быть объединены в вычислительные сети.

) Программное обеспечение служит для выполнения операций по обработке информации. ПО - это совокупность программ систем обработки данных и программной документации, необходимой для эксплуатации этих программ.

) Организационное обеспечение АИС включает в себя собственный аппарат управления, обеспечивающий функционирование всех ее подсистем, как единое целое. Такое структурное подразделение должно выполнять:

) Сбор первичной информации;

) Передачу или рассылку информации;

) Хранение и поддержку коллективного использования информации.

) Правовое обеспечение - это совокупность норм, выраженных в нормативных актах, устанавливающих и закрепляющих организацию этих систем, их цели, задачи, функции и правовой статус АИС. Правовое обеспечение АИС осуществляет правовое регулирование АИС и взаимодействие разработчика и заказчика.

) Лингвистическое обеспечение - это система искусственных языков, терминов и определений, используемых в процессе разработки и функционирования АИС. Оно включает: языки описания структурных единиц информации (реквизитов, показателей, документов); управления (манипулирования) данными информационной базы; описания алгоритмов решения задач бухгалтерского учета; информационно-поисковых систем специального назначения.

) Методическое обеспечение АИС - это совокупность законодательных, нормативных актов и инструкций по бухгалтерскому учету, налогообложению и другим областям знаний, обеспечивающих юридическую поддержку принятия решений, а также позволяющих разработать алгоритмы обработки учетной информации.

) Эргономическое обеспечение - представляет собой совокупность методов и средств, предназначенных для создания оптимальных условий высокоэффективной и безошибочной деятельности специалистов в процессе создания и функционирования АИС.

) Математическое обеспечение АИС - это совокупность математических средств, используемых при описании алгоритмов решения задач бухгалтерского учета, а также моделей представления и интерпретации учетной информации, используемых в программном обеспечении АИС.

Автоматизированный рабочий комплекс - комплекс аппаратных, программных, информационных, методических и организационных средств, включающих в себя:

1)   Операционную систему, поддерживающую работу персонального компьютера (ПК);

2)   Аппаратные средства и программное обеспечение локальной вычислительной сети издательства;

)     Аппаратные средства и программное обеспечение машинной графики;

)     Прикладное программное обеспечение пакетной и интерактивной обработки изданий в соответствии с техническими правилами полиграфического оформления;

)     Библиотеку оцифрованных полиграфических шрифтов;

)     Систему управления базами данных;

)     Лазерное распечатывающее устройство для получения копий полос издания в полиграфическом исполнении;

Выводные секции для экспонирования информации на фотоматериал.

2.2 Краткая характеристика веб-технологий

 (от англ. HyperText Markup Language - «язык гипертекстовой разметки») - основной язык разметки документов в локальных и глобальных сетях. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами, полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства [9].

Язык HTML - язык тегов. Теги описывают структуру HTML-документа. Теги оформляются угловыми скобками <имя тега>, между которыми прописывается имя тега.

Теги располагаются в HTML-документе в соответствии с правилами разметки (порядок следования, правило вложенности тегов), создавая разделы будущей веб-страницы. Кроме тегов, HTML-документы могут содержать специальные символы.

Браузер просматривает (интерпретирует) HTML-документ, выстраивая его структуру (DOM) и отображая ее в соответствии с инструкциями, включенными в этот файл (таблицы стилей, скрипты). Если разметка правильная, то в окне браузера будет отображена HTML-страница, содержащая HTML-элементы - заголовки, таблицы, изображения и т.д.

Процесс интерпретации (парсинг) начинается прежде, чем веб-страница полностью загружена в браузер. Браузеры обрабатывают HTML-документы последовательно, с самого начала, при этом обрабатывая CSS и соотнося таблицы стилей с элементами страницы.

Практически все теги имеют атрибуты (глобальные, применяемые для всех html-элементов, и собственные), указываемые в формате атрибут= «значение». Атрибуты позволяют изменять свойства элемента, для которого они заданы. Атрибуты прописываются в начальном теге элемента.

Атрибуты class и id применимы ко всем HTML-элементам, за исключением элементов, содержащих техническую информацию - <html>, <head>, <meta>, <title>, <style> и <script>. Каждому элементу можно присвоить несколько значений class и только одно значение id. Множественные значения class записываются через пробел, <div>

Большинство тегов - парные, они состоят из начального и закрывающего тегов. Начальный тег показывает, где начинается элемент, закрывающийся - где заканчивается. Закрывающий тег образуется путем добавления слэша / перед именем тега: <имя тега>…</имя тега>. Между начальным и закрывающим тегами находится содержимое тега - контент.

Одиночные теги не могут хранить в себе содержимого напрямую, оно прописывается как значение атрибута, например, тег <input type= «button» value= «Кнопка»> создаст кнопку с текстом Кнопка внутри.

Теги могут вкладываться друг в друга, например, <p><i>Текст</i></p>. При вложении следует соблюдать порядок их закрытия (принцип «матрёшки»), например, следующая запись будет неверной: <p><i>Текст</p></i>.документ состоит из двух разделов - заголовка - между тегами <head>…</head> и содержательной части - между тегами <body>…</body>.

PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools - «Инструменты для создания персональных веб-страниц») - скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений [10]. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

В области веб-программирования, в частности серверная часть, PHP - один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений [11]. Основные из них:

 автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

 взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

 автоматизированная отправка HTTP-заголовков;

 работа с XForms;

 обработка файлов, загружаемых на сервер;

 работа с локальными и удалёнными файлами, сокетами;

 работа с cookies и сессиями;

 работа с HTTP-авторизацией.

В настоящее время PHP используется большим количеством разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в июне 2013 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл «foreach», заимствованы из Perl [12].

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т.п. Любая программа может начинаться непосредственно с оператора PHP.

Perl - высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language - «практический язык для извлечения данных и составления отчётов» [13]. Первоначально аббревиатура состояла из пяти символов и в таком виде в точности совпадала с английским словом pearl («жемчужина»). Но затем стало известно, что такой язык существует, и букву «a» убрали. Символом языка Perl является верблюд - не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.

Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе работа с регулярными выражениями, встроенная в синтаксис.

Общая структура Perl в общих чертах ведёт своё начало от языка Си. Perl - процедурный по своей природе, имеет переменные, выражения присваивания, блоки кода, отделяемые фигурными скобками, управляющие структуры и функции.также заимствует ряд свойств из языков программирования командных оболочек UNIX. Все переменные маркируются ведущими знаками, которые точно выражают тип данных переменной в этом контексте (например, скаляр, массив, хеш). Важно, что эти знаки позволяют переменным быть интерполированным в строках. Perl обладает множеством встроенных функций, которые обеспечивают инструментарий, часто используемый для программирования оболочки, например сортировку или вызов системных служб.заимствует массивы из Лиспа, регулярные выражения из AWK и sed, из AWK также позаимствованы хеши («ассоциативные массивы»). Регулярные выражения облегчают выполнение многих задач по парсингу, обработке текста и манипуляций с данными.5 добавил поддержку сложных типов данных, первоклассных функций (замыкание как значение) и объектную модель. В последнюю версию входят ссылки, пакеты, выполнение методов от класса, переменные с лексическим объявлением области видимости, а также директивы компилятора (например, strict). Главнейшим усовершенствованием, представленным в Perl 5, стала возможность помещать код в «пакеты» (package) в качестве модулей для повторного использования. Ларри Уолл позже заметил, что «Весь замысел модульной системы Perl 5 сводился к поощрению роста культуры Perl, а не строчек кода».

Все версии Perl выполняют автоматическую типизацию данных и автоматический контроль над памятью. Интерпретатор знает тип и запросы памяти каждого объекта программы, он распределяет и освобождает память, производя подсчёт ссылок. Перевод одного типа данных в другой - например, числа в строку - происходит автоматически во время исполнения, невозможные для выполнения переводы типов данных приводят к фатальной ошибке.

MySQL - свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB [14]. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

февраля 2008 года Sun Microsystems приобрела MySQL AB за $1 млрд, 27 января 2010 года Oracle приобрела Sun Microsystems за $7,4 млрд и включила MySQL в свою линейку СУБД.

Сообществом разработчиков MySQL созданы различные ответвления кода, такие, как Drizzle (англ.), OurDelta, Percona Server и MariaDB. Все эти ответвления уже существовали на момент поглощения компании Sun корпорацией Oracle.

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk, Компонентный Паскаль и Tcl, библиотеки для языков платформы.NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC [15].представляет собой драйвер ODBC (2.50) уровня 0 (с некоторыми возможностями уровней 1 и 2) для подсоединения совместимого с ODBC приложения к MySQL. MyODBC работает на всех системах Microsoft Windows и на большинстве платформ Unix.

Но, не смотря на все преимущества MySQL, существуют и недостатки, например, MySQL не позволяет корректно применять регулярные выражения (операторы REGEXP и RLIKE) на строках в многобайтовых кодировках, например, для Юникода (UTF-8). При необходимости таких операций приходится переходить на однобайтовые кодировки, например русскую Win-1251 или KOI-8.- свободная объектно-реляционная система управления базами данных (СУБД). Базируется на языке SQL и на данный момент имеет версию 9.2.1.ведёт свою «родословную» от некоммерческой СУБД Postgres, разработанной в Калифорнийском университете в Беркли. К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres, на тот момент уже приобретённого компанией Computer Associates. Само название «Postgres» расшифровывалось как «Post Ingres», соответственно, при создании Postgres были применены многие уже ранее сделанные наработки.

Стоунбрейкер и его студенты разрабатывали новую СУБД в течение восьми лет с 1986 по 1994 год. За этот период в синтаксис были введены процедуры, правила, пользовательские типы и многие другие компоненты. Работа не прошла даром - в 1995 году разработка снова разделилась: Стоунбрейкер использовал полученный опыт в создании коммерческой СУБД Illustra, продвигаемой его собственной одноимённой компанией (приобретённой впоследствии компанией Informix), а его студенты разработали новую версию Postgres - Postgres95, в которой язык запросов POSTQUEL - наследие Ingres - был заменен на SQL.

В этот момент разработка Postgres95 была выведена за пределы университета и передана команде энтузиастов. С этого момента СУБД получила имя, под которым она известна и развивается в текущий момент - PostgreSQL.

Для написания серверной части сайта или приложения есть множество языков, но для реализации проекты были разобраны Perl и PHP, так как данные, которые передаются между сервером и клиентом в сообщениях, представляют собой текст, на что эти языки и ориентированы.

Выбор между Perl и PHP пал на второй, так как Perl - это язык программирования, универсальный инструмент для решения очень широкого круга задач. В свою очередь PHP изначально предназначался для разработки веб-приложений, что облегчит процесс разработки.

Проекту необходимо хранить большой объём данных и для этого ему необходима база данных. А для эффективного и удобного использования этих данных нужна СУБД.

Мною было рассмотрено две СУБД PostgreSQL и MySQL. Каждая себя хорошо зарекомендовала в веб-разработке, но выбор был сделан с пользу MySQL. Данных проект не предполагает сложной логикой и сложных связей между таблицами, поэтому нет особой необходимости в дополнительных возможностях и проверках, которые предоставляет PostgreSQL. Так же важным моментом является наличие связки PHP и MySQL практически на каждом веб-хостинге.

2.3 Характеристика средств проектирования

CASE-средства

Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО.

Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.

В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Современный рынок программных средств насчитывает множество различных CASE-средств, наиболее мощные из которых так или иначе используются практически всеми ведущими западными фирмами.

Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ПО и обладающее следующими основными характерными особенностями [16]:

)     Мощные графические средства для описания и документирования ИС, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности;

)     Использование специальным образом организованного хранилища проектных метаданных (репозитория);

)     Интеграция отдельных компонент CASE-средств, обеспечивающая управляемость процессом разработки ИС;

)     Репозиторий, являющийся основой CASE-средства. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;

)     Графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм, образующих модели ИС;

)     Средства конфигурационного управления;

)     Средства тестирования;

)     Средства документирования;

)     Средства реинжиниринга;

)     Средства управления проектом.

Все современные CASE-средства могут быть классифицированы в основном по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы жизненного цикла. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозиторием. CASE-средства так же можно классифицировать по признакам:

)     Применяемым методологиям и моделям систем и БД;

)     Доступным платформам;

)     Степени интегрированности с СУБД.

Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает основные типы:

)     Средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области;

)     Средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций. Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;

)     Средства разработки приложений;

)     Средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз для наиболее распространенных СУБД. К ним относятся ERwin, S-Designor и DataBase Designer;

)     Средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.

Вспомогательные типы включают в себя:

)     Средства тестирования;

)     Средства планирования и управления;

4)   Средства документирования.

На сегодняшний день рынок программного обеспечения располагает следующими CASE-средствами:

1)   Vantage Team Builder (Westmount I-CASE);

2)   Silverrun;

)     Designer/2000;

)     ERwin+BPwin;

)     S-Designor;

6)   ArgoUML;

7)   CASE. Аналитик.

Краткая характеристика CASE-средств

AllFusion ERwin Data Modeler - CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных [17]. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.предназначен для всех компаний, разрабатывающих и использующих базы данных, для администраторов баз данных, системных аналитиков, проектировщиков баз данных, разработчиков, руководителей проектов. AllFusion ERwin Data Modeler позволяет управлять данными в процессе корпоративных изменений, а также в условиях стремительно изменяющихся технологий.позволяет наглядно отображать сложные структуры данных. Удобная в использовании графическая среда AllFusion ERwin Data Modeler упрощает разработку базы данных и автоматизирует множество трудоемких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных. Данное решение улучшает коммуникацию в организации, обеспечивая совместную работу администраторов и разработчиков баз данных, многократное использование модели, а также наглядное представление комплексных активов данных в удобном для понимания и обслуживания формате.

Ключевые характеристики AllFusion ERwin Data Modeler 7:

1)   Синхронизация моделей/баз данных;

2)   Автоматизированное создание структуры базы данных и обратное проектирование;

)     Документирование структур баз данных;

)     Поддержка нотаций: IDEF1x, IE, Dimensional;

)     Возможна совместная работа группы проектировщиков;

)     Публикация моделей;

)     Перенос структур баз данных (но не самих данных) из одного типа СУБД в другой.

Функциональные возможности ERwin.

Архитектура уровня проектирования. AllFusion ERwin Data Modeler (ERwin) имеет достаточную гибкость для разработки архитектуры связанных моделей данных, полностью удовлетворяющей потребностям организации. Наряду с комбинированной логической / физической моделью поддерживаются раздельные логические и физические модели. Благодаря накоплению знаний об отношениях между компонентами связанных моделей и ведению журнала проектных решений пользователи могут быстро определять влияние изменений одного уровня проектирования на другой.

Технология трансформации.

Физическая структура базы данных редко совпадает с исходной логической структурой. В целях повышения производительности бизнес-приложений часто требуется проводить денормализацию данных на физическом уровне модели. AllFusion ERwin Data Modeler (ERwin) позволяет автоматизировать процесс трансформации модели, сохраняя в целости исходный проект.

Определение стандартов.

Определение и поддержка стандартов обеспечивается с помощью словаря доменов Domain Dictionary, редактора стандартов именования Naming Standards Editor и редактора стандартов типов данных Datatype Standards Editor. Словарь доменов содержит многократно используемые атрибуты и обеспечивает непротиворечивость имен и определений в рамках модели. Редактор стандартов именования позволяет пользователям создавать словари разрешенных терминов, аббревиатур и правил именования, которые могут использоваться повторно в рамках модели. Редактор стандартов типов данных позволяет определять собственные правила соответствия между типами данных разных СУБД.

Поддержка нескольких нотаций моделирования. Для визуального проектирования систем обработки транзакций, витрин и хранилищ данных в единой интегрированной среде ERwin поддерживает три популярные нотации моделирования данных: Integration DEFinition for Information Modeling (IDEF1X), Information Engineering (IE), Dimensional Modeling (DM).

Управление большими моделями.облегчает управление большими корпоративными моделями за счет использования предметных областей (Subject Areas) и хранимых отображений (Stored Displays). Предметные области позволяют конкретным проектировщикам фокусировать внимание, разделяя модель на более мелкие, и за счет этого легче управляемые подмодели. Хранимые отображения предоставляют разные варианты графического представления модели или ее предметных областей, облегчая обмен информацией между специализированными группами пользователей.

Полное сравнение / синхронизация (Complete Compare).

Эта мощная технология автоматизирует полную двунаправленную синхронизацию модели, скриптов и баз данных. При синхронизации для выбранных пользователем объектов отображаются отличия, и пользователю предлагается выбрать, какие из обнаруженных отличий и в каком направлении необходимо внести. При этом AllFusion ERwin Data Modeler (ERwin) может автоматически сгенерировать ALTER-скрипт на изменение.

Генерация структуры базы данных.позволяет автоматически сгенерировать структуру базы данных из модели. Входящие в продукт оптимизированные шаблоны триггеров ссылочной целостности и богатый макроязык, совместимый с различными типами баз данных, позволяют пользователю настроить триггеры и хранимые процедуры. Настраиваемые шаблоны облегчают генерацию законченной физической структуры базы данных и полных определений (для соответствующей целевой базы данных).

Проектирование хранилищ и витрин данных.

Производительность, удобство в использовании и ценность хранилища данных напрямую зависит от модели, лежащей в его основе. ERwin поддерживает техники моделирования, характерные для проектирования хранилищ данных, такие как многомерное моделирование по схеме «звезда» или «снежинка», которые гарантируют, что хранилище данных оптимизировано как по производительности, так и по аналитическим возможностям. Кроме того, продукт способен собирать и документировать широкий спектр информации о хранилище данных, в том числе об источниках данных, логике трансформации данных и правилах управления данными.

Обратное проектирование.позволяет провести автоматическую обратную генерацию структуры базы данных в модель для ее изучения и документирования и / или для последующей миграции на платформу другой СУБД.

Графические объекты.

С помощью графических объектов ERwin обеспечивает наглядное представление бизнес-правил. Графические объекты, например линии, эллипсы и другие, легко редактируются. Разработчики моделей могут также настраивать параметры шрифта и цвета объектов.

Навигатор модели (Model Explorer).Explorer - это удобный в использовании инструмент, обеспечивающий навигацию по модели, а также выбор объектов для их анализа или редактирования. Помимо традиционного изображения модели в виде диаграммы, Model Explorer обеспечивает компактное упорядоченное представление модели и ее содержимого.

Полный набор возможностей Undo/Redo. AllFusion ERwin Data Modeler (ERwin) предоставляет полный комплект возможностей «отменить / вернуть изменения» в пределах сессии моделирования. Возможности Undo/Redo могут быть применимы ко всем задачам моделирования, включая изменения размещения и создание / обновление / удаление объектов. Отменяя конкретные изменения модели, пользователи могут полностью понимать влияния этих действий.

Создание и печать отчетов.

Ключевым элементом, обеспечивающим коммуникацию и совместную работу пользователей в процессе моделирования, является способность визуализации и публикации данных. ERwin предоставляет гибкие, настраиваемые возможности создания отчетов и печати. Два встроенных построителя шаблонов отчетов: ERwin Data Browser и Report Template Builder - позволяют однократно разработать шаблон отчета, который впоследствии будет доступен для использования в любых моделях для генерации отчетов в любом из форматов: HTML, RTF, TXT, PDF.

Встроенная технология обмена метаданными.

Встроенная передовая технология предоставляет возможность обмена метаданными между ERwin и другими средствами, такими как MS Excel, XSD, XMI, CWM, ведущими ETL/EII-инструментами, многочисленными средствами BI/Reporting, а также с широким спектром сред моделирования такими, как: Rational Data Architect, Oracle Designer, Sybase Power Designer и другими - всего порядка 100 популярных продуктов. Данная технология позволяет сэкономить временные и материальные ресурсы благодаря устранению необходимости перепроектировать модели.

Поддерживаемые СУБД:

1)   Oracle;

2)   ODBC;

3)   SQL Server;

)     Teradata;

5)   DB2/UDB (включая iSeries);

)     Ingres;

)     Informix;

)     Sybase;

)     Progress;

Интеграция с другими продуктами:

AllFusion ERwin Data Modeler интегрирован с широким спектром сред моделирования, такими как Rational Data Architect, Oracle Designer, Sybase Power Designer и др.

Rational Rose - CASE-средство фирмы Rational Software Corporation (США) - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на С++. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.

В основе работы Rational Rose лежит построение различного рода диаграмм и спецификаций, определяющих логическую и физическую структуры модели, ее статические и динамические аспекты. В их число входят диаграммы классов, состояний, сценариев, модулей, процессов.

В составе Rational Rose можно выделить 6 основных структурных компонент: репозиторий, графический интерфейс пользователя, средства просмотра проекта, средства контроля проекта, средства сбора статистики и генератор документов. К ним добавляются генератор кодов (индивидуальный для каждого языка) и анализатор для С++, обеспечивающий реинжиниринг - восстановление модели проекта по исходным текстам программ.

Репозиторий представляет собой объектно-ориентированную базу данных. Средства просмотра обеспечивают «навигацию» по проекту, в том числе, перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д. Средства контроля и сбора статистики дают возможность находить и устранять ошибки по мере развития проекта, а не после завершения его описания. Генератор отчетов формирует тексты выходных документов на основе содержащейся в репозитории информации.

Средства автоматической генерации кодов программ на языке С++, используя информацию, содержащуюся в логической и физической моделях проекта, формируют файлы заголовков и файлы описаний классов и объектов. Создаваемый таким образом скелет программы может быть уточнен путем прямого программирования на языке С++. Анализатор кодов С++ реализован в виде отдельного программного модуля. Его назначение состоит в том, чтобы создавать модули проектов в форме Rational Rose на основе информации, содержащейся в определяемых пользователем исходных текстах на С++. В процессе работы анализатор осуществляет контроль правильности исходных текстов и диагностику ошибок. Модель, полученная в результате его работы, может целиком или фрагментарно использоваться в различных проектах. Анализатор обладает широкими возможностями настройки по входу и выходу. Например, можно определить типы исходных файлов, базовый компилятор, задать, какая информация должна быть включена в формируемую модель и какие элементы выходной модели следует выводить на экран. Таким образом, Rational Rose/С++ обеспечивает возможность повторного использования программных компонент.

В результате разработки проекта с помощью CASE-средства Rational Rose формируются документы:

·    диаграммы сценариев;

·    диаграммы состояний;

·    диаграммы классов;

·    диаграммы модулей;

·    диаграммы процессов;

·    заготовки текстов программ;

·    спецификации классов, объектов, атрибутов и операций;

·    модель разрабатываемой программной системы.

Для проектирования бизнес-процессов и модели базы данных мною были рассмотрены CASE-средства ERwin Process Modeler, ERwin Data Modeler и Rational Rose.

В отличие от других Rational Rose является объектно-ориентированным средством с основным направлением на C++, что в меньшей степени подходит данному проекту. Поэтому мною были выбраны ERwin Process Modeler и ERwin Data Modeler, которые являются средствами локальной автоматизации, имеют упрощенную структуру и имеют целевую направленность, и в результате представляются одним из самых простых и удобных решений автоматизации.

3.  
Разработка технических требований и архитектуры серверной части

Так как данный проект будет работать на стороне сервера, то серверная машина должна соответствовать ряду требований. Необходимо наличие следующего программного обеспечения:

·    скриптовый язык программирования PHP 5 версии или выше;

·    система управления базами данных MySQL 5 версии или выше;

·    веб-сервер.

Веб-сервер - сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает.

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы - это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Наиболее известные веб-серверы:

·    Apache (Apache Software Foundation, v. 2.4.20, свободное ПО);

·    IIS (Microsoft, v. 10, проприетарное ПО);

·    Nginx (NGINX, Inc. и Игорь Сысоев, v. 1.10.0, свободное ПО);

·    Lighttpd (Ян Кнешке, v. 1.4.38, свободное ПО);

·    Resin (Caucho Technology, v. 4.0.44, свободное ПО);

·    Cherokee (v. 1.2.103, свободное ПО);

·    THTTPD (Jef Poskanzer, v. 2.27.0, свободное ПО).

Важным требованием к веб-серверу является наличие возможности настройки перенаправления запросов, так как серверный модуль АРМ будет работать через единую точку обработки входящих запросов.

3.1 Взаимодействие серверного и клиентского модулей

АРМ является распределённой клиент-серверной системой. При одном сервере может быть много клиентов, поэтому серверный модуль должен иметь возможность обрабатывать запросы из множества разных источников (рисунок 7).

Рисунок 7. Работа с множеством клиентов

Взаимодействие же между серверным модулем и одним клиентским модулем происходит путём обмена данными через запрос-ответ. При запросе клиентом новой страницы, сервер ответит сформированной разметкой страницы и набором последних данных на момент ответа. На все последующие запросы клиента с этой страницы, сервер уже будет отвечать только новыми данными без разметки (рисунок 8).

Рисунок 8. Схема взаимодействия модулей

3.2 Постановка задачи

Задачей данного дипломного проекта является автоматизация деятельности кадровой службы или HR-отдела. Для этого необходимо определить бизнес-процессы, а так же разработать базу данных, алгоритмы взаимодействия модулей с их последующей реализацией.

Автоматизация должна коснуться:

1)   отправки, получения и хранения электронных документов;

2)   группировки кандидатов по категориям;

3)   ведения переговоров с кандидатами;

4)   координации действий специалистов;

В итоге, необходимо устранить большинство недостатков текущей организации деятельности по работе с кандидатами, а именно:

1)   обмен и хранение бумажных носителей;

2)   ведение продолжительных телефонных разговоров и переписок в электронной почте и освобождение почты от чрезмерного количества писем;

3)   отсутствие группировки кандидатов по нужным категориям;

4)   отсутствие удобного и быстрого доступа к информации об интересующем кандидате и др.

4.  
Бизнес-процессы АРМ специалиста

Для реализации разрабатываемой АИС необходимо построение функциональной модели для выделения основных, выполняемых системой, бизнес-процессов.

При построении модели использована методология функционального моделирования IDEF0.

На верхнем уровне представлен процесс обработки запроса серверной частью (рисунок 9).

Рисунок 9. Схема верхнего уровня бизнес-процессов

К входным данным относятся:

-  запрос клиентской части, который может быть как запросом данных, так и запросом на добавление или изменение данных;

-    данные из базы данных.

К блоку управления относится только протокол HTTP, который определяет структуру запроса и ответа.

Механизмами служат скриптовый язык PHP, на котором выполняются все бизнес-процессы и СУБД MySQL, с помощью которой ведётся работа с базой данных.

Блок выходных данных заполняет ответ, который содержит в себе результат работы серверной части, а именно разметку страницы или отдельные данные.

Декомпозиция процесса верхнего уровня представлена уже четырьмя процессами (рисунок 10).

Рисунок 10. Диаграмма декомпозиции второго уровня бизнес-процессов

Первым процессом выполняется получение параметров и данных запроса, который получает запрос клиентской части и, используя структуру протокола HTTP, уже получает данные о запрашиваемой странице или инструкции об изменении данных, а так же куки.

Вторым выполняется процесс получения настроек серверной части. К этим настройкам относятся адреса и пути, используемые системой.

Следующий процесс производит проверку сессии пользователя запроса на наличие прав доступа в системе.

Последним процессом выполняется формирование данных для ответа, который, имея данные запроса и уровень доступа пользователя запроса, производит необходимые операции и формирует ответ для клиентской части.

Третий процесс второго уровня диаграммы состоит из двух процессов (рисунок 11).

Рисунок 11. Диаграмма декомпозиции третьего процесса второго уровня

Первым выполняется процесс запуска сессии. Входными данными являются сохранённые данные сессии в куках клиента, если такие имеются. Этот процесс на выходе передаёт идентификатор пользователя запроса или ноль, если сессия не была запущена, т.е. пользователь не авторизован в системе или же его идентифицирующие данные были изменены.

Вторым процессом происходит получение данных о пользователе запроса. Если полученный идентификатор не нулевой, то из базы данных будут получены персональные данные и список псевдонимов страниц, к которым данный пользователь имеет доступ.

Процесс формирования данных для ответа, второго уровня диаграммы, состоит из четырёх процессов (рисунок 12).

Рисунок 12. Диаграмма декомпозиции четвёртого процесса второго уровня

В начале, процесс определяет тип получаемых данных. От типа зависит, какой из процессов будет выполняться далее. Если в запросе указана страница, то выполнится процесс получения страницы запроса, а если указано изменение данных, то процесс получения данных запроса.

Итогом второго или третьего процесса будет результат запроса, будь то разметка страницы, результат изменения данных или сами данные из БД.

В конце выполняется процесс формирования ответа. Основываясь на протоколе HTTP, будет составлен ответ, включающий в себя результат запроса, выполненный серверной частью.

Процесс получения страницы запроса (рисунок 12) состоит из двух процессов (рисунок 13).

Рисунок 13. Диаграмма декомпозиции процесса получения страницы запроса

Процесс определения необходимой страницы получает псевдоним страницы из данных запроса и проверяет на существование и доступность пользователю.

Следующий процесс формирует страницу по переданному псевдониму, будь это псевдоним запрашиваемой страницы, отсутствия страницы или переадресации на главную для не авторизованного пользователя. Само формирование происходит с использованием шаблонов страниц.

Процесс получения данных запроса (рисунок 12) состоит из двух процессов (рисунок 14).

Рисунок 14. Диаграмма декомпозиции процесса получения данных запроса

Процесс выбора подпрограммы получает из данных запроса наименование подпрограммы и проверяет её существование и доступность пользователю. Готовая к выполнению подпрограмма передаётся следующему процессу.

Процесс выполнения подпрограммы производит её запуск и сохраняет как результат запроса для процесса формирования ответа (рисунок 12).

5.  
Разработка модели баз данных

При проектировании автоматизированной информационной системы были построены логическая и физическая модель базы данных, представленные на рисунках 15 и 16 соответственно.

В физической модели базы данных таблица hrw_page отражает основные страницы системы, такие как страница регистрации, авторизации и другие. Данная таблица состоит из 6 полей:

) id - уникальный идентификатор страницы, для обращения к ней при необходимости;

) title - поле, хранящее заголовок страницы;

3) alias - поле, в котором хранится псевдоним страницы, отображаемый в адресной строке браузера;

4) template_id - данное поле, определяет по уникальному идентификатору шаблон, который необходимо использовать для формирования страницы;

) group_id - данное поле определяет к какому типу относится страница;

) content_filename - в этом поле указывается имя файла, из которого на страницу подгружается содержимое.

В hrw_cgroup хранится информация о группах специалистов. Группы могут быть как предустановленные, так и созданные специалистом. Таблица имеет четыре поля:

) id - уникальный идентификатор группы, для обращения к ней при необходимости;

) user_id - в данном поле хранится информация о создателе-владельце группы в виде его уникального идентификатора;

) title - хранит название группы;

) color - в этом поле хранится цвет метки, расположенной слева от наименования группы. Цвет может быть предустановленным для системных групп, и может назначаться специалистом для пользовательских групп.

Рисунок 15. Логическая модель базы данных

Рисунок 16 а. Физическая модель базы данных

В таблице hrw_user хранятся данные о пользователях, зарегистрированных в системе. В данной таблице 17 полей:

) id - уникальный идентификатор пользователя, по которому в любой момент можно обратиться конкретно к этому пользователю;

) login - уникальное имя на латинице, которое пользователь использует для входа в систему;

) password - данное поле хранит пароль пользователя в зашифрованном виде, шифрование происходит по алгоритму хэш SHA-512. Текущий алгоритм выбран из-за высокой степени защиты, которая дополнительно усиливается использованием модификатора, так называемой, «соли».

) salt - в этом поле хранится модификатор пароля, который повышает стойкость пароля к дешифровке;

Рисунок 16 б. Физическая модель базы данных

) email - данное поле хранит адрес электронной почты специалистов и кандидатов;

) first_name, middle_name, last_name - в этих полях хранятся соответственно имя, фамилия и отчество пользователя;

) direction_id - поле хранит уникальный идентификатор направления, на которое претендует кандидат, у специалистов в данном поле всегда 0;

) group_id - в это поле хранится уникальный идентификатор типа пользователя. Пользователь может быть одного из трёх типов: специалист, администратор, кандидат;

) is_active - поле, показывающее статус регистрации пользователя. «1» - если пользователь подтвердил регистрацию переходом по ссылке в письме, «0» - если пользователь не закончил регистрацию, такие пользователи через некоторое время удаляются;

) last_login - данное поле показывает, когда пользователь заходил в систему последний раз;

) failed_login_count - поле является счётчиком, который регистрирует количество ошибочных вводов логина и / или пароля. Если значение этого поля больше или равно значению поля max_failed_login, то пользователь блокируется до разблокировки администратором. В чате пользователь также помечается заблокированным, чтобы специалист мог быстро среагировать на проблему. Такая схема сделана для защиты аккаунтов пользователей от взлома перебором паролей.

) is_banned - поле показывает заблокирован ли пользователь;

) reg_date - в этом поле хранится дата регистрации пользователя в системе;

) reg_token - после отправки формы регистрации, пользователю будет выведено сообщение, что отправлено письмо на указанную почту со ссылкой подтверждения. Эта ссылка будет включать токен из текущего поля для идентификации записи, которую надо активировать.

В таблице hrw_direction хранятся направления, в которых могут работают специалисты. Таблица состоит из двух полей:

) id - в поле хранится уникальный идентификатор направления, по которому можно напрямую обратиться к нужном направлению;

) title - данное поле хранит в себе наименование направления;

В таблице hrw_page_group хранятся группы, в которые могут включаться страницы, в зависимости от своего типа. Таблица состоит двух полей:

) id - в поле хранится уникальный идентификатор группы, по которому можно напрямую обратиться к необходимой;

) title - поле хранит в себе заголовок группы;

В таблице hrw_page_template хранятся шаблоны оформления, которые используются при формировании страницы. Таблица из трёх полей:

) id - в поле хранится уникальный идентификатор шаблона, по которому можно напрямую обратиться к нужному;

) title - поле хранит заголовок шаблона;

) filename - в данном поле находится имя файла, в котором находится шаблон.

В таблице hrw_page_user_connections хранятся права доступа групп пользователей, к определённым группам страниц. Таблица состоит из 3 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) page_group_id - в данном поле хранится идентификатор группы страниц, к которым имеют доступ пользователи по идентификатору из поля user_group_id;

В таблице hrw_settings хранятся клиент-серверные настройки, которые определяют поведение всего сервиса. Таблица состоит из 4 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) name - поле хранит имена настроек, по которым можно получать или изменять необходимые значения;

) title - в данном поле находится заголовки настроек;

) value - это поле хранит значения настроек;

В таблице hrw_user_direction_connections хранится информация о том, в каких направлениях может работать специалист. Таблица состоит из 3 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) spec_id - поле хранит идентификатор пользователя, который является специалистом;

) direction_id - в этом поле хранится идентификатор, который определяет, по каким направлениям может работать специалист.

В таблице hrw_user_group хранятся группы, в которые могут включаться пользователи, в зависимости от своей роли. Таблица состоит двух полей:

) id - в поле хранится уникальный идентификатор группы, по которому можно напрямую обратиться к необходимой группе;

) title - поле хранит в себе заголовок группы;

Таблица hrw_cand_file хранит в себе данные о файлах, которые заливал кандидат и состоит из 5 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) cand_id - данное поле содержит уникальный идентификатор кандидата, которому принадлежит файл;

) name - в этом поле находится имя файла;

) type - это поле хранит тип файла, например, текстовый или графический;

) filename - в этом поле хранится физическое имя файла, под которым он хранится на жёстком диске.

В таблице hrw_spec_file хранятся записи о файлах, принадлежащих специалистам. Таблица состоит из 6 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) parent_id - поле хранит идентификатор каталога, которому принадлежит файл;

) is_dir - в данном поле хранится информация, которая определяет каталог или файл выбранный объект;

) name - в этом поле хранится имя файла;

) type - это поле хранит тип загруженного файла, например, текстовый или изображение;

) filename - в этом поле хранится физическое имя файла, под которым он хранится на жёстком диске.

В таблице hrw_message хранятся все сообщения, которыми обмениваются специалисты и кандидаты. Таблица состоит из 5 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) sender_id - поле хранит в себе идентификатор отправителя сообщения;

) receiver_id - в этом поле хранится идентификатор получателя;

) text - в данном поле находится, непосредственно, текст сообщения;

) date - хранит в себе дату и время отправления.

В таблице hrw_user_cgroup_connection хранится информация о том, в какую группу специалиста попадает пользователь при подключении. Таблица состоит из трёх полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) user_id - поле хранит идентификатор пользователя, который подключается к определённой группе;

) cgroup_id - в данном поле хранится идентификатор группы, к которой подключается кандидат при входе в систему.

В таблице hrw_user_info хранится информация о выбранном кандидате. Таблица состоит из 6 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) cand_id - в данное поле хранится идентификатор кандидата, к которому привязана запись текущей таблицы;

) age - поле хранит возраст кандидата;

) education - в этом поле хранится информация об образовании кандидата;

) tel - в данном поле находится номер телефона кандидата;

) direction_id - это поле хранит уникальный идентификатор, который показывает, к какому направлению принадлежит кандидат.

В таблице hrw_user_note хранятся заметки специалистов о кандидатах. Таблица состоит из 6 полей:

) id - в поле хранится уникальный идентификатор записи, по которому можно напрямую обратиться к нужной записи;

) author_id - в этом поле хранится идентификатор создателя заметки;

) cand_id - данное поле хранит идентификатор кандидата, о котором создана заметка;

) title - поле хранит заголовок заметки;

) text - в это поле хранится содержимое заметки;

) date - в данное поле записывается дата создания заметки.

После регистрации соискателю на указанную почту будет прислано сообщение, в котором будет указана ссылка для подтверждения регистрации. После подтверждения пользователь будет окончательно добавлен в таблицу User.

Для специалиста все соискатели отсортированы по группам, таким как новые, отложенные или отработанные. Эти группы созданы по умолчанию, но любой специалист может создать и свою группу, которая будет добавлена в таблицу hrw_cgroup.

Как и специалист, соискатель может добавить в систему необходимые файлы, такие как резюме или же результаты тестового задания. Исключением является только то, что файлы соискателя в отличие от файлов специалиста являются индивидуальными.

Основным способом диалога между специалистом и соискателем является обмен сообщениями. Все сообщения добавляются в таблицу hrw_message.

6.  
Разработка алгоритмов взаимодействия модулей

На рисунке 17 показана диаграмма использования серверной части, которая показывает поведение системы при запросе пользователя.

Рисунок 17. Диаграмма использования

Со стороны как кандидата, так и специалиста первое обращение к АРМ вызовет запрос клиентом страницы у сервера. В начале работы такой страницей станет форма авторизации пользователя в системе. Отдельно для кандидата существует страница с формой регистрации, заполнив которую он получает доступ к системе. Так же после регистрации на указанную почту кандидата придёт письмо с просьбой подтверждения регистрации и лишь после подтверждения кандидат будет окончательно зарегистрирован.

После успешной авторизации пользователю сервером будет выдана страница с основным интерфейсом системы. У кандидата и специалиста эти интерфейсы отличаются.

Любое последующее действие пользователя, кроме нескольких типов, будет вызывать посылку запроса клиентом серверу на получение или изменение данных. Будь то получение списка текущих кандидатов в конкретной группе или отправка сообщения при диалоге.

Серверный модуль работает в двух режимах:

-  Выдача страниц (рисунок 18);

-    Обработка запросов (рисунок 19).

Рисунок 18. Схема обработки запроса страницы

Рисунок 19. Схема обработки асинхронного запроса

На рисунке 20 показана схема алгоритма формирования страницы запроса.

Рисунок 20. Схема формирования страницы

Формирование происходит путём нахождения в шаблоне страницы указателей на плейсхолдеры, чанки и сниппеты. После нахождения производится замена указателей на соответствующее содержимое. В случае сниппета, сначала происходит его выполнение и после этого возвращенные данные заменяют указатель.

7.  
Разработка и реализация программных модулей

.1 Описание контрольного примера реализации АРМ

Сервер системы АРМ HR-специалиста может работать в двух режимах:

1)   запрос страницы (рисунке 21);

)     асинхронный запрос (рисунке 22).

В обоих режимах сервер работает одинаково, но с разницей в конечном обработчике данных.

Рисунок 21. Общая последовательность работы в режиме запроса страницы

Весь сервис состоит из набора компонентов, которые представляют собой классы объектов. Компоненты, в свою очередь, могут работать с файлами различных типов. К таким типам относятся:

1)   шаблоны страниц;

)     содержимое страниц;

)     чанки;

)     сниппеты.

Все компоненты были созданы вручную в интегрированной среде разработки «NetBeans».

Рисунок 22. Общая последовательность работы в режиме асинхронного запроса

После того, как пользователь перейдёт на любую страницу сервиса, клиентская часть отсылает запрос, который обрабатывается веб-сервером и запускается скрипт index.php.

Скрипт определяет базовый пусть к каталогу и устанавливает флаг работы приложения, который предотвращает ручной запуск скриптов системы, путём ввода имени файла-скрипта в адресной строке браузера. Следующим шагом создаётся экземпляр компонента «application», после чего запускается на выполнение.

7.2 Компонент «application»

Данный компонент представляет собой каркас приложения. Его основными функциями являются:

1)   обработка присланных данных;

)     создание и хранение экземпляров других компонентов;

)     последовательный запуск компонентов;

)     обмен информацией между компонентами;

)     отправка пользователю заголовков вместе с содержимым страницы.

После создания всех необходимых для работы сервиса компонентов происходит их последовательных запуск.

Рисунок 23. Создание компонентов в «application»

В начале происходит подключение к базе данных, которая работает через систему управления базами данных MySQL. Для безопасности подключения используются логин и пароль, заданные на стадии установки и настройки сервиса. После чего из базы данных приложение получает список настроек, который включает в себя название сервиса, базовые страницы и др.

В случаях авторизации или запроса от уже авторизованного пользователя следующим шагом идёт создание сессии. После этого происходит заполнение компонента «user» данными о текущем пользователе, основываясь на данных сессии.

Рисунок 24. Получение списка настроек

Новым шагом проверяется тип запроса от пользователя. В случае запроса страницы компонент «router» обрабатывает URL для получения псевдонима страницы и проверки на наличие доступ у текущего пользователя к запрашиваемой страницы. Далее «application» передаёт полученный псевдоним в компонент «parser» для формирования итоговой страницы.

Рисунок 25. Отработка запроса страницы

В случае асинхронного запроса определяется запрашиваемый сниппет и запускается на выполнение.

Итогом работы компонента «application» является отправка заголовков и содержимого страницы или же результата работы сниппета.

Рисунок 26. Отработка асинхронного запроса

7.3 Компонент «database»

Данный компонент предоставляет функции для удобной работы с базой данных. Такими функциями являются:

1)   формирование строки запроса;

)     экранирование специальных символов. Производится для того, чтобы оградить систему от несанкционированного доступа путём ввода исполняемого кода в поля, где он может совершить действия, которые необходимы злоумышленнику. Чаще всего от подобных уязвимостей страдают системы, использующие SQL и HTML;

)     подключение к базе данных;

)     получение ошибок от СУБД. Используется для корректного продолжения работы;

)     закрытие соединения.

7.4 Компонент «session»

Отвечает за работу системы с сессией пользователя, которая включает в себя создание, получение данных и уничтожение. Также в данном компоненте происходит получение изменений данных в куках, установка имени сессии и продолжительности её жизни.

Рисунок 27. Проверка продолжения работы сессии

7.5 Компонент «user»

Компонент хранит данные о текущем пользователе: логин, пароль, адрес электронной почты и др. В этом же компоненте составляется список псевдонимов страниц, к которым данный пользователь имеет доступ. А также для авторизованного пользователя происходит получение личных данных.

Рисунок 28. Заполнение компонента «user» данными

7.6 Компонент «router»

Данный компонент получает псевдоним страницы из запроса (рисунке 29), проверяет существование псевдонима в базе данных и проверяет наличие в списке доступных текущему пользователю.

Рисунок 29. Пример запроса страницы

В случае отсутствия псевдонима в базе данных будет выведена страница с ошибкой 404 (не найдена запрашиваемая страница), а при недоступности данной страницы для пользователя будет выведена форма авторизации. Если авторизованный пользователь попытается запросить страницу, к которой у него нет доступа - он будет перенаправлен на свою главную страницу.

Рисунок 30. Работа компонента «router»

7.7 Компонент «parser»

Текущий компонент формирует содержимое страницы. Каждая страница состоит из:

1)   шаблона, который представляет собой html разметку страницы со вставленными чанками и сниппетами (рисунке 32);

)     набора чанков, т.е. выделенных блоков разметки;

)     набора сниппетов, скриптов возвращающих текстовый результат;

)     набора плейсхолдеров, т.е. мест для вставки данных самой страницы и системы.

Рисунок 31. Функция обработки плейсхолдеров

Формирование происходит путём линейного сопоставления в шаблоне страницы последовательности слов с правилами вставки чанков, сниппетов, плейсхолдеров с их последующей заменой на их содержимое.

Рисунок 32. Шаблон страницы специалиста

Полностью сформированное содержимое страницы передаётся в компонент «application» для отправки пользователю.

Рисунок 33. Процесс формирования страницы по шаблону

8.  
Экспериментальное тестирование и отладка

1.   Серверная часть имеет одну точку входа, которая представлена файлом index.php, поэтому прямой доступ к файлам должен быть закрыт. Для этого, в начале выполнения программы, устанавливается флаг (рисунок 34), что запуск произведён корректно.

Рисунок 34. Установка флага

После этого его наличие проверяется в начале каждого вызываемого скрипта (рисунок 35).

Рисунок 35. Проверка флага

Сделав прямой запрос «hrw.demo\application.core.php», выполнение скрипта было прекращено и на экран выведено сообщение о невозможности такого действия.

.     Компонента «router» тестировался, путём запроса страниц, через различные псевдонимы, к ним относились: существующие и не существующие, а так же те, к которым был и не было доступа разным группа пользователей. В результате компонент выдавал правильные данные.

·    Не существующий - страница 404 ошибки;

·    Существующий с нужным уровнем доступа - запрашиваемая страница;

·    Существующий с недостаточным уровнем доступа - страница по умолчанию.


Рисунок 36. Проверка изменение содержимого страницы

4.   При тестировании вывод страницы не содержал изображений. Проверив запросы браузера и их обработку на серверы было выявлено, что из-за перенаправления всех запросов на одну точку входа (рисунок 37), запрос отдельного изображения обрабатывался так же.

Рисунок 37. Перенаправление запросов в одну точку

Для решения было дописаны правила, исключающие такое поведение для каталога «media» и файлов изображений (рисунок 38).

Рисунок 38. Исключения для изображений

5.   При тестировании кода авторизации после ввода неправильного лоигна / пароля, пользователь оказывался заблокированным слишком быстро, а именно в два раза. Результат проверки дублирования запросов к базе данных и количества вызовов скриптов не выявил ошибок, следовательно, ошибка крылась в сервере и / или браузере. Проверив запросы к серверу, стало ясно, что от браузера к запросу страницы добавляется ещё дополнительный запрос на получение иконки сайта.

Эта ошибка была исправлена добавлением в исключения переадресации ещё и расширения файла иконки (рисунок 39).

Рисунок 39. Исключения для изображений

Заключение

Цель данного дипломного проекта заключалась в разработке программного продукта, который позволит сделать работу HR-специалиста более комфортной, чем при работе с бумажными носителями, путём оптимизации поиска, получения и обработки необходимой информации. Цель была полностью выполнена.

Для реализации поставленных целей необходимо было выполнение следующих задач:

) поиск и анализ программного обеспечения схожей тематики;

2) изучение взаимодействия между собой большого количества инструментов для web-разработки, таких как: HTML, CSS, JavaScript, PHP, MySQL и др.;

) разработка серверной части автоматизированной информационной системы;

) создание документации для ознакомления и работы администраторов с проектом.

В дополнение к задачам проекта была введена аутентификация и администрирование пользователей.

Данный программный продукт может быть внедрён в рабочий процесс любого предприятия, которое заинтересовано в более продуктивной работе.

В результате получился продукт достаточно функциональный, чтобы обеспечить большинство нужд 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 г.

.       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.

.       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 с.

Похожие работы на - Разработка серверной части АРМ специалиста по работе с персоналом

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!