ООП на Java. Разработка с нуля. Разработать программу, осуществляющую имитационное моделирование процесса или явления (определяемого вариантом задания) и визуализирующую этот процесс или явление. вариант задания: Система автоматизации функций секретаря Некоторая фирма включает K различных отделов (5<= K <= 9), для согласования работы которых используется еженедельный общий календарь. В этом календаре представлены разнообразные мероприятия и события: ежедневные планерки сотрудников каждого отдела, еженедельные совещания руководителей отделов, командировки сотрудников отделов и руководства, периодические тематические семинары, в которых могут участвовать сотрудники разных разделов и т.п. У каждого календарного события есть дата, время начала и конца (или его длительность), место проведения, участники, степень важности и другие характеристики. Внутренние мероприятия фирмы могут проходить либо в помещениях отделов, либо в конференц-зале фирмы. Требуется создать компьютерную систему, автоматизирующую отдельные функции секретаря фирмы – формирование и поддержку календаря фирмы и контроль обозначенных в нем событий. Основные функции системы: ??Уточнение (актуализация) календаря: из календаря автоматически удаляются уже произошедшие события дня, а также (по указанию пользователя) добавляются новые запланированные мероприятия или же уточняются характеристики событий, уже представленных в календаре; ??Выдача по запросу пользователя всей информации о календарных событиях, включая удобный просмотр событий, запланированных на определенный день или период дня – либо для всей фирмы, либо для определенного отдела, либо для определенного сотрудника; ??Посылка по электронной почте напоминаний о запланированных событиях всем участвующим в них сотрудникам фирмы; частота напоминаний и их начало зависит от степени важности события (например, ежедневно за 3-4 дня до события). При добавлении в календарь новых событий проверяется их осуществимость, при этом могут быть выявлены конфликты: например, участие некоторого сотрудника в одно и то же время в двух разных мероприятиях, или же наложение по времени двух разных мероприятий, проводимых в конференц-зале. Информация о выявленных конфликтах показывается пользователю системы, и он должен разрешить каждый конфликт, изменяя некоторые характеристики либо добавляемого в календарь события либо же уже назначенного и внесенного в календарь события. Возможность последнего зависит, вообще говоря, от категории пользователя: например, руководители могут менять уже назначенные время и место событий, но рядовым сотрудникам это не разрешено. Желательно реализовать в компьютерной системе автоматический подбор нескольких способов разрешения возникающих 23 конфликтов – с тем, чтобы пользователь выбирал нужный способ из числа предложенных системой. Необходимо испытать построенную систему автоматизации, установив для этого некоторое первоначальное состояние календаря событий и смоделировав пошаговое изменение времени. Цель моделирования – уточнение заложенных в систему процедур актуализации календаря. Период моделирования – N дней (7<= N <= 30), шаг – полчаса или час. В параметры моделирования можно включить условия выдачи напоминаний о событиях календаря и/или условия разрешения выявленных конфликтов. По окончании моделирования система выводит итоговый отчет по всем событиям, произошедшим на фирме в течение периода моделирования.