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

  1. Сформировать модель UML. Создать классы, описать их атрибуты. Настроить взаимосвязи между классами.

  1. Связать пространство ЕСО с базой данных.

  2. Создать пользовательский интерфейс.

  3. Связать интерфейс с моделью UML.

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

    1. Контрольные вопросы

  1. Технология MDA.

  1. Что такое технология ECO?

  2. Зачем нужны дескрипторы ECO?

  3. Зачем нужен язык OCL?

  4. Из каких этапов складывается процесс построения приложения ECO?

  5. Как создаются классы в рамках модели приложения ECO?

  6. Как представители класса PersistenceMapper настраиваются на конкретные СУБД?

  7. Как автоматически сгенерировать схему базы данных на основе модели ECO?

  8. Как элементы пользовательского интерфейса связываются с моделью ECO?

  9. Как работает визуальный редактор выражений OCL?

  1. РазработкаMda-приложения с использованием машин состояний

Цель работы – научиться использовать машины состояний при созданииMDA-приложений.

    1. Введение

      1. Автоматы

Работа объектов программы описывается с помощью автоматов (илимашин состояний). Существует хорошо развитаятеория автоматов, в которой изучают­ся вопросы их построения и анализа работы.

Автомат — это элемент системы, который характеризуется двумя базо­выми понятиями: состояние и переход.

Каждый автомат в определенный момент времени может находиться в одном из допустимых состояний. Число этих состояний, возможно, бесконечно. Задан так­же набор правил, по которому допускаетсяпереход из одних множеств состояний в другие.

Схожесть автоматной модели с программированием в том, что переменные (ячейки памяти) в каждый момент работы процессора всегда хранят конкретные значения из допустимых диапазонов значений. Эти значения фактически являют­ся состояниями переменных.

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

Познакомимся с базовыми правилами работы автоматов в языке UML.

  • Автомат в определенный момент времени может находиться только в одном состоянии. Это правило соответствует принципу императивного програм­мирования, согласно которому любая переменная в каждый момент време­ни (такт процессора, шаг работы программы) хранит только одно из множе­ства допустимых значений.

  • Число состояний автомата конечно.

  • Из текущего состояния автомат может перейти только в одно следующее состояние. Не исключено, что это состояние выбирается из нескольких доступных вариантов.

  • В рамках диаграммы у каждого состояния должен быть предшественник (за исключением начального состояния). Это правило запрещает размещение на диаграмме состояний, никак не связанных друг с другом.

  • В определенном состоянии автомат может находиться сколь угодно долго. Переходы между состояниями считаются мгновенными.

  • На диаграмме состояний не регистрируется путь (история состояний), при­ведший автомат в текущее состояние (в отличие от диаграмм последова­тельности и кооперации). Это правило показывает, что по текущему значе­нию переменной нельзя определить те значения (состояния), в которых она находилась ранее.