
- •Лабораторная работа №2. Создание диаграмм размещения аппаратной части системы (Deployment Diagram), заготовок классов и разработка диаграмм состояний объектов (Statechart Diagram)
- •Основные сведения
- •1. Назначение диаграмм размещения аппаратной части системы
- •2. Создание диаграммы размещения аппаратной части системы
- •3. Назначение диаграмм состояний объектов
- •4. Создание диаграмм состояний объектов (Statechart Diagram)
- •Задание
- •2. Создать заготовки классов для модели системы тестирования программных реализаций базовых алгоритмов.
- •3. Создать диаграмму состояний координатора.
- •5. Разработать заготовки классов для модели системы, разрабатываемой по индивидуальному заданию.
- •6. Разработать диаграммы состояний для объектов системы, разрабатываемой по индивидуальному заданию.
- •7. Составить отчет, в котором привести все разработанные диаграммы, а также описание построения и содержания этих диаграмм. В выводах показать место диаграмм состояний в проектах сложных систем.
Задание
1. Согласно приведённому выше описанию разработать диаграмму размещения аппаратной частиавтоматизированной системы, предназначенной для тестирования программных реализаций базовых алгоритмов сортировки и поиска данных.
Диаграмма должна показывать, что работа системы планируется с использованием одного сервера, который соединяется сетью с кластером, состоящим из восьми компьютеров, с клиентскими терминалами, а также с рабочим местом администратора.
2. Создать заготовки классов для модели системы тестирования программных реализаций базовых алгоритмов.
Исходя из анализа описания задачи, приведенного в описании лабораторной работы №1, кроме ранее созданных действующих лиц получаем следующих кандидатов для создания классов:
• ExplorerPlan –план вычислительного эксперимента;
• Sequences – тестовые последовательности;
• Algorithm – исследуемый алгоритм;
• Results – результаты обработки тестовых последовательностей;
• DataBase – база данных;
• ProgramController – координатор, обеспечивающий автоматизированное управление ходом выполнения плана вычислительного эксперимента;
• UserInterface – интерфейс пользователя;
• AdminInterface – интерфейс администратора;
• ProgramInterface – интерфейс программиста.
Использование английских наименований позволяет не опасаться, что при генерации исходного кода на выбранном языке программирования процесс может окончиться неудачей из-за конфликта с русскими именами.
3. Создать диаграмму состояний координатора.
Координатор представляет собой программный модуль, управляющий в автоматизированном режиме выполнением вычислительного эксперимента в соответствии с его планом. Работа координатора начинается с ожидания ввода в систему нового плана эксперимента (далее просто плана).
При появлении нового плана координатор переходит в состояние, в котором осуществляется проверка наличия в библиотеках средств генерации экспериментальных последовательностей, исследуемой программных реализаций заданных алгоритмов, средств статистической обработки результатов эксперимента. Если план выполнить невозможно, то координатор отмечает ошибочные позиции, возвращает план для исправления пользователю и снова переходит в состояние ожидания.
В случае корректно составленного плана его проверка завершается переходом координатора в состояние, в котором осуществляется подготовка генерации экспериментальных последовательностей.
После завершения подготовки генерации экспериментальных последовательностей координатор переходит в состояние, котором выполняется загрузка заданий на генерацию экспериментальных последовательностей в кластер, и начинается генерация .экспериментальных последовательностей.
Затем координатор переходит в состояние, в котором выполняется подготовка обработки экспериментальных данных с использованием программных реализаций заданных алгоритмов. После завершения этой подготовки координатор переходит в состояние ожидания окончания генерации экспериментальных последовательностей.
При появлении сообщения о завершении генерации экспериментальных последовательностей координатор переходит из состояния ожидания в состояние активизации обработки экспериментальных данных с использованием программных реализаций заданных алгоритмов. При этом задание на выполнение указанной обработки загружается в кластер.
После активизации обработки экспериментальных данных с использованием тестируемых программных реализаций заданных алгоритмов координатор переходит в новое состояние ожидания, в котором он находится до появления сообщения о завершении обработки экспериментальных данных с использованием программных реализаций заданных алгоритмов.
При появлении сообщения о завершении обработки экспериментальных данных координатор переходит в состояние подготовки статистической обработки результатов эксперимента.
Завершение подготовки статистической обработки результатов эксперимента вызывает переход координатора в состояние, в котором осуществляется активизация статистической обработки результатов эксперимента. После выполнения активизация статистической обработки результатов эксперимента координатор переходит в состояние ожидания сообщения об окончании указанной обработки результатов эксперимента.
При появлении сообщения о завершения статистической обработки координатор переходит в состояние формирования отчета о результатах эксперимента. При этом в архиве отыскиваются данные о проведении экспериментов с аналогичными алгоритмами, эти результаты сравниваются с данными текущего эксперимента и результаты сравнения включаются в отчёт.
Сообщение о завершении формирования отчёта переводит координатор в следующее состоянии, в котором осуществляется помещение текущих результатов в архив и пересылка отчёта пользователю. После выполнения указанных действий координатор возвращается в состояние ожидания ввода нового плана эксперимента. Если вместо очередного плана эксперимента координатор, находясь в данном состоянии, получит сообщение об окончании работы, то он перейдёт в “конечное состояние”.
При разработке диаграммы состояний координатора целесообразно предусмотреть моделирование возможности проведения повторных экспериментов с теми же программными реализациями заданных алгоритмов, но с новыми тестовыми последовательностями данных. Для этого следует использовать вложенные диаграммы состояний и установленный режим “States History”.
4. Разработать диаграмму размещения аппаратной части системы, разрабатываемой по индивидуальному заданию.