Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TRPO_otvety.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
519.78 Кб
Скачать

19. Создание шаблона приложения с использованием библиотеки mfc. Структура и классы приложения.

Мастер создания приложений VC++ (Appwizard) может создавать несколько типов приложений

        1. Single document (приложение работает с одним документом)

        2. Multiple document(приложение работает с несколькими документами)

        3. Dialog based (приложение основано на окне диалога)

Расмотрим пример для приложения для тепличного хозяйства, использующего гидропонику (растения выращиваются без грунта на специальном растворе) (Пример из конспа)

Специфика создаваемого приложения (гидропонная система) позволяет выбрать структуру работающую с одним документом

Понятие документ для тепличного хоз-ва

Документ – любая сов-ть данных а не только текста

Для нашего примера данные о состоянии теплицы будут представлены в виде документа, что является наиболее быстрым способом построения приложения, чем путь создания с нуля на базе окна диалога

Разрабатываемое приложение можно отнести к классу систем автоматизированного управления техническим процессом. Внешний вид отображения данных не имеет значения, т.к. это не зависит от структуры классов. Результат будет представлен в виде отчёта в окне редактора

Классы создаваемые мастером приложений

При создании шаблона приложения мастер создания приложений создаст код след классов:

  • Главный класс приложения CGreenhouseApp

  • Класс документа CGreenhouseDoc

  • Класс просмотра CGreenhouseView

  • Класс для окна «О программе» CAboutDlg

  • Класс основного окна программы CMainFrame

Мастер создания приложения обеспечивает разделение кода создания окна и визуализации данных от собственно данных

CWinApp, CDocument библиотечные классы

CWinApp CDocument СEditView

CGreenHouseApp CGreenhouseDoc CGreenhouseView

Главный класс CGreenHouseApp

CGreenhouseDoc - происходит вся обработка данных

Для построения шаблона приложения используется модуль Component Assignment Tool. Приложение будет содержаться в компоненте GreenHouse и будет одноименно называться. По окончании построения приложение будет создано на стороне среды разработчика

Импорт библиотеки MFC

Для того чтобы можно было в дальнейшем работать с классами MFC нужно импортировать эту библиотеку классов в модель. Затем в модель RR можно загрузить классы, созданные в Visual C++. Для того чтобы они появились в проекте необходимо обновить проект по готовому коду Menu: Tools => Visual C++ => Update model from code В результате на стороне RR появится диаграмма которая отображает структуру классов наследуемых из классов библиотеки MFC, после чего в шаблон при необходимости можно добавлять требуемые классы разработчика. При обновлении необходимо выполнить обновление кода по модели. По завершении обновления можно выполнить 1-ый запуск приложения

20. Функциональные возможности Rational Rose: модуль Component Assignment Tool, компонент Model Assistant, обновление кода по модели и модели по коду.

В RR для автоматической кодогенерации предназначены 2 встроенных средства

Model Assistant и Component Assignment tool

После выбора языка программирования становится доступным следующий перечень действий:

Model Assistant – этот модуль позволяет обновлять и конкретизировать классы в модели, используя средства визуализации. Ассистент модели представляет окно, позволяющее создавать атрибуты и операции и изменять их свойства.

Поля в окне:

  • Предварительный просмотр – показывает описание класса в том виде, в котором оно определено в текущий момент

  • Имя программы – показывает имя программного файла для класса

  • Генерация кода – ключ определяющий необходимость создания для данного класса исходного текста на языке C++ (если ключ снят то генерация кода не будет происходить)

  • Тип класса (e.g. class, struct, union)

  • Документация – позволяет задавать произвольные комментарии для класса

По тому же принципу ассистент модели работает на уровне операций и атрибутов

Assignment tool - активизирует окно назначения классов в компоненты и назначение языка для класса.

Чтобы получить преимущества использования данного инструмента, необходимо создавать компоненты здесь, а не через окно Browser или в диаграмме компонентов. При этом созданные компоненты будут содержать всю необходимую информацию для генерации кода на выбранном ЯП. Этот модуль позволяет просмотреть классы, которые ещё не назначены в компоненты, что уменьшает вероятность ошибки

Обновление кода и модели (Update Code/Update model)

После того как все компоненты добавлены в модель и все классы связаны в соответствии с компонентами, выбираем «Update code from model” Создаётся код на стороне среды программирования. Если изменения касались не всех классов, то для обновления можно выбрать конкретные классы. После завершения обновления на стороне RR будет представлен отчёт о том как прошло обновление. Процесс обновления модели по изменениям в коде происходят аналогично.

Мастер создания классов предоставляет возможность устанавливать 3 различных варианта создания классов

  • Создание нового пустого класса

  • Создание подкласса уже созданного класса

Создание нового класса по шаблону уже существующего

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]