
- •Министерство образования республики беларусь
- •Минск 2010
- •Введение
- •1 Описание предметной области «биллинговой системы телефонной сети gsm» и определение требований к системе с точки зрения предметной области
- •2 Постановка задач и анализ системы «биллинговой системы телефонной сети gsm»
- •3 Модели представления системы «биллинговой телефонной сети gsm» и их описание
- •3.5 Диаграмма компонентов
- •3.5 Диаграмма развёртывания
- •4 Информационная модель системы «биллинговой телефонной сети gsm» и её описание
- •6 Описание алгоритмов реализующих бизнес-логику серверной части системы «биллинговой телефонной сети gsm»
- •7 Руководство пользователя
- •8 Результаты тестирования разработанной системы и оценка выполнения задач
- •8.1 Тестирование разработанной системы
- •8.2 Оценка выполнения задач
- •Заключение
- •Список использованной литературы
6 Описание алгоритмов реализующих бизнес-логику серверной части системы «биллинговой телефонной сети gsm»
Вся бизнес-логика программы сосредоточена в серверной части. К основными операциями, выполняемыми в серверной части являются: соединение с базой данных, составление XML документа, имеющего содержимое таблиц, добавление, изменение и удаление строк таблиц, а также составление детализированной статистики за период.
Работа сервера зависит от команд клиентской части. Когда пользователь выбирает определенную операцию, идет вызов удаленного метода, реализованного на серверной части, при этом в метод передаются объекты необходимые для выполнения метода. Клиенту в свою очередь метод может возвращать документ xml.
После выполнения действий влияющих на изменение базы данных обновляются данные соответственно и в предоставляемых пользователю таблицах.
Функции сервера вызываются клиентом удалённо, используя технологию Remote Method Invocation. Листинг функции main, в которой создаётся, экспортируется и регистрируется удаленный объект в RMI-регистраторе под именем Hello. Листинг функции main приведён в приложении Б.
Рассмотрим функцию получения XML документа из данных таблицы абонент. Эта функция отправляет запрос серверу базы данных на получения строк таблицы и, используя библиотеку jDom формирует XML документ. Листинг функции приведён в приложении Б. Блок-схема приведена в приложении B. Построение XML документов происходит аналогично и для других таблиц.
Рассмотрим функцию получения детализированной статистики. Эта функция рассчитывает характеристики детализированной статистики: баланс на начало периода, платежи за период, затраты за период, баланс на конец периода. Листинг функции приведён в приложении Б.
Рассмотрим функцию, используемую для добавления, удаления и изменения данных. Эта функция принимает запрос и отправляет его серверу базы данных. Листинг функции приведён в приложении Б. Блок-схема приведена в приложении B
7 Руководство пользователя
При запуске серверного приложения rmi.jar устанавливается соединение с базой данных регистрируются удалённые методы и появляется окно, которое имеет кнопку закрыт при нажатии на которую происходит закрытие соединения с базой данных.
Рисунок 7.1 – Окно сервера.
При запущенном клиентском приложении billing.war в окне браузера, в адресной строке которого указан адрес: http://localhost:8084/billing/, появляется рабочее окно, которое содержит 4 таблицы.
Рисунок 7.2 – Рабочее окно сотрудника телефонной сети GSM.
При наведении на любую строку любой таблицы подсвечивается строка, на которую навели.
Рисунок 7.3 – Действие при наведении на строку таблицы.
При нажатии на строке один раз правой кнопкой мыши, появляется диалоговое окно.
Рисунок 7.4 – Действие при нажатии на строке один раз правой кнопкой мыши.
При нажатии Ок удалятся выделенная красным цветом запись и все дочерние записи этой записи. В данном случае удалились все платежи абонента Бельтюгова.
Рисунок 7.5 – Удаление абонента и всех дочерних записей данного абонента.
Теперь добавим нового абонента.
Рисунок 7.5 – Если не заполнено обязательное поле(обозначенное *), то браузер выдаст сообщение и запись не будет добавлена.
Рисунок 7.6 - При некорректном вводе номера телефона браузер выдаст сообщение об ошибке, причём поля останутся также заполненными(аналогично проверка баланса).
Буква (в) у поля ввода баланс означает, что это поле вычисляемое(будет изменяться при изменении таблиц затратыАбонент и платежи). Чаще всего сотрудник вводит начальный баланс равным нулю.
Абонент Бельтюгов вносит платёж, заполняется в таблице Платежи ID абонента и при фокусировки в поле Дата платежа браузер нам предлагает ввести сегодняшнюю дату.
Рисунок 7.7 – Браузер предлагает ввести сегодняшнюю дату.
Рисунок 7.8 – Напоминает браузер про обязательный ввод суммы платежа в том случае, если забыли ввести.
Рисунок 7.9 – Напоминает браузер про неккоректный ввод суммы.
Также при введении ID абонента которого не существуют появится сообщение об ошибке.
Рисунок 7.10 – Добавили платёж, баланс увеличился.
При двойном нажатии на правую кнопку мыши появляется окно, предлагающее редактировать запись, по которой нажали и подсвечивается запись.
Рисунок 7.11 – Предложение отредактировать запись.
При соглашении отредактировать запись поля из таблицы появляются в полях ввода, их можно изменять, но нельзя изменять ID. Даже если попытаться, этого не получится, т.к. теперь поле ID предназначено только для чтения.
Рисунок 7.12 – Редактирование записи.
Рисунок 7.13 – Попытка изменить поле ID при редактировании.
Рисунок 7.14 – Изменили запись из таблицы Платежи(изменился и баланс), аналогично при удалении записи.
Теперь добавим запись в таблицу затраты. Например, Бельтюгов поговорил 2 минуты (тут при добавлении тоже предлагает ввести сегодняшнюю дату).
Рисунок 7.15 – Добавление записи в таблицу Затраты абонента.
Заметим, что при добавлении записи стоимость высчитывается автоматически путём умножения количества на соответвующую стоимость единицы затраты и изменяется баланс.
Рисунок 7.16 – Добавили запись в таблицу Затраты абонента.
Аналогично таблице платежи работает таблица затраты в плане удаления и редактирования записей. Аналогично этим таблицам работает таблица Затраты. При удалении затраты, удаляются все дочерние записи этой затраты из таблицы Затраты Абонента.
Теперь рассмотрим процесс показа детализированной статистики. Для этого дважды кликнем правой кнопкой мыши по записи из таблицы абонент.
Рисунок 7.17 – Выбор абонента для вывода детализированной статистики.
Абонента выбрали и теперь надо выбрать период. Есть два вида периода: за месяц и за день. В окнах уже введены даты за прошлый день и прошлый месяц. Попытаемся получить детализированную статистику за сегодня.
Рисунок 7.18 – Попытка ввести период, который ещё не закончился.
Такое же сообщение покажет браузер при некорректном вводе периода. Введём другую дату(и установим к настройках компьютера правильную дату, если установлена неправильная)
Рисунок 7.19 – Детализированная статистика за период.
Также размеры фреймов можно изменять мышью и можно выводить на всю страницу отдельную таблицу, запросив команду браузера: открыть фрейм в новой вкладке.
Таким образом, было рассмотрена работа «Биллинговой системы телефонной сети GSM» и составлено руководство пользователя – сотрудника телефонной сети GSM.