Курсовые работы / ПРИС КП_И_8
.pdfКак видно из рисунка 3.1, разработанное приложение содержит в себе 10
модулей, которые в свою очередь делятся на два типа – модули хранения и изменения данных и модули обработки изменяющихся данных. Все процедуры,
необходимые для нормальной работы этих модулей, хранятся в памяти базы, в
так называемых «controllers» (app-controllers-concerns).
Стоит отметить, что объект «home_page» так же является модулем,
который реализует показ формы пользователю. Его компоненты так же располагаются в ветвях «controllers».
Листинг модулей, которые были разработаны самостоятельно,
представлены в приложении В.
3.3 Схемы взаимосвязей модулей и массивов данных
Массивами данных в разрабатываемой информационной системе являются объекты. Все программные модули обращаются к массивам данных,
формируя наборы данных. В теле запроса содержатся сведения из каких объектов, какие поля нужно выбрать, а также, при необходимости, указывается условие отбора для запросов с параметрами. Так как в программе предусмотрена возможность автоматизации ввода и редактирования данных с помощью подстановок из других объектов, модулю, работающему с конкретным объектом, связанному с другими объектами, приходится обращаться не только к основному объекту, но и к связанным с ним объектам.
Отчеты и обработки, так же создаются на основании данных, полученных из нескольких объектов [6].
Схемы, отражающие взаимосвязь модулей и массивов данных представлены на рисунках 3.2-3.3
32
|
Avtos.rb |
|
Infos.rb |
Prices.rb |
Ts_osmotr.rb |
|
Bd_klientis.rb |
|
|
Mashini_gbos.rb |
|
Рисунок 3.2 - Схема взаимосвязи общих модулей и массивов данных для справочников
Справочники постоянно взаимодействуют друг с другом. Поэтому было логично использовать ссылочный тип в системе (belongs_to). Ввод этого типа данных намного упростит задачу, так как многие поля являются постоянно-
фиксированными и носят в себе единичные значения. Как видно из рисунка 3.2,
справочник «Infos» является «корневым» для всех остальных, а «Ts_osmotr» -
конечным.
Avtos.rb
Bd_klientis.rb
Ts_osmotr.rb
Ustanov_gbo.rb
To_mesyac.rb
Neispravnost.rb
Рисунок 3.3 - Схема взаимосвязи общих модулей и массивов данных для отчетов
33
Что же касается направлений отчетов, то тут так же все просто.
Постоянные данные заимствуются из массивов данных справочников на основании выработки, которая была прописана в процессе разработки
(приложение В).
Таким образом, можно отметить факт постоянного взаимодействия массивов данных, которые лежат в справочниках, как между собой, так и в отчетах, сформированных на основании выборки.
3.4 Алгоритм работы модулей информационной системы
В данном пункте будут разобраны алгоритмы работы только модулей,
отвечающих за отчеты. Остальные листинги можно будет увидеть в приложении В.
Отчет «Список автомобилей, проходящих ТО в месяце» формируется для вывода списка автомобилей клиентов, которым необходимо пройти технический осмотр оборудования. Пользователю предлагается выбрать дату начала и конца (либо месяц) и нажать кнопку «Искать». Текст запроса представлен в листинге 3.1.
Листинг 3.1 – Текст запроса отчета «Список автомобилей, проходящих ТО в месяце»
<h1>Список автомобилей, проходящих ТО в месяце</h1>
<%= link_to 'Главная страница', controller: 'home_page' %> <br><br>
<%= form_tag("search", method: "get") do %> <%= label_tag(:q, "Поиск авто:") %>
<%= text_field_tag(:q) %> <%= submit_tag("Искать") %> <% end %>
<table border="1"> <th>Авто</th>
<th>Дата прохождения</th>
<%= Avto.find_each do |avto_id| %>
<tr>
34
<td><%= Avto.avto_id %></td>
<td><%= Ts_osmotr.data_osmotr%></td>
</tr>
<% end %>
Стоит отметить, что внутренний обработчик кнопки «Искать» проверяет,
вводится ли пользователем период или нет. В случае отказа ввода система выдаст ошибку – «Введи период запроса» [7].
Отчет «Отчет об установленном ГБО для клиента» создан для дальнейшего вывода и предоставления документа для оплаты (чека). Содержит ряд данных из справочников (ссылочный тип), что делает его простым в работе.
Текст запроса представлен в листинге 3.2.
Листинг 3.2 - Текст запроса отчета «Отчет об установленном ГБО для клиента»
<h1>Отчет об установленном ГБО для клиентов</h1>
<%= link_to 'Главная страница', controller: 'home_page' %> <%= form_tag("search", method: "get") do %>
<%= label_tag(:q, "Поиск клиентов:") %>
<%= text_field_tag(:q) %> <%= submit_tag("Искать") %> <% end %>
<table border="1"> <th>Код</th> <th>Марка</th> <th>ФИО клиента</th> <th>Дата</th> <th>Сумма заказа</th>
<%= Avto.find_each do |avto_id| %> <tr>
<td><%= Bd_klienti.id %></td> <td><%= Avto.avto_id %></td>
<td><%= Bd_klienti.FIO_klienta %></td> <td><%= Bd_klienti.data %></td>
</tr>
<% end %>
35
Далее возможна реализация вывода результатов отчетов в MS Office, но система «Ruby on Rails» не предоставляет этого. Распечатать форму можно с главной страницы программы либо прямо из формы запроса.
3.5 Инструкция пользователя по установке программного продукта и работе с ним
Необходимо скачать пакет RubyStack, который включает в себя: Ruby, Rails, RVM, MySQL, SQLite, NGINX, Apache, Memcache and Varnish, Git and
Subersion, Sphinx, PHP and phpMyAdmin. Сделать это можно по ссылке https://bitnami.com/redirect/to/90515/bitnami-rubystack-2.0.0-39-windows- installer.exe.[5].
Отметим, что RubyStack не поддерживает операционные системы
WindowsXP, Windows 2003
Приступим к установке пакета RubyStack.
Рисунок 3.5.1 – Окно установки
36
В данном меню выбираем Customized installation для выбора пакетов
(Рисунок 3.5.2).
Рисунок 3.5.2 – Окно установки
Ставим галочки, как показано на рисунке 3.5.3.
Рисунок 3.5.3 – Окно установки
Затем у вас появится окно подтверждения (Рисунок 3.5.4) жмем yes.
37
Рисунок 3.5.4 – Окно установки
Выбираем папку, куда будет установлен наш пакет RubyStack (Рисунок
3.5.5).
Рисунок 3.5.5 – Окно установки
В данном окне (Рисунок 3.5.6) ничего не меняем, и жмем далее.
Рисунок 3.5.6 – Окно установки
38
Придумываем пароль от вашей базы данных (для текущей БД пароль
123456), вписываем его в верхней строчке и повторяем в нижней (Рисунок
3.5.7). Запишите его где-нибудь, чтобы не забыть!
Рисунок 3.5.7 – Окно установки
В этом окне ставим Yes и идем далее (Рисунок 3.5.8).
Рисунок 3.5.8 – Окно установки
39
Выбираем, какую базу данных мы будем использовать. В нашем случае это PostgreSQL (Рисунок 3.5.9).
Рисунок 3.5.9 – Окно установки
Далее завершаем установку. При инсталляции библиотек установка может продолжаться достаточно долго ( до десятков минут).
Перед началом работы, необходимо переместить папку с проектом на диск С.
Далее необходимо указать путь в bat-файле, запускающем Ruby, на рабочую папку. Запускаемый файл лежит в папке: C:\Bitnami\use_ruby.bat.
Прописываем в текстовом редакторе путь к папке проекта и сохраняем
(рисунок 3.5.10).
Рисунок 3.5.10 – Задание пути к папке проекта
Итак, для запуска web-сервера выполним следующую команду:
-rails server (либо rails s)
40
В результате успешного запуска web-сервера мы получим вот такой текст
(рисунок 3.5.10)
Рисунок 3.5.10 – Запуск сервера Для наглядного представления результата правильности выполненных
действий, и получения доступа к вновь созданному приложению запустим браузер и перейдем по следующему адресу URL: http://localhost:3000.
Впредставлении своих пользователей Rails-приложение, как, собственно,
илюбое другое веб-приложение, связано с URL-адресом. Когда браузеру указывается этот URL-адрес, происходит обращение к коду приложения,
который генерирует для вас ответ.
3.6 Тестирование программного продукта в различных режимах
В качестве стратегии тестирования выбрана стратегия проверки соответствия функционирования информационной системы техническому заданию без учета особенностей алгоритма данного программного модуля.
Тестирование проводилось методом «сверху вниз» в трех режимах:
нормальном, экстремальном и исключительном.
41