Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения .doc
Скачиваний:
204
Добавлен:
06.03.2016
Размер:
3.8 Mб
Скачать
      1. Создание логики наOcl

  1. Действия, которые выполняет дескриптор в программе, определяются значением свойства Expression. В это свой­ство вводится выражение языкаOCL, которое определяет схему создания объектов модели ЕСО.

Используем дескриптор ehChairдля обращения к экземплярам класса Кафедра. Введем в свойствоExpressionобъекта ehChairстрокуclChair.allinstances. Иначе это можно сделать с помощью редактораOCLвыражений. Введенное выражение задает доступ ко всем текущим экземплярам класса Кафедра в объектном пространстве. В таблице, показанной на форме в окне Проектировщика, сразу же отобразятся поля класса Кафедра (ChairHeadSNP,ChairSecrSNPиChairName) (в том числе поля родительского клас­са, если он имеется). Дескриптор ehChairстановится поставщиком данных нашей модели ЕСО для первой таблицы.

  1. В качестве выражения OCLобъектаehLecturerвведем строкуself.roleLecturersв свойствоExpression. ЗдесьroleLecturers— это введенное нами при построении модели имя роли класса Преподаватель (clLecturer) в его ассоциативной связи с классом Кафедра (clChair). Это выражение определяет группу преподавателей, принадлежащих кафедре, которая выбрана в первой таблице. Дескриптор ehLecturerстановится поставщиком данных для второй таблицы (см. Рисунок 8 .59).

Рисунок 8.59 – НастройкаOCL-выражений для взаимосвязанных таблиц

  1. Дадим заголовкам полей таблиц русскоязычные названия. Выберем на форме таблицу dgChair. Щелчком на кнопке с многоточием в строке свойстваTableStylesоткроем окно редактора коллекции стилей таблицы DataGridTableStyleCollectionEditor. Создадим новый стиль таблицы, нажав на кнопкуAdd(см. Рисунок 8 .60).

Рисунок 8.60 – Коллекция таблиц компонентаgdChair

Щелкнем по кнопке с многоточием в строке свойства GridColumnStyles. Откроется окно редактора стиля поля таблицы. Нажмем кнопкуAdd3 раза, так как нужно переименовать три поля (создать три стиля для имеющихся полей таблицы). Выберем свойствоHeaderTextпервого элемента коллекции и введем в него стоку Название кафедры. Затем в свойствеWidthустановим ширину поля – 150. И в свойствеMapingNameвыберемChairName. То есть первый столбец настраиваемой таблицы будет содержать информацию атрибутаChairNameкласса Кафедра (см. Рисунок 8 .61).

Теперь настроим оставшиеся два элемента коллекции. Эти столбцы будут называться ФИО зав кафедрой и ФИО секретаря кафедры. Нажмем кнопку ОК в обоих открытых окнах и убедимся, что поля таблицы получили новые названия.

  1. По аналогии настроим стиль таблицы Преподаватели. В ней отобразим два поля: LecturerSNPиLectAcadDegree. Назовем их ФИО преподавателя и Ученая степень.

  2. Запустим программу и убедимся, что при нажатии кнопки Добавить в таблице автоматически формируются новые строки, отражающие содер­жимое новых экземпляров класса из объектного пространства ЕСО. В них можно ввести нужные значения. Проверим корректное функционирование остальных настроенных операций над объектным пространством (см. Рисунок 8 .62).

Рисунок 8.61 – Настройка элемента коллекции столбцов

Рисунок 8.62 – Работа с базой данных в режиме таблицы