Проектирование на языке UML

Автор работы: Пользователь скрыл имя, 29 Марта 2011 в 00:53, курсовая работа

Описание работы

Цель курсовой работы – закрепления и углубление знаний, полученных студентами при изучении дисциплины, а также получение практических навыков разработки программы средней сложности с использованием современных технологий и инструментальных средств.

Содержание работы

1.Задание 4
2.Требование к программе 5
3.Описание Use Case diagram 6
4.Описание Activity diagram 9
5.Описание модели взаимодействия, представленной на диаграммах последовательности и кооперации 11
6.Описание модели поведения, представленной на диаграммах состояний. 14
7.Описание логической структуры системы, представленной на диаграммах
классов 15

8.Описание физической структуры системы, представленной на диаграммах компонентов. 17
9.Описание С++ программы. 18
10.Результаты тестирования. 21
11.Заключение 22

Файлы: 1 файл

Пояснительная записка.doc

— 776.50 Кб (Скачать файл)

Пользователь запрашивает  систему на переход в режим  настройки времени будильника нажатием кнопки ALARM. В ответ система переходит в этот режим. Далее пользователь кнопками HOUR и MIN настраивает время, система применяет выбранную настройку. После настройки пользователь посылает запрос на выход из режима нажатием кнопки ALARM. Система выходит из режима настройки времени будильника.

 

Описание  модели взаимодействия, представленной на диаграммах последовательности и кооперации 

В модели взаимодействия присутствуют объекты:

- Пользователь будильника: Является пользователем всех  функций системы.

- Processor: Блок управления всей системой, через который происходит взаимодействие с пользователем.

- Clock: Компонент, в котором хранится текущее время.

-AlarmClock: Компонент, в котором хранится время срабатывания. 

Описание  диаграмм последовательности

  1. Диаграмма последовательности Выдача информации о текущем времени.

Пользователь в  цикле посылает сообщение о текущем  времени, процессор получает из компонента Clock информацию о текущем времени и возвращает пользователю. 

  1. Диаграмма последовательности Сброс сигнала

Пользователь посылает сообщение о сбросе сигнала, процессор  сбрасывает сигнал. 

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

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

  1. Диаграмма последовательности Получение услуги будильник.

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

  1. Диаграмма последовательности Настройка времени у часов.

Пользователь отправляет запрос процессору на переход в режим настройки текущего времени. Далее пользователь посылает сообщения о настройки компоненты часа и компоненты минут. Процессор посылает сообщения об изменении времени компоненте Clock. После настройки времени, пользователь отправляет сообщение о выходе из режима настройки текущего времени. 

  1. Диаграмма последовательности Настройка времени у часов  будильника.

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

Описание  диаграмм кооперации

  1. Диаграмма кооперации Получение услуги будильник

В варианте использования  Получение услуги будильник пользователь взаимодействует с объектом Процессор. Процессор, чтобы принять решение, посылает сообщения объектам Clock и AlarmClock. 

  1. Диаграмма кооперации Настройка времени часов

В варианте использования  Настройка времени часов пользователь отправляет сообщения об установке/отключении режима настройки текущего времени  и сообщения для установки  часов и минут. Процессор также  посылает сообщения объекту Clock для  установки часов и минут. 

  1. Диаграмма кооперации Настройка времени будильника

В варианте использования  Настройка времени будильника пользователь отправляет сообщения об установке/отключении режима настройки времени будильника и сообщения для установки  часов  и минут. Процессор также посылает сообщения объекту AlarmClock для установки часов и минут.

  1. Диаграмма кооперации Выбор режима работы будильника

Пользователь посылает сообщения о установке выбранного режима процессору. 

  1. Диаграмма кооперации Выдача информации от текущем времени

Пользователь посылает сообщение о запросе текущего времени. Процессор опрашивает объект Clock о текущем времени и возвращает информацию пользователю. 

  1. Диаграмма кооперации Сброс сигнала

Пользователь посылает сообщение о сбросе сигнала процессору

 

Описание  модели поведения  представленной на диаграммах состояния 

Диаграмма состояния  Режима работы будильника.

При начале работы система  переходит в состояние ВЫКЛ. Из этого состояния возможен переход  в любой другой при изменении  соответствующего режима. Из всех остальных состояний также возможен переход в любое другое состояние системы. 

Диаграмма состояния  Режимы изменения текущего времени  и времени срабатывания будильника.

При начале работы система  переходит в состояние ожидания. Из этого состояния возможен переход в режим редактирования текущего времени и в режим редактирования времени срабатывания будильника. Из этих двух состояний можно вернуться только обратно в режим ожидания.

 

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

В системе существуют три класса:

Класс 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()   возвращает компоненту минут.

 

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

Система состоит  из 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 минут в режиме таймер включился режим ВКЛ.

 

Заключение

Было разработано  программное обеспечение микропроцессора  будильника. ПО полностью соответствует  требованием, предъявленным в разделе  Требования к программе. В дальнейшем возможно развитие ПО, в частности возможно добавить количество звуковых сигналов с возможностью выбора этих сигналов в качестве основного, а также синхронизация текущего времени с серверами времени в сети Интернет. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Информация о работе Проектирование на языке UML