Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компьютерная техника (конспектировать ).docx
Скачиваний:
69
Добавлен:
05.11.2018
Размер:
1.56 Mб
Скачать

Что может делать действие

Действие обычно читает и записывает атрибуты того экземпляра, для которого оно выполняется. Действие также может:

1. Выполнять любое вычисление.

2. Порождать событие для любого экземпляра любого объекта (включая экземпляр, выполняемый в настоящее время).

3. Порождать событие для чего-либо вне области анализа: оператора, аппаратного устройства или объекта в другой подсистеме.

4. Создавать, удалять, устанавливать, сбрасывать или считывать таймер (более подробно о таймерах в разделе 3.7).

5. Читать и записывать атрибуты других экземпляров собственного объекта.

6. Читать и записывать атрибуты экземпляров других объектов.

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

Что должно делать действие

Чтобы гарантировать непротиворечивость моделей состояний как единого целого, на действия должны быть наложены определенные обязательства.

Сохранение экземпляра непротиворечивым. Действие должно оставлять данные, описывающие собственный экземпляр, непротиворечивыми. Если действие модифицирует атрибут собственного экземпляра, оно должно модифицировать все атрибуты, которые являются в вычислительном отношении зависимыми от первого атрибута. Например, предположим, что мы имеем два объекта:

Газ В Емкости Для Газа (Название Газа, ID Емкости (R), Температура, Давление).

Емкость Для Газа (ID Емкости, Объем).

Тогда, если действие Газа В Емкости Для Газа модифицирует атрибут температуры, оно должно модифицировать и атрибут давления.

Гарантирование непротиворечивости связей. Если действие создает или удаляет экземпляры собственного объекта, оно должно гарантировать, что любые связи, включающие эти экземпляры, не противоречат правилам, установленным на информационной модели. Например, рассмотрим два объекта:

Клиент (ID Клиента, Адрес).

Счет (Номер Счета, Сальдо, ID Клиента(В)).

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

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

Модификация атрибута текущего состояния. Действие должно модифицировать атрибут текущего состояния, чтобы соответствовать состоянию, которое экземпляр занимает в данный момент как результат выполнения действия. Но некоторые аналитики и проектировщики опускают этот шаг из ДПС по договоренности, поскольку это должны делать все действия.