Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_prinfsystem_OOP_2011.doc
Скачиваний:
15
Добавлен:
25.11.2018
Размер:
708.61 Кб
Скачать

Лабораторная 4. Анализ предметной области: разработка диаграммы состояний

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

Событие (event) – это происшествие, случившееся в определенный момент времени, которое рассматривают как атомарное и скоротечное. События бывают трех видов: события сигналов, события изменения и события времени.

Событие сигнала (signal event) – это событие получения или отправки сигнала. Обычно более важным является получение сигнала, ибо но влияет на объект-получатель.

Событие изменения (change event) – это событие, вызванное выполнением логического условия.

Событие времени (time event) - это событие, вызванное достижением момента абсолютного времени или истечением временного интервала.

Состояние (state) – это абстракция значений и связей объекта. Множества значений и связей группируются в состояние в соответствии с массовым поведением объектов. Например, состояние банка может быть либо «платежеспособен», либо «банкрот», в зависимости от того, что больше: активы или обязательства. Объекты класса обладают конечным числом возможных состояний, но в конкретный момент времени объект может находиться только в одном состоянии.

Переход (transition) = это мгновенная смена одного состояния другим. Например, когда Вы отвечаете на входящий звонок, телефонная линия переходит из состояния «звонок» в состояние «разговор».

Сторожевое условие (guard condition) – этологическое условие, которое должно быть истинным, чтобы переход мог запуститься.

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

Процесс построения модели состояний классов включает следующие этапы:

  • Выявление классов, обладающих разными состояниями.

  • Выделение состояний.

  • Выделение событий.

  • Построение диаграмм состояний: распределите события по состояниям, к которым они относятся; добавьте переходы, показывающие изменения состояний, вызванные осуществлением события в то время, когда объект находится в определенном состоянии. Если объекты классов выполняют деятельность при переходах, добавьте эту деятельность на диаграмму.

  • Проверка диаграмм состояния. Проверьте, все ли состояния достижимы

Задание 2. Построить диаграммы состояний объектов классов.

Лабораторная 5. Анализ приложения: разработка диаграммы прецедентов

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

  • Выделение действующих лиц.

  • Выделение вариантов использования.

  • Подготовка типовых сценариев для каждого прецедента.

  • Построение диаграммы прецедентов.

Диаграмма прецедентов включает следующие элементы:

  1. Действующие лица (actors) или активные субъекты, определяющие окружение системы, представленное в виде людей или других систем, взаимодействующих с проектируемой системой.

  2. Прецеденты (use case) или варианты использования, отображающие функции проектируемой системы.

  3. Отношения, отображающие связи между действующими лицами и прецедентами.

Этап 1. Необходимо определить список действующих лиц, которые будут взаимодействовать с системой, т.е. вводить данные в систему или получать информацию из системы.

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

Из анализа постановки задачи сразу же можно выделить следующих пользователей системы:

  1. Профессор

  2. Студент

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

  1. Расположить курсор мыши над элементом Use Case View окна браузера и щелкнуть правой кнопкой, чтобы активизировать контекстное меню.

  2. Выбрать элемент меню NewActor. Дерево, отображаемое в окне браузера, пополнится элементом NewClass, соответствующим новому действующему лицу.

  3. Выбрать элемент NewClass и изменить его название, введя имя действующего лица.

  4. В окне документирования разместите краткое описание действующего лица.

Этап 2. Необходимо определить функции (use case), которые должна будет выполнять проектируемая система.

Анализ постановки задачи и сформулированного списка действующих лиц позволяет определить основные функции (прецеденты) проектируемой системы:

  1. Выбрать курс для преподавания.

  2. Выбрать курс для обучения.

  3. Просмотреть табель об успеваемости.

Задание 4. Определите, достаточен ли выше приведенный список прецедентов. Если нужно, добавьте новые прецеденты. Добавьте в модель прецеденты согласно сформированному списку. Для этого необходимо:

  1. Расположить курсор мыши над элементом Use Case View окна браузера и щелкнуть правой кнопкой, чтобы активизировать контекстное меню.

  2. Выбрать элемент меню NewUseCase. Дерево, отображаемое в окне браузера, пополнится элементом NewClass, соответствующим новому прецеденту.

  3. Выбрать элемент NewClass и изменить его название, введя имя прецедента.

  4. В окне документирования разместите краткое описание прецедента.

  5. Для каждого прецедента необходимо описать поток событий, который сохраняется во внешнем по отношению к Rational Rose файле, например Microsoft Word.

Чтобы связать документ спецификации потока событий с прецедентом необходимо:

  1. Расположить курсор мыши над элементом прецедента окна браузера и щелкнуть правой кнопкой, чтобы активизировать контекстное меню.

  2. Выбрать элемент меню Open Specification.

  3. Перейти на вкладку File диалогового окна Use Case Specification.

  4. Расположить курсор мыши в пределах области окна и щелкнуть правой кнопкой мыши, чтобы активизировать контекстное меню.

  5. Выбрать элемент меню Insert File.

  6. С помощью средств навигации диалогового окна открытие файла выбрать нужную папку и нужный файл.

  7. Щелкнуть на кнопке Открыть.

  8. Щелкнуть на кнопке Ок окна Use Case Specification.

Этап 3. Поток событий для прецедента определяет последовательность событий происходящих во время выполнения прецедента и позволяет ответить на следующие вопросы.

  • Как и когда прецедент инициируется и завершается?

  • Какие события инициируют прецедент и какие события завершают выполнение прецедента.

  • Каким образом действующие лица взаимодействуют с системой?

  • Какие данные затрагиваются прецедентом?

  • Что представляет собой нормальная последовательность событий, предусматриваемых прецедентом?

  • Существуют ли альтернативные потоки событий для нештатных ситуаций?

При описании потока событий используют следующий шаблон, заимствованный из регламента Rational Unified Process.

  1. Наименование прецедента

    1. Краткое описание

    2. Описание начальных и конечных событий.

  2. Поток событий

    1. Основной поток

    2. Альтернативные потоки

2.2.х. <Альтернативный поток х>

3.0. Специальные требования

3.х. <Специальное требование х>

4.0. Предусловия

4.х. <Предусловие х>

5.0. Постусловия

5.х. <Постусловие х>

6.0. Дополнительные замечания

6.х. <Дополнительное замечание х>

Далее приведен пример потока событий для прецедента «Выбрать курс для преподавания».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]