Обоснование выбора графической библиотеки и современных технологий программирования при разработки технического приложения

Проблема выбора наиболее подходящей библиотеки под конкретную практическую задачу. Наиболее популярные из применяемых библиотек для визуализации данных: QWT, mCtrl, GtkGraph, Qt Charts. Рефакторинг как процесс изменения внутренней структуры программы.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 29.03.2019
Размер файла 15,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

УДК 004.428

Пензенский государственный технологический университет

Обоснование выбора графической библиотеки и современных технологий программирования при разработки технического приложения

Васильев Максим Александрович студент;

Кияев Александр Алексеевич студент;

Пискаев Кирилл Юрьевич ст. преподаватель

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

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

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

Рассмотрим наиболее популярные из применяемых сегодня библиотек для визуализации данных: QWT, mCtrl, GtkGraph, Qt Charts.

Преимущества и недостатки каждой приведены в сравнительной таблице 1.

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

Таблица 1 - Сравнительные характеристики библиотек

Библиоте ка

Платформы

Варианты визуализации

Дополнительные функции

Стоимость

QWT

Windows,

Linux, OS X,

Android,

Symbian

Графики кривых, точечные графики, спектрограммы, гистограммы

Масштабирование, перемещение, стилизация, экспортирование графиков. Дополнительные виджеты: шкалы, ползунки, компас, таймеры.

бесплатная

mCtrl

Windows

Графики кривых, точечные графики, гистограммы, круговые диаграммы.

Стилизация графиков, дополнительные элементы пользовательского интерфейса.

бесплатная

GtkGraph

Windows,

Linux, OS X

Графики кривых

Стилизация графиков

бесплатная

QtCharts

Windows,

Linux, OS X,

Android,

Symbian

Графики кривых, точечные графики, гистограммы, круговые диаграммы.

Стилизация графиков, перемещение, масштабирование.

платная

Среди перечисленных вариантов самой функциональной и гибкой библиотекой является QWT. Эта графическая библиотека позволяет упростить процесс визуализации данных в программе. При использование данной библиотеки нет необходимости вручную прописывать элементы отображения, такие как оси координат, сетки, кривые данных и другие. Необходимо лишь задавать параметры этих элементов. Так же Qwt позволяет работать с достаточно большими объемами данных. [1].

Выбор данной библиотеки так же был обусловлен, тем что её можно использовать в разработке кроссплатформенных решений с использованием библиотек Qt. Qt -- кроссплатформенный инструментарий разработки ПО на языке программирования C++. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. [2]

При разработке была поставлена цель получить код соответствующий современным стандартам качества. Это позволило сократить количество строк кода, увеличить стабильность программы. Были использованы новые возможности стандарта С++11, такие как For-цикл по коллекции (рисунок 2.11), Лямбда-выражения, автоматическое определение типа данных (auto), потоки. [3] Так же во время разработки проводился множественный рефакторинг, в результате которого удалось сократить кол-во строк кода и сделать его более понятным для дальнейшей поддержки.

Лямбда-выражение (в программировании) -- это специальный синтаксис для объявления анонимных функторов по месту их использования. Используя лямбдавыражения, можно объявлять функции в любом месте кода. [4]

Поток -- это независимая задача, которая выполняется внутри процесса и разделяет вместе с ним общее адресное пространство, код и глобальные данные. [5]

Рефакторинг - это процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.[6]

Для управления версиями программы была использована система Git. Это распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. [7]

Чтобы увеличить производительность и воспользоваться многоядерностью современных процессоров, в программе используется многопоточность, т.е. функции генерации точек для графиков АЧХ и временного представления СВФ выполняются параллельно в раздельных потоках. Применение данной технологии позволило добиться увеличения производительности на многоядерных системах при работе с большим объемом данных.

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

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

1. Информационный сайт “Хабхабр” [Электронный документ] URL: http://habrahabr.ru/post/211204/ (дата обращения: 20.08.2015).

2. Информационный сайт “QT” [Электронный документ] URL: http://doc.qt.io/QtCharts/ (дата обращения: 23.08.2015).

3. Информационный сайт “Open Standards” [Электронный документ] URL: http://www.open-std.org (дата обращения: 23.08.2015).

4. Г. Шилдт C++. Базовый курс / Пер. с англ. Н. Ручко. Изд.: «Вильямс», 2014. - 624 с.

5. Роберт Лафоре. Объектно-ориентированноепрограммирование в С++. / Пер. с англ. А. Кузнецов, М. Назаров, Владимир Шрага Изд.: «Питер», 2015. - 928 с.

6. Информационный сайт “Git” [Электронный документ] URL: http://git-scm.com (дата обращения: 23.08.2015).

7. Пискаев К.Ю., Никулкин В.А., Васильев М.А. Выбор графической библиотеки для визуализации данных при разработке программных средств синтеза и анализа весовых функций // Современная техника и технологии. 2015. № 9 [Электронный документ]. URL: http://technology.snauka.ru/2015/09/7771 (дата обращения: 21.10.2015).

Размещено на Allbest.ru


Подобные документы

  • Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.

    курсовая работа [563,2 K], добавлен 21.06.2011

  • Обоснование выбора системы управления базы данных. Delphi и его основные компоненты. Обоснование среды программирования. Создание базы данных и ее связь со средой программирования. Анализ и описание предметной области. Описание процедур программы.

    курсовая работа [1,3 M], добавлен 25.05.2015

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

    курсовая работа [5,6 M], добавлен 04.05.2013

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

    дипломная работа [512,4 K], добавлен 28.08.2012

  • Обоснование выбора метода реализации функции выбора наиболее выгодного потребительского кредита. Реализация разрабатываемого web-приложения, тестирование функции рекомендации наиболее выгодного потребительского кредита на основе предпочтений пользователя.

    дипломная работа [1,1 M], добавлен 22.10.2016

  • Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.

    курсовая работа [616,4 K], добавлен 18.10.2010

  • Определение программного модуля. Принципы использования dll-библиотеки. Преимущества и недостатки использования dll-библиотек. Описание коэффициентов моделей. Разработка структуры классов. Реализация библиотеки классов в среде разработки MS Visual Studio.

    дипломная работа [676,6 K], добавлен 16.06.2015

  • Характеристика структурированного языка программирования С, его основных структурных компонентов, области памяти, библиотеки. Методы поиска в массивах данных. Описание программы, функции сортировки и меню выбора, последовательного и бинарного поиска.

    курсовая работа [1,7 M], добавлен 19.05.2014

  • Проблемы, обзор и анализ публикаций процесса функционирования библиотеки и обоснование его автоматизации. Анализ альтернативного программного обеспечения по автоматизации работы библиотек. Моделирование процесса функционирования библиотеки "Стэлс".

    дипломная работа [1,2 M], добавлен 09.01.2014

  • Администрирование баз данных. Проектирование баз данных, язык запросов к базе данных. Анализ средств разработки приложений. Планирование разработки программы "Электронный каталог" для библиотеки ОГАУ, предварительный проект и практическая реализация.

    дипломная работа [1,2 M], добавлен 02.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.