Современные информационные технологии / 3. Программное обеспечение

к.т.н. Крючин О.В., Крючина Е.И.

Тамбовский государственный университет им. Г.Р. Державина, Россия

Выбор программного инструментария при разработке экспертных и информационных систем

 

Как известно, при создании сложных систем весьма актуально использование высокоуровневых библиотек, которые значительно облегчают разработку. В настоящее время в распоряжении программиста имеется множество подобных инструментов, предоставляющих как графический инструмент, так и средства работы с СУБД или сетевыми соединениями. Для разработки информационных систем, подобных описанной в работах [1-3] использование таких средств весьма актуально.

В качестве подобных библиотек могут быть использованы различные варианты, например Java. Среди достоинств данного языка можно отметить наличие множества пакетов, а также встроенное средство управление памятью, что позволяет избежать низкоуровневой работы. Кроме того, семантика обуславливает низкий порог вхождения [4]. Однако, абстракция Java не позволяет использовать инструменты платформы (кроме варианты JNI). Другим недостатком можно назвать излишне-громоздкий код [5].

Другим инструментом можно назвать конкурента Java — технологию Miscosoft .Net. Однако, при детальном анализе выявляется, что подобная технология почти не имеет преимуществ перед Java, но содержит множество недостатков. В первую очередь — это привязка к платформе MS Windows, крайне-неперспективной для обслуживания информационных систем (если не брать во внимание технологию Mono) [6-7]. Другим недостатком .Net является закрытость платформы, что в совокупности с периодическим выходом несовместимых версий приводит к тому, что серьезно рассматривать данную технологию для разработки информационных систем нельзя.

Также интерес вызывает использование языка С++ в сочетании с различными библиотеками, например boost и wxWidgets. Выбор этих средств приводит к эффективному функционированию системы (можно использовать родные инструменты платформы GNU/Linux) и снижению потребляемых ресурсов, однако необходимость управления памятью обуславливает высокий порог вхождения и трудоемкость разработки. Кроме того, особенности данной технологии не позволяют выявить отсутствие ошибок в разработанной системе.

Технология QT позволяет использовать преимущества как С++, так и Java. Являясь расширением языка С++, QT избавляет программиста от ручного управления памятью и предоставляет механизм сигналов и слотов для создания событий. В тоже время QT позволяет использовать низкоуровневые инструменты языка. Однако, порог вхождения QT не столь низок, как у Java или .Net (хотя значительно выше чистого C++), что обусловлено возможностями языка [8-9].

Традиционным средством создания веб-приложений является PHP, обладающий значительной библиотекой PEAR и рядом шаблонизаторов из которых можно выделить Smarty [10]. Порог вхождения PHP необычайно низок даже по сравнению с Java, однако, производительность данного языка оставляет желать лучшего.

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

 

Литература

1.     Арзамасцев А.А., Зенкова Н.А., Крючин О.В., Квашенкин Д.О., Неудахин А.В. Автоматизированная технология и программно-технологический комплекс для построения экспертных систем с интеллектуальным ядром, основанным на нейросетевых моделях, поддержкой распределенного ввода данных и параллельных вычислений // Вестник Тамбовского Университета. Серия: Естественные и технические науки, - Т. 17, Вып. 3 – С. 948-978.

2.     Крючин О.В., Квашенкин Д.О., Арзамасцев А.А. Реализация модели SaaS для информационной системы, использующей искусственные нейронные сети // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. 2013. – Т. 18, Вып. 4 – С. 1402-1407.

3.     Крючин О.В., Вязовова Е.В., Арзамасцев А.А. Информационная система на основе искусственных нейронных сетей для моделирования объектов в социально-экнономической сфере // Вестник Тамбовского Университета. Серия: Естественные и технические науки, – Т. 18, Вып. 1, 2013 – С. 211-212.

4.     Гупта А. Java EE 7. Основы = Java EE 7 Essentials. // М.: «Вильямс», 2014. — 336 с. — ISBN 978-5-8459-1896-3.

5.     Браун К., Крейг Г., Хестер Г. и др. Создание корпоративных Java-приложений для IBM WebSphere // Кудиц-Образ, 2005. — С. 860. — ISBN 5-9579-0061-3, 0-321-18579-X.

6.     Нейгел К. и др. C# 5.0 и платформа .NET 4.5 для профессионалов = Professional C# 5.0 and .NET 4.5. // М.: «Диалектика», 2013. — 1440 с. — ISBN 978-5-8459-1850-5.

7.     Столлман Р. Why free software shouldn't depend on Mono or C#. Free Software Foundation // [Электронный ресур] Режим доступа: http://www.fsf.org/news/dont-depend-on-mono

8.     Шлее М. Профессиональное программирование на C++ // Спб: CБХВ-Петербург, 2012 // 912 c.

9.     Бланшет Ж. QT4: программирование GUI на С++ // М. Саммерфильд. — М.: Кудиц-пресс, 2007. — 575 с.

10.  PHP: Hypertext Preprocessor // [Электронный ресур] Режим доступа: http://php.net/