Лекции - Часть 6 - файл n1.doc
Лекции - Часть 6скачать (5245.4 kb.)
Доступные файлы (1):
n1.doc
заранее заданное. Если в интерактивной системе недостаточно быстрая реакция способна лишь вызвать недовольство, то в системе реального времени последствия бывают катастрофическими. Например, в системе управления воздушным движением это может привести к столкновению самолетов в воздухе. Необходимое время реакции зависит от приложения: иногда оно измеряется миллисекундами, иногда – секундами, а иногда – даже минутами.
4. Управление в реальном масштабе времени. Часто системе реального времени приходится принимать управляющие решения на основе входных данных, без участия человека. Так, автомобильная система круиз-контроля, призванная поддерживать постоянную скорость машины, должна управлять дросселем в зависимости от текущей скорости.
Однако могут быть и некритичные по времени компоненты. Например, система сбора данных в реальном времени должна принимать информацию сразу, иначе она будет потеряна, но анализ полученных сведений допустим и позже.
5. Реактивные системы [20] управляются событиями и должны реагировать на внешние стимулы. Обычно реакция системы зависит от ее текущего состояния, то есть не только от самого внешнего стимула, но и от того, что происходило в системе раньше.
6. Обзор нотации UML В методе
COMET используется нотация из унифицированного языка моделирования
UML, которая объединила нотации, предложенные Бучем [16], Джекобсоном [21], Рамбо [16] и Харелом [20]. Представим краткий обзор нотации
UML.
Co временем нотация
UML расширялась, и теперь в ней поддерживается много различных диаграмм.
6.1. Диаграммы UML В нотации
UML поддерживаются девять видов диаграмм:
– диаграммы прецедентов;
– диаграммы классов;
– диаграммы объектов, являющиеся вариантом диаграмм классов в применении к экземплярам. В методе
COMET вместо них работают консолидированные диаграммы кооперации;
– диаграммы кооперации;
– диаграммы последовательности;
– диаграммы состояний;
– диаграммы деятельности (в
COMET не используются);
– диаграммы компонентов (в
COMET не используются).
– диаграммы развертывания.
6.2. Диаграммы прецедентов Актер (actor) инициирует прецедент.
Прецедент (use case) описывает последовательность взаимодействий между актером и системой. Актер изображается на диаграмме прецедентов в виде фигуры человечка, система – в виде прямоугольника, прецедент – в виде эллипса внутри этого прямоугольника. Коммуникационные ассоциации связывают актеров с теми прецедентами, в которых они участвуют. Между прецедентами могут быть отношения
include (включает) и
extend (расширяет). Пример диаграммы прецедентов представлен на рис.6.1.
6.3. Нотация UML для классов и объектов Классы и объекты изображаются в
UML прямоугольниками, как показано на рис.6.2.
Рис. 6.1. Диаграммы прецедентов в нотации
UML В прямоугольнике класса всегда вписано имя класса. Дополнительно могут быть указаны атрибуты и операции класса. Когда присутствуют все три элемента, то в верхней секции прямоугольника находится имя класса, в средней – атрибуты, а в нижней – операции.
Для того чтобы отличить
класс (тип) от
объекта (экземпляра типа), имя объекта подчеркивается. Объект может обозначаться как
anObject,anotherObject:Class или
:Class. Классы и объекты встречаются в разных диаграммах
UML.
Рис. 6.2. Объекты и классы в нотации
UML 6.4. Диаграммы классов На такой диаграмме классы изображаются в виде прямоугольников, а статические (постоянные) отношения между ними – в форме дуг. Поддерживаются три основных типа отношений между классами (рис. 6.3):
–
ассоциации. Ассоциация между двумя классами (бинарная ассоциация) изображается в виде линии, соединяющей прямоугольники классов. У нее есть имя и, возможно, стрелка, поясняющая, в каком направлении следует это имя читать. На каждом конце ассоциации проставляется кратность – число, свидетельствующее, сколько экземпляров одного класса связано с одним экземпляром другого класса. Дополнительно на каждом конце ассоциации может присутствовать стрелка, указывающая направление навигации вдоль данной ассоциации.
Допустимы следующие кратности ассоциации: ровно один (1), присутствие экземпляра класса необязательно (0..1), нуль или более (*), один или более (1..*) и точное задание числа экземпляров классов (m..n), где m и n - числа;
–
иерархии агрегирования и композиции. Это отношения вида целое/часть. Отношение композиции (изображается закрашенным ромбом) накладывает более сильные ограничения на экземпляры классов, чем отношение агрегирования (показывается незакрашенным ромбом). Ромб одной вершиной примыкает к прямоугольнику класса, являющегося частью в отношении вида «часть/целое»;
–
иерархия обобщения/специализации. Это отношение вида «является». Обобщение изображается в виде стрелки, ведущей от подкласса (потомка) к суперклассу (родителю), причем стрелка упирается в прямоугольник суперкласса.
Видимость определяет, доступен ли элемент класса вне самого класса (рис. 6.4). Показывать видимость на диаграмме необязательно. Открытая видимость, изображаемая символом + (плюс), означает, что элемент виден извне класса.
Закрытая видимость, отмеченная знаком – (минус), свидетельствует о том, что элемент виден только внутри класса, в котором он определен, а от других классов скрыт. Защищенная видимость, показываемая знаком #, говорит о том, что элемент виден внутри класса, в котором определен, а также во всех подклассах этого класса.
Рис. 6.3. Нотация
UML для связей на диаграмме классов
Рис. 6.4. Нотация
UML для обозначения видимости на
диаграмме классов