Министерство образования Российской Федерации
Государственный Технический Университет
Кафедра Автоматизированных Систем Управления
Курсовая работа
По предмету «Технологии программирования»
2009г.
Аннотация.
Цель курсовой работы – закрепления и углубление знаний, полученных студентами при изучении дисциплины, а также получение практических навыков разработки программы средней сложности с использованием современных технологий и инструментальных средств.
В ходе выполнения курсовой работы студент получает профессиональные навыки в постановке задачи, анализе требований, выборе представления исходных данных и результата, разработке спецификаций, проектирования программной системы, написании программы на выбранном языке программирования с использованием объектно-ориентированной технологии и библиотек классов, тестировании и отладке программы, оформлении документации.
Задачей курсового проектирования является разработка программной системы от начала (анализ требований) до конца(тестирование и сопровождение-документация).
В качестве инструментальной среды проектирования используется Rational Software Architect. Для описания модели используется язык UML.
Процесс проектирования – Rational Unified Process(RUP).
В качестве языка программирования используется Microsoft Visual C#.
Конечным результатом работы является проект, содержащий модель разработанной системы на языке UML, подготовленную в Rational Software Architect и программный продукт в виде исполняемого (exe) файла и исходных файлов.
Содержание.
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
Приложение
Задание.
Требуется разработать программное обеспечение встроенного микропроцессора для будильника.
На экране будильника постоянно отображается текущее время (часы и минуты, например: 12 : 00), двоеточие между числом часов и числом минут зажигается и гаснет с интервалом в полсекунды.
Управление будильником осуществляется следующими кнопками:
· кнопкой режима установки времени,
· кнопкой режима установки времени срабатывания,
· двумя отдельными кнопками для установки часов и минут,
· кнопкой сброса сигнала «СБРОС».
На будильнике имеется переключатель режима работы со следующими положениями: «ВЫКЛ», «ВКЛ», «РАДИО» и «ТАЙМЕР».
Для установки текущего времени нужно нажать на кнопку режима установки и, при нажатой кнопке, нажимать на кнопки установки часов и минут. При каждом нажатии на кнопки, устанавливаемое значение увеличивается на одну единицу (один час или одну минуту соответственно). При достижении максимального значения производится сброс. Для установки времени срабатывания будильника нужно нажать на кнопку режима установки времени срабатывания и, держа кнопку нажатой, нажимать на кнопки установки часов и минут. Когда переключатель режима работы находится в положении «ВКЛ», при достижении времени срабатывания происходит подача звукового сигнала. Сигнал можно прервать, нажав на кнопку «СБРОС». При этом сигнал должен быть возобновлен через пять минут. При установке переключателя в положение «ВЫКЛ» звуковой сигнал не подается.
Когда переключатель находится в положении «РАДИО» работает радиоприемник. При переводе переключателя в положение «ТАЙМЕР» включается радиоприемник на тридцать минут, а затем часы переходят в состояние будильника (аналогично положению «ВКЛ»). При нажатии на кнопку режима установки времени, будильник должен отображать время срабатывания.
1) Программа должна отображать текущее время (часы и минуты, например 12:00), двоеточие между числом часов и числом минут зажигается и гаснет с интервалом в полсекунды.
2) При изменении положения переключателя режима работы программа должна переходить в разные режимы работы будильника (ВЫКЛ, ВКЛ, РАДИО, ТАЙМЕР)
3) В режиме ВЫКЛ функция будильник выключена, радио не работает, сигнал выключается.
4) В режиме ВКЛ функция будильника включена, радио не работает.
5) В режиме РАДИО функция будильника выключена, радио работает.
6) В режиме ТАЙМЕР первые 30 минут радио включено, будильника выключен. По истечении 30 минут радио выключается, включается будильник.
7) Программа должна позволять устанавливать текущее время и время срабатывания будильника. При совпадении времени срабатывания будильника и текущего времени должен звучать сигнал.
8) При срабатывании будильника по нажатию кнопки СБРОС программа должна отключать сигнал на 5 минут.
Прецеденты, представленные на Use case diagram. (см. Приложение)
Вариант использования “Сброс сигнала”
Краткое описание:
Данный вариант использования описывает сброс сигнала, поданного при совпадении текущего времени и времени срабатывания будильника.
Основной поток событий:
Вариант использования начинает выполняться при нажатии кнопки СБРОС.
1) Отключается сигнал.
2) Запускается таймер.
Альтернативный поток событий:
Сигнала нет:
Нажатие кнопки будет проигнорировано.
Предусловия:
Сигнал должен быть подан.
Постусловия:
Если вариант использования выполнен успешно, то сигнал выключиться, блок управления своего состояния не изменит.
Вариант использования “Настройка времени у часов”
Краткое описание:
Данный вариант использования описывает настройку текущего времени на часах.
Основной поток событий:
Вариант использования начинает выполняться при нажатии кнопки режима установки текущего времени.
Альтернативный поток событий:
Уже включен режим настройки текущего времени:
-Выйти из режима установки текущего времени
Вариант использования “Настройка часов”
Краткое описание:
Активируется при нажатии кнопки ЧАС. Увеличивает текущее значение часа на 1.
Основной поток событий:
Вариант использования начинает выполняться при нажатии кнопки режима установки текущего времени и последующего нажатия кнопки ЧАС.
-Изменить текущее время на 1 час.
Альтернативный поток событий:
Вариант использования начинает выполняться при нажатии кнопки режима установки времени срабатывания и последующего нажатия кнопки ЧАС.
-Изменить время срабатывания на 1 час.
Вариант использования “Настройка минут”
Краткое описание:
Активируется при нажатии кнопки МИН. Увеличивает текущее значение минут на 1.
Основной поток событий:
Вариант использования начинает выполняться при нажатии кнопки режима установки текущего времени и последующего нажатия кнопки МИН.
-Изменить текущее время на 1 минуту.
Альтернативный поток событий:
Вариант использования начинает выполняться при нажатии кнопки режима установки времени срабатывания и последующего нажатия кнопки МИН.
-Изменить время срабатывания на 1 минуту.
Вариант использования “Выбор режима работы системы”
Краткое описание:
Активируется переключателем режима работы.
Основной поток событий:
Вариант использования начинает выполняться при выборе режима с помощью переключателя режима работы.
-Изменяется режим работы
Постусловие:
Программа начинает работать в соответствии с установленным режимом.
Вариант использования “Получение информации о текущем времени”
Краткое описание:
Вывод на экран текущего времени
Вариант использования “Получение услуги будильник”
Краткое описание:
Активируется при включенном режиме ВКЛ и ТАЙМЕР.
Основной поток событий:
Вариант использования начинает выполняться при совпадении текущего времени и времени срабатывания будильника.
-Подается сигнал.
Альтернативный поток событий
Прошло 5 минут с момента отключения сигнала кнопкой СБРОС
- Подается сигнал.
Диаграмма активности
1) Диаграмма активности: Выдача информации о текущем времени
Пользователь будильника запрашивает информацию о текущем времени, система рассчитывает текущее время и возвращает результат пользователю.
2) Диаграмма активности: Сброс сигнала
Пользователь нажимает кнопку СБРОС, система отключает сигнал.
3) Диаграмма активности: Выбор режима работы будильника
Пользователь выбирает режима работы будильника с помощью переключателя.
Установлен режим ВКЛ: система выключает радио и включает функцию будильник.
Установлен режим ВЫКЛ: система выключает радио и выключает функцию будильник.
Установлен режим РАДИО: система включает радио.
Установлен режим ТАЙМЕР: система проверяет прошло ли уже 30 минут в режиме ТАЙМЕР, если да, то выключается радио и включается функция будильник, если нет , то включается радио.
4) Диаграмма активности: Получение услуги будильник
Система проверяет включен ли режим ВКЛ или ТАЙМЕР, далее проверяется совпадает ли время с установленным временем срабатывания будильника. Если да, подается сигнал. Если нет, проверяется прошло ли 5 минут с момента сброса сигнала кнопкой СБРОС. Если да, то также устанавливается сигнал.
5) Диаграмма активности: Настройка времени у часов
Пользователь запрашивает систему на переход в режим настройки времени нажатием кнопки CLOCK. В ответ система переходит в этот режим. Далее пользователь кнопками HOUR и MIN настраивает время, система применяет выбранную настройку. После настройки пользователь посылает запрос на выход из режима настройки нажатием кнопки CLOCK. Система выходит из режима настройки времени.