Система состоит из 4 компонентов.
1) ProgramMain основная программа, в которой создается объект Processor.
2) Processor описывается класс Processor
3) Clock описывает класс Clock, использующийся в Processor
4) AlarmClock описывает класс AlarmClock, использующийся в Processor
Описание программы
Программа, реализующая систему, написана на языке C#.
Определение классов
Класс 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() возвращает компоненту минут.
|
|
В качестве пользователя используется форма Windows Forms с соответствующими контролами.
Результаты тестирования
Было установлено текущее время 00:05.
Время срабатывания будильника 00:10.
Когда текущее время установилось в 00:10 стал проигрываться сигнал.
Кнопка СБРОС выключает сигнал. Через 5 минут после нажатия кнопки СБРОС сигнал зазвучал снова. С помощью комбобокса был выбран режим ВЫКЛ.
При выборе режима РАДИО и ТАЙМЕР зажигается надпись Radio On, обозначающее, что включено радио.
Через 30 минут в режиме таймер включился режим ВКЛ.
Заключение
Было разработано программное обеспечение микропроцессора будильника. ПО полностью соответствует требованием, предъявленным в разделе Требования к программе. В дальнейшем возможно развитие ПО, в частности возможно добавить количество звуковых сигналов с возможностью выбора этих сигналов в качестве основного, а также синхронизация текущего времени с серверами времени в сети Интернет.
Список использованной литературы:
1) Визуальное моделирование с помощью IBM Rational Software Architect и UML. Терри Кватрани, Джим Палистрант. Издательство: КУДИЦ-Пресс, 2007 г.
2) Intuit.ru Курс “Визуальное моделирование в Rational Rose”.
Приложение
Диаграмма Use Case
Activity diagram
Sequence diagram