Сделай Сам Свою Работу на 5

Описание изменений, произошедших в классах.





Client

Поля:

1) Password – переменная строкового типа: пароль клиента.

2) LastTimeActivity – переменная типа DateTime: последнее время активности.

Provider

Методы:

1) ChangeProviderFile – изменение файла провайдера.

Events

Методы:

1) Change_activity - метод для изменения статуса активности клиента, имеет параметр LastTimeActivity (возвращает булевское значение).

Contract

Поля:

1) contract_number – переменная строкового типа: номер договора

2) active_period – переменная типа DateTime: активный период договора

3) selected_service – переменная строкового типа: выбранный сервис

4) Surname – переменная строкового типа: фамилия клиента

Методы:

1) Contract – конструктор

2) AddContract – добавление файла контракта

3) DelContract – удаление файла контракта

4) ChangeContract – изменение файла контракта

 

Интерфейс системы

Главное окно

 

 
 

 


Форма использования сервиса

 
 

Таблица базы данных клиентов



Форма создания нового клиента
Третья итерация

Анализ требований

На третьей итерации был выделен класс WorkWithFiles для удобной организации работы с имеющимися файлами клиента, контракта, провайдера и статистики. В этот класс были перенесены методы из классов Provider, Client, Contract, работающие с файлами.



На данной итерации основными целями нашей работы стали:

1) Введение нового класса WorkWithFiles для работы с файлами.

2) Проверка клиента на неактивность, удаление, если клиент не активен больше месяца

3) Добавление проверки на окончание активного периода договора

4) Добавление графического представления статистики

5) Возможность просмотра статистики клиентом

6) Изменение тарифов провайдера

7) Улучшение интерфейса

Описание процесса проектирования

Описание классов

Опишем отношения взаимодействия между введенным классом и уже существующими:

Класс WorkWithFiles зависит от класса Events, так как метод Чтение статистики из файла использует объект класса Events.

Класс WorkWithFiles зависит от класса Contract, так как методы Чтение файла клиента, Чтение файла клиента, Чтение контракта из файла, Изменение контракта в файле, класса WorkWithFile, используют для работы объект класса Contract.

Класс Provider зависит от класса WorkWithFiles, так как методы класса Provider используют объект класса WorkWithFiles.



Класс Client зависит от класса WorkWithFiles, так как методы класса Client используют объект класса WorkWithFiles. А класс WorkWithFiles зависит от Client, так как методы Добавление и изменение файла клиента, Чтение файла клиенте, класса WorkWithFiles, использует объект класса Client.

В классе Provider добавлены методы для проверки клиента на неактивность, изменения тарифов. В классе Contract добавлен метод для удаления неактивного пользователя, а также поля, описанные далее. В классе Client было добавлено поле Адрес, для ввода дополнительной личной информации о клиенте, и Время действия контракта.

Опишем подробно изменения, произошедшие на третьей итерации в интерфейсе классов.

В классе Clientдобавлены поля:

Адрес – поле для хранения адреса клиента, носит информативный характер.

Файл статистики – поле, содержащее адрес файла, хранящего данные о действиях, совершенных клиентом.

Контракт – договор, связанный с данным клиентом.

Список событий – поле, содержащее действия, совершенные клиентом (статистика клиента).

А также метод:

Новый индекс – метод, определяющий порядковый номер (номер договора) при регистрации клиента.

В классе Providerтакже произошли изменения.

Были добавлены поля:

Список контрактов – содержит весь список контрактов данного провайдера.

Статистика – поле, содержащее действия, совершенные клиентом (статистика клиента).

А также методы:

Неактивный клиент – этот метод реализует удаление всей информации о клиенте (файл клиента, файл контракта, файл статистики) при выявлении неактивного клиента с помощью метода – Изменение активности. Если клиент неактивен в течение определенного периода времени (то есть метод Изменение активности возвращает ложь), то клиент удаляется из базы данных.



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

Добавление контракта в список – метод, который заносит договор нового зарегистрированного клиента в список.

Удаление контракта из списка – метод, позволяющий удалить из списка контракт при удалении клиента.

Изменение контракта в списке – метод, изменяющий данные о контракте в списке провайдера.

Чтение статистики – метод, который позволяет считать статистику данного клиента в переменную Статистика.

В классе Eventsдобавлены поля:

Количество – содержит количество отправленных СМС/минут разговора/скачанных Мб для отображения в статистике

Баланс – текущий счет клиента, для отображения в текстовом представлении статистики.

Добавлены методы:

Использование сервиса Интернет – метод, записывающий информацию о времени проведенном в интернете, количестве скачанной информации (эти данные выбираются произвольным образом), о балансе, измененном после использования сервиса. Затем информация записывается в файл клиента и файл статистики для последующего отображения в программе.

Использование сервиса СМС – метод, записывающий информацию о количестве отправленных сообщений (оно выбирается произвольным образом), о балансе, измененном после использования сервиса. Эта информация потом записывается в файл клиента и файл статистики для последующего отображения в программе.

Использование сервиса Звонки – метод, записывающий информацию о времени совершенных звонков (оно выбирается произвольным образом), о балансе, измененном после использования сервиса. Эта информация потом записывается в файл клиента и файл статистики для последующего отображения в программе.

В классе Contractизменения интерфейса таковы: добавлены два поля:

Выбранный провайдер – провайдер, у которого был зарегистрирован договор данного клиента.

Клиент – клиент, которому принадлежит данный договор.

И один метод:

Конец активного периода – в этом методе происходит сравнение текущего времени со сроком окончания активного периода договора. В случае их равенства вызывается метод удаления файла клиента и файла статистики клиента.

Опишем также интерфейс добавленного класса WorkWithFiles:

Для описания данного класса используются следующие поля:

Файл провайдера – поле, содержащее адрес файла, хранящего информацию о тарифах провайдера.

Файл клиента – поле, содержащее адрес файла с личными данными клиента

Файл контракта – поле, содержащее адрес файла, хранящего данные о контракте

Файл статистики – поле, содержащее адрес файла, хранящего данные о действиях, совершенных клиентом.

В новый класс WorkWithFiles перенесены методы из старых классов (Contract, Client, Provider), для более удобной работы:

Добавление файла статистики – метод, создающий файл статистики для последующей записи в него информации о действиях клиента, а затем вывода информации на экран в текстовом или графическом представлении.

Удаление файла статистики – метод, удаляющий весь фал статистики при вызове метода удаления клиента из базы данных.

Изменение файла статистики – метод, позволяющий изменить фал статистики, при совершении клиентом новых действий (использование какого либо сервиса, или пополнение баланса).

Очищение файла статистики – метод, очищающий файл статистики при обновлении данных клиента вызовом метода – изменить клиента (так как при этом клиент выбирает для использования какой либо другой сервис, и мы будем отображать в статистике только действия измененного клиента).

Изменение контрактов в файле – метод, реализующий изменение данных в файле контрактов при изменении личных данных клиента (добавление, изменение, удаление контрактов в списке провайдера).

Изменение файла провайдера – метод для сохранения измененных данных о тарифах провайдера в соответствующем файле. Происходит удаление старой информации в файле и запись новых данных.

Чтение файла провайдера – метод, позволяющий получить информацию о тарифах провайдера для использования ее в методе Активность клиента, класса Client.

Удаление клиента из файла – этот метод позволяет удалить ранее зарегистрированного клиента, в частности файл с предоставленными личными данными, для этого происходит считывание клиентов из файла в список, в нем удаляются данные о выбранном клиенте, измененный список записывается обратно в файл.

Чтение файла клиента – получение личных данных клиента, для этого считываем информацию о клиентах из файла в список, ищем нужного клиента в списке по номеру договора и возвращаем найденного клиента.

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

Изменение клиента в файле – метод, позволяющий изменить информацию о клиенте в файле, для этого происходит считывание клиентов из файла в список, в нем изменяются данные о выбранном клиенте, измененный список записывается обратно в файл.

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

Чтение статистики из файла – метод, считывающий информацию о статистике данного клиента, содержащуюся в файле статистик.

 


Диаграмма классов


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

Опишем структуру данных, хранимых в файле клиентов:

Записывается построчно (для каждого клиента):

Номер договора / Пароль / Имя / Фамилия / Отчество / Выбранный провайдер / Выбранный сервис / Баланс / Последнее время активности / Время окончания активного периода договора / Адрес

Структура данных в файле статистики:

Дата использования сервиса / Совершенное действие / Сумма пополнения баланса или количество скачанных Мб или минут звонка или количество СМС / Время, в течение которого использовался сервис / Остаток счета

Структура данных в файле провайдера:

Цена за СМС / Цена за Мб скачанной информации из интернета / Цена минуты разговора

Структура данных в файле договоров (в котором хранится список всех договоров, относящихся к отдельному провайдеру):

Номер договора / Фамилия / Выбранный провайдер / Выбранный сервис / Время окончания активного периода договора

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.