/SummaryTask4

Training, final task.

Primary LanguageJava

SummaryTask4

External course final task

Разработать WEB-приложение, которое поддерживает заданную функциональность. Требования к реализации следующие.

  1. На основе сущностей предметной области создать классы которые им соответствуют.
  2. Классы и методы должны иметь названия, которые отражают их функциональность, и должны быть грамотно разнесены по пакетам. 3 Оформление кода должно соответствовать Java Code Convention.
  3. Информацию о предметной области хранить в базе данных (в качестве СУБД рекомендуется использовать Apache Derby).
  4. Для доступа к данным использовать API JDBC с использованием пула соединений (не допускается использование ORM фреймверков).
  5. Приложение должно поддерживать работу с кириллицей (быть многоязычным), в том числе при хранении информации в базе данных:
    • должна быть возможность переключения языка интерфейса;
    • должна быть поддержка ввода, вывода и хранения информации (в базе данных), записанной на разных языках (см. ниже);
    • в качестве поддерживаемых языков выбрать минимум два: один на основе кириллицы, другой на основе латиницы.
  6. Архитектура приложения должна соответствовать шаблону MVC (не допускается использование MVC фреймверков).
  7. При реализации алгоритмов бизнес-логики использовать шаблоны проектирования.
  8. Используя сервлеты и JSP, реализовать функциональность, приведенную в постановке задачи.
  9. В качестве контейнера сервлетов использовать Apache Tomcat.
  10. На страницах JSP применять теги из библиотеки JSTL и разработанные собственные теги (минимум один custom tag library тег и минимум один tag file тег).
  11. При разработке использовать сессии, фильтры, слушатели.
  12. Использовать журналирование событий с использованием библиотеки Apache Log4j.
  13. Код должен содержать комментарии документатора (все классы верхнего уровня, нетривиальные методы и конструкторы).
  14. Написать модульные тесты которые по максимуму покрывают функциональность.
  15. Самостоятельное расширение постановки задачи по функциональности приветствуется.
  16. Дополнительно, к требованиям изложенным выше, более чем желательно обеспечить выполнение следующих требований.
    • Реализовать разграничение прав доступа пользователей системы к компонентам приложения.
    • Реализовать защиту от повторной отправки данных на сервер при обновлении страницы.
    • Все поля ввода должны быть с валидацией данных.

Больница

Администратору системы доступен список Врачей по категориям (педиатр, травматолог, хирург, ...) и список Пациентов. Реализовать возможность сортировки

пациентов: по алфавиту; по дате рождения;

врачей: по алфавиту; по категории; по количеству пациентов. Администратор регистрирует в системе пациентов и врачей и назначает пациенту врача.

Врач определяет диагноз, делает назначение пациенту (процедуры, лекарства, операции), которые фиксируются в Больничной карте.

Назначение может выполнить Медсестра (процедуры, лекарства) или Врач (любое назначение). Пациент может быть выписан из больницы, при этом фиксируется окончательный диагноз.

(опционально: реализовать возможность сохранения документа с информацией о выписке пациента).