ВИЗУАЛЬНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ В РАЗРАБОТКЕ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ВИЗУАЛЬНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ В РАЗРАБОТКЕ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Романчуков С.В. 1, Моисеенко А.В. 1
1Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Национальный исследовательский Томский политехнический университет»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

Это порождает необходимость применения таких языков программирования, которые были бы просты для понимания непрофессионала, но при этом обладали достаточно широким спектром возможностей, а также достаточной гибкостью и потенциалом модернизации. Данное требование обращает нас к классу визуальных языков программирования[1]. В качестве примера подобных средств можно привести такие платформы как TERSUS, G, ДРАКОН, Scratch, Stencyl, Snap(BYOB), Blockly. Часть такого рода проектов доступны и относятся к OpenSource-проектам. Программирование в них осуществляется посредством манипулирования графическими компонентами, составления блок-схем, описания потоков данных и т.д. без ручного написания программного кода.

Так называемые «лего-подобные» языки, такие как Scratch, Stencyl, Snap и Blockly, предлагают пользователю набор блоков, реализующих те или иные прграммные функции, средства их соединения, возможность редактирования и создания собственных (пользовательских) блоков. На рис. 1 представлен листинг типичной программы на языке Blockly.

Рис. 1. Типичная программа на языке Blockly

При этом в процессе визуальной разработки может осуществляться автогенерация кода, понятного для других языков программирования, например, после создания программы в языке Blockly, показанной на рис. 2, можно получить её автосгенерированный код для клиентской части приложения (JavaScript) или для серверной (Python), показанный на листингах 1 и 2 соответственно[2].

Рис. 2. Пример Blocky in Action на языке Blockly

Листинг 1. Пример Blockly in Action на JavaScript

varmessage;

var Alist;

var x;

message = 'This is Blockly in Action';

Alist = ['Start of Alist', 66, [message.length, Math.sin(90 / 180 * Math.PI), 'End of sublist']];

window.alert(message);

for(var x_index in Alist) {

x = Alist[x_index];

window.alert(x);

}

window.alert('Thats All Folks');

Листинг 2. Пример Blockly in Action на Python

var message;

var Alist;

var x;

message ='This is Blockly in Action';

Alist =['Start of Alist',66,[message.length, Math.sin(90/180* Math.PI),'End of sublist']];

window.alert(message);

for(var x_index in Alist){

x = Alist[x_index];

window.alert(x);

}

window.alert('Thats All Folks');

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

Ядро нашей языковой системы для таких пользователей представляет из себя байт-код виртуального процессора. Прослойка между визуальными модулями для пользователя (VML) и ядром служит для перевода команд из формата, поддерживаемого конкретным пользовательским модулем, в формат, принятый для ядра. Для ядра предполагается целесообразным использования формата XML (Extensible Markup Language ) как достаточно гибкого и простого формата[3]. В качестве пользовательских модулей мы используем модифицированные под пользователя варианты Google Blockly. В таком случае принципиальную схему системы можно представить в следующем виде:

Список источников:

  1. «Визуальное программирование» Зубинский А. - "Компьютерное обозрение", 20.04.05

  2. Современное визуальное программирование: Google Blockly [электронный ресурс]

Режим доступа: http://blogerator.ru/page/sovremennoe-vizualnoe-programmirovanie-google-blockly-vpl

  1. The World Wide Web Consortium [электронный ресурс]

Режим доступа: http://www.w3.org/XML/

Просмотров работы: 1141