Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
434
Добавлен:
04.06.2015
Размер:
2.33 Mб
Скачать
      1. Создание простого mda-приложения

Рассмотрим пример создания простого MDA-приложения. Имеются две сущности «Кафедра» и «Преподаватель». Представим экземпляры этих сущностей в таблицах формы. В этих же таблицах будет возможность модификации значений отдельных полей представленных в них объектов (экземпляров Кафедра и Преподаватель).

Создаётся пустая заготовка приложения ЕСО командой File>New>Other. Выберем значок ECO WinForms Application во вкладке Delphi for .NET Projects (Рис. 5 .57).

Рис. 5.57. Создание заготовки проектаECO

В диалоговом окне введем имя проекта (например, projDeanOffice) и его местоположение (каталог). Нажмем кнопку ОК.

Среда Delphiсформирует пустую заготовку приложенияECOи откроет окно Проектировщика. В нем расположена начальная пустая форма приложения. Структура автоматически созданной модели (пустой заготовки) доступна в окне просмотра модели, открываемом командойView>ModelViewлибо выбором вкладкиModelViewв правом верхнем окне (Рис. 5 .58). В этом окне в дополнение к самому проекту (projDeanOffice) и главной форме (WinForm) можно увидеть еще несколько автоматически добавленных элементов.Среди них имеются следующие:

  • элемент projDeanOfficeEcoSpaceпредставляет объектное пространство ЕСО. Это основное хранилище, в котором располагаются экземпляры классов создаваемой модели во время работы программы. Это пространство также ответственно за хранение объектов ЕСО, например в базе данных или файлеXML;

  • элемент Package_1 представляет пакет классовUML, которые мы будем создавать.

Переименуем элемент Package_1 в удобное для нас названиеpackModel.

Рис. 5.58. Окно просмотра модели

        1. Создание модели uml

Для создания модели дважды щелкнем мышью на строке packModelв окне просмотра модели. Откроется окноpackModel[diagram] диаграммы классов ЕСО. Это окно напоминает окно построения обычных диаграмм классовUML. Только при работе с ним применяются элементы, специфичные именно для технологии ЕСО.

Разместим на диаграмме первый класс, отражающий сущность Деканат. Для этого выберем на палитре инструментов ToolPaletteинструментECOClassв категорииUMLECOClassDiagramи щелкнем в подходящей точке пространства моделирования. В ней появится графический элемент, изображающий класс.

Назовем класс clChair(Кафедра). Пробелы в имени класса ЕСО не допускаются.

Добавим атрибуты класса командой контекстного меню Add>Attribute. Создадим таким образом три атрибута Название кафедры, ФИО заведующего кафедрой, ФИО секретаря кафедры –ChairName,ChairHeadSNPиChairSecrSNPсоответственно (Рис. 5 .59). Для задания типа атрибута выделим нужный атрибут и в окнеPropertiesустановим необходимое значение поляTypeв категорииGeneral. В данном случае все три атрибута имеют типString.

Рис. 5.59. Добавление класса clChair с его атрибутами

Переименуем названия класса и атрибутов в понятные названия на русском языке. Для этого в свойстве Alias(категорияGeneral) класса и его атрибутов введем русскоязычные названия.

По аналогии добавим к модели еще один класс clLecturer(Преподаватель) с атрибутамиLecturerSNP(ФИО преподавателя) иLectAcadDegree(Ученая степень) типаString. Переименуем элементы нового класса на диаграмме, изменив значения свойстваAlias.

Настроим связи между созданными классами. Эта связь будет представлять отношение ассоциации. Выберем на палитре инструментов инструмент Generalization/Implementation. Щелкнем мышью на представлении класса Кафедра, протянем связь к классу Преподаватель и снова щелкнем мышью. В результате между двумя классами сформируется ассоциативное отношение.

Настроим мощность ассоциативного отношения. В нашем случае одному экземпляру класса Кафедра соответствует множество экземпляров класса Преподаватель (от 1 и более). Для этого в окне Propertiesвыделенной связи выберем категориюEnd1, соответствующую классу Кафедра, и в полеMultiplicityустановим значение 1, а в категорииEnd2 (для класса Преподаватель) этому же полю — значение 1..*. Теперь дадим сторонам связи названия. В свойствоNameдля сторонEnd1 иEnd2 введемroleChairиroleLecturersсоответственно (Рис. 5 .60). То есть мы назвали роли каждого класса в ассоциативной связи.

На этом этапе создание простейшей модели закончено. Теперь надо организовать связь модели с пользовательским интерфейсом.

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