Описание физической структуры системы, представленной на диаграммах компонентов

 

Система состоит из 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

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: