Results:
Итоговое задание В задании требуется написать приложение, моделирующее работу информационной системы оператора сотовой связи. Ниже более подробно описаны предметная область и технические требования. Предметная область Существуют следующие виды сущностей: • Тариф o Название o Цена o Список возможных опций • Опция o Название o Цена o Стоимость подключения • Клиент o Имя o Фамилия o Дата рождения o Паспортные данные o Адрес o Номера контрактов(телефонов у данного оператора) o Адрес электронной почты o Пароль для личного кабинета • Контракт o Номер o Тариф o Выбранные опции для тарифа Приложение должно обеспечивать следующую функциональность: • Для клиентов компании o Просмотр контракта в личном кабинете; o Просмотр всех возможных тарифов для перехода, смена тарифа; o Просмотр возможных опций для тарифа, подключение новых опций, отключение существующих; o Блокировка/разблокировка номера(если номер заблокирован, то нельзя сменить тариф и опции; если номер заблокировал не пользователь, то разблокирповать сам он его не может); • Для сотрудников компании o Заключение контракта с новым клиентом: выбор нового номера телефона с подключением тарифа и опций. Номер телефона должен быть уникальным. o Просмотр всех пользователей и контрактов; o Блокировка пользователя/разблокировка пользователя; o Поиск пользователя по номеру; o Смена тарифа, подключение и отключение опций пользователю; o Добавление новых тарифов, удаление старых; o Добавление/удаление опций для тарифа; o Управление опциями: некоторые опции могут быть несовместимы друг с другом или могут быть добавлены только с определенными опциями, сотрудник добавление и удаление этих правил. При совершении действий с контрактами на каждой странице до сохранения изменений должна отображаться корзина, в которой отображаются выбранные позиции пользователя. Технические требования В итоге требуется получить многопользовательское приложение типа клиент-сервер с соединением по сети. Все данные хранятся на стороне сервера. Каждый клиент может загружать некоторые данные, после каждой операции изменения данные должны быть синхронизованы с сервером. Клиент должен иметь графический интерфейс. Приложение должно обрабатывать аппаратные и программные ошибки. Используемые технологии: 1 часть ? IDE - Any (Eclipse, IDEA) ? Tomcat 8.0.x ? Servlet/JSP ? DB – MySQL 5.6 ? Maven 3.* ? JPA 2.0 2 часть (включая предыдущие) ? AS – Glassfish 4.0/WildFly 8.x ? EJB 3.x ? JSF 2.x или ? Spring Framework Критерии успешного выполнения
- Функциональность работает (обязательно наличие UI)
- Maven-based проект, разбитый на модули (билд одной командой, деплой одной командой)
- Описаны интерфейсы предметной области
- Подключена БД MySQL
- Созданы сущности предметной области; маппинг на таблицы в БД
- Работа с сущностями через DAO
- Приложение развернуто на AS Glassfish/Wildfly* (актуально для 2й части)
- Реализована обработка исключений
- Подключено логгирование
- Наличие technical solution description
- Наличие unit-тестов на бизнес логику
Подключение любого фреймворка/библиотеки принимаются в зачет только при условии выполнения пунктов, описанных выше.
Дополнительные требования !Относится ко второй части обучения! В задании требуется написать отдельное приложение, которое будет показывать отчет обо всех абонентах сети с выбранным тарифным планом.
- Приложение должно связываться с основным приложением через веб-сервис.
- Технологии приложения – EJB (или CDI), JSF.
- Отчет должен генерироваться в PDF.