/rbdp_lab2

Рефакторинг баз данных и приложений (ИТМО, ПИиКТ-СиППО, 4 курс).

Primary LanguageJava

Лабораторная работа #2 Рефакторинг баз данных и приложений

Описание работы

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

  1. понять, какие существуют сущности и процессы в проектируемой системе;

  2. выделить основные функции системы;

  3. продумать логику работы пользователя с программой: предусмотреть набор действий пользователя и множество состояний программы;

  4. реализовать объектно-ориентированную модель в виде программы.

Общие требования к реализации

  • Организация дружелюбного пользовательского интерфейса o проверка вводимых пользователем данных o вывод адекватных и понятных пользователю сообщений (в особенности – об ошибках).
  • Отсутствие, по возможности, жёстко закодированных значений (например, «зашитых» в код путей к файлам, магических чисел).
  • Разработанная программа должна получать все необходимые данные из внешнего источника (например, из консоли, файла, базы данных, от удалённого сервера, и т.д.), то есть при запуске не содержит никакой информации.
  • Реализация должна быть выполнена на одном из языков: C#, Java, Kotlin, C++. Другие языки следует согласовать с преподавателем.
  • Архитектурно приложение должно быть представлено клиентским и серверным компонентом (по усмотрению, REST API, взаимодействие через RPC). Серверный компонент должен обеспечивать сохранение данных о сеансе использования.

Вариант 4 : Книжный каталог

Информация о книге включает название, имя автора, жанры, дату публикации, аннотацию, ISBN. Из главного меню программы пользователь, посредством выбора одного из пронумерованных пунктов, может производить следующие операции:

• добавление книги в каталог

• выборку информации о конкретной книге по:

  • названию или его фрагменту
  • имени автора
  • ISBN
  • ключевым словам

• выход.

Поиск по ключевым словам должен возвращать краткие описания книг (без аннотации) в таком порядке, чтобы в начале выборки оказывались книги c наибольшим количеством найденных ключевых слов, а в конце – с наименьшим количеством. Если ключевое слово найдено в аннотации, это должно быть отражено в выборке.