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

Проблема выбора наиболее подходящей библиотеки под конкретную практическую задачу. Наиболее популярные из применяемых библиотек для визуализации данных: 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

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