Язык объектных ограничений OCL
Архитектура MDA ставит на первое место модель приложения и поэтому непосредственно связана с языком, на котором такие модели создаются, – язык унифицированного моделирования UML. Один из самых серьезных и справедливо критикуемых недостатков языка моделирования UML – предоставление разработчику только визуальных средств моделирования. Эти средства абстрактны и поэтому далеко не всегда способны точно и формально отразить тот или иной нюанс функционирования проектируемой системы. Именно необходимость формализации описания условий и ограничений, накладываемых на элементы диаграмм классов, вызвало появление OCL (Object Constraint Language). Конечно, такие условия могут быть сформулированы и на естественном языке, однако, он не будет являться строгим, и может допускать неоднозначные трактовки.
Язык OCL не является языком программирования, то есть не позволяет создать программу из своих операторов или описать логику выполнения каких-либо действий. Он создавался как формальный текстовый язык, дополняющий графические возможности языка UML. Выражение OCL обычно привязано к определенному классу и задает множество экземпляров этого класса. Команды OCL выполняют также фильтрацию этого множества или, например, определяют число его элементов.
Язык OCL содержит развитые средства манипуляции над множествами объектов, поэтому он хорошо подходит для решения задач, где обычно применяется язык запросов к реляционным базам данных SQL. Язык OCL позволяет организовывать запросы с большей эффективностью и на более высоком, модельном уровне абстракции, нежели язык SQL.
Выражение OCL фактически задает условие, которому должны удовлетворять все экземпляры соответствующего объекта UML. Результатом выполнения выражения OCL является множество объектов, удовлетворяющих этому условию.
При этом средствами языка OCL невозможно изменить сами элементы модели (классы, атрибуты, отношения). Среда, вычисляющая выражение OCL, просто определяет результирующее значение, которое может впоследствии использоваться (хотя это и не обязательно).
OCL был разработан в корпорации IBM, в 1997 году вышла спецификация языка версии 1.1, в разработке и согласовании которой приняли участие такие компании, как Rational, Microsoft, Oracle, Hewlett-Packard и ряд других. Сильной стороной языка OCL оказалась независимость от платформы реализации и легкая адаптация к разным средствам программирования.
MDI-контейнеры
MDI – multiple document interface (многодокументный интерфейс). В приложениях с MDI, в основном (родительском) окне можно открыть более одного дочернего окна. Данная возможность обычно используется в электронных таблицах или текстовых редакторах.
Каждое MDI приложение имеет три основные составляющие:
– одну (и только одну) родительскую форму MDI;
– одну и более дочерних форм MDI;
– основное меню MDI.
Родительская форма должна быть стартовой, она нуждается, по крайней мере, в одной дочерней форме. Дочерние формы MDI – это простые формы, за исключением того, что их видимая часть ограничена размерами родительского окна. Так же при минимизации такого окна, оно помещается не в панель задач, а остаётся внутри родительского окна (на панель задач попадёт только родительское окно).
Дата добавления: 2021-12-14; просмотров: 335;