Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Телефон.doc
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
817.66 Кб
Скачать
  1. Передать сигнал

    1. Основной поток событий

      1. Передача сигнала ТОН

      2. Передача сигнала ВЫЗОВ

      3. Передача сигнала ЗАНЯТО

      4. Передача голосовых данных пользователю

  2. Обратиться к книге

а. Выбор записи

b. Поиск записи в телефонной книге

с. Набрать выбранный номер

  1. Создать запись

    1. Показать форму для заполнения

    2. Ввести правильно номер

    3. Записать в телефонную книгу

Описание модели взаимодействия

(Sequence diagram, Collaboration diagram)

Диаграмма коопераций

Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта, и типы этих сообщений. По причине того, что диаграммы Sequence и Collaboration являются разными взглядами на одни и те же процессы, Rational Software Architect позволяет создавать из Sequence диаграммы диаграмму Collaboration и наоборот, а также производит автоматическую синхронизацию этих диаграмм.

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

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

С помощью диаграммы последовательности можно описать полный контекст взаимодействия как своеобразный временной график “жизни” всей совокупности объектов, взаимодействующих между собой для реализации варианта использования программной системы.

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

  1. Действие с телефоном

    1. Пользователь нажимает кнопку «Снять трубку» и в телефоне издается сигнал ТОН, телефон готов к работе

    2. Пользователь нажимает цифру на телефоне, телефон передает эту цифру на АТС.

    3. После набора 3-хзначного номера, пользователь нажимает кнопку CALL(Набрать номер). При этом набранный номер заноситься в память телефона и передается сигнал ВЫЗОВ на АТС

    4. Для завершения работы с телефоном, пользователь в любой момент может положить трубку

  1. Запомнить номер

    1. При нажатии кнопки CALL(Набрать номер) извлекается набранный номер

    2. Автоматически заносится в память телефона

  1. Набрать номер

    1. При нажатии кнопки «#», производится загрузка последнего набранного номера из памяти

    2. Обновляется информация на экране телефона. Т.е. можно посмотреть данный номер

    3. Передача извлеченного из памяти номера на телефон

4.Издать звук

    1. На телефон поступает сигнал ВЫЗОВ, он передает соответствующий сигнал на динамик телефона, из динамика слышатся мелодия звонка

    2. В обработчик сигналов поступает сигнал тон. Обработчик передает его на динамик в виде длинного гудка.

    3. В обработчик поступают данные от собеседника, он их преобразует в голосовые данные

5.Передать сигнал

a. С АТС приходит сигнал ВЫЗОВ на обработчик сигналов. В телефон записывается статус=5

b. С АТС приходит сигнал ЗАНЯТО. В телефон записывается статус=4

c. С АТС приходит сигнал ТОН. В телефон записывается статус=1

    1. С АТС приходит сигнал КОНЕЦ, в телефоне записывается статус=6

    2. Через обработчик поступают на телефон голосовые данные от собеседника

    3. От обработчика на телефон приходят обработанные в звук данные от АТС, изменяя статус телефона

6.Передать пользовательские данные

a. С телефона поступает сигнал цифра на АТС, при этом запоминаются набранные цифры.

b. С телефона поступают данные об изменении положения трубки и о нажатии кнопки CALL(Набрать номер)

c. С телефона поступают голосовые данные от пользователя.

d. С обработчика на АТС поступают обработанные данные, изменяя соответствующим образом статус АТС.

  1. Обратиться к книге

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

    2. Выполняется поиск номера телефона в телефонной книге, который соответствует выбранной записи

    3. Обновляется информация на экране телефона. Т.е. можно посмотреть данный номер.

    4. Передача извлеченного из памяти номера на телефон.

  2. Создать запись

    1. Пользователь нажимает кнопку "Добавить" на панели телефона.

    2. Отображается диалог для ввода данных новой записи.

    3. Осуществляется ввод данных, после чего нажимается кнопка "ок".

    4. Создается запись с данными из диалога, которая затем размещается в конце телефонной книги.

Описание модели поведения, представленной на диаграмме состояний(State Machine Diagram):

Класс Phone

В исходном состоянии, когда положена трубка телефона, поле condition=1 данного объекта и объект ожидает снятие трубки. После снятия трубки, объект переходит в состояние 2, в котором возможен набор номера(нажатие клавиш с цифрами). Далее происходит вызов абонента.

Для завершения работы телефона, пользователь кладет трубку и телефон переходит в состояние 1.

Класс AutoTelStation

АТС находится в исходном состоянии, пока пользователь не нажимает кнопку позвонить. В этом случаи на АТС поступает сигнал ВЫЗОВ. АТС пытается соединиться с вызываемым абонентом, при этом переходя в состоянии коммутации. В случаи удачного соединения, оба абонента обмениваются данными посредством АТС и АТС переходит в состояние передачи данных. В случаи неудачного соединения, АТС посылает сигнал КОНЕЦ, на телефон пользователя, а сам переходит в исходное состоянии.

Класс LastNumber

Объект класса LastNumber находится в исходном состоянии пока на телефоне не будет нажата кнопка «#». В этом случае из объекта данного класса извлекается поле num, и передается в класс phone. Либо после нажатия кнопки CALL(Набрать номер), на телефоне, в объект класса LastNumber, записывается набираемый номер в поле ls_number.

В остальных случаях объект данного класса не производит никаких действий.

Класс PersonDlg

Объект класса PersonDlg (диалоговое окно для заполнения данных записи) создается, когда пользователь желает добавить новую запись в телефонную книгу, т.е. нажимает на кнопку «Добавить». Введенные данные заносятся в поля m_fio и m_phone.

В остальных случаях объект данного класса не производит никаких действий.

Класс RecordTel

Объект класса RecordTel создается, когда пользователь ввел данные для записи в окне диалога. Введенные данные заносятся в поля name и number.

В остальных случаях объект данного класса не производит никаких действий.