Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом.docx
Скачиваний:
22
Добавлен:
23.03.2016
Размер:
452 Кб
Скачать

Постановка задачи Цели и задачи проекта

Модуль работы со стажёрами должен упростить процессы учёта новых сотрудников компании и взаимодействия с ними:

  1. организация курсов по различным IT-специализациям для привлечения в компанию новых сотрудников и их обучения;

  2. учёт слушателей и желающих проходить курсы;

  3. рассылка на почту тестовых и домашних заданий;

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

  5. ведение базы данных стажёров, назначение кураторов, выдача заданий, отправка напоминаний стажёрам и кураторам;

  6. оценка результатов работы студентов и стажёров.

Система предназначена для использования HR-специалистами, сотрудниками компании и соискателями, имеющими доступ к системе при прохождении курсов.

Спецификация и обоснование нефункциональных требований

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

  1. Кросплатформенность на уровне операционной системы – с веб-сервисом возможно работать во всех операционных системах, поддерживающих браузеры GoogleChrome,FirefoxиOpera

  2. Отсутствие необходимости установки на клиентские ПК

В качестве платформы для разработки данного веб-сервиса была выбрана платформа JavaEnterpriseEdition.

JavaEE– это набор спецификаций и соответствующей документации для языкаJava, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.

Преимущества данной платформы:

  1. Строгая статическая типизация языка Javaпозволяет находить множество ошибок ещё на этапе компиляции

  2. Ориентированность языка на объектно-ориентированный подход

  3. Стабильность платформы, обратная совместимость версий

  4. Переносимость между ОС за счёт использования виртуальной машины

  5. Богатый набор готовых библиотек и фреймворков под любыми лицензиями для решения широкого спектра задач

  6. Масштабируемость приложений и целостность данных во время работы системы

  7. Ориентированность на использование как в вебе, так и в локальных сетях

  8. Приемлемая скорость платформы, значительно превосходящая скриптовые языки

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

Для разработки клиентской части системы используются языки XHTML,CSSиJavaScript.XHTMLиспользуется в качестве языка вёрстки веб-страниц. Это более строгий вариант стандартного языка разметки веб-документовHTML, он поддерживаетXML-валидацию и пространства имён, позволяет создавать пользовательские теги. Язык стилейCSSиспользуется для дизайна веб-страниц, а язык сценариевJavaScriptпомогает реализовывать на страницах интерактивные элементы.

Для организации взаимодействия между клиентской и серверной частью используется фреймворк JavaServerFaces. В отличие от прочихMVC-фреймворков, которые управляются запросами, подходJSFосновывается на использовании компонентов. Технология включает набор API для представления компонент пользовательского интерфейса и управления их состоянием, обработкой событий и валидацией вводимой информации, определения навигации, а также поддержку интернационализации и доступности, а также специальную библиотеку тегов для выражения интерфейсаJSFна веб-странице.

В качестве СУБД использована система PostgreSQL. Данная СУБД была выбрана из-за своей надёжности, богатого функционала и опыта её интеграции сJava.PostgreSQLхорошо оптимизирует сложные запросы. Документация этой СУБД довольно богатая и содержит ответы на многие вопросы, возникающие в процессе работы.

Для упрощения работы с БД использован ORM-фреймворк EclipseLink. Он позволяет избавиться от необходимости написания однотипныхCRUD-запросов, автоматически преобразуя объектное представления сущностей в реляционное и обратно. Данный фреймворк более производителен, чем его конкурентыHibernateиOpenJPA, поддерживаетсяSunMicrosystemsкак эталонная реализацияJPA2.0.

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

Пользовательские требования к программно-технической среде:

  1. требование к быстродействию:

  • загрузка форм для ввода данных – не более 0,5 секунды;

  • загрузка страницы с данными – не более 2 секунд;

  • требования к информационной безопасности:

    • пользователи должны получать доступ к системе после ввода корректного логина и пароля;

    • если пользователь вводит неверные данные при авторизации, должна отображаться ошибка 403;

    • при вводе неверных данных более 2-х раз – блокировка учётной записи;

    • при попытке входа в заблокированную учётную запись – ошибка 403;

    • студент получает доступ к системе только при наличии учётной записи, созданной администратором;

    • лекции и домашние задания потока курсов могут редактировать только лекторы, назначенные на поток;

    • по окончании курсов студенты теряют доступ к системе;

  • требования к надёжности:

    • при переходе по ссылке на страницу, к которой у пользоваеля есть доступ, должна быть отображена данная страница в корректном виде;

    • при переходе по ссылке на страницу, к которой у пользователя нет доступа – ошибка 500;

    • действия пользователя должны приносить ожидаемый результат;

    • не допускается наличие ошибок в системе, способных оказать негативное воздействие на информационную безопасность и целостность данных в системе;

    • не допускать ввода некорректных данных пользователями: обеспечивать верификацию email-адресов, диапазонов дат, обязательных полей БД и др;

    • организация бесперебойного питания сервера и технических средств;

  • требования к эргономике:

    • система должна быть простой в освоении и использовании;

    • получение нужного результата должно достигаться пользователем минимальным количеством кликов;

    • наличие документации по функционалу, предоставляемому системой.