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

AURUS

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

Version: 1.0

Содержание

1. Обзор. 3

2. Требования к исходному коду. 3

3. Комплект поставки. 3

4. Постановка задачи. 3

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

6. Требования к окружению.. 4

7. Сроки. 4

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

1.2.  Обзор

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

Номер задачи

Ключевые слова

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

03

Java Core (IO, Collections, Threads), Swing, OOP.

Создание простого справочника в виде desktop-приложения.

3.  Требования к исходному коду

Код должен соответствовать Java Naming Conventions (http:///docs/codeconv/html/CodeConvTOC. doc. html); Классы, методы и поля должны иметь Javadoc-комментарии (на русском или английском языке, по выбору исполнителя тестового задания); Имена классов, методов, переменных должны быть на английском языке; Приложение должно быть устойчиво к ошибкам пользователя и выдавать понятные и информативные сообщения об ошибках; Приложение должно поддерживать протоколирование основных событий, отладочных событий и сообщений об ошибках; Разрешены любые действия, кроме явно запрещенных.

4.  Комплект поставки

Выполненное тестовое задание должно содержать следующие артефакты:

НЕ нашли? Не то? Что вы ищете?

1.  Исходный код на языке Java;

2.  Все необходимые для работы системы ресурсы (конфигурационные файлы, сторонние библиотеки).

3.  Набор тестов, доказывающий работоспособность системы.

4.  Инструкцию по установке и использованию.

5.  Постановка задачи

Необходимо создать телефонный справочник. Каждый абонент в справочнике идентифицируется уникальным значением пары атрибутов: ФИО, домашний адрес. Для каждого абонента система должна позволять указать несколько телефонных номеров: домашний, рабочий, мобильный и т. п. Набор типов номеров в системе должен быть расширяемым с помощью пользовательского интерфейса. Система должна хранить дату создания записи об абоненте в справочнике.

Хранение данных должно быть реализовано в файлах. Структура хранения данных определяется исполнителем тестового задания.

После запуска приложения должна отображаться таблица абонентов со следующими полями:

·  ФИО;

·  Домашний адрес;

·  Дата создания записи.

В таблице должна быть реализована сортировка по любому столбцу в прямом или обратном порядке и функция поиска абонента по полям: ФИО, адрес, телефон. Поиск по ФИО и адресу должен выполняться без учёта регистра, поиск по телефону – для любого типа телефонного номера абонента.

Должна быть предусмотрена функциональность создания/редактирования записи об абоненте, диалоговое окно с возможностью указания: ФИО, адреса, телефонных номеров. Кроме того, должна быть предусмотрена функциональность удаления выбранных записей.

Кроме того, система должна предусматривать возможность добавления и редактирования типов телефонных номеров.

Все действия пользователей системы, как-то: запуск/завершение приложения, сортировка, поиск, добавление/редактирование/удаление абонентов должны логироваться системой в текстовый файл. В этот же файл логируются все исключительные ситуации, возникающие при работе системы.

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

Приложение должно иметь архитектуру с чётким разделением уровней: работа с данными и представление данных. Реализованное API по выборке, сохранению и работе с данными должно позволять легко переиспользовать его в другой системе, например в Web-приложении.

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

Система должна корректно обрабатывать все ошибочные случаи в работе, например отсутствие необходимых файлов или невалидные значения, введенные пользователем.

7.  Требования к окружению

Система должна разрабатываться как desktop приложение с использованием Swing компонент. Допустимо использование JDK 1.4.1 и выше.

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

8.  Сроки

На выполнение тестового задания дается одна календарная неделя.

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством