1) Диаграмма последовательности Выдача информации о текущем времени.
Пользователь в цикле посылает сообщение о текущем времени, процессор получает из компонента Clock информацию о текущем времени и возвращает пользователю.
2) Диаграмма последовательности Сброс сигнала
Пользователь посылает сообщение о сбросе сигнала, процессор сбрасывает сигнал.
3) Диаграмма последовательности Выбор режима работы будильника.
Пользователь посылает сообщение о выбранном режиме, процессор переходит в соответствующий режим.
4) Диаграмма последовательности Получение услуги будильник.
Пользователь посылает запрос о сигнале, процессор получает текущее время из компонента Clock, время срабатывания будильника из компонента AlarmClock, на основании полученной информации возвращает результат пользователю.
5) Диаграмма последовательности Настройка времени у часов.
Пользователь отправляет запрос процессору на переход в режим настройки текущего времени. Далее пользователь посылает сообщения о настройки компоненты часа и компоненты минут. Процессор посылает сообщения об изменении времени компоненте Clock. После настройки времени, пользователь отправляет сообщение о выходе из режима настройки текущего времени.
|
|
6) Диаграмма последовательности Настройка времени у часов будильника.
Пользователь отправляет запрос процессору на переход в режим настройки времени срабатывания будильника. Далее пользователь посылает сообщения о настройки компоненты часа и компоненты минут. Процессор посылает сообщения об изменении времени компоненте AlarmClock. После настройки времени, пользователь отправляет сообщение о выходе из режима настройки времени будильника.
Описание диаграмм кооперации
1) Диаграмма кооперации Получение услуги будильник
В варианте использования Получение услуги будильник пользователь взаимодействует с объектом Процессор. Процессор, чтобы принять решение, посылает сообщения объектам Clock и AlarmClock.
2) Диаграмма кооперации Настройка времени часов
В варианте использования Настройка времени часов пользователь отправляет сообщения об установке/отключении режима настройки текущего времени и сообщения для установки часов и минут. Процессор также посылает сообщения объекту Clock для установки часов и минут.
3) Диаграмма кооперации Настройка времени будильника
В варианте использования Настройка времени будильника пользователь отправляет сообщения об установке/отключении режима настройки времени будильника и сообщения для установки часов и минут. Процессор также посылает сообщения объекту AlarmClock для установки часов и минут.
|
|
4) Диаграмма кооперации Выбор режима работы будильника
Пользователь посылает сообщения о установке выбранного режима процессору.
5) Диаграмма кооперации Выдача информации от текущем времени
Пользователь посылает сообщение о запросе текущего времени. Процессор опрашивает объект Clock о текущем времени и возвращает информацию пользователю.
6) Диаграмма кооперации Сброс сигнала
Пользователь посылает сообщение о сбросе сигнала процессору
Описание модели поведения представленной на диаграммах состояния
Диаграмма состояния Режима работы будильника.
При начале работы система переходит в состояние ВЫКЛ. Из этого состояния возможен переход в любой другой при изменении соответствующего режима. Из всех остальных состояний также возможен переход в любое другое состояние системы.
Диаграмма состояния Режимы изменения текущего времени и времени срабатывания будильника.
При начале работы система переходит в состояние ожидания. Из этого состояния возможен переход в режим редактирования текущего времени и в режим редактирования времени срабатывания будильника. Из этих двух состояний можно вернуться только обратно в режим ожидания.
Описание логической структуры системы, представленной на диаграммах классов.
В системе существуют три класса:
Класс Processor управляет логикой работы всей системы.
Атрибуты класса:
signal:Boolean - указывает подается ли сигнал будильника
mode:Integer - хранит текущий режим будильника
reset:Boolean - хранит информацию о сбросе сигнала
editmode:Integer - хранит текущий режим редактирования.
hourToAlarm:Integer
minToAlarm:Integer - таймеры для режима Таймер
hourToReset:Integer
minToReset:Integer - таймеры для сигнала.
Операции класса:
isSignal() -возвращает состояние сигнала
Time() - возвращает информацию для пользователя
Tick() - используется для расчета времени по сигналу внешнего таймера
SetMode(int) - для установки режима работы будильника
EditAlarmClock() - для входа/выхода в/из режим(а) редактирования времени срабатывания будильника
EditClock() - для входа/выхода в/из режим(а) редактирования текущего времени
SetHour() - установка компоненты часа во времени
SetMinute() - установка компоненты минуты во времени
Reset() - сброс сигнала
Класс Clock хранит, модифицирует и возвращает информацию о текущем времени.
Атрибуты класса:
_min:Integer компонента минут во времени
_hour:Integer компонента часов во времени
Операции класса:
SetMinute() увеличивает компоненту минуты в текущем времени на 1
SetHour() увеличивает компоненту часов в текущем времени на 1
Tick() Используется для расчета текущего времени по сигналу внешнего таймера.
GetHour() возвращает компоненту часов
GetMinute() возвращает компоненту минут.
Класс AlarmClock хранит, модифицирует и возвращает информацию о времени срабатывания будильника.
Атрибуты класса:
_min:Integer компонента минут во времени
_hour:Integer компонента часов во времени
Операции класса:
SetMinute() увеличивает компоненту минуты во времени срабатывания будильника на 1
SetHour() увеличивает компоненту часов во времени срабатывания будильника на 1
GetHour() возвращает компоненту часов
GetMinute() возвращает компоненту минут.