
|
Наименование |
Описание |
||
|
Прецедент |
Приём информации о звонках и запись в БД |
||
|
Краткое описание |
Записывает в БД ИС информацию о звонках, считанную с АТС по SMDR протоколу, удаляет из памяти АТС информацию о звонках |
||
|
Субъекты |
Модуль регистрации звонков |
||
|
Предпосылки |
Нахождение модуля в оперативной памяти, настройка его на считывание информации 1 раз в сутки |
||
|
Основной поток |
|||
|
Действие пользователя |
Отклик системы |
||
|
1. Прецедент начинается, когда срабатывает модуль регистрации звонков |
2. Система считывает по SMDR протоколу из памяти АТС информацию о звонках и записывает её в БД. После считывания система удаляет информацию о звонках из памяти АТС. На этом прецедент заканчивается |
||
|
Альтернативный поток |
|||
|
2. Если при считывании информации из памяти АТС произошла ошибка, система выводит соответствующее сообщение и записывает информацию об ошибке в лог-файл |
|||
|
Постусловия |
В случае если прецедент был завершен успешно, в БД ИС появляется информация о новых звонках. Иначе, в лог-файл добавляется запись об ошибке |
||
Для того чтобы иметь возможность разослать абонентам счета к оплате необходимо построить отчёт со списком всех звонков абонента за определённый период (обычно месяц). Для каждого звонка, кроме вызываемого номера, продолжительности, даты и времени совершения звонка, необходимо показать название пункта назначения звонка (определяется по телефонному коду), стоимость одной минуты, а так же стоимость всего разговора. Необходимо так же вывести общую сумму к оплате. Прецедент Вывод расшифровки звонков описан в таблице 4.
Таблица 4 – Описание прецедента Вывод расшифровки звонков.
|
Наименование |
Описание |
||
|
1 |
2 |
||
|
Прецедент |
Вывод расшифровки звонков |
||
|
Краткое описание |
Вывод списка всех звонков определённого абонента за определённый месяц и год и общей суммы к оплате за месяц |
||
|
Субъекты |
Администратор, Оператор |
||
|
Предпосылки |
Наличие в БД информации о звонках |
||
|
Основной поток |
|||
|
Действие пользователя |
Отклик системы |
||
|
1. Прецедент начинается, когда пользователь выбирает из выпадающих списков месяц и год, а так же вводит в текстовое поле номер телефона абонента, для которого требуется вывести расшифровку звонков и нажимает кнопку «Показать» 3. Абонент нажимает кнопку «Распечатать» |
2. [Include] Поиск абонента, если абонент найден, открывает новое окно, в котором формирует список всех звонков абонента, совершённых за указанный пользователем период 4. Система распечатывает показанный ранее список. На этом прецедент заканчивается |
||
|
Альтернативный поток |
|||
|
2. Если система не нашла в БД абонента с указанным номером телефона, выводится окно с сообщением «Абонент не найден» |
|||
|
Постусловия |
В случае если прецедент был завершен успешно, на экране отображается отчёт – расшифровка звонков абонента, либо принтер распечатывает отчёт. |
||
В процессе расчётов с абонентами могут возникать различные споры и несогласия, связанные с оплатой за услуги связи. Для разрешения подобных споров очень полезной окажется информация об оплате – сколько абонент уплатил за конкретный месяц, а так же, сколько он должен был уплатить. Система берёт на себя задачу по созданию такого отчёта. Информация о том, сколько абонент уже уплатил, система запрашивает из БД внешней системы – системы регистрации оплаты. Прецедент Просмотр информации об оплате описан в таблице 5.
Таблица 5 – Описание прецедента Просмотр информации об оплате.
|
Наименование |
Описание |
||
|
1 |
2 |
||
|
Прецедент |
Просмотр информации об оплате |
||
|
Краткое описание |
Расчёт суммы к оплате, а так же суммы, уже уплаченной за определённый период и вывод на экран или принтер |
||
|
Субъекты |
Администратор, Оператор |
||
|
Предпосылки |
Наличие в БД информации о звонках, а так же наличие соединения с БД ИС регистрации оплаты |
||
|
Основной поток |
|||
|
Действие пользователя |
Отклик системы |
||
|
1. Прецедент начинается, когда пользователь выбирает из выпадающего списка год, а так же вводит в текстовое поле номер телефона абонента, для которого требуется вывести информацию об оплате и нажимает кнопку «Показать» 3. Абонент нажимает кнопку «Распечатать» |
2. [Include] Поиск абонента, если абонент найден, открывает новое окно, в котором формирует список с суммой к оплате за каждый месяц выбранного пользователем года, а так же суммой, уже уплаченной за эти месяцы 4. Система распечатывает показанный ранее список. На этом прецедент заканчивается. |
||
|
Альтернативный поток |
|||
|
3. Если система не нашла в БД абонента с указанным номером телефона, выводится окно с сообщением «Абонент не найден» |
|||
|
Постусловия |
В случае если прецедент был завершен успешно, на экране отображается отчёт – информация об оплате, либо принтер распечатывает отчёт. Иначе, состояние системы неизменно |
||
Весьма полезной будет возможность построения списка абонентов, которые имеют долг по оплате, продолжительностью больше 1 месяца. Данные абоненты могут считаться кандидатами на отключение от обслуживания телефонной сети. Данные действия выполняются прецедентом Просмотр кандидатов на отключение. Описание данного прецедента приведено в таблице 6.
Таблица 6 – Описание прецедента Просмотр кандидатов на отключение.
|
Наименование |
Описание |
||
|
1 |
2 |
||
|
Прецедент |
Просмотр информации об оплате |
||
|
Краткое описание |
Выводит список абонентов, не оплативших во время |
||
|
Субъекты |
Администратор, Оператор |
||
|
Предпосылки |
Наличие в БД информации о звонках, а так же наличие соединения с БД ИС регистрации оплаты |
||
|
Основной поток |
|||
|
Действие пользователя |
Отклик системы |
||
|
1. Прецедент начинается, когда пользователь нажимает кнопку «Показать кандидаты на отключение» 3. Абонент нажимает кнопку «Распечатать» |
2. Система, на основе хранящейся в БД информации о звонках абонентов, а так же на основе информации из БД ИС регистрации оплаты выводит список абонентов, имеющих задолжность по оплате более 1 месяца 4. Система распечатывает показанный ранее список. На этом прецедент заканчивается |
||
|
Альтернативный поток |
|||
|
2. Если соединиться с БД ИС регистрации оплаты не удалось, система выдаёт сообщение об ошибке соединения с БД ИС регистрации оплаты |
|||
|
Постусловия |
В случае если прецедент был завершен успешно, на экране отображается отчёт – список кандидатов на отключение, либо принтер распечатывает отчёт. Иначе, состояние системы неизменно |
||
Для каждого абонента, подключённого к АТС, необходимо создать запись в БД информационной системы. Только так появится возможность мониторинга за звонками абонента, формирование счетов к оплате и т.д. Добавить абонента в систему может только администратор. Кроме возможности добавления абонента система позволяет найти абонента по номеру телефона, редактировать информацию об абоненте, а так же удалять абонента. Данные действия выполняются прецедентом CRUD абонента, описание которого приведено в таблице 7. Исходный код CRUD абонента можно посмотреть в приложении А.
Таблица 7 – CRUD абонента.
|
Наименование |
Описание |
||
|
1 |
2 |
||
|
Прецедент |
CRUD абонента |
||
|
Краткое описание |
Заносит информацию о новом абоненте в БД, выводит информацию об абоненте, позволяет изменять информацию об абоненте, удаляет абонента |
||
|
Субъекты |
Администратор |
||
|
Предпосылки |
Авторизация субъекта |
||
|
Основной поток |
|||
|
Действие пользователя |
Отклик системы |
||
|
1. Прецедент начинается, когда, при необходимости добавить абонента пользователь переходит на вкладку «Работа с абонентами», заполняет текстовые поля для ввода данных об абоненте и нажимает кнопку «Создать» 3. При необходимости удалить абонента, пользователь вводит в поле ввода номер телефона (на вкладке «Работа с абонентами») и нажимает кнопку «Искать». 5. Пользователь нажимает кнопку «Удалить» 7. Если необходимо изменить данные абонента, пользователь вводит в поле |
2. Система проверяет введённые данные на корректность. Если данные корректны, [Include] Поиск абонента. Если абонент найден, вывод сообщения о том, что такой абонент уже есть в БД. Если абонент не найден – запись введённой информации в БД 4. [Include] Поиск абонента. Если абонент найден в БД – система выводит информацию о нем в текстовые поля, доступные для редактирования. Так же, система активизирует кнопки «Удалить» и «Изменить данные». 6. Система помечает абонента в БД как удалённого |
||
|
ввода номер телефона (на вкладке «Работа с абонентами») и нажимает кнопку «Искать». 9. Пользователь изменяет данные абонента в текстовых полях и нажимает на кнопку «Изменить данные» |
8. [Include] Поиск абонента. Если абонент найден, информация о нём выводится в текстовые поля, доступные для редактирования. Так же система активизирует кнопку «Изменить данные» 10. Система проверяет данные на корректность и записывает изменённые данные в БД. На этом прецедент заканчивается |
||
|
Альтернативный поток |
|||
|
2. Если введённые при создании абонента данные не корректны (присутствуют незаполненные поля) система выдаёт сообщение об ошибке 4. Если при нажатии кнопки «Поиск» абонент не найден в БД, система выдаёт соответствующее сообщение |
|||
|
Постусловия |
В случае если прецедент был завершен успешно, в зависимости от выбранного действия – БД появляется запись о новом абоненте, изменяется запись о существующем абоненте, на экран выводится информация об абоненте. В случае ошибки состояние системы неизменно |
||
Так как система требует два подключения к БД (одно к своей БД, другое к БД ИС регистрации оплаты) необходимо указать адреса хостов этих БД. Причём в процессе работы системы не исключёны перенос БД на другой хост, смена IP адреса, или имени хоста. В таком случае, необходимо, чтобы система позволяла менять имя хоста БД. Эта функция реализована в прецеденте Изменение имени сервера БД SQL.
Определённые действия в системе, такие как создание, изменение, удаление абонента, изменение имени хостов БД может выполнять только администратор системы. Соответственно необходимо иметь возможность авторизации его. Авторизироваться субъект будет при запуске программы через ввод пары логин:пароль. Для обеспечения требуемого уровня безопасности система должна позволять менять пароль пользователей. Описанный ниже прецедент позволяет менять пароль для любого пользователя системы, однако, сменить пароль может только администратор системы. Описанные действия выполняет прецедент «Изменение пароля». Описание данного прецедента приведено в таблице 8.
Таблица 8 – Описание прецедента Изменение пароля.
|
Наименование |
Описание |
|||
|
Прецедент |
Изменение пароля |
|||
|
Краткое описание |
Изменяет имя сервера БД SQL |
|||
|
Субъекты |
Администратор |
|||
|
Предпосылки |
Авторизация субъекта |
|||
|
Основной поток |
||||
|
Действие пользователя |
Отклик системы |
|||
|
1. Прецедент начинается, когда пользователь переходит на вкладку «Настройки системы» и вводит в соответствующие текстовые поля имя пользователя, текущий пароль, новый пароль и подтверждение нового пароля и нажимает кнопку «Изменить пароль» |
2. Система сравнивает новый пароль и подтверждение нового пароля. Если они совпадают, система ищет пользователя с введённым именем в БД. Если пользователь найден система зашифровывает введённый пользователем текущий пароль и сверяет его с записанным в БД. Если пароли совпадают, система зашифровывает новый пароль и записывает его в БД на место старого и выводит сообщение об успешном изменении пароля. На этом прецедент заканчивается |
|||
|
Альтернативный поток |
||||
|
2. Если введённый пользователем новый пароль и подтверждение не совпадают система выдаёт соответствующее сообщение и возвращается в исходное состояние. Если введённое имя пользователя не найдено в БД система выдаёт сообщение о невозможности смены пароля. Если при сверке введённого пользователем текущего пароля и записанного в БД они не совпадают, система выдаёт сообщение о том, что пароль введён неправильно |
||||
|
Постусловия |
В случае если прецедент был завершен успешно, пароль пользователя меняется. Иначе, состояние системы неизменно |
|||