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

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

Для разработки приложения применятся среда разработки Borland Developer Studio 2006. Приложение разрабатывается для платформы .NET Framework.

      1. Основные этапы разработки приложения

  1. Формируется модель UMLбудущего приложения. Создаются классы, описываются их атрибуты и методы, настраиваются взаимосвязи между ними.

  1. В проект добавляются и настраиваются невизуальные компоненты, связывающие созданную модель UMLс прикладной частью проекта.

  2. Пространство ЕСО связывается с базой данных. В ней будет долговремен­но храниться его копия: все объекты ЕСО и взаимосвязи между ними.

  3. Проектируется пользовательский интерфейс. Задействуются компоненты, обеспечивающие связь интерфейса с моделью UML.

  4. Создается переносимая логика приложения на языке OCL. Элементы управления связываются с выражениямиOCLдля выполнения типичных стандартных действий (добавление, редактирование и удаление объектовECO).

      1. Обзор возможностей Borland Developer Studio 2006 для разработки mda-приложения

  1. После запуска BDS2006 на экране открывается главное окно среды разработки (см. Рисунок 8 .45). ПроектDelphiпредставляет собой группу файлов, содержащих исходный текст программы и вспомогательные данные. Все они объединены тематикой решаемой задачи.

Рисунок 8.45 – Начало работы в средеBDS

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

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

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

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

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

Рисунок 8.46 – Создание заготовки проектаECO

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

Рисунок 8.47 – Окно просмотра модели

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

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

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

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

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

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

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

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

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

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

Рисунок 8.49 – Настройка связи между классами

На этом этапе создание простейшей модели закончено. Теперь надо создать базу данных и подключить ее к проекту.