Курсовые работы / ПРИС К_2
.pdf
|
Начало |
|
|
|
Ввод |
|
|
|
периода |
|
|
|
Обработка |
|
|
|
запроса |
|
|
|
|
БД |
|
|
Получение |
|
|
|
результатов |
|
|
|
запроса |
|
|
|
Вывод |
|
|
|
отчета |
|
|
|
на экран |
|
|
Да |
Ввести |
Нет |
|
период |
|||
|
|
||
|
заново? |
|
|
|
|
Конец |
Рисунок 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