Файл: Пермский филиал Факультет бизнесинформатики Кафедра информационных технологий в бизнесе удк 004. 031. 4 Информационная система для привлечения абитуриентов выпускная квалификационная работа бакалавра.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 244

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
большое количество плагинов сторонних разработчиков, подключаемых к Ruby on Rails, позволяет снизить затраты на разработку требуемых функций [41]. Кроме того, оба фреймворка имеют большое количество руководств и примеров, снижающих сложность обучения.

  1. Сравнение фреймворков для разработки

Критерий

Symfony 2

ASP.NET MVC

Ruby on Rails

Django

Стоимость

Бесплатный, лицензия MIT

Платный

Бесплатный, лицензия MIT

Бесплатный, лицензия BSD

Язык программирования

PHP

С#

Ruby

Python

Функциональность

Существует возможность подключения плагинов, встроенные функции аутентификации, кеширования, работы с Ajax

Встроенные функции аутентификации, кеширования, работы с Ajax

Большая экосистема плагинов – подключаемых «джемов» (gem)

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

Техническая документация и примеры

Малое количество примеров

Качественная документация и большое количество примеров

Качественная документация и большое количество примеров

Качественная документация и большое количество примеров

Поддерживаемые СУБД

PDO-совместимые

Microsoft SQL Server

MySQL, Firebird, PostgreSQL, DB2, Oracle, Microsoft SQL Server

PostgreSQL, MySQL, SQLite, and Oracle

Сложность установки и настройки

Высокая

Средняя

Низкая (дистрибутивы Instant Rails или BitNami RubyStack включают в себя все необходимое для разработки в среде Rails, включая Ruby, RubyGems, Ruby on Rails, MySQL, Apache, Mongrel и Subversion

Средняя

Платформа

Кроссплатформенный

.NET

Кроссплатформенный

Кроссплатформенный

Успешные проекты

Drupal, Delicious, Dailymotion

stackoverflow

Basecamp, Twitter, Shopify, Github,

Lighthouse, Groupon

Instagram, Disqus, Mozilla, The Washington Times, Pinterest


Основным отличием является язык программирования. Сравнение языков приведено в табл. 2.18. Сравнение языков Ruby и Python:

  1. Сравнение языков Ruby и Python

Критерий

1 место

2 место

Простота изучения (Ease of learning)

Ruby

Python

Читабельность (Readability)

Python

Ruby

Удобство использования (Usability)

Ruby (благодаря принципу наименьшего удивления)

Python

Безопасность (Security)

Python, Ruby (оба содержат функции по предотвращению инъекций SQL, межсайтового скриптинга)




Помимо предложенных критериев также были изучены особенности синтаксиса обоих языков. Благодаря легкости изучения и удобстве использования, а также на основе персональных предпочтений в вопросах синтаксиса, предпочтение было отдано языку Ruby. Кроме того, по мнению разработчиков, скорость разработки на языке Ruby гораздо выше [42]. Соответственно, фреймворком для разработки стал Ruby on Rails

Разработчики Ruby on Rails отдают предпочтение двум веб-серверам: Apache HTTP сервер и nginx (именно для них создан модуль Phusion Passenger) [41]. Однако наиболее популярным решением является использование связки серверов nginx и Unicorn. Поскольку и Apache и nginx обладают такими свойствами, как кроссплатформенность (поддерживают системы Linux, BSD, Mac OS, Microsoft Windows), надежность, гибкость конфигурации, бесплатное распространение, выбор был сделан исходя из их применения наиболее успешными проектами, как например, GiHub и Groupon.

В качестве сервера базы данных Ruby on Rails поддерживает MySQL, Firebird, PostgreSQL, Oracle и Microsoft SQL Server. Как было отмечено ранее, стоимость является одним из критериев выбора программного обеспечения. Так как Microsoft SQL Server и Oracle являются коммерческими продуктами, было принято решение отказаться от их использования. Из оставшихся СУБД MySQL является наиболее распространенным решением

Таким образом, фреймворком для разработки веб-приложения был выбран Ruby on Rails, основными преимуществами которого являются скорость разработки, благодаря обширному набору готовых к работе штатных инструментов и решений в сообществе, язык Ruby, простота программирования, гибкость и безопасность. Ruby on Rails является открытым программным обеспечением и распространяется под лицензией MIT. В качестве СУБД была выбрана MySQL; связка серверов nginx и Unicorn была определена как наиболее подходящий веб‑сервер.


  1. 1   ...   4   5   6   7   8   9   10   11   ...   17

Проектирование базы данных


Для удовлетворения информационных потребностей пользователей информационная система должна содержать следующую информацию:

  1. Личная информация о пользователе системы.

  2. Информация о публикациях, содержащихся в системе.

  3. Информация о проводимых событиях и мероприятиях.

  4. Информация о пользователях, подтвердивших участие в мероприятии.

  5. Статистика опросов.

  6. Прикрепленные пользователями документы.

  7. Комментарии пользователей.

Формализованное описание требуемой информации приведено в приложении B. Структура базы данных. Описание полей и типов данных содержится в приложении С. Описание сущностей базы данных.
  1. Проектирование макета приложения


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

При переходе на вебсайт системы пользователь видит главную страницу с ссылками для перехода к формам авторизации/регистрации, поиском, слайдером, ссылками для поиска информации для учеников школ, учителей и работодателей по тегам, колонками с публикациями и событиями, навигацией по страницам и футером (см. рис. 2.3. Главная страница).



  1. Главная страница

На странице публикации представлен основной текст и прикрепленные файлы. В нижней части страницы находятся вопросы опроса и комментарии (см. рис. 2.4. Страница публикации):



  1. Страница публикации

Страница мероприятия имеет аналогичную структуру. В правой части страницы расположена информация о сроках и месте проведения, ссылка для подтверждения или отмены участия, прикрепленные файлы. Пользователи с определенными ролями имеет доступ к административному блоку, содержащему функции редактирования и удаления мероприятия, а также создания рассылки (см. рис. 2.5. Страница мероприятия):




  1. Страница мероприятия

Для добавления публикации разработан следующий макет (см. рис. 2.6. Добавление публикации). В нижней части существует возможность прикрепить файлы и добавить опрос.



  1. Добавление публикации

Для добавления мероприятия необходимо указать заголовок, анонс, теги описание, указать дату начала и окончания. Также можно прикрепить файлы и добавить опрос (см. рис. 2.7. Добавление мероприятия):



  1. Добавление мероприятия

Если информация о пользователе уже есть в базе данных (пользователь зарегистрирован), то вход в систему осуществляется при помощи формы авторизации (см. рис. 2.8. Форма авторизации).



  1. Форма авторизации

Если пользователь хочет зарегистрироваться, то при переходе на страницу регистрации ему будет предложено заполнить следующую форму (см. рис. 2.9. Форма для регистрации). В данном макете представлены только некоторые из возможных полей.



  1. Форма регистрации
  1. Модули системы


Одно из главных назначений диаграммы вариантов использования заключается в формализации функциональных требований к системе. На основе анализа списка прецедентов построенной модели TO_BE были определены следующие модули системы и их основные функции:

  1. Модуль «Авторизация пользователей».

    1. Проверка на наличие в БД пользователя с введенном логином и паролем.

    2. Заполнение страниц в зависимости от прав доступа пользователя.

  2. Модуль «Работа с ролями пользователей».

    1. Создание, редактирование, удаление ролей пользователей.

    2. Разграничение прав доступа к функциям для различных ролей.

  3. Модуль «Контрагенты».

    1. Просмотр всех пользователей системы.

    2. Регистрация пользователя в системе.

    3. Добавление, редактирование личной информации.

    4. Просмотр профиля пользователя.

    5. Просмотр публикаций пользователя.

  4. Модуль «Публикация».

    1. Добавление, редактирование, удаление публикации.

    2. Добавление черновика публикации.

    3. Добавление, удаление файлов.

    4. Изменение статуса публикации.

  5. Модуль «Событие».

    1. Добавление, редактирование, удаление события.

    2. Добавление, удаление файлов.

    3. Подтверждение участия в событии.

    4. Просмотр и сохранение списка участников события.

  6. Модуль «Рассылка».

    1. Создание рассылки писем.

    2. Выбор адресов отправки из списка или ввод вручную.

    3. Добавление, редактирование темы и текста письма.

    4. Добавление, редактирование и удаление служебного текста.

    5. Прикрепление файлов к письму.

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

  7. Модуль «Комментарии».

    1. Добавление, удаление комментария.

  8. Модуль «Опрос».

    1. Добавление, редактирование, удаление опросов

    2. Просмотр статистики опроса.

  9. Модуль «Действия пользователей».

    1. Просмотр списка действий пользователей за последнее время.