Тип работы:
Предмет:
Язык работы:


СИСТЕМА АВТОМАТИЗАЦИИ РАЗРАБОТКИ ПРОГРАММ НА ПЛАТФОРМЕ QT НА ОСНОВЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ

Работа №193874

Тип работы

Магистерская диссертация

Предмет

физика

Объем работы60
Год сдачи2023
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
20
Не подходит работа?

Узнай цену на написание


Реферат
ВВЕДЕНИЕ 5
1 Основные понятия и определения 8
1.1 Автомат 8
1.2 Автоматные композиции 9
1.3 Автоматное программирование 12
2 Платформа Qt для разработки программ 14
2.1 Основные компоненты платформы Qt 15
2.2 Возможности Qt для разработки программ 16
3 Разработка системы генерации шаблонов программ на платформе Qt на основе
автоматного описания 18
3.1 Описание архитектуры системы 18
3.2 Автоматное описание программ 19
3.3 Модуль генерации шаблонов программ на платформе Qt 21
3.4 Разработка графического интерфейса пользователя 26
3.5 Результаты работы системы генерации шаблонов программ на платформе Qt на
основе автоматного описания 30
ЗАКЛЮЧЕНИЕ 32
СПИСОК ЛИТЕРАТУРЫ 33
ПРИЛОЖЕНИЯ 36

Актуальность работы. В современном информационном обществе программирование стало неотъемлемой частью многих отраслей. Однако процесс разработки программного обеспечения по-прежнему остается сложным и трудоемким. Одной из основных проблем разработки является необходимость повторного создания структурно схожих программ, что отнимает значительное время и ресурсы. В связи с этим, возникает потребность в автоматизации разработки программного обеспечения.
Существует множество фреймворков и инструментов, позволяющих упростить процесс разработки и повысить эффективность работы программистов. Одним из таких инструментов является платформа Qt, которая предлагает широкий спектр возможностей для разработки кроссплатформенных приложений. Однако даже с Qt разработка программного обеспечения по-прежнему требует большого объема ручной работы.
Поэтому, с точки зрения разработки программного обеспечения, тема «Система автоматизации разработки программ на платформе Qt на основе автоматного программирования» остается актуальной и интересной. Вот некоторые аспекты, подтверждающие ее актуальность:
1. Повышение производительности и эффективности: автоматизация разработки программного обеспечения может значительно ускорить процесс разработки программного обеспечения и повысить производительность труда разработчиков. Автоматизация рутинных задач и генерация кода на основе заранее заданных шаблонов и правил позволяет сэкономить время и уменьшить количество ошибок.
2. Сокращение рутинных задач: автоматное программирования позволяет сократить количество рутинных задач, таких как создание повторяющегося кода или настройка стандартных компонентов пользовательского интерфейса. Это освобождает разработчиков от монотонных задач и позволяет им сосредоточиться на более творческих и сложных аспектах разработки.
3. Снижение вероятности ошибок: использование автоматизированной системы, основанной на автоматном программировании, снижает вероятность ошибок, поскольку процесс генерации кода стандартизирован и опирается на определенные правила. Это повышает качество программного обеспечения и сокращает время, затрачиваемое на отладку и исправление ошибок.
4. Улучшенная масштабируемость и переносимость: автоматное программирование помогает улучшить масштабируемость проектов и переносимость кода. Используя шаблоны и генерируя правила, программы можно легко адаптировать к различным платформам и архитектурам.
5. Сотрудничество и согласованность: Система автоматизации разработки Qt, основанная на автоматизированном программировании, обеспечивает согласованность и стандартизацию в команде разработчиков. Все участники проекта работают по определенным правилам и шаблонам, что способствует сотрудничеству и обеспечивает согласованность кодовой базы.
Однако следует отметить, что автоматное программирование может подходить не для всех типов проектов и может потребовать дополнительных усилий для внедрения. Разработчикам следует тщательно изучить свои требования и проектную среду, прежде чем принимать решение о внедрении автоматизированной системы на основе автоматного программирования для разработки программ на платформе Qt.
Целью данной магистерской работы является создание системы генерации шаблонов программ, основанной на автоматном программировании, для автоматизации процесса разработки программного обеспечения на платформе Qt.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Изучение существующих подходов к автоматизации разработки программного обеспечения и особенностей платформы Qt.
2. Исследование методов и инструментов автоматного программирования, а также их применимости для разработки на платформе Qt.
3. Разработка системы генерации шаблонов программ на платформе Qt, основанной на принципах автоматного программирования.
4. Проведение экспериментов и анализ полученных результатов для оценки эффективности разработанной системы и ее сравнение с традиционными методами разработки программного обеспечения на платформе Qt.
Методы исследования.
В данной работе будут использованы такие методы как, анализ научной литературы и источников, анализ существующих подходов и инструментов автоматизации разработки на платформе Qt, изучение принципов автоматного программирования, проектирование и разработка системы генерации шаблонов программ на основе автоматных композиций, а также проведение экспериментов для оценки эффективности и применимости разработанной системы.
Практическая ценность.
Защищаемый программный комплекс позволяет автоматизировать и упростить процесс разработки программ на платформе QT через использование методов автоматного программирования. Предложенный комплекс будет полезен для разработчиков, ускоряя их работу и позволяя сосредоточиться на решении более сложных задач. Кроме того, результаты работы могут быть применены в различных сферах, где используется платформа Qt, включая разработку приложений для настольных компьютеров, мобильных устройств, встроенных систем и других областей применения.
Достоверность результатов.
Достоверность результатов исследования обеспечена проведением эксперимента и анализом полученных результатов.
Основное положения, выносимое на защиту.
Защищается комплекс программ для автоматизации процесса разработки ПО на платформе Qt, отличающийся от аналогов, тем что разрабатываемая система представляется композицией взаимодействующих автоматов, позволяющий
автоматизировать процесс разработки ПО на основе формальной модели (автоматные композиции), а также автоматизировать процесс генерации тестов, в том числе тестов на осцилляции и тупики.
Структура и объем работы.
Магистерская диссертация разделена на 3 глав.
В первой главе вводятся основные понятия и определения, которые используются в работе. В частности, вводятся понятия автомата, композиции автоматов и ее типы, а также определение автоматного программирования и его принципов работы.
Во второй главе магистерской диссертации рассматривается платформа Qt, которая используется для разработки программного обеспечения. В этой главе изучаются основные компоненты, предоставляемые платформой Qt, а также рассматриваются её возможности для разработки программ.
В третьей главе магистерской диссертации разрабатывается система генерации шаблонов программ на платформе Qt на основе автоматного описания. Описывается архитектура системы, язык автоматного описания программ, модуль генерации шаблонов и разработка графического интерфейса пользователя.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной магистерской диссертации была разработана и успешно реализована система автоматизации разработки программ на платформе Qt, основанная на принципах автоматного программирования. Целью данной работы было создание высокоэффективного инструмента, способного автоматически создавать код на основе заранее определенных шаблонов и правил, что ускоряет и облегчает процесс разработки программного обеспечения.
В ходе исследования были проанализированы существующие подходы к разработке программного обеспечения на платформе Qt и изучены основы автоматного программирования, определены требования к системе автоматизации разработки и разработана соответствующая архитектура.
Основной вклад данной работы заключается в разработке и реализации модуля генерации шаблонов программ на платформе Qt, который отвечает за автоматическое создание части кода на основе заранее определенных шаблонов и правил, обеспечивая согласованность и стандартизацию в кодовой базе.
Результаты исследования подтверждают эффективность и практическую ценность разработанной системы. Новый инструмент, основанный на автоматном описании, позволил успешно генерировать код, что значительно ускорило и упростило процесс разработки программного обеспечения и минимизировало потенциальные ошибки. Код, созданный таким образом, соответствует стандартам и требованиям платформы Qt, что гарантирует высокое качество и однородность разработки.
Кроме того, были проведены эксперименты для проверки производительности и эффективности системы, которые подтвердили её способность существенно ускорять процесс разработки программного обеспечения и сокращать трудозатраты благодаря автоматизации генерации кода на основе шаблонов и автоматного описания.
В заключение, следует отметить, что система автоматизации разработки программ на платформе Qt на основе автоматного программирования является ценным инструментом для разработчиков, позволяющим повысить эффективность и качество разработки, а также обеспечить согласованность и стандартизацию в кодовой базе. В дальнейшем стоит рассмотреть возможность расширения функциональности системы, включая поддержку дополнительных возможностей платформы Qt и оптимизацию процесса генерации кода.


1. Евтушенко Н.В. Недетерминированные автоматы: анализ и синтез: учебное пособие, ч.1 / Н. В. Евтушенко, А.Ф. Петренко, М. В.Ветрова. - Томск: Том. гос. ун-т, 2006. - 142 с.
2. John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Automata Theory, Languages, and Computation" / John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. — 3rd Edition. — Ithaca NY and Stanford CA: , 2006 — 550 c.
3. Linz, Peter An introduction to formal languages and automata / Linz, Peter — XVIII. — Lexington, Mass. : D.C. Heath: , 1990 — 373 c.
4. John E. Hopcroft, Jeffrey D. Ullman Introduction to Automata Theory, Languages, and Computation / John E. Hopcroft, Jeffrey D. Ullman — XVIII. — Lexington, Mass. : D.C. Heath: Addison-Wesley Publishing Company, 1979 — 537 c
5. Prokopenko S. Locating a faulty component of an EFSMcomposition // Труды ИСП РАН. 2014. Vol. 26, № 6. P. 47-56.
6. Sotnikov A. P. Experiments On Parallel Composition of Timed Finite State Machines / A. P. Sotnikov, N. V. Shabaldina, M. L. Gromov // Труды ИСП РАН 29:3 (2017). С. 233-246.
7. М. Л. Громов, Н. В. Шабалдина, Построение каскадной параллельной композиции временных автоматов с использованием BALM-II, Модел. и анализ информ. систем, 2016, том 23, номер 6, 715-728
8. Поликарпова, Н.И., Шалыто, А.А. Автоматное программирование / Н.И. Поликарпова, А.А. Шалыто — Санкт-Петербург: , 2009 — 176 c.
9. Qt [Электронный ресурс] : Cross-platform software development for embedded & desktop. - URL: https://www.qt.io/ (дата обращения 01.06.2023).
10. Кузнецова О.В. Применение Qt в разработке кроссплатформенных приложений. Издательский дом "БХВ-Петербург", 2012
11. Болтова В.С. Разработка XML-представления для описания структуры автоматной композиции / Болтова В.С., Шабалдина Н.В. // Материалы Двенадцатой конференции с международным участием “Новые информационные технологии в исследовании сложных структур”, Издательство Национальный исследовательский Томский государственный университет, Томск, 2018 - 68 с.
12. . Конечный автомат [Электронный ресурс]. - URL:
https://tproger.ru/translations/finite-state-machines-theory-and-implementation/ (дата обращения 27.11.2022).
13. Daphne A. Norton. Algorithms for testing equivalence of finite automata, with a grading tool for jflap // Technical report, Rochester of finite Technology, Departament of Computer Science (2009). - 69 c.
14. Евтушенко Н.В. Некоторые задачи идентификации состояний для недетерминированных автоматов / Н. В. Евтушенко, Н.Г. Кушик. Томск: STT, 2018. - С. 15-21.
15. Гилл А. Введение в теорию конечных автоматов (серия “Теоретические основы технической кибернетики”). М.: Наука, 1966 - С. 8-118....30


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ