Руководство программиста
Программа разработана с помощью ЯП Java фреймворка JADE в среде IDEA.
Используемые классы:
Класс Auditorium |
|
String name |
Номер аудитории |
long capacity |
Вместимость аудитории |
long type |
Тип проводимых занятий, «Лекция» или «Практика» |
ArrayList<ArrayList<OccupationItem>> timeTable |
Расписание аудитории |
Auditorium(String name, long capacity, long type); |
Конструктор класса Auditorium |
boolean isBusy(int day, int lesson) |
Проверяет занята ли аудитория в переданный промежуток времени |
String whatGroup(int day, int lesson) |
Возвращает наименование группы занявшую аудиторию в данный момент времени |
boolean canOccupation(long type, long capacity) |
Проверка на возможность занятия аудитории |
JSONArray getResultTimeTable() |
Получить информацию о расписании |
Класс MainReader |
|
static ArrayList<Teacher> readTeacher(String file) |
Чтение учителей из исходного файла |
ArrayList<Auditorium> readAuditoriums(String file) |
Чтение аудиторий из исходного файла |
ArrayList<StudentGroup> readStudents(String file) |
Чтение групп студентов из исходного файла |
void writeCsvClient(JSONArray groups, String outFile) |
Запись расписаний групп в файл в виде таблицы |
void writeCsvServer(JSONObject obj, String outFile) |
Запись расписаний преподавателей и аудиторий в файл в виде таблицы |
Класс OccupationItem |
|
String group |
Номер группы |
String teacher |
ФИО преподавателя |
String subject |
Название предмета |
long type |
Тип проводимого занятия |
String auditorium |
Номер аудитории |
Класс StudentGroup |
|
String name |
Номер группы |
long students |
Кол-во студентов в группе |
ArrayList<Subject> subjects |
Учебный план группы |
ArrayList<ArrayList<OccupationItem>> timeTable |
Расписание группы |
int allLessons |
Всего занятий в учебном плане |
StudentGroup(String name, long students, ArrayList<Subject> subjects) |
Конструктор класса StudentGroup |
boolean isBusy(int day, int lesson) |
Проверка на занятость группы студентов в данный момент времени |
ArrayList<SimpleEntry<Integer, Integer>> getAvailableForTeacher(boolean force) |
Получить свободные ячейки времени для преподавателя |
ArrayList<SimpleEntry<Integer, Integer>> getAvailableForAuditorium(boolean force) |
Получить свободные ячейки времени для аудитории |
JSONArray getResultTimeTable() |
Получить информацию о расписании |
Класс Subject |
|
String name |
Название предмета |
long lections |
Количество лекций предмета |
long practics |
Количество практик предмета |
Класс Lesson |
|
String name |
Название предмета |
int type |
Тип предмета |
Класс MyMessage |
|
Lesson subject |
Контекст предмета |
String group |
Контекст группы |
String teacherOrAuditorium |
Контекст преподавателя/аудитории |
SimpleEntry<Integer, Integer> targetLesson |
Контекст ячейки времени |
Serializable payload |
Тело сообщения |
Класс Teacher |
|
String name |
ФИО преподавателя |
ArrayList<String> subjects |
Предметы, которые ведет преподаватель |
ArrayList<ArrayList<Long>> busy |
Занятость преподавателя на неделе |
ArrayList<ArrayList<OccupationItem>> timeTable |
Расписание преподавателя |
boolean isBusy(int day, int lesson) |
Проверка на занятость преподавателя в данный момент времени |
String whatGroup(int day, int lesson) |
Получить группу, которая зафиксирована на данную ячейку времени |
ArrayList<AbstractMap.SimpleEntry<Integer, Integer>> getAvailable(boolean force) |
Получить свободные ячейки времени |
JSONArray getResultTimeTable() |
Получить информацию о расписании |
Приложение с исходными кодами будет в архиве.
