Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по ПрИС.doc
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
1.33 Mб
Скачать

2.10.4Диаграммы состояний для вариантов использования

Для проектирования информационных систем обработки данных используются диаграммы состояний для вариантов использования.

Диаграмма состояний для прецедента (use case) описывает допустимую последовательность внешних событий, которые система распознаёт и обрабатывает в рамках прецедента.

Например, для прецедента Обработка документа текстового редактора нельзя выполнить операцию сохранения файла до наступления события создания или события открытия нового файла.

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

Д иаграмма состояний для прецедента Покупка товара системы POST:

2.10.5Классы и типы для диаграммы состояний

Независимые от состояния классы и варианты использования не нуждаются в диаграммах состояний.

Диаграммы состояний строятся для зависимых от состояний типов со сложным поведением.

Обычно являются зависимыми от состояния следующие классы и типы, для которых полезно создавать диаграммы состояний:

  1. Управляющие классы. Объекты этих классов отвечают за последовательность обработки системных событий.

  2. Классы транзакций. Способ реакции объектов транзакций зависит от текущего состояния в рамках всего жизненного цикла. Как правило, это всевозможные исключительные ситуации. Например, объект Продажа получает сообщение “Создать строку продажи” после сообщения “Конец продажи”. Это сообщение можно либо игнорировать, либо вызвать сообщение об ошибке.

  3. Подклассы в отношении обобщения. В общем случае любые классы, изменяющие свою роль. Например, ставший аспирантом студент.

  4. Окна пользовательского интерфейса. При проектировании интерфейса пользователя полезно строить диаграммы состояний как для отдельных окон, так и для общего интерфейса.

  5. Процессы в вариантах использования. Можно строить как отдельные диаграммы для потоков событий, так и общую диаграмму.

  6. Системы. Это тип, представляющий всё приложение целиком. Каждая большая система может включать ряд подсистем, которые каким-то образом взаимодействуют друг с другом. Если это взаимодействие имеет сложное поведение (а это в принципе плохо), то полезно иметь диаграмму состояний. Каждая система имеет варианты использования. Если они могут быть объединены на диаграмме состояний, то лучше вместо отдельных диаграмм вариантов использования создать общую диаграмму состояния для системы.

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

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