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




Скачать 65.38 Kb.
Дата 29.08.2016
Размер 65.38 Kb.
СОЗДАНИЕ ПРОГРАММНОГО КОМПЛЕКСА ПЛАНИРОВАНИЯ И ОРГАНИЗАЦИИ УЧЕБНОГО ПРОЦЕССА ТПУ НА БАЗЕ КАРКАСА РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ

Д.М.Шингарёв, И.Л.Чудинов

Томский политехнический университет, г. Томск

8-(3822)-563395, dimash@tpu.ru

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

ППОУП является масштабной системой, распределенной во времени и пространстве, имеющей следующие особенности, определяющие сложность её разработки и ввода в действие:


  1. Задачи (процессы) подсистемы взаимосвязаны и упорядочены во времени;

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

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

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

Специфическими для Томского политехнического университета (ТПУ) особенностями ППОУП являются:

  1. Централизация процессов формирования потоков, определения нагрузки кафедр и составления расписания занятий;

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

  3. ППОУП должна быть составной частью единой информационной среды (ЕИС) ТПУ (интеграция используемых и выходных данных подсистемы в ЕИС).

В настоящее время в ТПУ осуществляется внедрение системы менеджмента качества ИСО 9001:2000. Предлагаемый подход к построению информационной системы ППОУП учитывает такие особенности подхода системы менеджмента качества, как:

  1. Подход как к процессу

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

    2. Процессы упорядочены во времени

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

  2. Постоянное улучшение процессов, основанное на измерении цели.

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

Каркас распределенных приложений

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



  1. Система представляет собой совокупность взаимодействующих процессов. На множестве процессов могут быть определены бинарные отношения причинно-следственной взаимосвязи, например, процесс A не может стартовать ранее процесса B. Каждый процесс системы на этапе исполнения может находиться в одном из состояний - доступен для старта, стартован, завершен, не доступен.

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

    1. Список классов объектов, доступных в контексте данного процесса.

    2. По каждому объекту хранится список ролей, которые могут иметь доступ к объектам данного класса.

    3. По каждой роли хранится список действий, которые она может выполнять по отношению к объектам данного класса.

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

Каркас представляет собой набор сервисов и регламентов:



  1. Сервисы.

    1. Сервис конфигурирования. Предназначен для централизованного хранения конфигурационной информации системы. Остальные сервисы пользуются услугами сервиса конфигурирования для своей работы. Конфигурационная информация хранится в формате XML.

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

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

  2. Регламенты - добавление нового класса объектов в систему, добавление нового процесса, изменение существующего процесса, добавление нового сервиса.

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

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



  1. Гибкость. Внесение изменений в характер функционирования системы возможно при помощи модификации конфигурационных данных.

  2. Расширяемость. Расширение состава процессов системы, поддерживаемых классов объектов, добавление новых ролей, добавление новых сервисов – все эти вопросы легко решаются в рамках архитектуры каркаса распределенных приложений.

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

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

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

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

  7. Переносимость. Реализация каркаса, основанная на технологии CORBA, в случае использования для серверной части системы языка программирования C++, переносима на любую платформу, содержащую компилятор языка C++, но при этом требуется перекомпиляция программного кода. Клиентская часть системы, в случае использования языка программирования Java работает на любой платформе без перекомпиляции. Кроме этого, технология CORBA позволяет в качестве языка программирования использовать большинство современных широко распространенных языков программирования.

  8. Четкое регламентирование процессов изменения программной системы. Каждый тип изменения (добавление нового процесса, изменение структуры существующего процесса, удаление процесса, добавление нового типа объектов, добавление нового сервиса) регламентирован, поэтому его выполнение упрощено.

Основные результаты работы

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

В работе использовались следующие средства и технологии:

1. Реализация каркаса распределенных приложений базируется на использовании архитектуры брокера объектных запросов CORBA (omniORB – omniORB.sourceforge.net, реализация ORB, распространяемая по лицензии GPL)

2. Серверная часть системы (все сервисы за исключением сервиса поддержки взаимодействий с постоянным хранилищем данных и сервиса объектного представления кодификаторов) реализована на языке программирования C++, развернута на сервере под управлением операционной системы Slackware Linux (www.slackware.org, лицензия GPL). Серверная часть может быть развернута на сервере под управлением любой операционной системы семейства Linux/UNIX, операционных систем Windows 2000 и старше.

3. Клиентская часть системы (графический интерфейс пользователя) реализована при помощи языка программирования Java.



4. Работа с XML конфигурацией системы построена при помощи бесплатного парсера Expat (www.libexpat.org)
Желательная форма представления: доклад с использованием компьютерной презентации в формате Microsoft PowerPoint


База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница