Спецификация основных классов
Таблица 3. Класс «ClientsDistribution» | ||
Класс «ClientsDistribution» | ||
Имя члена/метода | Модификатор доступа | Описание |
Client[] clients | + | Массив записей клиентов на курсы (хранится пара ID клиента и ID курса) |
Course[] courses | + | Список курсов |
EducationCenter[] centers | + | Список ОЦ |
Relation[][] distribution | + | Массив возможных распределений (для каждого клиента хранятся ближайшие ОЦ, в которых он может учиться) |
bool DataLoaded | - | True, если данные загружены |
bool InitialDistributionMade | - | True, если создано начальное распределение |
double relatedDistance | - | Максимально допустимое расстояние от ОЦ до места жительства клиента, в метрах |
int numOfRelatedCenters | - | Количество центров, в которых может обучаться каждый клиент. Служит для ускорения работы алгоритма. Все равно клиент не будет учиться в удаленных ОЦ |
LoadData() | + | Загрузить данные из базы |
MakeInitialDistribution() | + | Создать начальное распределение |
GetCurrentDistribution() | + | Получить текущее распределение (для дальнейшего его отображения на карте Москвы) |
GetClientsCoordinates | + | Возвращает координаты клиента по его ID |
GetCurrentIncome() | + | Подсчитывает прогнозируемую прибыль для текущего распределения |
FindOptDistribution() | + | Запускает алгоритм поиска “оптимального” распределения |
Таблица 4. Класс «MoscowMap» | ||
Класс «MoscowMap» | ||
Имя члена/метода | Модификатор доступа | Описание |
double dolgota1, shirota1, dolgota2, shirota2
| - | Координаты GPS левого верхнего и правого нижнего углов карты Москвы. Нужны для масштабирования карты и аппроксимации местоположения |
int Width
| + | Ширина карты, в пикселях |
int Height
| + | Высота карты, в пикселях |
getCurrentCoordinates() | + | Получает gps координаты по координатам пикселя |
GetCurrentDistribution() | + | Возвращает изображение с текущим распределением клиентов
|
GetIntCoordinates() | - | Получает координаты пикселя по gps-координатам
|
GetEmptyMap()
| + | Возвращает пустую карту
|
Таблица 5. Класс «GPS» | ||
Класс «GPS» | ||
Имя члена/метода | Модификатор доступа | Описание |
ConvertToRadians() | - | Конвертирует значение из градусов в радианы |
get_fi() | - | Вычисляет угол, который вдальнейшем используется для нахождения расстояния между двумя точками по их gps координатам
|
get_S_yandex()
| + | Вычисляет расстояние по gps координатам
|
Таблица 6. Класс «Client» | ||
Класс «Client» | ||
Имя члена/метода | Модификатор доступа | Описание |
Int32 ID | + | ID клиента |
double Dolgota | + | GPS координаты долготы |
double Shirota | + | GPS координаты широты |
Int32 CourseID
| + | ID курса, к которому относится данная запись |
Таблица 7. Класс «Course» | ||
Класс «Course» | ||
Имя члена/метода | Модификатор доступа | Описание |
Int32 ID | + | ID курса |
Double Cost
| + | Стоимость курса |
Int32 MinGroupSize
| + | Минимальный размер группы по данному курсу |
Int32 MaxGroupSize
| + | Максимальный размер группы по данному курсу |
Таблица 8. Класс «EducationCenter» | ||
Класс «EducationCenter» | ||
Имя члена/метода | Модификатор доступа | Описание |
Int32 ID | + | ID образовательного центра |
double Dolgota | + | GPS координаты долготы |
double Shirota | + | GPS координаты широты |
Таблица 9. Класс «OneClientDistribution» | ||
Класс «OneClientDistribution» | ||
Имя члена/метода | Модификатор доступа | Описание |
Int32 ClientID | + | ID клиента |
Int32 CenterID | + | ID образовательного центра, к которому он относится |
Int32 CourseID | + | ID курса, на который записан |
bool isDistributed | + | True, если клиент уже распределен в какую-то группу |
Int32 relatedCenter | + | Коэффициент, который позволяет учитывать учащихся, которые вносят корреляцию |
Таблица 10. Класс «Relation» | ||
Класс «Relation» | ||
Имя члена/метода | Модификатор доступа | Описание |
Int32 ID | + | ID ОЦ в списке связанных для данного клиента ОЦ |
Double S | + | Расстояние для данного ОЦ |
Double P | + | Весовой коэффициент – вероятность того, что клиент будет ходить именно в этот ОЦ |
- Оглавление
- Аналитический раздел
- Общая постановка задачи
- Классические задачи принятия решений.
- Многостадийный процесс
- Задача линейного программирования
- Задача о распределении ресурсов
- Транспортная задача
- Формула 11. Транспортная задача
- Вывод по аналитическому разделу
- Конструкторский раздел
- Сценарий работы программы
- Расчет функции прогнозируемой прибыли
- Формула 13
- Предлагаемый алгоритм работы программы
- Алгоритмформирования групп для текущего распределения
- Алгоритм поиска нового распределения для данного курса
- Диаграмма классов
- Спецификация основных классов
- Требования к бд
- Концептуальная модель базы данных
- Спецификации таблиц
- Вычисление расстояния поGps-координатам
- 1. Сферическая теорема косинусов
- 2. Формула гаверсинусов
- Формула 16. Формула гаверсинусов
- 3. Модификация для антиподов
- Формула 17. Формула для антиподов
- Технологический раздел
- Требования к вычислительной системе
- Выбор субд
- Выбор среды разработки
- Выбор языка программирования
- Используемые технологии asp.Net
- Ado.Net
- Пользовательский интерфейс
- Интерфейс приложения
- Интерфейс веб-приложения
- Развертывание системы
- Функциональная декомпозиция системы по уровням
- Исследовательский раздел
- Исследование зависимости времени работы алгоритма от числа учащихся
- Нагрузочное тестирование
- Вывод по исследовательскому разделу
- Организационно-экономический раздел
- Организация и планирование процесса разработки
- Расчет трудоемкости выполнения работ
- Расчет количества исполнителей
- Календарный план-график разработки программного продукта
- Расчет стоимости программного продукта
- Расчет экономической эффективности
- Промышленная экология и безопасность
- Анализ вредных и опасных факторов
- Освещенность
- Электрические и магнитные поля
- Статическое электричество
- Электробезопасность
- Опасность возникновения пожара
- Вибрация
- Травматизм
- Микроклимат
- Расчет системы освещенности
- 6.2.1 Расчет площади светопроемов
- Расчет искусственного освещения
- 6.3.1 Общее освещение
- 6.3.2 Местное освещение
- Заключение
- Список использованных источников