Среди руководителей всегда существовала проблема в управлении проектами и персоналом. Развитие информационных технологий также затронуло эту область. Были созданы системы для управления проектами и системы для управления персоналом. Главным их недостатком является то, что они предоставляют информацию только по одной из двух подсистем, не объединяя эти понятия в единую систему. Одна система, объединяющая эти понятия, значительно удобней двух отдельно работающих подсистем, потому что она даёт возможность управлять проектами, основываясь на данных о персонале и наоборот, а это в свою очередь оптимизирует выполнение проектов и улучшает качество подбора людей под конкретное задание. Необходимость такой системы обусловлена ещё и тем, что с ростом предприятия под управлением руководителя могут находиться десятки проектов и тысячи человек одновременно. В таких случаях особенно удобно иметь систему, позволяющую руководителю работать с этими подсистемами в совокупности. Исходя из всего вышеперечисленного, была поставлена цель для курсовой работы.
Целью курсовой работы является создание системы управления проектами и персоналом предприятия.
Для достижения цели были поставлены следующие задачи:
спроектировать логическую структуру системы;
реализовать спроектированную структуру;
реализовать интерфейс ввода данных;
реализовать интерфейс вывода данных.
Перед началом работы необходимо выбрать средства для технической реализации системы. Выбор стоял между двумя вариантами:
SQL Server с клиентской частью на Windows Forms API;
CMS Plone с модулем OntoEditor.
Стоит отметить, что основной характеристикой для разрабатываемой системы должна быть её гибкость. То есть система должна легко дорабатываться и изменяться под различные требования руководителя. Таким образом, для этой цели лучше выбрать CMS Plone, потому что данная CMS имеет объектную базу, которая хорошо подходит под требования к гибкости системы, т.к. в ней можно легко поменять структуру под требования руководителя, в отличие от реляционной базы SQL Server, где проводить изменения в изначальной структуре порой сопоставимо по сложности с созданием новой базы. Также для CMS Plone есть модуль OntoEditor, разработанный Грегером С.Э.. Данный модуль представляет собой редактор онтологий, с помощью которого будет более удобно реализовывать структуру системы, а также ввод информации.
2. ПРОЕКТИРОВАНИЕ СТРУКТУРЫ СИСТЕМЫС целью наглядного представления структуры системы была создана диаграмма объектов UML, которая отображена на рисунке 2.1
Рисунок 2.1 – Диаграмма объектов UML
На рисунке 2.1 видно, что у задачи проекта есть определённый проект, и она требует группу людей для её реализации. У проекта есть его состояние и результат. У группы людей есть компетенции и особенности. Особенности определены по умолчанию полом и образованием. Человек состоит в группе людей.
При этом система предполагает следующие ограничения в своей работе:
каждая конкретная задача выполняется только одной группой людей,
которая имеет конкретную компетенцию для выполнения
необходимого проекта;
каждая конкретная группа людей имеет только одну компетенцию, а
также, при условии необходимости, только один пол и одно
образование, в противном случае пол и образование не указываются;
у проекта может быть только одно состояние и один результат
одновременно;
конкретный человек не может состоять более чем в одной группе
людей (для данной системы предполагается, что человек обладает
только одной профессией и поэтому заносится только в одну
конкретную группу)
3. РЕАЛИЗАЦИЯ СТРУКТУРЫ СИСТЕМЫВ CMS Plone все классы системы создаются с помощью добавления элемента OntoClass. Список классов и окно добавления нового элемента представлены на рисунке 3.1
Рисунок 3.1 – Список классов и окно добавления нового элемента
Класс «Пол» и «Образование» находится внутри класса «Особенности».
Затем создаём атрибуты внутри классов с помощью элемента ClassDataProperty. На рисунке 3.2 отображены атрибуты класса «Человек»
Рисунок 3.2 – Атрибуты класса «Человек»
После этого создаём для каждого класса отношения с помощью элемента ClassObjectProperty. Для этого необходимо ввести название отношения и в пункте Range выбрать класс, с которым будет связь в базе данных. На рисунке 3.3 отображена форма добавления ClassObjectProperty.
Рисунок 3.3 – Форма добавления ClassObjectProperty
После добавления элемент будет отображаться внутри класса как на рисунке 3.4 и на рисунке 3.5
Рисунок 3.4 – Элементы ClassObjectProperty класса «Задача проекта»
Рисунок 3.5 – Элементы ClassObjectProperty класса «Группа людей»
Из рисунков 3.4 и 3.5 видно, что класс «Задача проекта» по умолчанию имеет отношение с классом «Группа людей» и с классом «Проект», а класс «Группа людей» имеет отношения с классами «Особенности», «Компетенция», «Пол» и «Образование» . С помощью этого элемента можно создать отношения для любого класса тем самым изменив структуру объектной базы. Это очень удобно, поскольку позволяет выполнить практически любое требование заказчика к структуре системы.
Таким образом, была реализована структура системы управления проектами и персоналом предприятия на CMS Plone с помощью модуля OntoEditor.
4. РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА ВВОДА ДАННЫХДля создания интерфейса ввода данных в систему используем элемент под названием «Индивидуал». Находясь в необходимом классе его можно создать, выбрав в меню пункт под названием «Создать индивидуал». Откроется форма как на рисунке 4.1
Рисунок 4.1 – Форма создания индивидуала класса Проект
После создания индивидуалов класса «Проект», таким же образом создадим индивидуалы для всех классов. Примеры списков индивидуалов для класса «Человек» и класса «Группа» людей представлены на рисунках 4.2 и 4.3 соответственно.
Рисунок 4.2 – Список индивидуалов класса «Человек»
Рисунок 4.3 – Список индивидуалов класса «Группа людей»
Таким образом, в прототипе системы ввод данных реализован через индивидуалы для каждого класса. 5. РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА ВЫВОДА ДАННЫХДля наглядного представления данных в системе необходимо реализовать интерфейс вывода данных. Для реализации этой задачи в курсовой работе используется вывод данных с помощью добавления элементов Command, которые ссылаются на классы, индивидуалы которых необходимо вывести. А также создаётся портлет CommandPortlet, который ссылается на папку Portletes в которой были созданы все элементы типа Command.
С самого начала необходимо создать элементы Command для каждого класса, который необходимо вывести. Было создано 4 класса, которые изображены на рисунке 5.1
Рисунок 5.1 – Список элементов Command
Для интерфейса вывода по умолчанию было решено вывести все индивидуалы классов «Человек», «Группа людей», «Компетенция» и «Проект». Для каждой цели руководителя можно выбирать свои классы для вывода индивидуалов.
Затем был создан портлет CommandPortlet для вывода элементов Command в папке Portletes. Процесс создания портлета CommandPortlet изображён на рисунке 5.2
Рисунок 5.2 – Создание Портлета
В поле Title вводится название портлета, а в поле Location вводится ссылка на папку, которая содержит элементы Command. На рисунке 5.3 представлен полученный портлет, состоящий из списка элементов Command.
Рисунок 5.3 – Полученный портлет
Как видно на рисунке, получился список всех элементов Command, которые были созданы в папке Portletes. При нажатии на элемент «Список людей» в списке, выводится окно, представленное на изображении 5.4
Рисунок 5.4 – Список людей
В списке отмечена вся доступная информациях о людях, которые занесены в данную базу. На данный момент это их ФИО, дата рождения, номер телефона и информация о группе, в которой они состоят. Эти поля можно изменять и дополнять по требованию руководителя.
ЗАКЛЮЧЕНИЕТаким образом, в ходе выполнения курсового проекта была реализована система управления проектами и персоналом на базе CMS Plone с модулем OntoEditor. Были выполнены задачи проектирования логической структуры, её реализации, а также создания интерфейса ввода и вывода данных в системе. Реализованная система обладает всей необходимой гибкостью для всевозможных требований руководителя от подобной системы.
В ходе реализации структуры системы была обнаружена необходимость в будущем при создании полной версии системы ещё раз проанализировать структуру и интерфейс вывода данных для более удобной работы пользователя с системой.
СПИСОК ЛИТЕРАТУРЫГрегер С.Э. Администрирование и интерфейс пользователя CMS Plone / С.Э. Грегер; Федер. агентство по образованию, ГОУ ВПО «УГТУ-УПИ» им. первого Президента России Б.Н. Ельцина, Нижнетагил. технолог. ин-т (фил.). – Нижний Тагил : НТИ (ф) УГТУ-УПИ, 2009. – 140 с.
Грегер С.Э. Сервер приложений «Zope». Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2009. – 256 с.: ил.