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

 

Начало

 

 

Ввод

 

 

периода

 

 

Обработка

 

 

запроса

 

 

 

БД

 

Получение

 

 

результатов

 

 

запроса

 

 

Вывод

 

 

отчета

 

 

на экран

 

Да

Ввести

Нет

период

 

 

 

заново?

 

 

 

Конец

Рисунок 3.3 – Алгоритм работы отчета

Для реализации ввода периода в файле представления

/app/views/otchet1/index.html.erb прописывается следующий код:

<h1>Отчет Заявки за промежуток времени</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> <br><br>

<%= form_tag("search", method: "get") do %>

<%= label_tag(:start, "Введите начальную дату:") %>

<%= date_select(:start, "written_on") %> <br><br>

<%= label_tag(:finish, "Введите конечную дату:") %> <%= date_select(:finish, "written_on") %>

<br><br>

<%= submit_tag("Искать") %> <% end %>

Для передачи переменных :start, :finish в запрос необходимо преобразовать их тип и извлечь выбранные год, месяц и число. Для этого в файле /app/controllers/otchet1_controller.rb необходимо прописать следующее:

class Otchet1Controller < ApplicationController def index

end

def search @year_s =

32

Date.civil(params[:start]["written_on(1i)"].to_i,params[:start]["w ritten_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).year

@month_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:start]["w ritten_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).month

@day_s = Date.civil(params[:start]["written_on(1i)"].to_i,params[:start]["w ritten_on(2i)"].to_i, params[:start]["written_on(3i)"].to_i).day

@year_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[:finish][ "written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).year

@month_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[:finish][ "written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).month

@day_f = Date.civil(params[:finish]["written_on(1i)"].to_i,params[:finish][ "written_on(2i)"].to_i, params[:finish]["written_on(3i)"].to_i).day

end end

Далее перейдем к файлу поиска. Путь /app/views/otchet1/search.html.erb и

напишем следующий код (метод Active Record):

<h1>Отчет Заявки за промежуток времени</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> | <%= link_to 'Назад', controller: 'otchet1' %>

<br><br>

<table border="1"> <th>Код</th>

<th>Дата создания</th> <th>Отдел</th> <th>Работа</th>

<th>Отметка выполнения</th>

<%= Zakaz.find_by_sql(["select zakazs.id, zakazs.data, zakazs.otm_v, zakazs.otd_id, zakazs.rabotum_id FROM rabota INNER JOIN (otds INNER JOIN zakazs ON otds.id = zakazs.otd_id) ON rabota.id = zakazs.rabotum_id where date_part('year', zakazs.data) >= ? and date_part('month', zakazs.data) >= ? and date_part('day', zakazs.data) >= ? and date_part('year', zakazs.data) <= ? and date_part('month', zakazs.data) <= ? and date_part('day', zakazs.data) <= ?", @year_s, @month_s, @day_s, @year_f, @month_f, @day_f]).each do |zakaz| %>

<tr>

<td><%= zakaz.id %></td> <td><%= zakaz.data %></td> <td><%= zakaz.otd.O_name %></td>

<td><%= zakaz.rabotum.R_name %></td> <td><%= zakaz.otm_v %></td>

</tr> <% end %>

33

Таким образом, получился отчет, который по заданному промежутку времени выводит соответствующие заявки (Приложение В).

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

Для установки Ruby on Rails, необходимо сначала скачать пакет

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.

После установки правой кнопкой мыши нажимаем на консоль use_ruby

(этот файл находится на диске С в папке с Bitnami) и изменяем путь стартового запуска. Затем запускаем консоль и командой «cd “название папки с проектом”» открываем папку с web-приложением.

Теперь в консоли включаем сервер с помощью команды “rails s” и

заходим в браузер по адресу: localhost:3000.

При входе по указанному адресу откроется окно авторизации, в которое требуется ввести имя пользователя и пароль (рисунок 3.4).

Рисунок 3.4 – Скриншот окна авторизации

В случае успешного ввода имени пользователя и пароля откроется стартовая страница. Стартовая страница представлена на рисунке 3.5.

34

Рисунок 3.5 – Скриншот стартовой страницы

На стартовой странице расположено три группы: справочники, отчеты и пользователи. В группу справочники занесены ссылки на страницы,

содержащие таблицы-справочники. Пример одного справочника представлен на рисунке 3.6.

Рисунок 3.6 – Скриншот справочника «Отделы»

В справочник, например, «Отделы», можно добавить новый отдел,

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

Скриншоты данных операций представлены в приложении Г. Данные операции идентичны в каждом справочнике. С любого справочника можно вернуться обратно на главную страницу, нажав на ссылку «Главная страница».

В группу отчеты занесены ссылки на страницы, содержащие отчеты.

Работа отчетов представлена в приложении В.

35

Также в веб-приложении есть отдельный справочник «Пользователи», в

котором отображаются имена пользователей данного приложения.

3.5 Тестирование программного продукта

Тестирование программного обеспечения – процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.

С точки зрения ISO 9126-1, качество программных средств можно определить, как совокупную характеристику исследуемого ПО с учётом следующих составляющих: функциональные возможности; надежность;

сопровождаемость; практичность; эффективность; мобильность. Рассмотрим подробнее на разработанном приложении эти составляющие [18].

Функциональные возможности Функциональные возможности - способность программного средства

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

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

Надежность Надежность – это набор атрибутов, относящихся к способности ПО

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

36

Данное приложение реализует различные функций, которые работают правильно, не вызывая ошибок в программе. Но некоторые функции,

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

Сопровождаемость Сопровождаемость - приспособленность программного средства к

модификации и изменению конфигурации и функций [19].

Разработанное приложение в Ruby on Rails можно модифицировать или добавить какие-нибудь новые функции, что свидетельствует о хорошей сопровождаемости данного приложения.

Практичность Практичность (применимость) - свойства программного средства,

обусловливающие сложность его понимания, изучения и использования, а

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

Приложение имеет очень простой и понятный интерфейс. Из-за этого она будет привлекательна для пользователей, поэтому разработанное приложение можно назвать практичным.

Эффективность Эффективность - свойства программного средства, обеспечивающие

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

Web-приложение для автоматизации деятельности сотрудников отдела АСУ использует немного вычислительных ресурсов и времени при выполнении своих задач и функций, следовательно, данное приложение обладает эффективностью.

Мобильность Мобильность - подготовленность программного средства к переносу из

37

одной аппаратно-операционной среды в другую [20].

Мобильность у разработанного приложения является низкой, так как нужно устанавливать пакет RubyStack, а также экспортировать и импортировать базу данных.

Теперь проведем комплексное тестирование, которое необходимо для выявления несоответствий разработанного web-приложения техническому заданию. На данной стадии были проверены возможные экстренные ситуации,

которые могут возникнуть при использовании данного программного продукта.

При входе в приложение зарегистрированный пользователь вводит неверный логин или пароль, то приложение отреагирует на данную ситуацию и выдаст следующую ошибку, показанную на рисунке 3.7.

Рисунок 3.7 – Сообщение об ошибке при неверной комбинации логина и пароля

При попытке редактировать запись, которую уже редактирует другой пользователь, то приложение выдаст ошибку (рисунок 3.8)

Рисунок 3.8 – Сообщение об ошибке при редактировании записи другим пользователем

При попытке изменить пользователя, введя разные значения в поля

38

«Пароль» и «Подтверждение пароля», появится сообщение об ошибке (рисунок

3.9).

Рисунок 3.9 – Сообщение об ошибке при несоответствии пароля и подтверждения пароля

Следовательно, проведя тестирование web-приложения, было подтверждена корректная работа приложения и ее возможность реагировать на экстренные ситуации.

Выводы по третьему разделу

В результате выполнения третьего раздела было разработано web-

приложение на Ruby, которое работает с базой данной PostreSQL. В данном приложении реализовано шесть справочников: «Отделы», «Запчасти», «Работы», «Профилактика», «Заявки», «Установленное ПО». Помимо это данная программа выводит отчеты: «Заявки за период времени», «Невыполненные заявки», «Невыполненные профилактические работы», «Установленное ПО».

Также были составлены дерево программных модулей, схема взаимосвязей модулей и массивов данных, алгоритм работы отчета и инструкция пользователя. Помимо этого, было произведено тестирование разработанного приложения в соответствии со стандартом ISO 9126-1 и

описаны характеристики данного приложения.

39

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсового проекта была проанализирована деятельность организаций по производству и распределению тепловой энергии на примере МУП «Смоленсктеплосеть». А также проведен сравнительный анализ аналогов разрабатываемого web-приложения. По результатам данного анализа можно прийти к выводу, что ни одно из рассматриваемых приложений не подходит для МУП «Смоленсктеплосеть», так как оно плохо отражает специфику данной отрасли.

Далее в курсовом проекте было спроектировано web-приложение,

которое будет реализовывать бизнес-процесс автоматизации деятельности сотрудников группы АСУ производственной организации и отражать ее специфику.

Результатом выполнения курсового проекта является разработанное web-

приложение для МУП «Смоленсктеплосеть», которое автоматизирует рабочее место специалиста отдела АСУ с учетом особенностей организации по производству и распределению тепловой энергии.

Для разработки данного web-приложения были использованы языки ruby, css и html, база данных, используемая при разработке – PostgreSQL.

Разработанное приложение было протестировано на локальном сервере и web-

браузере Google.

При разработке web-приложения были приобретены навыки проектирования и разработки web-приложений, практический опыт самостоятельной работы с различными источниками информации; были углублены навыки в изложении результатов проделанной работы.

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

изучена деятельность организации МУП «Смоленсктеплосеть»;

рассмотрены предлагаемые на рынке программные продукты для автоматизации деятельности сотрудника отдела АСУ;

40

разработано техническое задание;

проанализированы бизнес-процессы, необходимые для автоматизации;

проанализирована модель данных для разрабатываемого приложения;

описана структуру базы данных;

разработано дерево программных модулей;

продемонстрирована реализация программных модулей;

составлена инструкция пользователя;

проведено тестирование разработанного web-приложения.

Таким образом, задачи курсового проекта выполнены, соответственно,

цель достигнута.

41

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