/StudentDatabase

Тестовое задание от Haulmont

Primary LanguageJava

StudentDatabase

Тестовое задание от Haulmont

Тестовое задание

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

Постарайтесь создать грамотную композицию классов и форматировать код в соответствии со стандартами Java.

Описание задачи

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

Студент ◦ Имя

◦ Фамилия

◦ Отчество

◦ Дата рождения

◦ Группа

Группа ◦ Номер

◦ Название факультета

Система должна иметь следующие функции:

Отображение списка групп Добавление новой группы, редактирование и удаление существующей Отображение списка студентов Фильтрация списка студентов по фамилии и по номеру группы Добавление нового студента, редактирование и удаление существующего

Требования к реализации

Используемые технологии:

Java 6 SE Пользовательский интерфейс на Swing Доступ к данным через JDBC Сервер баз данных: любая встроенная Java-RDBMS, например H2, HSQLDB, Derby.

Требования к пользовательскому интерфейсу:

Экраны системы: ◦ Список групп – таблица, кнопки «Добавить», «Изменить», «Удалить»

◦ Редактирование группы — поля ввода атрибутов, кнопки «ОК», «Отменить»

◦ Список студентов с фильтром - таблица, кнопки «Добавить», «Изменить», «Удалить», фильтр с полями «Фамилия», «Номер группы»

◦ Редактирование студента - поля ввода атрибутов, кнопки «ОК», «Отменить»

Экраны редактирования должны быть модальными

Другие требования:

Код доступа к данным должен быть изолирован в классах DAO Каждая таблица должна иметь первичный ключ типа Long Система должна иметь защиту на уровне БД от удаления группы, содержащей студентов Готовое приложение должно содержать: ◦ Каталог с исходными текстами, классами и используемыми библиотеками

◦ SQL-скрипт создания таблиц в базе данных

◦ Командный файл, запускающий приложение вместе со встроенной базой данных

При реализации системы запрещается использовать визуальные дизайнеры интерфейса для Swing