Задачи по Яве (ява - джава) ФКН ВГУ 1 семестр

Задание к лабораторной работе
Справочная система
Information System

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

В данной задаче рассматривается структура данных, описывающая некую реальную систему, объект или процесс. На основе заданной структуры данных реализовать справочную систему, отвечающую за манипулирование данными.

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

Данные разделены на два (или более) типа, связанные между собой. Обработка каждого типа данных осуществляется в отдельном классе (Model class). После обработки информация сохраняется на диск в определенном формате. Каждый класс должен уметь создавать, удалять и модифицировать свой тип данных, при этом корректно взаимодействуя с классом, занимающимся обработкой зависимых типов. Управление справочной системой осуществляется из консоли с помощью набора команд, которые обрабатываются специальным классом-контроллером (Controller class), а он в свою очередь обращается к классам, работающими с данными, для осуществления конкретной операции с данными. Вывод запрашиваемой информации на экран осуществляется отдельным классом (View class), который получает данные от Model классов. Реализация конкретной справочной системы производится по шаблону MVC(Model-View-Controller).

Требования
(* помечены обязательные требования)

  1. Реализация Справочной системы должны соответствовать шаблону MVC.*(5)
  2. Интуитивно понятный интерфейс работы с пользователем.*(3)
  3. Наличие функций добавления, удаления, изменения и просмотра данных.*(за каждую функцию по 2 балла)
  4. Реализация поиска данных в соответствии с некоторым шаблоном, введеным пользователем. Шаблон включает в себя все разрешенные символы с точки зрения хранимых данных и символы заменяющие один и несколько любых символов (* и ?).(4)
  5. сохранение загрузка данных через Serialization/XML.*(3 за Serialization, 4 за XML, +1 за использование сжатия данных)
  6. Возможность добавления всех данных из другого файла в текущий с проверкой на наличие дубликатов, т.е. не должно быть абсолютно одинаковых данных.(4)
  7. программный код должен удовлетворять Code Conventions(4) * и снабжен JavaDoc (2)

.
Модификации задания

  1. Группы и студенты: Студент (ФИО, группа, дата зачисления), Группа (Номер, Факультет).
  2. Библиотека: Экземпляр книги (инвентарный номер, книга, выдана или нет), Книга (авторы, название, год издания, число страниц).
  3. Отдел кадров: Сотрудник (ФИО, отдел, телефон, зарплата), Отдел (название, начальник).
  4. Отдел поставок: Сырье (название, поставщик, цена), Поставщик (название, расчетный счет, ФИО контактного лица).
  5. Отдел продаж: Заказ (номер, заказчик, дата, сумма заказа), Заказчик (название, телефон, адрес).
  6. Ресторан: Блюдо (название, категория, цена), Категория блюд (название).
  7. Анализ публикаций: Публикация (название, тип, источник, дата), Источник (название, город, телефон).
  8. Авиарейсы: Рейс (Номер рейса, аэробус, маршрут, время вылета, путевое время), Маршрут (Пункт вылета, пункт прибытия).
  9. Расписание электричек: Электропоезд (Номер состава, маршрут, время отправления, путевое время), Маршрут (Начальная станция, конечная станция).
  10. Собственный вариант, согласованный с куратором.

Дополнительная информация

Изучаемые темы
Основы ООП, синтаксис Java, Collections, I/O, XML, Serialization.