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.
- Введение
- 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 Экономическая часть
- Заключение
- Список использованных источников