Скачиваний:
9
Добавлен:
17.06.2023
Размер:
2 Mб
Скачать

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

Макеты (layouts) определяют, как контент будет расположен на странице.

Динамически создаваемая страница может содержать вложение из нескольких страниц, даже без использования таблиц и фрэймов, используя API Макета.

В веб-приложении контроллер регулирует поток логики приложения. Он находится на границе программы, перехватывая все запросы, на основе которых он изменяет какой-то объект Модели и вызывает Вид, чтобы отобразить обновленные данные. В RoR Action Controller является контроллером, его основные функции:

Поддержка сессий. Сессия - это период времени, проведенный пользователем на сайте. Его можно отследить с помощью cookie или объекта сессии. Cookie - небольшой файл, он не может содержать объекты, в отличие от объекта сессии.

Фильтрация применяется, когда необходимо вызвать определенный код,

перед тем как исполнять логику контроллера или после него, например,

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

предоставляемые Action Controller. Существуют три основных фильтра: before, after и around.

Кэширование - это процесс, при котором наиболее запрашиваемый контент сохраняется в кэше, чтобы не было необходимости запрашивать его вновь и вновь.

Основными принципами разработки на Rails являются [16]:

Принцип DRY (Don’t repeat yourself) - фреймворк предоставляет механизмы повторного использования программного кода. Это поз­во­ляет не только минимизировать дублирование кода, но и повысить скорость разработки.

33

Принцип Convention over configuration - по умолчанию во фреймворке используются многочисленные соглашения по конфигурации, типичные для большинства приложений. Это очень упрощает создание приложений, так как явная спецификация конфигурации требуется только в нестандартных случаях.

Автоматизированное тестирование - в составе RoR поставляются средства для проведения полностью автоматического модульного,

интеграционного и функционального тестирования, а идеология Ruby on Rails

предполагает использование методов разработки через тестирование (TDD -

Test Driven Development). Всё это делает разработанные приложения реально надёжными.

Рисунок 3.12 -Дерево программных модулей

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

3.3 Схема взаимосвязей модулей и массивов данных

Схемы взаимосвязей контроллеров, модулей и представлений с

массивами данных представлены на рисунках 3.13 -3.15.

34

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

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

Рисунок 3.13 - Схема взаимодействия контроллеров с массивами данных

Рисунок 3.14 - Схема взаимодействия моделей с массивами данных

35

Рисунок 3.15 - Схема взаимодействия представлений с массивами данных

Таким образом, стоит отметить,

что программные

модули

взаимодействуют с большим объемом массивов данных единовременно.

3.4 Алгоритмы работы отчётов

 

 

Выводить информацию по всем

водителям, которые

совершали

перевозки грузов за выбранный промежуток времени в заданном направлении.

Для формирования данного отчёта пользователю необходимо задать направление, выбрать необходимые даты и нажать кнопку «Искать». В случае необходимости пользователь может «сбросить» данные запроса. Работа запроса представлена на рисунке 3.16, а его листинг в приложении Б.1.

Рисунок 3.16 - Результат выполнения запроса

36

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

Листинг работы запроса представлен в приложении Б.2.

Рисунок 3.17 - Результат выполнения запроса

Вывод информации о том, кто за заданный промежуток времени совершил максимальные (в километровом исчислении) перевозки, представлен на рисунке 3.19.

В данном отчёте использовалось соединение по трем таблицам, sql аналог представлен на рисунке 3.18.

37

Рисунок 3.18 - Результат выполнения запроса в sql

Рисунок 3.19 - Результат выполнения запроса

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод даты начала

 

 

рейса, окончания и

Ввод

имени водителя

неверных

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

Даты записаны

Нет

корректно?

 

Да

 

Просмотр

 

следующей записи

 

Да

Да

Запись

соответствует

Нет

 

условию?

 

Да

 

Внесение данных в

 

отчет

 

Остались

 

записи?

Нет

Конец

Рисунок 3.12 – Блок-схема алгоритма работы модуля отчета «О

совершенных поездках»

38

3.5 Инструкция пользователя по установке программного продукта и работе с ним

Rails отлично работает со многими веб-серверами и СУБД. В качестве веб-сервера рекомендуется использовать Apache или nginx с модулем Phusion Passenger. Rails также можно разворачивать используя Unicorn, Thin, Mongrel

или FastCGI. В качестве СУБД можно использовать MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 или Firebird. Использовать Rails можно на практически любой операционной системе, однако для развертывания мы рекомендуем системы семейства *nix [17].

В качестве репозитория плагинов Ruby on Rails использует экосистему пакетов RubyGems. Некоторые плагины со временем были включены в базовую поставку Rails, например Sass и CoffeeScript; другие же, хотя и не были включены в базовую поставку, являются стандартом де-факто для большинства разработчиков [18].

После установки необходимо запустить сервер и в браузере перейти по ссылке http://localhost:4000/. При открытии данной страницы в браузере появится окно, представленное на рисунке 3.20.

Рисунок 3.20 -Авторизация пользователя

Вданной информационной системе создано 2 пользователя:

администратор, сотрудник. Реализация разделения прав доступа представлена на рисунке 3.21. Из рисунка видно, что пользователю не доступна возможность удалять записи, однако доступна функция «пометка на удаление». При входе в

39

систему за администратора, появляется возможность осуществлять удаление записей.

Рисунок 3.21 -Авторизация пользователя

В случае успешной авторизации пользователю откроется стартовая страница со справочниками и отчетами (рисунок 3.23). Для создания нового элемента справочника нужно нажать «создать», там же можно просмотреть,

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

(рисунок 3.22). Также существуют ограничения в редактировании и удалении записей для разных категорий пользователей.

Рисунок 3.22 - Отчет в Excel

40

Рисунок 3.23 -Стартовая страница

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

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

Для тестирования был выбран отчет «Отчёт о совершённых поездках»,

так как тестирование работоспособности существующих справочников является нецелесообразным.

При тестировании в экстремальных условиях, например при нажатии кнопки искать без ввода данных, система так же работает исправно, однако отчет не формируется (рисунок 3.24).

41

Рисунок 3.24 - Тестирование в экстремальных условиях Для тестированиях в исключительных условиях в поле ввода были

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

Рисунок 3.25 -Тестирование в исключительных условиях Таким образом, тестирование показало, что система работает исправно.

Выводы по третьей главе

Таким образом, в результате выполнения третьей главы курсового проекта, была разработана автоматизированная система организации грузоперевозок нефтепродуктов, было проведено тестирование данной системы, и которое выявило корректную работу ИС. Также было приведено содержание данной системы, взаимодействия основных модулей и массивов данных. Был приведен результат сформированных отчётов.

42

Соседние файлы в папке Курсовые работы