BC/NW 2013, №2 (23):10.3

 

РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ВЕДЕНИЯ ПРОЕКТОВ В СООТВЕТСТВИИ С PMBOK

Пирогова М.А., Хохлова О.И.

(ФГБОУ ВПО «Национальный исследовательский университет «МЭИ», Москва, Россия)

 

Эффективность и устойчивость деятельности любой современной организации во многом определяется качеством осуществляемых управленческих мероприятий в сфере руководства проектным циклом [1]. Для систематизации знаний в области управления проектами было создано множество национальных и международных предложений по стандартизации. В процессе практического освоения выяснилось, что наиболее полным и универсальным является набор предложений по стандартизации управленческой деятельности для широкого круга типовых задач, разработанный PMI[2].  Этот свод постоянно уточняется и совершенствуется, регулярно издаются актуальные версии  этого свода, известного под названием PMBOK (A Guide to the Project Management Body of Knowledge).

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

Управление проектами – это приложение знаний, навыков, инструментов и методов к операциям проекта для удовлетворения требований, предъявляемых к проекту. Управление проектами, как это определяется в PMBOK, выполняется с помощью применения и интеграции логически сгруппированных 42 процессов управления проектами, объединенных в 5 групп процессов: инициация проекта, планирование проекта, исполнение проекта, мониторинг проекта и управление проектом, завершение проекта [2].

процессы

Рис.1. Взаимодействие между группами процессов управления проектом

 

Все вышеописанные группы процессов взаимодействуют через соответствующие документы между собой и с заинтересованными сторонами проекта, такими как: инициатор или спонсор проекта, предприятие (организация), заказчик, продавцы. Каждая группа процессов включает составляющие ее процессы, которые связаны соответствующими входами и выходами. Процесс – это набор взаимосвязанных действий и операций, осуществляемых для получения заранее определенного продукта, результата или услуги. Каждый процесс характеризуется своими входами, инструментами и методами, и конечными выходами [2].

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

Процессы управления проектами можно распределить по 9-ти областям знаний по управлению проектами: управление интеграцией проекта, управление содержанием проекта, управление сроками проекта, управление стоимостью проекта, управление качеством проекта, управление человеческими ресурсами проекта, управление коммуникациями проекта, управление рисками проекта, управление поставками [2]. Таким образом, каждый из процессов управления проектом относится к одной из групп процессов и к одной из областей знаний и представляется в виде планшета, в котором отображены: область знаний, наименование процесса, перечислены входы, инструменты и методы, а также выходы (см. рис. 2).

Рис.2. Планшет одного  из процессов управления проектом

 

Каждой из 42 задач соответствует свой интерфейс, внешний вид которого определяется списком входов, выходов и инструментов и методов задачи, а также состоянием выполнения заданий. Эти интерфейсы однотипны, имеют одинаковую структуру, но различное содержание. По каждой из задач определена роль исполнителя, например, роль по процессу 6.5 - "Разработчик расписания". Дополнительно разрабатывается интерфейс администрирования, который отслеживает использование системных ресурсов.

Разработка интерфейса администрирования.

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

<name>Имя проекта 1</name>

<name>Имя проекта 2</name>...

Текстовый файл Users.txt - список сотрудников организации. Он содержит множество наборов ФИО - Должность - Пароль, также отделенных разделителями. Например:

<employ>

      <fio>Иванов Иван Иванович</fio>

      <job>главный бухгалтер</job>

      <pwd>Пароль</pwd>

</employ>...

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

Разработка пользовательских интерфейсов.

Создается текстовый файл Roles.txt, устанавливающий соответствие между сотрудниками и их ролями в конкретном проекте. Он имеет вид:

<item>

      <proj>Название проекта</proj>

      <fio>ФИО сотрудника</fio>

      <role>Имя роли</role>

      <task>Имя файла задания</task>

</item>...

Имя файла задания представляется в виде N_xx, где N - номер области знания (от 4 до 12 по [2]), а N_xx соответственно код в списке задач области знания. На первом этапе в этом файле содержится только информация для роли "Разработчик Устава Проекта", т.к. назначение остальной команды проекта входит в его обязанности. Затем при выполнении задачи 4.1. "Разработка Устава Проекта" в соответствии с [2], помимо разработки непосредственно Устава, дополняется файл Roles.txt. Таким образом, файл Roles.txt позволяет отслеживать назначения сотрудников на определенную роль проекта.

вход

Рис.3. Интерфейс пользователя при входе в систему

 

При запуске приложения в выпадающий список "Название проекта" заносятся все названия проектов из файла Projects.txt.На начало ввода поля "Выбрать роль" и "Введите пароль" неактивны, т.к. сначала нужно получить доступ к проекту. При нажатии кнопки "Доступ к проекту" просматривается файл Roles.txt и проверяется, работает ли данный сотрудник над данным проектом. Если соответствующая пара значений не найдена, то выдается сообщение об ошибке. Если пара значений найдена, то соответствующее Имя роли заносится в выпадающий список "Выбрать роль". Затем происходит поиск дальше по файлу этой же пары значений, т.к. у одного сотрудника может быть несколько ролей в проекте.

После выбора пользователем роли и ввода пароля, выполняется действие  "Войти в систему". При этом в файле Roles.txt выполняется поиск соответствующей записи, заключенной в <item>... </item> по имени проекта, пользователя и выбранной роли. Затем следует проверка пароля по файлу Users.txt. Если пароль верный, происходит считывание имени файла N_xx, и на экран вызывается окно, вид которого определяется содержимым этого файла. Если неверный - появляется сообщение "Неверный пароль".

В папке каждого проекта существует текстовый файл Files.txt со списком всех документов, которые являются входами и/или выходами задач проекта. Его вид:

<file>

      <nom>Номер документа в списке</nom>

      <ver>Текущая версия документа</ver>

      <in>

               <task><N_xx></task>...

      </in>

      <out>

               <task><N_xx></task>...

      </out>

</file>...

Здесь после директивы in перечислены коды задач, для которых данный документ находится в списке входов, а после out - в списке выходов. Все создаваемые документы носят названия типа File_nom_ver.txt. Здесь File - стандартное начало имени файла, nom - номер в общем списке, ver - текущая версия.

Для каждой задачи есть текстовый файл N_xx.txt. Он имеет вид:

<in>

      <kod>N_xx_1_n</kod>

      <nom>Номер документа в Files.txt</nom>

      <ind1>Состояние индикатора</ind1>

      <capt>Строка с названием входа</capt>;

</in>...

<method>

      <kod>N_xx_2_k</kod>

      <ind>Состояние индикатора</ind>

      <capt>Строка с названием метода</capt>;

      <addr>Адрес ехе-файла</addr>

</method>...

<out>

      <kod>N_xx_3_m</kod>

      <nom>Номер документа в Files.txt</nom>

      <ind2>Состояние индикатора</ind2>

      <capt>Строка с названием выхода</capt>;

</out>...

Здесь N_xx_1_n, N_xx_2_k, N_xx_3_m - коды входа под номером n, метода под номером k и выхода под номером m задачи N_xxсоответственно.

интерф

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

 

Источники - это входы задачи. Состояние источника отображается цветом: зеленый (готов), красный (не готов), желтый (в разработке), фиолетовый (обновлен). Кнопка "Открыть" доступна только если актуально состояние "готов" или "обновлен". Если кнопка активна, то при нажатии на нее в файле N_xx.txt находится номер соответствующего документа в общем списке. Затем в файле Files.txt по этому номеру определяется версия и открывается документ с данной версией. Затем в файле N_xx.txt проверяется состояние индикатора открытого документа, если состояние "обновлен", то сбрасывается обратно в состояние готов.

Инструменты и методы.

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

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

Каталог рабочих документов.

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

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

Кнопки "К выполнению" становятся активны, когда индикаторы всех входов находятся в состоянии "готов" или "обновлен". При нажатии кнопки "К выполнению":

1)       В файле N_xx.txt находится номер соответствующего документа в общем списке и по нему в Files.txt находится текущая версия. Если версия -1, т.е. документ еще не создавался, то создается документ. Если документ уже создавался другим пользователем или задание выполняется повторно, то открывается файл по номеру и версии.

2)       В файле N_xx.txt у соответствующегоN_xx_3_m индикатор переводится в состояние "в разработке";

3)       Из Files.txt считываются имена задач, для которых данный файл является входным (в тэгах <in></in>). Открываются файлы этих задач (N_xx.txt). В них по номеру находится нужный вход и его индикатор переводится в состояние "в разработке". Файлы закрываются.

4)       Становится активной соответствующая кнопка "Выполнено".

 

При нажатии на кнопку "Выполнено":

1)     В файле N_xx.txt у соответствующегоN_xx_3_m считывается номер, в Files.txt версия, соответствующая данному номеру увеличивается на 1. Документ сохраняется с новой версией. Соответствующий индикатор переводится в состояние "выполнено".

2)     Из Files.txt считываются имена задач, для которых данный файл является входным. Открываются файлы этих задач (N_xx.txt). В них по номеру находится нужный вход, и его индикатор переводится в состояние "готов" (если версия документа 0) или "обновлен" (если версия выше 0). Становится активной соответствующая кнопка "Открыть". Затем в каждом файле N_xx.txt проверяются состояния индикаторов всех входов. Если все они в состоянии "готов" или "обновлен", то над задачей можно начинать работать. Поэтому:

a.   Проверяются состояния индикаторов всех методов. Если они в состоянии "не активно", то переводятся в "не выполнено". Активируются кнопки "Выполнить".

b.  Проверяются индикаторы всех выходов. Если их состояние "не активно", то переводятся в "не взято на выполнение". Активируются кнопки "К выполнению".

3)  Закрываются все открытые файлы N_xx.txt.

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

Литература

1.     Краюшкин В. А., Лешихина И. Е., Пирогова М.А. Система PLM - корпоративная информационная среда предприятия по автоматизации совокупности процессов проектирования, изготовления, сопровождения и утилизации изделия. Научно-технический журнал «Информационные технологии в проектировании и производстве», №1, 2010 г., с. 3 – 23.

2.     «A Guide to the Project Management Body of Knowledge», edition 4, Project Management Institute Inc., 2008. – 459 p.