Тестовое задание от Haulmont
Тестовое задание
Данное тестовое задание должно в результате содержать работающую программу, удовлетворяющую всем нижеописанным требованиям, и качественный исходный код.
Постарайтесь создать грамотную композицию классов и форматировать код в соответствии со стандартами Java.
Описание задачи
Релизовать систему ввода и отображения информации о студентах института, включающую следующие сущности и их атрибуты:
Студент ◦ Имя
◦ Фамилия
◦ Отчество
◦ Дата рождения
◦ Группа
Группа ◦ Номер
◦ Название факультета
Система должна иметь следующие функции:
Отображение списка групп Добавление новой группы, редактирование и удаление существующей Отображение списка студентов Фильтрация списка студентов по фамилии и по номеру группы Добавление нового студента, редактирование и удаление существующего
Требования к реализации
Используемые технологии:
Java 6 SE Пользовательский интерфейс на Swing Доступ к данным через JDBC Сервер баз данных: любая встроенная Java-RDBMS, например H2, HSQLDB, Derby.
Требования к пользовательскому интерфейсу:
Экраны системы: ◦ Список групп – таблица, кнопки «Добавить», «Изменить», «Удалить»
◦ Редактирование группы — поля ввода атрибутов, кнопки «ОК», «Отменить»
◦ Список студентов с фильтром - таблица, кнопки «Добавить», «Изменить», «Удалить», фильтр с полями «Фамилия», «Номер группы»
◦ Редактирование студента - поля ввода атрибутов, кнопки «ОК», «Отменить»
Экраны редактирования должны быть модальными
Другие требования:
Код доступа к данным должен быть изолирован в классах DAO Каждая таблица должна иметь первичный ключ типа Long Система должна иметь защиту на уровне БД от удаления группы, содержащей студентов Готовое приложение должно содержать: ◦ Каталог с исходными текстами, классами и используемыми библиотеками
◦ SQL-скрипт создания таблиц в базе данных
◦ Командный файл, запускающий приложение вместе со встроенной базой данных
При реализации системы запрещается использовать визуальные дизайнеры интерфейса для Swing