Современные подходы к разработке ПО, такие как RUP, ICONIX, XP, ARIS, предполагают выполнение бизнес-моделирования и анализа требований на ее начальной стадии. В этом случае определяются границы проекта, основные сценарии реализации. В рамках бизнес-моделирования формируются модели организационной и функциональной структур организации, создаются модели структур данных и процессов. Целью моделирования и анализа являются описание деятельности организации и определение требований к системе. Полученное описание – это формализация процессов и операций, подлежащих автоматизации с помощью разрабатываемой информационной системы.
Однако такой подход не всегда эффективен. Причина в том, что в качестве основных информационных источников для формализации требований к разрабатываемой системе выступают текущие бизнес-процессы организации, организационная структура, существующие структуры данных. Отталкиваться от них не всегда корректно, так как некоторые появились для контроля неавтоматизированных задач. Эффективная система автоматизации позволяет свести необходимость таких элементов к минимуму. Таким образом, внедрение системы автоматизации требует серьезного переосмысления стратегии и цели предприятия.
Важность анализа целей организации для формирования требований к системе автоматизации отмечается многими аналитиками и исследова- телями (А.В. Шеер, Г.Н. Колянов, И. Байдер, Д. Нортон, Р. Каплан, А.К. Клочков, С. Нуркан) [1]. Например, в методологии ARIS для анализа целей предлагается использовать целый ряд диаграмм: дерево целей, диаграмму причинно-следственных связей, диаграмму окружения ключевых показателей результативности.
Но и анализ целей не всегда позволяет разумно подойти к определению требований к системе. Рассмотрим деятельность, связанную с подго- товкой исследователей. При разработке автоматизированных систем для поддержки научных исследований будет неверным отталкиваться от бизнес-анализа деятельности учебно-исследовательской организации, особенно рассматривать цели такой организации как основной источник информации для определения требований к системе. Во-первых, потому, что, как и любая другая организация, подобное учреждение, помимо подготовки исследователей и специалистов, преследует множество значимых социально-экономических целей (повышение качества образования, успешное конкурирование на рынке, стремление к повышению рейтингов популярности, создание и поддержание имени и марки, экономическая эффективность). Во-вторых, процесс развития и совершенствования человека просто некорректно привязывать к деятельности одного или нескольких образовательных или исследовательских институтов.
С другой стороны, необходимость поддержки научно-образовательной деятельности неоспорима и вытекает из научно-технического прогресса, сопровождающегося растущим объемом знаний, умений и технологий, которыми должен владеть исследователь. В связи с происходящими изменениями возникает задача синхронизации процесса подготовки исследователя. Поэтому для создания информационной системы поддержки подготовки исследователей предлагается использовать подход, основанный на анализе моделей компетентности.
Компетентностный подход к созданию и организации основных образовательных программ был внедрен в России в 2003 году, после интеграции в мировую образовательную систему и присоединения к Болонскому процессу. В его основе лежат два ключевых понятия – компетенция и компетентность [2].
Компетенции – это требования, предъявляемые к должности или роли в обществе, профессии, сфере деятельности; те качества, способности, свойства, умения, навыки, знания, которые желательно видеть [2].
Компетентность – совокупность личностных знаний, способностей, умений, навыков, качеств личности, обусловленных опытом работы в определенной социальной и лично-значимой сферах. Таким образом, термин может использоваться для фиксирования уже состоявшихся качеств личности [2].
Проведенный в ходе выполнения работы анализ существующих моделей компетенций [3] позволил выделить структурную модель компетенций выпускника как наиболее близкую к структуре современных образовательных стандартов и использовать ее в качестве базовой для создания модели исследователя. В результате обзора профессиональных и образовательных стандартов, должностных инструкций была построена профильная модель исследователя, представленная на рисунке 1.
Обзор стандартов высшего профессионального образования позволяет разделить весь набор компетенций исследователя на две основные группы – общекультурные компетенции и профессиональные.
К общекультурным относят компетенции, характерные для любой успешной личности и не зависящие от профессии. Это то, что должен знать и чем должен владеть каждый: культурная, политическая, правовая, историческая, экономическая грамотность, этика, владение коммуникативными навыками, физической культурой и др.
Профессиональные компетенции – профессиональный профиль исследователя, идентифицирующий его деятельность в конкретной предметной области. К ним относятся такие группы компетенций, как орга- низационно-управленческие, научно-исследовательские, экспертные, инновационные, производственно-технологические, проектные, аналитико-информационные и др. При этом состав групп компетенций различен для разных направлений подготовки специалистов и определяется соответствующими образовательными стандартами.
Построенная структурная модель компетенций была обобщена и преобразована в объектно-ориентированную модель, представленную на рисунке 2.
Для расчета рейтингов компетентности введено понятие «показатель». Показателем будем называть некоторую измеримую характеристику, или индикатор, который позволяет сделать вывод об уровне сформированности конкретной компетенции. Таким образом, уровень сформированности компетенции представляет собой целевую функцию показателей этой компетенции. Анализ образовательных и профессиональных стандартов позволил выявить четыре типа показателей.
1. Экспертная оценка . Это оценки за выполнение учебных элементов, таких как самостоятельная работа, защита реферата, курсового проекта, учебно-исследовательской, лабораторной работ. Чаще всего применяется для оценки компетенций исследователей уровня бакалавра и магистра.
2. Относительные измерения . Примерами такой оценки являются проценты выполнения диссертационной работы, сокращения издержек предприятия в результате внедренного решения, увеличения лояльности сотрудников в результате разработанной и проведенной реформы, повышения надежности программного комплекса благодаря применению разработанной и внедренной технологии и т.д. Могут быть применимы к исследователям любого уровня.
3. Нормативные измерения . Примерами такой оценки являются количество публикаций в периодических научных изданиях и подготовленных докладов, количество организованных опросов, часов преподавательской нагрузки, патентов и т.д. Могут быть применимы к исследователям любого уровня.
4. Индикаторы. Например, наличие сертификата по технологии, владение программным средством, наличие научной степени, возраст до 35 лет, наличие научного звания и т.д. Применяются к исследователям любого уровня.
Показатель будем рассматривать как четверку объектов , где – минимально возможная оценка, , – множество натуральных чисел; – максимально возможная оценка, такая, что ; – значение показателя, установленное экспертом, причем , .
В расчетах в качестве значения показателя удобно использовать нормализованное значение .
Показатель будем рассматривать как процентную величину . В расчетах в качестве значения показателя удобно использовать нормализованное значение .
Показатель нормативных измерений будем рассматривать как тройку объектов , где – упорядоченное конечное множество – функция преобразования, определенная на множестве .
Если х – значение измеряемой нормативной величины, то, если , где и – мощность множества, значение показателя . Если , . Если , . В расчетах в качестве значения показателя удобно использовать нормализованное значение .
Показатель по очевидным причинам может принимать только два значения: .
Рассмотрим случай, когда компетенция имеет методов оценки. Пусть – вектор полученных оценок. Нормализуем вектор, разделив каждую его координату на сумму всех координат: . – вектор нормализованных оценок. Для определения приоритетов методов оценки выполним их попарное сравнение. Нормализованный собственный вектор , соответствующий наибольшему собственному значению полученной таким образом матрицы сравнений, будет являться вектором приоритетов [4]. Тогда интегральная оценка компетенции является линейной комбинацией .
Для расчета рейтингов компетентности по группам, а также учета влияния развития одной компетенции на другие была построена сетевая модель и описан алгоритм расчета на основе метода аналитических сетей Т. Саати.
Для апробации построенных моделей компетенций разработана предметно-ориентированная среда (ПОС) «СисКМ» [5]. Ее практическая ценность в возможности быстро построить формальную информационную модель системы, провести ее апробацию в ПОС и в результате математически доказать соответствие разработанной системы ее формальной модели. Такой процесс позволяет исправить ошибки проектирования при разработке информационной системы раньше, чем при стандартном подходе. Более раннее исправление ошибок проектирования снижает стоимость разработки системы и риски нарушения сроков выполнения проекта.
Разработанная ПОС «СисКМ» позволила быстро построить модели компетенций, соответствующие образовательным профилям исследователей, были получены весовые коэффициенты для вычисления рейтингов компетентности. Полученные на выходе ПОС модели и алгоритмы вычисления можно считать функциональной спецификацией для разрабатываемой информационной системы поддержки подготовки исследователей. Они описывают основные функции, выполняемые исследователями, и показатели измерения выполнения этих функций, отражают связь между выполняемыми функциями и развитием компетенций.
При выборе архитектуры системы поддержки научно-исследовательской деятельности необходимо обратить внимание на многообразие функций и задач, выполняемых в ее рамках. Более того, каждый образовательный профиль имеет свой уникальный набор функций. Со временем список задач и характер деятельности могут претерпевать значительные изменения, поэтому в разрабатываемую систему автоматизации необходимо заложить принципы гибкости, высокого уровня конфигурирования, модульности.
В качестве архитектурного шаблона для разрабатываемой системы был выбран шаблон сервис-ориентированной системы (SOA). В основе SOA лежит модульный подход к разработке ПО, основанный на использовании сервисов со стандартными интерфейсами. Компоненты системы могут распределяться по разным узлам сети, являются слабо связанными или независимыми, взаимозаменяемыми. Каждый компонент системы инкапсулирует детали своей реализации, предоставляя только унифицированный интерфейс для взаимодействия с другими компонентами.
Современные тенденции, связанные с увеличением числа распределенных исследовательских школ и групп, сам характер исследовательской работы, когда требуется обеспечить возможность работы в любое время и в любом месте, обусловливают выбор web-платформы для построения системы поддержки научных исследований.
В результате сравнительного анализа более чем десяти программных решений, включающих как платформы для разработки web-систем, так и готовые продукты, была выбрана контент-менеджмент-система (CMS) Drupal. Она свободно распространяется по лицензии GNU GPL, построена по шаблону сервис-ориентированной архитектуры. Язык реализации платформы PHP. В качестве СУБД для Drupal версии 6 может использоваться MySql или Postgresql. Начиная c Drupal версии 7 может использоваться любая СУБД.
Ядро Drupal предоставляет набор служебных функций для работы с БД, кэшом, пользователями, с размещением контента, фильтрацией. Функциональность ядра расширяется с помощью дополнительных независимых модулей, которые могут использовать функциональность как самого ядра, так и других модулей, подключаться к ядру по мере необходимости и независимо обновляться. Каждый модуль может предоставлять один или несколько сервисов для других модулей, инкапсулируя внутри себя детали реализации. Таким образом, добавление новой функциональности чаще всего сводится к поиску подходящего модуля в реестре, к его установке и настройке на сайте. В настоящий момент для Drupal доступно более семи тысяч модулей, расширяющих функционал ядра. В качестве базовой инсталляции для создания системы поддержки подготовки исследователей была выбрана Drupal Commons, так как данная инсталляция предназначена для организации социальной сети.
Рассмотрим создание системы на основе Drupal Сommons с помощью спецификаций, полученных на выходе ПОС. Итак, каждая компетенция определяет функцию или набор развивающих ее функций. Таким образом, имеем полный список функций, которые должен выполнять исследователь. Вычеркиваем из списка те, что поддерживаются текущей версией системы. Для каждой оставшейся функции из списка производим поиск подходящих модулей в реестре модулей Drupal. Взвешиваем каждую функцию списком модулей, в которых она реализована. Далее c помощью жадного алгоритма решаем задачу о покрытии функций минимальным множеством модулей. Устанавливаем и настраиваем модули из полученного множества в систему. При таком подходе программная разработка может потребоваться только в том случае, когда существует функция, не реализованная ни в одном модуле из реестра Drupal, либо когда необходимо произвести доработку уже используемого модуля.
Прежде чем описывать архитектуру разработанной системы поддержки исследований, необходимо остановиться на некоторых архитектурных принципах платформы Drupal. С самого начала данная платформа разрабатывалась с целью делегировать полномочия для создания контента и даже администрирования от специально выделенных контент-менеджеров к пользователям сайта, чтобы обеспечить их максимально эффективное и удобное взаимодействие. Такой подход привел к выделению нескольких системных слоев:
- слой данных – нижний, базовый слой, включающий все данные системы;
- слой модулей – функциональный слой, содержащий функции обработки данных;
- слой блоков и меню – слой представления, который отвечает за то, в какой форме будут представлены выходные данные слоя модулей;
- слой контроля доступа – слой, отвечающий за установку и выполнение правил доступа пользователей и ролей к данным, функциям и представлениям системы;
- слой шаблонов – слой, позволяющий размещать и представлять контент на страницах сайта.
Выделение отдельного слоя для контроля доступа к данным, функциям и представлениям позволяет гибко настраивать и добавлять новые роли в процессе функционирования сайта.
В разработанной системе поддержки научных исследований выделены четыре роли пользователя.
· Администратор – роль пользователя системы, отвечающего за ее поддержку, настройку и оптимизацию.
· Исследователь – роль пользователя системы, имеющего в ней свой личный кабинет, или профайл, то есть то место, где хранятся сведения о нем, об образовании, работе, его научные материалы, личные сообщения, посланные ему другими пользователями, личные сообщения, посланные им другим пользователям, закладки и архивные материалы.
· Руководитель группы – это роль исследователя с расширенными полномочиями. Руководитель группы отвечает за организацию и работу с виртуальными группами в системе, определяет участников, ведет ее библиотеку документов, составляет календарь событий и мероприятий группы, создает опросы и форумы для ее участников, публикует новости группы. Роль предназначена для исследователей, руководящих научной группой или школой.
· Модератор – пользователь системы, отвечающий за актуальность отчетных данных исследователей. Он может редактировать отчетные личные данные других пользователей, смотреть статистику системы, анализировать рейтинги компетентности пользователей.
В системе выделены четыре основные функциональные компоненты.
· Новостной блок – здесь публикуются последние новости сайта, такие как информация о новом пользователе, о новой виртуальной группе, популярные статьи и блоги, важные события в жизни сообщества, информационные новостные ленты.
· Личный кабинет – компонент для работы с личной информацией пользователя. Содержит сведения о научных званиях пользователя, сертификатах, наградах, достижениях, грантах, его заметки, личные сообщения, список контактов, личные документы, блог.
· Сообщество – компонент для работы с виртуальными группами, дискуссиями, опросами, общими документами, календарем событий, создание wiki-документации.
· Управление проектами – компонент, позволяющий пользователю задавать структуру задач проекта, проводить планирование, назначать исполнителей и приоритеты задач, отслеживать изменения статуса задач, прикреплять проектные документы, оставлять инструкции к задачам.
· Управление документами – компонент для создания пользователем своего структурированного хранилища документов. Хранилище поддерживает контроль версии документов. Пользователь может воспользоваться механизмом быстрого поиска документа в своем хранилище.
С точки зрения архитектуры построенная система является распределенной и состоит из пяти компонент (рис. 3).
Сначала запрос пользователя попадает на активный балансировщик нагрузки. Два балан- сировщика объединяются в кластер. Балансировщики обмениваются друг с другом тактовыми сообщениями. При падении активного балансировщика второй становится активным и начинает обслуживать запросы пользователя. Два web-сервера также объединяются в кластер. Активный балансировщик отвечает за выбор оптимального web-сервера для исполнения запроса пользователя. Оба web-сервера используют единую БД. Таким образом, единое хранилище данных в будущем может оказаться узким местом системы. Однако даже в этом случае его можно обойти, используя метод сегментации данных.
Итак, предложенная технология разработки прикладного ПО основана на использовании моделей компетенций пользователей. На первом этапе разработки строятся модели компетенций пользователей системы. Построение и апробация моделей производятся с помощью предметно-ориентированной среды. Использование ПОС позволяет снизить риск возникновения фундаментального изменения в функциональных требованиях системы и проектной ошибки. Полученные с помощью ПОС спецификации моделей дают возможность определить функциональные требования к системе. Такой метод создания функциональной спецификации позволяет охватить все компетенции пользователя, представить функциональную спецификацию в графическом виде, провести проверку полноты функциональной спе- цификации с помощью ПОС. Компетентностный подход для создания спецификации доказывает, что построенная система способствует всесто- роннему развитию навыков и умений пользова- теля.
Система поддержки научно-исследовательской деятельности внедрена в опытную эксплуатацию в НИЯУ «МИФИ» (г. Москва), подана заявка на регистрацию в установленном порядке в Роспатент.
Литература
1. Калянов Г.Н. CASE-технологии: консалтинг в автоматизации бизнес-процессов: Изд. 2-е. М.: Горячая линия–Телеком, 2000. 320 с.
2. Гусева А.И., Киреев В.С., Тихомирова А.Н., Филиппов С.А. Компетенции работников образования в области информационных и коммуникационных технологий: монография. М.: МИФИ, 2009. 252 с.
3. Матушкин Н., Столбова И., Ульрих Т. НИРС как составляющая формирования компетенций специалиста // AlmaMater: Вестн. высш. шк. 2007. № 5. С. 3–7.
4. Саати Т.Л. Принятие решений при зависимостях и обратных связях: Аналитические сети; [пер. с англ.]: 2-е изд. М.: Либроком, 2009. 360 с.
5. Бачурин С.А., Гусева А.И. Предметно-ориентированная среда как средство формализации требований к программному обеспечению // Аудит и финансовый анализ. 2010. № 6. С. 454–457.