- •Введение
- •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.3 Ожидаемые технико-экономические показатели
Результатом работы должна стать интегрированная среда разработки программ для микроконтроллерных систем, позволяющая пользователю создать схему соединения программных и аппаратных модулей микроконтроллерной системы, написать программу для каждого микроконтроллера в схеме, выполнить отладку и тестирование программ на модели системы, получить сгенерированную программу на языке С. Разрабатываемая система должна поддерживать программирование микроконтроллеров архитектуры AVR фирмы Atmel семейств tiny, mega, xmega. Архитектура разрабатываемой системы должна предусматривать расширение перечня поддерживаемых контроллеров и определять ограничения на их архитектуру, а также пути преодоления этих ограничений, которые, возможно, будут предусматривать необходимость переписывания отдельных частей системы.
Расчет экономической себестоимости продукта и экономической эффективности проекта приведен в разделе 5.
2.3 Описание программы
2.3.1 Описание логической структуры
Диаграмма пакетов системы приведена на рисунке 2.13. Анализ концептуальной модели и вариантов использования позволяет выделить следующие компоненты.
Рисунок 2.13 – Диаграмма подсистем
Компонент Platform configuring призван сконфигурировать платформу Eclipse в отдельное запускаемое десктоп-приложение. Компоненты из пакета Project Management необходимы для проектно-документной организации файлов и входят в библиотеку Ecipse. SISD представляет собой пакет системы СИПР. Updating основан на платформе Provisioning platform p2 и позволяет производить обновления. ProgramEditors включает в себя три редактора: редактор схемы оборудования, редактор диаграммы задач и текстовый редактор кода программы. Пакет Debugging призван реализовать инструмент отладки, имея доступ к пакету моделирования и графических редакторов. Все основные компоненты имеют соответствующие графические представления из пакета GUI. Интеграция графических представления происходит посредством использования окон, меню и вкладок.
Согласно техническому заданию реализации в рамках дипломного проекта подлежит подсистема редактирования, т. е. графические и текстовые редакторы.
2.3.1.1 Модель графического редактора
Согласно спроектированной модели и иерархической структуре контроллеров были разработаны иерархическая диаграмма классов для реализации графического редактора (рисунок 2.14).
Рисунок 2.14 – Диаграмма классов модели графического редактора
Класс Elem является базовым элементом любого класса модели и инкапсулирует функциональность по организации подписки на модели, предоставляя интерфейсные методы addPropertyChangeListener, removePropertyChangeListener, firePropertyChange.
Класс NodeElem является базовым классом для объекта схемы, который может иметь свои координаты, размеры, имя и соединяться стрелками с другими объектами. Класс содержит методы, позволяющие закрепить на фигуру конец или начало стрелки (addConnection, removeConnection), а также содержит код по установке всех свойств в методе setPropertyValue, принимающем решение о том, какой свойство необходимо установить и какой для этого из дополнительных методов вызвать (setSize, setName, setLocation).
Класс ConnectionElem содержит информацию и методы для создания соединения (стрелки), также имеет свойство и соответствующие методы для установки типа линии (сплошная или пунктирная).
Класс ContainerElem предоставляет методы для добавления и удаления потомков (согласно иерархической структуре): addChild, removeChild, getChildren.
Классы TaskElem и PackageElem сходны по функциональности, объявляются контейнерами, и хранят лишь код по предоставлению картинки и текстового представления о фигуре. Аналогичную функциональность предоставляют классы модели TaskPropertyElem и PackagePropertyElem.
Исходный код контролера ContainerShapeEditPart.