- •Введение
- •1 Анализ предметной области
- •1.1 Постановка задачи
- •1.2 Обзор аналогов
- •2 Программная документация
- •2.1 Техническое задание на программное обеспечение
- •2.1.1 Назначение разработки
- •2.1.2 Терминология
- •2.1.3 Требования к функциональным характеристикам
- •2.1.4 Требования к надежности
- •2.1.5 Требования к составу и параметрам технических средств
- •2.1.6 Требования к информационной и программной совместимости
- •2.1.7 Требования к результатам работы
- •2.1.7.1 Требования к комплектации решения
- •2.1.7.2 Требования к документации
- •2.1.8 Перечень работ по этапам
- •2.2 Пояснительная записка
- •2.2.1 Назначение и область применения
- •2.2.2 Описание разработанной технологии создания программ для распределенных микроконтроллерных систем
- •2.2.2.1 Схема оборудования
- •2.2.2.2 Недостатки диаграммы Бара для проектирования микроконтроллерных программ управления
- •2.2.2.3 Концепции диаграммы задач
- •2.2.2.4 Семантика отображаемых на диаграмме задач связей
- •2.2.2.5 Синхронные и асинхронные вызовы функций задач
- •2.2.2.6 Синхронный вызов функции пакета
- •2.2.2.7 События и подписки
- •2.2.2.8 Текстовый язык
- •2.2.2 Технические характеристики
- •2.2.2.1 Описание структуры программной системы
- •2.2.2.1.1 Платформа разработки
- •2.2.2.1.2 Подсистема редактирования
- •2.2.2.1.3 Разработка графических редакторов
- •2.2.2.1.4 Разработка текстового редактора
- •2.2.2.1.5 Описание языка
- •2.2.2.1.6 Семантический анализ пользовательской программы
- •2.2.2.1.7 Генерация кода на целевом языке
- •2.2.2.1.8 Генерация кода редактора текстового языка
- •2.2.2.1.9 Проектирование отладчика
- •2.2.2.1.10 Регистрация конфигурации запуска
- •2.2.2.1.11 Модель отладки
- •2.2.2.1.12 Виртуальная машина
- •2.2.2.1.13 Моделирование
- •2.2.2.1.14 Концепция параметризированных сигналов
- •2.2.2.1.15 Функциональное моделирование блоков устройств
- •2.2.3 Ожидаемые технико-экономические показатели
- •2.3 Описание программы
- •2.3.1 Описание логической структуры
- •2.3.1.2 Типичный поток событий в графическом редакторе
- •2.3.2 Входные и выходные данные
- •2.3.3 Используемые технические средства
- •2.4 Программа и методика испытаний
- •2.4.1 Программа испытаний
- •2.4.2 Методика испытаний
- •3 Руководство пользователя
- •3.2 Условия выполнения программного комплекса
- •3.3 Установка программы
- •3.4 Текстовый редактор
- •3.5 Графический редактор
- •4 Акт испытаний программного продукта
- •5 Экономическая часть
- •Заключение
- •Список использованных источников
2.2.2 Технические характеристики
2.2.2.1 Описание структуры программной системы
Интегрированную среду разработки можно представить как систему, состоящую из трех основных подсистем:
1) подсистема редактирования;
2) подсистема отладки;
3) подсистема информационной поддержки разработчика (СИПР).
В рамках данной работы предполагается проектирование первых двух подсистем и формирование программного интерфейса для интеграции СИПР. На рисунке 2.3 представлена общая структура разрабатываемой системы, стрелками показано направление передачи информации.
Рисунок 2.3 – Общая структура программной системы
Согласно структурной схеме системы, подсистема редактирования состоит из трех основных компонентов:
1) схема оборудования;
2) диаграмма задач;
3) текстовый редактор,
что соответствует разработанной технологии создания пользовательских программ для микроконтроллеров.
Проектирование интегрированной среды разработки программ является нетривиальной задачей и требует больших трудозатрат, поскольку предполагает создание большого количества подсистем с множеством взаимодействующих друг с другом объектов. При этом на рынке средств разработки программного обеспечения существует множество интегрированных сред, поэтому чрезвычайно важно при разработке рассматриваемой системы использовать опыт разработки подобных сред.
2.2.2.1.1 Платформа разработки
В качестве платформы, на которой будет построена среда, выбрана платформа Eclipse, представляющая собой как библиотеку программного кода, так и набор архитектурных и технологических принципов построения интегрированных сред разработки.
Код платформы Eclipse написан языке Java, что обеспечивает ее потенциальную кроссплатформенность. Платформа Eclipse является гибкой, модульной и полностью настраиваемой платформой. Открытость ее кода и в то же время возможность его коммерциализируемости, обуславливает одно из основных ее преимуществ, повлиявшее на выбор данной технологии разработки.
2.2.2.1.2 Подсистема редактирования
Схема оборудования и диаграмма задач представляют собой графические редакторы. От схемы оборудования на диаграмму задач передается информация об используемых устройствах (каждая задача разрабатывается под конкретное устройство). При разработке схемы оборудования происходит частичная генерация задач на диаграмму задач в следующих ситуациях и по следующим принципам:
1) при добавлении нового автоматизирующего устройства на схему, на диаграмме задач появляется задача, соответствующая основному потоку исполнения этого устройства;
2) при включении блока устройства на схеме оборудования на диаграмме задач появляется соответствующая блоку аппаратная задача.
Диаграмма задач синхронизирует данные с текстовым редактором, согласно следующим принципам:
1) описанные на диаграмме пользовательские задачи соответствуют описанным задачам в текстовом редакторе;
2) указанные на диаграмме задач подписки на события приводят к генерации кода подписок в начале тела задачи, обратного восстановления подписок на диаграмме по коду не происходит;
3) указанные на диаграмме задач вызовы функций приводят к генерации сигнатур вызываемых из задачи функций других задач в области описания ее интерфейса и наоборот.