Главная » Просмотр файлов » Диссертация

Диссертация (1148239), страница 14

Файл №1148239 Диссертация (Платформа для создания специализированных визуальных сред разработки программного обеспечения) 14 страницаДиссертация (1148239) страница 142019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 14)

Состав DSM-решения на основе QRealПолучаемое типовое предметно-ориентированное решение на базе QRealвключает в себя следующие инструменты.5.4.1. Графический интерфейс пользователяГрафический интерфейс(graphical user interface, GUI) получаемых средразработки предоставляет пользователям типичные инструменты для подобногорода инструментариев (внешний вид редактора блок-схем представлен на рис. 15):обозреватели модели, редактор свойств элементов, рабочую область редактора82диаграмм, палитру доступных для моделирования элементов, “миникарту”,являющуюся уменьшенной версией текущей диаграммы (бывает весьма полезнойпри работе с крупными диаграммами, занимающими более одного экрана), окно дляотображения предупреждений и сообщений об ошибках, а также ряд набор меню ипанелей главного окна для управления остальными инструментами.При желании любые элементы графического интерфейса можно скрыть.Рисунок 15.

Графический интерфейс DSM-решения на основе QReal5.4.2. РепозиторийРепозиторий QReal представляет собой простую объектно-ориентированнуюбазу данных, хранящую все создаваемые в QReal модели. Репозиторий представленв виде отдельной динамически загружаемой библиотеки, реализованной на языкеC++, в результате чего может быть использован сторонними программами(например, генераторами кода или анализаторами моделей) через специальный83программный интерфейс. Из других модулей платформы QReal репозиторийиспользует qrkernel и qrutils.Доступ к данным репозитория осуществляется через интерфейс RepoApi,который соединяет в себе три других интерфейса: интерфейсы моделейGraphicalRepoApiиLogicalRepoApiиинтерфейсслужебныхоперацийRepoControlInterface.

Интерфейс RepoControlInterface содержит несколько операцийзагрузки и сохранения содержимого репозитория, а также методы, реализующиепоиск среди содержимого репозитория.Интерфейсымоделейпредоставляютполный доступ к данным: диаграммам, элементам и связям между ними. Доступныоперации создания и удаления произвольных элементов и связей, запрос иизменение свойств, помещение элементов в другие как в контейнеры, проверкаэлемента с заданным идентификатором на существование и другие.5.4.3. Средства для работы с логическими и графическими моделямиЛогическая модель системы отражает её внутреннюю структуру, и это то, с чемработают генераторы и другие инструменты. Графическая модель системы — этонабор диаграмм, отображающих её логическую модель, с ней работает пользователь.В самом простейшем случае между элементами логической и графической моделейустанавливается соотношение «один к одному», однако это удобно далеко не всегда.Некоторые элементы модели могут визуального представления не иметь вовсе(например, значения перечислимых типов или специальные служебные вещи типанастроек генерации), некоторые, наоборот, имеют только визуальное представлениеи на логику системы никак не влияют (например, декоративная линия илипрямоугольник на диаграмме), некоторые могут иметь несколько представлений(например, один и тот же класс UML может присутствовать на нескольких разныхдиаграммах, причём выглядеть по-разному).Поддержка разделения логических и графических моделей реализована в QRealна нескольких уровнях.84●На уровне графического интерфейса присутствуют отдельные обозревателилогической и графической моделей.

С их помощью можно создавать,перемещать и удалять элементы каждого типа моделей, помещать логическиеэлементы на диаграммы (создавать графические элементы), число «копий»одного логического элемента на диаграмме не ограничено. В редакторесвойств для элемента на диаграмме отображаются как его графическиесвойства (позиция, размеры), так и свойства соответствующего логическогоэлемента (свойства элемента, описанные в метамодели языка). Например,изменение имени приведет к изменению имен всех элементов на диаграммах,соответствующих данному логическому элементу.●На уровне репозитория существует два различных интерфейса для работы слогической и графической моделями. Операции данных интерфейсовразличаются:черезAPIграфическоймоделиврепозиторииможнооперировать данными о диаграммах (позиция и размеры элементов, отношениевложенности контейнеров и т.п.), через API логической модели работать слогическими свойствами элемента (например, управлять трассировкой —невизуальным типом связи между элементами, используемым в некоторыхредакторах).

Для связи элементов моделей для каждого элемента графическоймодели в репозитории возможно получить идентификатор соответствующегоему элемента логической модели (если он существует).5.4.4. Средства обеспечения многопользовательской работыДля обеспечения коллективной работы над проектом в QReal несколькихпроектировщиков была добавлена возможность версионирования создаваемыхмоделей с помощью систем контроля версий (version control system, VCS): доступныоперации сохранения моделей на удаленном сервере и загрузки на рабочее место(операции check-in и check-out систем контроля версий соответственно), откат кпредыдущим версиям, просмотр изменений между версиями.85Рассмотрим, как в QReal устроена работа с файлами сохранений. Файлысохранений имеют расширения .qrs (QReal Save file) и получаются следующимобразом: содержимое репозитория сериализуется на диск в виде иерархиидиректорий, разделяющих элементы логической и графической моделей (далееэлементы каталогизируются по типу элемента для логической модели, дляграфической — вначале по принадлежности диаграмме, а затем уже по типуэлемента).

Сам элемент сериализуется в виде XML-файла, содержащего всюинформацию о нем: идентификатор элемента, его имя, значения всех свойств и т.п.Для получения единого файла сохранения данная иерархия каталогов архивируется.При загрузке файла сохранения на рабочее место репозиторием производятсяобратные операции: разархивирование каталогов и рекурсивное чтение ихсодержимого.Благодаря подобному внутреннему устройству файлов сохранения поддержкаверсионирования моделей выглядит довольно несложной задачей, однако встаетследующаятехническаяпроблема.Очевидно,чтофункциональностьверсионирования должна быть потенциально отключаемой, т.е.

быть реализована ввиде плагина инструментов. Однако, описанные выше операции над файломсохранения производит объект класса Serializer, который является внутреннимобъектом плагина репозитория. Расширять интерфейс репозитория операциямисистемы контроля версий видится неразумным, так как добавляет этому объекту ещеодну функцию, слабо связанную с основной — предоставлением доступа к данным.Ктомуже,существеннымтребованиембыламаксимальнаягибкостьирасширяемость — добавление поддержки новой системы контроля версий должнотребовать минимума изменений существующего кода. Использование еще одногоэкземпляра объекта Serializer в плагине версионирования также было затруднено:для этого потребовалось бы раскрывать детали реализации репозитория.Очевидным решением было бы версионировать уже заархивированные файлы86сохранения, но в таком случае будет осуществляться версионирование бинарныхфайлов, и вся информация о семантике изменений, осуществляемых в моделях,теряется.В результате было реализовано следующее решение (см.

рис. 16). Для того,чтобы дать произвольным компонентам QReal возможность распаковать файлсохранениябезнарушенияинкапсуляции,былсозданинтерфейсWorkingCopyManagementInterface, содержащий две операции: prepareWorkingCopy(),распаковывающуюфайлсохранениявкаталогсрабочейкопией,иprocessWorkingCopy(), соответственно запаковывающую директорию с рабочейкопией в файл сохранения. Интерфейс репозитория RepoControlApi, содержащийслужебныеоперациинадрепозиторием,былунаследованWorkingCopyManagementInterface.Рисунок 16. Встраивание компонент версионирования в архитектуру QRealот87Следующая задача — обеспечение контроля за изменениями файлов в рабочейкопии.

Например, если на диаграмме был создан новый элемент, в файле сохраненияпоявится соответствующий файл, который нужно добавить в рабочую копию VCSсоответствующей командой. Для обработки изменений в рабочей копии был созданинтерфейс WorkingCopyInspectionInterface, а в RepoControlApi был добавлен методпринимающийsetWorkingCopyInspector(),подобныйобъект-инспекторипередающий его в сериализатор. Сериализатор, выполняя сохранение, узнает, какиефайлы добавились, удалились или изменились и вызывает соответствующие методыобъекта-инспектора.

Характеристики

Список файлов диссертации

Платформа для создания специализированных визуальных сред разработки программного обеспечения
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее