Обоснование выбора графической библиотеки и современных технологий программирования при разработки технического приложения
Проблема выбора наиболее подходящей библиотеки под конкретную практическую задачу. Наиболее популярные из применяемых библиотек для визуализации данных: 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Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.
дипломная работа [2,2 M], добавлен 08.06.2017Проектирование программы, которая ведет учет книг в книгохранилище библиотеки. Выбор языка программирования. Разработка и элементы тестового приложения, его структура. Заполнение основных полей для добавления книги. Тестирование программы, ее алгоритм.
курсовая работа [1,5 M], добавлен 20.11.2015Проектирование базы данных для библиотеки и разработка программы для её удобного использования. Пример работы приложения на примере поиска статей по заданным условиям, а также основных операций с данными – добавления в базу, редактирования и удаления.
курсовая работа [2,5 M], добавлен 23.02.2014Характеристика рефакторинга как процесса изменения структуры программы. Предпосылки его проведения, основополагающие принципы. Признаки "плохого" кода. Применение кодирования и управления исходным кодом в качестве приема "Экстремального программирования".
контрольная работа [26,2 K], добавлен 29.05.2014Анализ принципов построения электронных магазинов и каталогов. Технологии и средства разработки: языки программирования, управление базами данных, библиотеки JavaScript, среда разработки. Проектирование структуры приложения, его файловая структура.
курсовая работа [1,2 M], добавлен 09.10.2014Разработка и реализация базы данных для библиотеки, обеспечение хранения, накопления и предоставления информации о деятельности библиотеки. Компьютерное обеспечение информационных процессов, проектирование структуры входящей информации и выходных данных.
курсовая работа [2,5 M], добавлен 17.09.2011Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.
курсовая работа [572,7 K], добавлен 14.07.2012Компиляция программ на языке C/C++. Компиляция нескольких файлов. Библиотеки объектных файлов. Создание статической и динамической библиотеки. Функции работы. Создание динамической библиотеки для решения системы линейных уравнений.
курсовая работа [27,4 K], добавлен 07.08.2007Особенности разработки и представления проекта программы, представляющей собой аналоговые часы с циферблатом, часовой, минутной и секундной стрелкой. Применение MS Visual Studio 2010, языка С++ для ее написания и компилирования. Специфика библиотеки MFC.
курсовая работа [440,2 K], добавлен 17.03.2014Создание приложения на языке программирования Visual C++ с использованием библиотеки MFC на тему "Тестирование по разделу "Законы механики Ньютона". Описание логической структуры программы, тестовых прогонов. Требования к техническому обеспечению.
курсовая работа [2,2 M], добавлен 29.06.2011