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

Архитектура MDAставит на первое место модель приложения и поэтому непосредственно связана с языком, на котором такие модели создаются, – язык унифицированного моделированияUML. Один из самых серьезных и справедливо критикуемых недостатков языка моделированияUML– предоставление разработчику только визуальных средств моделирования. Эти средства абстрактны и поэтому далеко не всегда способны точно и формально отразить тот или иной нюанс функционирования проектируемой системы. Именно необходимость формализации описания условий и ограничений, накладываемых на элементы диаграмм классов, вызвало появлениеOCL(ObjectConstraintLanguage). Конечно, такие условия могут быть сформулированы и на естественном языке, однако, он не будет являться строгим, и может допускать неоднозначные трактовки.

Язык OCLне является языком программирования, то есть не позволяет создать программу из своих операторов или описать логику выполнения каких-либо действий. Он создавался как формальный текстовый язык, дополняющий графические возможности языкаUML. ВыражениеOCLобычно привязано к определенному классу и задает множество экземпляров этого класса. КомандыOCLвыполняют также фильтрацию этого множества или, например, определяют число его элементов.

Язык OCLсодержит развитые средства манипуляции над множествами объектов, поэтому он хорошо подходит для решения задач, где обычно применяется язык запросов к реляционным базам данныхSQL. ЯзыкOCLпозволяет организовывать запросы с большей эффективностью и на более высоком, модельном уровне абстракции, нежели языкSQL.

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

При этом средствами языка OCLневозможно изменить сами элементы модели (классы, атрибуты, отношения). Среда, вычисляющая выражениеOCL, просто определяет результирующее значение, которое может впоследствии использоваться (хотя это и не обязательно).

OCLбыл разработан в корпорацииIBM, в 1997 году вышла спецификация языка версии 1.1, в разработке и согласовании которой приняли участие такие компании, какRational,Microsoft,Oracle,Hewlett-Packardи ряд других. Сильной стороной языкаOCLоказалась независимость от платформы реализации и легкая адаптация к разным средствам программирования.

      1. Mdi-контейнеры

MDI – multiple document interface (многодокументный интерфейс). В приложениях с MDI, в основном (родительском) окне можно открыть более одного дочернего окна. Данная возможность обычно используется в электронных таблицах или текстовых редакторах.

Каждое MDI приложение имеет три основные составляющие:

  • одну (и только одну) родительскую форму MDI;

  • одну и более дочерних форм MDI;

  • основное меню MDI.

Родительская форма должна быть стартовой, она нуждается, по крайней мере, в одной дочерней форме. Дочерние формы MDI – это простые формы, за исключением того, что их видимая часть ограничена размерами родительского окна. Так же при минимизации такого окна, оно помещается не в панель задач, а остаётся внутри родительского окна (на панель задач попадёт только родительское окно).