📄Работа №203615

Тема: Разработка программного расширения UMLet для генерации кода по диаграмме состояний

Характеристики работы

Тип работы Дипломные работы, ВКР
Программирование
Предмет Программирование
📄
Объем: 55 листов
📅
Год: 2019
👁️
Просмотров: 118
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 2
ВВЕДЕНИЕ 4
1 АНАЛИЗ ТРЕБОВАНИЙ. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ.
ВЫБОР СРЕДСТВ ДЛЯ СОЗДАНИЯ ПРОГРАММЫ 6
1.1 Описание предметной области 6
1.2 Обзор программы UMLet 12
1.3 Обзор существующих расширений и приложений 15
1.4 Постановка задачи 21
1.5 Выбор инструментов разработки 21
1.6. Вывод по разделу 24
2 ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ 25
2.1 Диаграмма классов 25
2.2 Блок-схемы алгоритмов 26
2.3 Вывод по разделу 30
3 РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ 31
3.1 Обработка входных данных 31
3.2 Генерация кода по диаграммам 32
ЗАКЛЮЧЕНИЕ 43
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 44
ПРИЛОЖЕНИЕ 1 Описание программы 46
ПРИЛОЖЕНИЕ 2 Текст программы 50

📖 Аннотация

В данной работе разработано программное расширение для инструмента моделирования UMLet, предназначенное для автоматической генерации программного кода на основе диаграмм состояний. Актуальность исследования обусловлена недостаточной распространенностью автоматного программирования, несмотря на его высокую эффективность при разработке систем логического управления, событийно-управляемых систем и встраиваемых приложений, что связано с дефицитом удобных инструментов, автоматизирующих переход от визуального проектирования к реализации. Основным результатом является законченное приложение, включающее проработанную архитектуру, алгоритмы считывания данных и анализа связей элементов диаграммы, а также программную реализацию объемом около 350 строк кода, успешно прошедшую тестирование. Научная значимость работы заключается в развитии методов и инструментов автоматного программирования, а практическая — в предоставлении разработчикам средства, сокращающего рутинные операции и снижающего вероятность ошибок при кодировании автоматов. В контексте существующих исследований, таких как работы А.А. Шалыто и Н.И. Поликарповой по основам автоматного программирования, В.С. Гурова и др. по инструментальному средству Unimod, а также А.А. Шалыто по SWITCH-технологии, данная разработка представляет собой конкретное прикладное решение, интегрирующееся в популярную среду визуального моделирования.

📖 Введение

Автоматное программирование - это некая общая парадигма программирования, суть которой заключается в том, что создаваемая программа рассматривается как реализация некоторого управляющего автомата. Автоматное программирование может быть использовано в следующих областях:
- системы логического управления;
- событийно-управляемые системы;
- бытовая электроника (банкоматы, лифты, платежные терминалы, светофоры и др.);
- лексические и синтаксические анализаторы;
- бизнес-процессы (документооборот и др.).
Однако, несмотря на это, автоматное программирование не стало магистральным трендом. Главная причина здесь - недостаточный опыт использования, алгоритмизации и программирования указанного класса задач на основе теории автоматов, и как следствие, отсутствие популяризаторов.
Работу автомата можно наглядно описать при помощи диаграммы состояний и переходов.
Любой компьютер можно рассматривать как совокупность взаимодействующих конечных автоматов.
Память компьютера - это последовательность ячеек памяти, которые могут записывать или считывать последовательность битов, каждая из которых хранится в нужном месте.
В специальных электронных устройствах - так называемые регистры.
Регистр - это электронное устройство, подобное ячейке памяти, в котором хранится (временно) последовательность битов большой длины. По сравнению с основной памятью компьютера регистровая память или так называемая кэш-память невелики.
Каждая команда должна выполнить операцию, после которой необходимо выполнить операцию. Затем операция будет выполняться в соответствующих ячейках памяти.
В теории объектно-ориентированного программирования считается, что объект имеет внутреннее состояние и способен принимать сообщения, прослушивать их, отправлять сообщения другим объектам и в процессе обработки сообщений изменять свое внутреннее состояние. Суть вопроса заключается в том, что объект сообщения является синонимом.
Объекты в объектно-ориентированном программировании могут рассматриваться как конечные автоматы, состояние которых представляет собой совокупность внутренних полей. В качестве шага автомата могут рассматриваться один или несколько методов объекта при условии, что эти методы не вызывают ни сами себя, ни друг друга.
Цель работы - разработка программного расширения UMLet для генерации кода по диаграмме состояний. Разработанное расширение предназначено для преобразования диаграммы состояний в код на языке высокого уровня.

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

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

👨‍🎓 Помощь в написании

✅ Заключение

Разработано приложение для генерации программного кода по диаграмме состояний UMLet. В ходе работы была проработана архитектура приложения.
Созданы алгоритмы программы: алгоритм работы программы,
алгоритм считывания данных, алгоритм нахождения связей для каждого элемента.
Выполнена программная реализация приложения, включающая в себя около 350 строк кода. Успешно проведено тестирование с помощью заранее построенных диаграмм состояний.
Таким образом, все поставленные задачи выполнены, и цель работы достигнута.
В дальнейшем планируется добавление вызова программы в файл Makefile проекта в среде разработки MinlDE для автоматизированной генерации класса по диаграмме состояний.
Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1 Шалыто, А.А. Автоматное программирование. / А.А. Шалыто, Н.И. Поликарпова. - СПб: Изд-во СПбГПУ, 2008. - 168с.
2 Википедия - Википедия. - Дата обновления: 04.03.2019. URL: https://ru.wikipedia.org/wiki/BuKunegM (дата обращения: 05.03.2019).
3 Гуров, В.С. Unimod - инструментальное средство для автоматного программирования. / В.С. Гуров, М.А. Мазин, А.А. Шалыто. - СПб: Изд-во СПбГПУ, 2008. - 44с.
4 Шалыто, А.А. SWITCH-технология. Алгоритмизация программирования задач логического управления. / А.А. Шалыто. - СПб: Наука, 1998. - 628с.
5 Шалыто, А.А. SWITCH-технология - автоматный подход к созданию программного обеспечения «реактивных» систем. / Программирование. 2001. №5. с.45-62. URL: http://is.ifmo.ru/works/switch/1
6 Шелехов, В.И. Язык и технология автоматного программирования / В.И. Шелехов. / Новосибирск, 2004. - 18с.
7 UMLet - Tool for Fast UML Diagrams - Дата обновления: 04.03.2019. URL: https://www.umlet.com/ (дата обращения: 05.03.2019).
8 Колесов, Ю.Б. Моделирование систем. Динамические и гибридные системы. / Колесов, Ю.Б, Сениченков Ю. Б. БХВ-Петербург, 2006. - 224с.
9 Заде Л., Теория линейных систем. Метод пространства состояний. / Заде Л, Дезоер Ч. М.: Наука, 1990. - 704с.
10 ГОСТ 19.701-90 Схемы алгоритмов программ, данных и систем
11 Штайн, К. Алгоритмы. Построение и анализ. / Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн М.: «Вильямс», 2013. — 1328 с.
12 Мейер, Б. Объектно-ориентированное конструирование программных систем. / Мейер, Б. М.: Интернет-университет информационных технологий, 2005. - 1204с.
13 Буч, Г. Язык UML: Руководство пользователя. / Буч, Г., Рамбо Дж., Якобсон И. СПб.:Питер, 2004. - 248с.
14 Буч, Г. UML. 2-е издание. / Буч, Г., Рамбо Дж., Якобсон И. СПб.:Питер, 2005. - 124с.
15 Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации алгоритмов. / Шалыто А. А. СПб.: Наука, 2000. - 780с.
..20

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.
Предоставляемые услуги, в том числе данные, файлы и прочие материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Укажите ник или номер. После оформления заказа откройте бота @workspayservice_bot для подтверждения. Это нужно для отправки вам уведомлений.

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