Современные информационные технологии / 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/