Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit()


Скачать 338.52 Kb.
НазваниеРешение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit()
страница7/8
ТипРешение
filling-form.ru > Туризм > Решение
1   2   3   4   5   6   7   8

4.2Лабораторная работа 2.5. Task Tracker


Краткое описание

Создать приложение типа «органайзер» для отслеживания занятости человека различными задачами (сколько времени он занимается каждой из них). Реализовать оповещение некоего сервера об изменениях занятости, а также возможность сохранения (и загрузки) информации о занятости в постоянной памяти (на клиенте и/или на сервере).

Детальное описание

Каждая из задач, время занятости которыми необходимо отслеживать, – это, прежде всего, название (строка текста). Однако задача должна также иметь невидимый пользователю идентификатор, чтобы при переименовании задачи прежняя информация о занятости оставалась актуальной. Задачи образуют иерархию (дерево), точнее, несколько иерархий со своим «корнем» каждая. При этом заниматься человеку можно не только задачами-«листьями» дерева, но и любыми другими («родительскими») узлами. Время занятости родительской задачей определяется как сумма ее собственного времени и времен всех ее подзадач. Подразумевается, что в каждый момент времени человек занимается ровно одной задачей.

В качестве запоминаемой информации о занятости можно фиксировать либо все факты переключений между задачами, либо время занятости человека задачей в течение одного дня. Как бы то ни было, выбранная модель хранения занятости должна позволять показывать статистику занятости по задачам (верхнего уровня), а также статистику по подзадачам для любой выбранной задачи. Статистика представляет собой таблицу со столбцами «Название задачи», «Дата», «Время занятости», «Процент занятости» (процент берется от суммы времен задач, имеющихся в таблице на соответствующую дату). Среди строк таблицы должны встречаться не только подзадачи, которые на один уровень ниже выбранной задачи, но и она сама (в случае, если ей тоже сопоставлено «собственное» время: см. выше).

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

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

Сохранение клиентом чего-либо (информации о занятости или иерархии задач) может означать либо сохранение в файле (текстовый файл, XML, сериализация и т.д.), либо передача соответствующих данных на сервер (для дальнейшего сохранения там). Протокол общения между клиентом и сервером предлагается разработать самостоятельно; рекомендуется при этом использовать XML. Сервер может сохранять информацию в том же виде, что и клиент; делать это он может как при обработки запроса от клиента, так и при завершении работы (например, при финализации). Идентификатор пользователя при его общении с сервером задается в настройках программы (там же, где параметры сетевого соединения с сервером); если он не задан, то в качестве идентификатора можно использовать ip-адрес клиентского компьютера.

Требования

Звездочками * отмечены обязательные требования, в скобках – количество баллов (может быть уменьшено, если требование реализовано не полностью, с ошибками, с замечаниями и т.п.).

  1. Реализация на Swing основного внешнего вида клиента с обработкой событий (главная часть окна – дерево задач; действия можно реализовать пунктами меню или кнопками); загрузка иерархии задач, сохранение/загрузка занятости (5; в случае обобщения занятости – см. модификацию 1.2 – 6) *

  2. Редактирование иерархии задач, ее сохранение. (5)

  3. Выдача стандартного отчета статистики занятости (описанной выше таблицы, для заданного интервала дат) + сортировка по заданному пользователем столбцу (6+1; в случае хранения обобщенной занятости – см. модификацию 1.2 – 4+1)

  4. Дополнительные аналитические функции типа «показывать статистику по месяцам, осредняя времена занятости задачами в день», «показывать статистику для всех задач, выполнявшихся в заданный день, независимо от их места в иерархии», «показывать постоянно такую статистику на сегодня, автоматически изменяя с течением времени данные в строке активной задачи» (на усмотрение куратора – до 5)

  5. Реализация сервера, поддерживающего несколько соединений с клиентами (5) *

  6. Взаимодействия клиента с сервером (не менее одного взаимодействия); возможны не только указанные в описании взаимодействия типа «загрузка задач с сервера», «оповещение о переключении задачи», но и такие: «уведомление сервера при изменении имени пользователя», «синхронизация времени с сервером» (4) *

  7. Синхронизация иерархии задач в разных клиентах: оповещение сервером всех клиентов при изменении задач одним из клиентов (3)

  8. Поддержка более чем одного принципиально отличающегося формата хранения данных или протокола передачи данных (текст с разделителями(3), XML(4), сериализация(3), …) (всего не более 6)

  9. Протокол клиент/сервер: архитектура, документация (если XML, то DTD) (4) *

  10. Архитектура, code style, java doc и прочее «представление» программы (на усмотрение куратора – до 6)

Примечание: Функции сервера отдельно не оцениваются, так как они являются аналогами функций клиента, перенесенными на сервер (только для многих пользователей); соответствующее взаимодействие между клиентом и сервером – это пп. 6 и 7.

Итого: баллов за обязательные требования – около 25, баллов за дополнительные требования – порядка 55.
1   2   3   4   5   6   7   8

Похожие:

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconТиповая форма договора банковского вклада с неснижаемым остатком в рублях «Премиальный»
Года), с одной стороны, и "Вкладчик" (либо "Вноситель" в случае внесения вклада на имя третьего лица), с другой стороны, вместе либо...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconКонтрольная работа по термодинамике выполняется либо в отдельной...
Изучение дисциплины базируется на знании материала дисциплин: «Физика», «Химия», «Математика», «Гидравлика», «Инженерная графика»,...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconR/3 System Release 46B 30. 10. 2000
Разработка с использованием abap-инструментальных средств (упражнения) 28

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconPhone Conversation”
В его основе лежит решение какой-либо задачи, проблемы (от греческого problema- «задача, задание»)

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() icon1 общая характеристика гостиничного бизнеса 6
Характеристики компьютерных программ бронирования (на примере Fidelio Hotel Management System) 52

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconПро gps
«Global Positioning System», которое дословно можно перевести, как «глобальная система позиционирования»

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconDiasoft System Architect
Перед началом работы с системой описания бизнес-объектов необходимо проверить у себя на машине

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconРешение задач (с показом алгоритма решения)
Эссе — (фр essai – попытка, проба), небольшое прозаическое сочинение свободной композиции, выражающее впечатления автора от чего...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconРекомендации ООН st/SG/AC. 10/30 «Globally Harmonized System of Classification...
Оон st/SG/AC. 10/30 «Globally Harmonized System of Classification and Labelling of Chemicals (Согласованная на глобальном уровне...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconДокументация об открытом запросе предложений
Работы по техническому обслуживанию программного комплекса интегрированной диспетчерской службы на базе модуля pi-system

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск