Введение 5
Глава 1. Анализ предметной области о деятельности электронной торговой системы 8
1.1. Технико-экономическая характеристика деятельности электронной
торговой системы 8
1.2. Концептуальное моделирование деятельности электронной торговой
системы 17
1.3. Постановка задачи на разработку автоматизированного нагрузочного
контура для электронной торговой системы 28
1.4. Анализ существующих разработок и обоснование выбора технологии
проектирования 33
Выводы по первой главе 35
Глава 2. Разработка и реализация автоматизированного нагрузочного контура для электронной торговой системы 36
2.1. Логическое моделирование автоматизированного нагрузочного контура
для электронной торговой системы 36
2.2. Физическое моделирование автоматизированного нагрузочного контура
для электронной торговой системы 48
2.3. Технологическое обеспечение задачи автоматизированного нагрузочного
контура для электронной торговой системы 52
2.4. Контрольный пример реализации автоматизированного нагрузочного
контура для электронной торговой системы 53
Выводы по второй главе 56
Глава 3. Оценка и обоснование экономической эффективности внедрения автоматизированного нагрузочного контура для электронной торговой системы 57
3.1. Выбор и обоснование методики расчета экономической эффективности
от автоматизированного нагрузочного контура для электронной торговой системы 57
3.2. Расчёт показателей экономической эффективности проекта реализации автоматизированного нагрузочного контура для электронной торговой
системы 59
Выводы по третьей главе 62
Заключение 63
Список используемых источников 65
В современном мире работа торговой биржи буквально пронизана информационными технологиями на каждом уровне организационной иерархии и на любом этапе совершения сделки. Традиционные формы торговли с использованием телефонов и факсимильных аппаратов ушли в прошлое. На смену им пришла работа с торговыми терминалами. Больше половины сделок на таких международных финансовых рынках как Forex совершают алгоритмические трейдеры - специальные программы, выставляющие заявки по определённому алгоритму.
К крупным участникам рынка, выполняющим роль поставщиков ликвидности на международных финансовых рынках, предъявляются жёсткие требования по скорости обработки клиентских торговых поручений. В идеале время отклика не должно превышать нескольких микросекунд. В последнее время активно развивается такое направление финансовых услуг как агрегация ликвидности, то есть объединение ценовых потоков от нескольких поставщиков. Для выполнения такой задачи используются самые современные информационные и технические средства, так как положительный эффект от агрегирования должен превышать накладные расходы на него [1].
Информационные технологии в финансовой сфере представляют собой область применения передовых решений. С точки зрения архитектуры электронные системы торгов представляют собой сложные распределённые системы, использующие параллельные вычисления. К таким программным продуктам предъявляются повышенные требования не только в плане производительности, но также надёжности, отказоустойчивости, наличия технологии восстановления после сбоев. В связи с этим особую важность приобретает вопрос тестирования и отладки сложных информационных систем.
Помимо функционального тестирования важным является нагрузочное тестирование, так как оно позволяет установить допустимые пределы нагрузки, которые может выдержать данная информационная система. Нагрузочное тестирование — это автоматизированное тестирование, имитирующее работу определенного количества бизнес пользователей на каком-либо общем (разделяемом ими) ресурсе.
Тема данной работы «Разработка автоматизированного нагрузочного контура для электронной торговой системы». Существующий вариант подготовки тестовой среды, развёртывания системы и анализа результатов является трудоёмким, а полученные в результате данные не отвечают требованиям полноты и достоверности. Автоматизация процесса нагрузочного тестирования позволит устранить данные недостатки, повысить надёжность и отказоустойчивость программного обеспечения, что в конечном итоге принесёт компании ощутимый экономический эффект.
К настоящему моменту на тему автоматизации процесса нагрузочного тестирования написано несколько диссертаций, других научных работ и статей. Также изданы книги, посвящённые тестированию, в том числе тестированию производительности [2]. Разработана теория нагрузочного тестирования, методики его автоматизации, а также некоторые технологические подходы к его осуществлению. Однако из -за специфики отдельных информационных систем необходимо приложить серьёзные усилия для реализации общих подходов на практике применительно к конкретному программному продукту.
Целью работы является разработка автоматизированного нагрузочного контура используемой в компании информационной торговой системы. Задачами работы являются выработка подходов и методов, применимых для нагрузочного тестирования информационной системы, моделирование предметной области, разработка архитектуры программного обеспечения, используемого в целях тестирования, а также реализация разработанных моделей на практике.
Объектом исследования данной работы является производительность информационной торговой системы, используемой в компании. Предметом рассмотрения являются способы автоматизации процесса исследования производительности. Для исследования предмета и достижения целей работы применяются методы структурного подхода к анализу и проектированию, методология объектно-ориентированного анализа и проектирования.
Исследуемая информационная система электронных торгов, хотя и имеет аналоги, является уникальной в своём роде. Автоматизированный нагрузочной контур для неё разрабатывается впервые. Решение и реализация поставленных задач принесёт ощутимые практические результаты, выраженные в снижении трудоёмкости процессов, финансовых затрат, а также улучшении конкурентного положения компании на рынке финансовых услуг.
Нагрузочное тестирование является важным элементом тестирования и сопровождения программного обеспечения. Оно позволяет исследовать производительность информационной системы, определить предельно допустимые нагрузки на неё. В результате выполнения работы был произведён анализ предметной области функционирования исследуемой торговой системы - валютного дилинга; была составлена концептуальная и логическая модель «Как есть» процесса нагрузочного тестирования информационной системы.
В результате моделирования было установлено, что существующая в компании процедура нагрузочного тестирования не является оптимальной, так как выходная информация, получаемая в результате выполнения данной процедуры, не удовлетворяет требованиям полноты, достоверности и оперативности. Для устранения этих недостатков, а также уменьшения трудовых и временных затрат сотрудников компании, было предложено разработать и реализовать программные средства развёртывания и функционирования нагрузочного контура электронной торговой платформы.
В работе представлены разработанные диаграммы классов, а также схема базы данных. Анализ условно -постоянной, и переменной информации показал, что в системе используется большое количество специфических данных, которые должны быть учтены при разработке тестовой подсистемы. При проектировании программного обеспечения было учтено противоречие между универсальностью, простотой, лёгкостью поддержки разрабатываемой системы и её соответствием всему многообразию данных представленных в торговой системе. Так как проектируемые программные средства представляют собой набор инструментов для организации нагрузочного тестирования, то архитектурные подходы к разработке каждого инструмента различны и учитывают его особенности. Разработанное дерево модулей и функций программного продукта позволяет оптимальным образом инкапсулировать функциональность и данные каждой сущности предметной области.
В работе установлено, что выгоды от реализации проекта носят прямой и косвенный характер. Прямые выгоды заключаются в снижении трудовых затрат сотрудников компании на проведение нагрузочного тестирования в 3,33 раза, а стоимостных затрат компании в 4,5 раза. Затраты на реализацию проекта окупятся через 6 месяцев после его внедрения. Помимо этого результатами внедрения проекта станут увеличение надёжности и отказоустойчивости всей системы электронной торговли. Всё это благоприятно повлияет на конкурентоспособность компании и увеличение её клиентской базы.
Логическим продолжением данной работы является переход от реализации автоматизированного нагрузочного контура к разработке полностью автоматических средств тестирования и отладки программного обеспечения. Становится понятно, что основной проблемой при реализации таких решений является их адаптация и масштабирование в соответствии с постоянно изменяющимся объектом тестирования.
1. James Chen. Essentials of Foreign Exchange Trading. [Электронный
ресурс] : прикладное пособие / - John Wiley & Sons, 2013.- 221 с. - Режим доступа: https://books.google.ru/books?id=8zT snBYiDGkC&dq=currency+
trading+books&hl=ru&sourc e=gbs_navlinks_s.
2. Куликов С. Тестирование программного обеспечения. Базовый курс [Электронный ресурс] - EPAM Systems, 2018. - 297с. - Режим доступа: http://svyatoslav.biz/software_testing_book_download/
3. Клочко И. А. Информационные технологии в профессиональной деятельности [Электронный ресурс] : учеб. пособие / И. А. Клочко. - Саратов : Вузовское образование, 2014. - 236 с. - (Высшее образование).
4. Бурняшов Б. А. Информационные технологии в менеджменте. Облачные вычисления [Электронный ресурс] : учебное пособие / Б. А. Бурняшов. - Саратов : Вузовское образование, 2013. - 87 с.
5. Вдовин В. М. Информационные технологии в финансово - банковской сфере [Электронный ресурс] : учебное пособие / В. М. Вдовин, Л. Е. Суркова. - Москва : Дашков и К°, 2014. - 301 с. - ISBN 978-5-394-01213-6.
6. Стешин А. И. Информационные системы в организации [Электронный ресурс] : учебное пособие / А. И. Стешин. - Саратов : Вузовское образование, 2013. - 194 с.
7. Силич В. А. Реинжиниринг бизнес -процессов [Электронный ресурс] : учеб. пособие / В. А. Силич, М. П. Силич. - Томск : ТУСУР, 2014. - 199 с. - ISBN 5-86889-330-1.
8. Золотов С. Ю. Проектирование информационных систем [Электронный ресурс] : учеб. пособие / С. Ю. Золотов ; Томский гос. ун -т систем управления и радиоэлектроники. - Томск : Эль Контент, 2013. - 86 с. - ISBN 978-5-4332-0083-8.
9. Artur Lugmayr, Emilija Stojmenova, Katarina Stanoevska, Robert Wellington. Information Systems and Management in Media and Entertainment Industries [Электронный ресурс]. - Springer, 2016. - 339 с. - ISBN 978-3-319-49407-4.
10. Фадеева О.Ю. Информационные системы в экономике [Электронный ресурс] : учебное пособие / О.Ю. Фадеева, Е.А. Балашова. — Электрон. текстовые данные. — Омск: Омский государственный институт сервиса, 2015. — 100 c. — 978-5-93252-360-5. — Режим доступа: http ://www. iprbooksho p. ru/32786.html
11. Michael Lewis. Flash Boys A Wall Street Revolt. — W. W. Norton & Company, 2014. — 274 с. — ISBN 978-0-393-24466-3
12. Форекс [Электронный ресурс] // Википедия. Режим доступа: https://ru.wikipedia.org/wiki/Форекс (дата обращения: 05.05.2018)
13. NTFX Forex on click [Электронный ресурс] // NTFX. Режим доступа:http://ntfxpro.com/ (дата обращения: 17.03.2018)
14. О компании [Электронный ресурс] // НТ Прогресс. Режим доступа: http://ntprogress.ru/ntpro/ (дата обращения: 05.05.2018)
15. Quick [Электронный ресурс] // Википедия. Режим доступа: https://ru.wikipedia.org/wiki/QUIK(дата обращения: 05.05.2018)
16. MetaTrader 4 [Электронный ресурс] // MetaQuotes Software Corp. Режим доступа: https://www.metatrader4.com/ru/releasenotes(дата обращения: 05.05.2018)
17. FinTech [Электронный ресурс] // STARTUPLIFE. Режим доступа: http://startuplife.by/fintech-startups.html (дата обращения: 05.05.2018)
18. Libuv [Электронный ресурс] // Википедия. Режим доступа: https://en.wikipedia.org/wiki/Libuv(дата обращения: 05.05.2018)
19. Python [Электронный ресурс] // Python. Режим доступа: https://www.python.org/(дата обращения: 05.05.2018)