Курсовые работы / ПРИС КП_И_8
.pdfПри тестировании в нормальном режиме никаких сбоев в информационной системе не возникло. Например, при создании новой записи справочнике все данные корректно записываются и обрабатываются.
Далее проводилось тестирование в исключительных условиях. Для этого было решено оставлять некоторые поля в справочниках незаполненными. При нажатии кнопки «Create» данные записывались. Но при работе с отчетом пользователю выскакивает ошибка об отсутствии данных в справочнике
(рисунок 3.6.1).
Рисунок 3.6.1 – Результаты тестирования в исключительных условиях
Данный результат показывает, что модуль в справочниках работает, но не совсем правильно, так как ошибка происходит уже при формировании отчета.
Данный аспект нуждается в дальнейшей доработке.
Далее проведено тестирование в экстремальных условиях. Было решено сформировать отчет «Список автомобилей, проходящих ТО в месяце» без заполнения поля поиска авто. Результат тестирования можно наблюдать на рисунке 3.6.2.
Рисунок 3.6.2 - Результаты тестирования в экстремальных условиях
42
В результате проведенного тестирования выявлена не полная работоспособность программы. Стандартные исключительные и экстремальные ситуации обработаны, наиболее вероятные сбои программы предотвращены.
Некоторые модули (модули справочников) нуждаются в доработке, но в целом система фиксирует нарушения регистрации данных.
Выводы по третьему разделу
Таким образом, в результате выполнения раздела курсового проекта была разработана информационная система учета продаж в организации,
занимающейся продажей и техническим обслуживанием газобаллонного оборудования для автотранспортных средств. Были рассмотрены взаимодействия справочников и отчетов, построено дерево программных модулей, изучены и приведены основные алгоритмы работы модулей.
Кроме того, было проведено тестирование информационной системы методом «черного ящика», результаты которого показали практически полную работоспособность системы. Аспекты, которые необходимо доработать,
представлены в пункте 3.6.
43
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсового проекта была проанализированна предметная область – учет оборудования в отделе продаж организации,
занимающейся становкой и техническим обслуживание газабалонного оборудования, рузельтатом которой стала постановка задачи к проектированию информационной системы. На основе чего, была построена функциональная модель бизнес-процессов по стандарту IDEF0, а также логическая модели данных по стандарту IDEF1X и физическая модель данных.
На основе полученных результатов был осуществлен выбор структур объектов базы данных с учетом вопросов, связанных с нормализацией баз, а
затем и непосредственное создание их структуры.
В результате проведенного анализа предметной области и проекта информационной системы, было разработано приложение с использованием клиент-серверной архитектуры. С целью отражения функциональных возможностей информационной системы было построено дерево модулей, а
также схема взаимодействия модулей и массивов данных.
Тестирование информационной системы осуществлялось методом
«сверху вниз» в трех режимах нормальном, экстремальном и исключительном.
В результате тестирования был выявлен ряд ошибок в обработке системы модулей справочников, которые в итоге не сильно влияют на работоспособность системы.
Результатом курсового проекта стала автоматизированная система учета продаж и обслуживания газобалонного оборудования, разработанная на основе применения структурно-функционального подхода.
Таким образом, все поставленные задачи курсового проекта выполнены,
следовательно, цель по разработке информационной системы достигнута.
44
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Бакшт К.А. Построение отдела продаж. Санкт Петербург.: Питер. 2016.
256с.
2 1С: Торговля и склад [Электронный ресурс] // Фирма «1С». URL: http://www.1c.ru/products/1c/predpr/torg77.htm/ (дата обращения:10.10.2017)
3 Галактика Магазин [Электронный ресурс] // Корпорация «Галактика».
URL: http://www.galaktika.ru/ (дата обращения:10.10.2017)
4 Сбыт и торговля [Электронный ресурс] // КИС «Флагман». URL: http://www.insoft.ru/tsentr-zagruzki.htm/ (дата обращения:10.10.2017)
5 Ruby On Rails По-Русски [Электронный ресурс] // RusRails. URL: http://www.rusrails.ru/ (дата обращения:12.11.2017)
6Руби С., Томас Д., Хэнссон Д. Гиюкая разработка веб-приложений в среде Rails. 4-e издание – СПб.: Питер, 2014. – 448с.
7Флэнаган Д., Мацумото Ю. Язык программирования Ruby. –СПб.: Питер, 2014. – 496 с.
8Кудеяров Ю.А. Испытания (Тестирование) программного обеспечения средств измерений. Учебн. Пособие. – М.: АСМС, 2010. 97 с.
9Горохов А.В. Основы системного анализа. Ч. 1: учебное пособие [Электронный ресурс] / А.В. Горохов. – Йошкар-Ола: Поволжский государственный технологический университет, 2013. 140 с. Режим доступа:
http://biblioclub.ru/index.php?page=book_view_red&book_id=439189
10 Взаимодействие компонента «Postgres» в web-фреймворке «Ruby on Rails» // Молодежный научный форум: электр. сб. ст. по материалам II студ.
междунар. науч.-практ. конф. — М.: «МЦНО». |
— 2018 —№ |
1(2) / |
|||
[Электронный |
ресурс] |
— |
Режим |
доступа. |
— |
URL: https://nauchforum.ru/archive/MNF_interdisciplinarity/1(2).pdf |
(дата |
||||
обращения 25.12.2017) |
|
|
|
|
45
ПРИЛОЖЕНИЕ А Глоссарий
Информационная система (ИС) - система, предназначенная для хранения,
поиска и обработки информации, и соответствующие организационные
ресурсы (человеческие, технические, финансовые и т. д.), которые обеспечивают и распространяют информацию (ISO/IEC 2382:2015).
Автоматизация - одно из направлений научно-технического прогресса,
использующее |
саморегулирующие |
технические |
средства |
и |
|
математические методы |
с целью освобождения человека от участия |
||||
в процессах получения, |
преобразования, |
передачи |
и |
||
использования энергии, материалов, изделий или информации, |
либо |
существенного уменьшения степени этого участия или трудоёмкости выполняемых операций.
Отдел продаж - это отдел, главная цель которого состоит в увеличении количества продаж товаров или услуг.
Многопользoвательский режим - возможность работы нескольких пользователей в рамках учетной записи одного абонента. На каждого пользователя необходимо получить отдельный сертификат, с которым будет производиться вход в систему.
Предметная область - множество всех предметов, свойства которых и отношения между которыми рассматриваются в научной теории.
Функциональная модель - модель, описывающая вычисления в системе.
Она показывает, каким образом выходные данные вычисляются по входным данным, не рассматривая порядок и способ реализации вычислений.
Функциональная модель состоит из набора диаграмм потока данных, которые показывают потоки значений от внешних входов через операции и внутренние хранилища данных к внешним выходам.
Физическая модель - логическая модель базы данных, выраженная в терминах языка описания данных конкретной СУБД. Физическая модель базы
46
данных содержит все детали, необходимые конкретной СУБД для создания базы: наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.
Ruby on Rails (RoR) - фреймворк, написанный на языке программирования Ruby, реализует архитектурный шаблон Model-View- Controller для веб-приложений, а также обеспечивает их интеграцию с веб-
сервером и сервером баз данных. Является открытым программным обеспечением и распространяется под лицензией MIT.
Программный модуль - конструкция, которая состоит из процедур и/или объявлений данных и которая может взаимодействовать с другими подобными конструкциями.
Тестирование систем - важный этап производства ПО, направленный на детальное исследование программного кода и выявление ошибок в работе систем. Одна из главных целей тестирования – проверка соответствия работоспособности системы в целом или ее отдельных модулей ожиданиям заказчика.
47
ПРИЛОЖЕНИЕ Б Описание объектов базы данных
Таблица Б.1 – Справочники
Наименование |
Реквизиты |
|
Тип данных |
Инфо (Info) |
Наименование |
|
Строка (String) |
|
Производитель |
|
Строка (String) |
|
Объем, м3 |
|
Число (Integer) |
|
Поколение |
|
Число (Integer) |
Авто (Avto) |
Марка |
|
Строка (String) |
|
Модель ГБО |
|
Ссылка.Инфо (Belongs_to) |
|
Стоимость |
годового |
Число (Float) |
|
обслуживания |
|
|
Прайс-лист (Price) |
Марка авто |
|
Ссылка.Авто (Belongs_to) |
|
Количество цилиндров |
Число (Integer) |
|
|
Объем баллона, м3 |
|
Ссылка.Инфо (Belongs_to) |
|
Цена установки |
|
Число (Float) |
Клиентская база (BDKlienti) |
Авто клиента |
|
Ссылка.Авто (Belongs_to) |
|
ФИО |
|
Строка (String) |
|
Дата |
|
Дата (DateTime) |
|
Сумма |
|
Ссылка.Прайс-лист |
|
|
|
(Belongs_to) |
|
Оплата |
|
Логический (Boolean) |
Машины с ГБО |
Марка авто |
|
Ссылка.Авто (Belongs_to) |
|
Год выпуска |
|
Число (Integer) |
|
Гос. Номер |
|
Строка (String) |
|
Владелец |
|
Ссылка.КлиентскаяБаза |
|
|
|
(Belongs_to) |
|
Дата учета |
|
Ссылка.КлиентскаяБаза |
|
|
|
(Belongs_to) |
Технический осмотр |
Авто |
|
Ссылка.Авто (Belongs_to) |
|
Клиент |
|
Ссылка.КлиентскаяБаза |
|
|
|
(Belongs_to) |
|
Дата осмотра |
|
Дата (DateTime) |
|
Осмотр |
|
Логический (Boolean) |
|
Сумма к оплате |
|
Ссылка.Авто (Belongs_to) |
Таблица Б.2 – Отчеты
Наименование |
Реквизиты |
Тип данных |
Авто, проходящие ТО в |
Авто |
Ссылка.ТехническийОсмотр |
месяце |
|
(Belongs_to) |
|
|
|
|
Дата прохождения |
Ссылка.ТехническийОсмотр |
|
|
(Belongs_to) |
|
|
|
Установленное ГБО для |
Код |
Ссылка.КлиентскаяБаза |
клиентов |
|
(Belongs_to) |
|
48 |
|
Продолжение таблицы Б.2 - Отчеты
|
Марка |
Ссылка.Авто |
|
|
Ссылка.ТехническийОсмотр |
|
|
(Belongs_to) |
|
ФИО клиента |
Ссылка.КлиентскаяБаза |
|
|
Ссылка.ТехническийОсмотр |
|
|
(Belongs_to) |
|
Дата |
Ссылка.КлиентскаяБаза |
|
|
Ссылка.ТехническийОсмотр |
|
|
(Belongs_to) |
|
Сумма заказа |
Ссылка.КлиентскаяБаза |
|
|
Ссылка.ТехническийОсмотр |
|
|
(Belongs_to) |
49
ПРИЛОЖЕНИЕ В Текст модулей Объектов
Листинг В.1 – Создание таблицы «Инфо» (миграция)
class CreateInfos < ActiveRecord::Migration def change
create_table :infos do |t| t.string :naimenovanie t.string :proizvoditel t.integer :obiem_m3 t.integer :pokolenie t.boolean :status t.boolean :s_delete t.timestamps null: false
end end
end
Листинг В.2 – Создание таблицы «Авто» (миграция)
lass CreateAvtos < ActiveRecord::Migration def change
create_table :avtos do |t| t.string :marka
t.belongs_to :info, index: true, foreign_key: true t.float :st_obsluw
t.boolean :status t.boolean :s_delete t.timestamps null: false
end end
end
Листинг В.3 – Создание таблицы «Прайс» (миграция)
lass CreatePrices < ActiveRecord::Migration def change
create_table :prices do |t|
t.belongs_to :avto, index: true, foreign_key: true t.integer :kolvo_chilindrov
t.belongs_to :info, index: true, foreign_key: true t.float :cena
t.boolean :status t.boolean :s_delete t.timestamps null: false
end end
end
Листинг В.4 – Создание таблицы «Клиентская база» (миграция)
class CreateBdKlientis < ActiveRecord::Migration def change
create_table :bd_klientis do |t|
t.belongs_to :avto, index: true, foreign_key: true t.string :FIO_klienta
t.date :data
t.belongs_to :price, index: true, foreign_key: true
50
t.boolean :oplata t.boolean :status t.boolean :s_delete t.timestamps null: false
end end
end
Листинг В.5 – Создание таблицы «Машины ГБО» (миграция)
class CreateMashiniGbos < ActiveRecord::Migration def change
create_table :mashini_gbos do |t|
t.belongs_to :avto, index: true, foreign_key: true t.integer :god_vipuska
t.string :gos_nomer
t.belongs_to :bd_klienti, index: true, foreign_key: true t.belongs_to :bd_klienti, index: true, foreign_key: true t.boolean :status
t.boolean :s_delete t.timestamps null: false
end end
end
Листинг В.6 – Создание таблицы «Технический осмотр» (миграция)
class CreateTsOsmotrs < ActiveRecord::Migration def change
create_table :ts_osmotrs do |t|
t.belongs_to :avto, index: true, foreign_key: true t.belongs_to :bd_klienti, index: true, foreign_key: true t.date :data_osmotr
t.boolean :osmotr
t.belongs_to :avto, index: true, foreign_key: true t.timestamps null: false
end end
end
Листинг В.7 – Формирование отчета «ТО за месяц» (поиск)
<h1>писок автомобилей, проходящих ТО в месяце</h1>
<%= link_to 'Главная страница', controller: 'home_page' %><br><br> <%= form_tag("search", method: "get") do %>
<%= label_tag(:q, "Поиск авто:") %> <%= text_field_tag(:q) %>
<%= submit_tag("Искать") %><%= link_to 'Сбросить', controller: 'ts_osmotr' %> <% end %>
<table border="1"> <th>Код</th> <th>Авто</th> <th>Датапрохождения</th>
<%= Avto.where("data_osmotr = ?", params[:q]).find_each do |avto_id| %> <tr>
<td><%= Ts_osmotr.id %></td> <td><%= Avto.avto_id %></td>
<td><%= Ts_osmotr.data_osmotr%></td>
</tr> <% end %>
51