Пример разработки собственных отчетов в информационной системе NetSchool средствами JavaScript | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Педагогика

Опубликовано в Молодой учёный №18 (77) ноябрь-1 2014 г.

Дата публикации: 23.10.2014

Статья просмотрена: 623 раза

Библиографическое описание:

Смолин, А. В. Пример разработки собственных отчетов в информационной системе NetSchool средствами JavaScript / А. В. Смолин, Д. В. Головко. — Текст : непосредственный // Молодой ученый. — 2014. — № 18 (77). — С. 634-638. — URL: https://moluch.ru/archive/77/13172/ (дата обращения: 19.04.2024).

 

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

Технологический колледж ФГБОУ ВПО «ЮУрГУ» (НИУ) в течение четырёх лет поэтапно внедряет эту систему. Предыдущий, 2013–14 учебный год стал первым, когда весь персонал полностью использовал возможности этого программного продукта. Следовательно, можно говорить об окончании процесса внедрения и начале эксплуатации программного продукта. Первый год полноценного использования информационной системы показал, что вся информация, необходимая для управления образовательным процессом в системе присутствует. Однако, количество отчетов, ориентированных на требования школы, не достаточно. Система имеет встроенный конструктор отчетов, но его возможности ограничены и не позволяют создавать узкоспециализированные подробные отчеты.

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

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

Таблица 1

Форма отчета

Педагог

Группа

Дисциплина

Дата

1

2

30

31

 

 

 

 

 

 

 

 

 

 

 

 

Количество выданных педагогом часов

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

Составлять свой новый отчет мы решили на основе встроенного в систему отчета «Журнал группы».

Пример отправки GET запроса на страницу «Журнал группы». Все параметры разделены знаком «&». На их основе сервер заполняет страницу разными данными.

Разбор параметров запроса:

Основные параметры, которые отправляются серверу на страницу «Журнал группы»: PrintOtherAssignements, StartNewPage, AT, ADT, DDT, SCLID, ACNT, PCLID.

PrintOtherAssignements — выводить другие задания, кроме домашних.

StartNewPage –начинать каждую таблицу с новой строки.

AT — authenticationtoken, значение, которое служит для того чтобы связать пользователя (браузер) с пользователем на сервере.

ADT — начальная дата отчета, DDT — конечная дата отчета. Совокупность образует интервал.

SCLID — выбор предмета.

ACNT — количество занятий на странице.

PCLID — id(идентификационный номер в системе) группы (отличается от номера группы).

Перебирая в цикле все группы, мы сможем собрать все данные по колледжу. Для того, чтобы правильно обращаться к серверу, используя id группы, необходимо средствами браузера проанализировать страницу отчета. В браузере Mozilla Firefox для этого необходимо вызвать контекстное меню и выбрать пункт «Исследовать элемент» для окна «Группа».

Параметр Value содержит id группы, которая указана между <option> и </option>.

Далее для работы нам понадобиться специальное дополнение (аддон) (англ. Expansionpack, add-on) — дополнительное программное обеспечение, расширяющее возможности базового пакета.Разрабатываться он будет на языке JavaScript с помощью инструмента Add-onSDK от Mozilla.

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

1.                  На страницу с базовым отчетом «Журнал группы» добавим кнопку запуска скрипта;

2.                  Формируем GET-запрос с необходимыми данными (дату выбирает пользователь, остальное делает скрипт);

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

4.                  Сохраняем необходимую информацию во временном хранилище;

5.                  Повторяем шаги 2–4 для всех групп;

6.                  Открываем новую вкладку в браузере и в нее помещаем сформированный отчет;

7.                  Очищаем временное хранилище.

Ниже приведены фрагменты кода с необходимыми комментариями.

Привязка запуска скрипта к странице встроенного отчета:

Теперь, каждый раз, когда будет вызывать страница «Распечатка журнала группы» скрипт /lib/main.js будет добавлять к ней /data/main.js.

Формирование GET-запроса для обращения к странице «Журнал группы» происходит путем объединения всех ранее рассмотренных параметров. Осталось только добавлять к нему каждый раз новый ID группы:

Выполнение запроса, который вернёт нам HTML код страницы «Журнал группы» с выбранной нами группой:

В отчетах, полученных с сервера, осуществляем поиск предмета и преподавателя:

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

После этого отправляем полученные данные в /lib/main.js.

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

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

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

-        значительное сокращение времени на формирование необходимого отчета;

-        исключение ошибок за счет автоматизации формирования отчета.

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

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

Основные термины (генерируются автоматически): отчет, ACNT, ADT, DDT, PCLID, SCLID, группа, необходимая информация, программный продукт, сервер.


Похожие статьи

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

Информационно-справочные системы учета необходимы каждой организации.

Наиболее популярным программным обеспечением для разработки баз данных является Microsoft Access.

Они обеспечивают надежное хранение информации в структурированном виде, а...

Программное обеспечение для автоматизации информационных...

В данной работе представлена информация о программных средствах информационных систем управления

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

Анализ использования «облачных технологий» для компаний...

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

Доминирующими продуктами останутся SaaS-решения, а доля...

Рекомендации по внедрению систем предотвращения утечек...

Для осуществления возможности получения актуальной информации о рабочих станциях и сотрудниках необходимо предоставить доступ с серверов DLP-систем к серверу Active Directory по протоколу LDAP. Поставка лицензий на программные продукты.

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

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

Сравнительный анализ программного обеспечения систем...

Сервер zabbix автоматически собирает и анализирует данные от требуемых компонентов.

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

Организация автоматизированной системы управления...

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

Данный программный продукт будет установлен в учебных целях.

Разработка клиент серверного приложения “TEST-DRIVE”

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

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

Похожие статьи

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

Информационно-справочные системы учета необходимы каждой организации.

Наиболее популярным программным обеспечением для разработки баз данных является Microsoft Access.

Они обеспечивают надежное хранение информации в структурированном виде, а...

Программное обеспечение для автоматизации информационных...

В данной работе представлена информация о программных средствах информационных систем управления

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

Анализ использования «облачных технологий» для компаний...

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

Доминирующими продуктами останутся SaaS-решения, а доля...

Рекомендации по внедрению систем предотвращения утечек...

Для осуществления возможности получения актуальной информации о рабочих станциях и сотрудниках необходимо предоставить доступ с серверов DLP-систем к серверу Active Directory по протоколу LDAP. Поставка лицензий на программные продукты.

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

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

Сравнительный анализ программного обеспечения систем...

Сервер zabbix автоматически собирает и анализирует данные от требуемых компонентов.

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

Организация автоматизированной системы управления...

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

Данный программный продукт будет установлен в учебных целях.

Разработка клиент серверного приложения “TEST-DRIVE”

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

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

Задать вопрос