Разработка автоматизированного нагрузочного контура для электронной торговой системы
|
Введение 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
Глава 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]. Разработана теория нагрузочного тестирования, методики его автоматизации, а также некоторые технологические подходы к его осуществлению. Однако из -за специфики отдельных информационных систем необходимо приложить серьёзные усилия для реализации общих подходов на практике применительно к конкретному программному продукту.
Целью работы является разработка автоматизированного нагрузочного контура используемой в компании информационной торговой системы. Задачами работы являются выработка подходов и методов, применимых для нагрузочного тестирования информационной системы, моделирование предметной области, разработка архитектуры программного обеспечения, используемого в целях тестирования, а также реализация разработанных моделей на практике.
Объектом исследования данной работы является производительность информационной торговой системы, используемой в компании. Предметом рассмотрения являются способы автоматизации процесса исследования производительности. Для исследования предмета и достижения целей работы применяются методы структурного подхода к анализу и проектированию, методология объектно-ориентированного анализа и проектирования.
Исследуемая информационная система электронных торгов, хотя и имеет аналоги, является уникальной в своём роде. Автоматизированный нагрузочной контур для неё разрабатывается впервые. Решение и реализация поставленных задач принесёт ощутимые практические результаты, выраженные в снижении трудоёмкости процессов, финансовых затрат, а также улучшении конкурентного положения компании на рынке финансовых услуг.
К крупным участникам рынка, выполняющим роль поставщиков ликвидности на международных финансовых рынках, предъявляются жёсткие требования по скорости обработки клиентских торговых поручений. В идеале время отклика не должно превышать нескольких микросекунд. В последнее время активно развивается такое направление финансовых услуг как агрегация ликвидности, то есть объединение ценовых потоков от нескольких поставщиков. Для выполнения такой задачи используются самые современные информационные и технические средства, так как положительный эффект от агрегирования должен превышать накладные расходы на него [1].
Информационные технологии в финансовой сфере представляют собой область применения передовых решений. С точки зрения архитектуры электронные системы торгов представляют собой сложные распределённые системы, использующие параллельные вычисления. К таким программным продуктам предъявляются повышенные требования не только в плане производительности, но также надёжности, отказоустойчивости, наличия технологии восстановления после сбоев. В связи с этим особую важность приобретает вопрос тестирования и отладки сложных информационных систем.
Помимо функционального тестирования важным является нагрузочное тестирование, так как оно позволяет установить допустимые пределы нагрузки, которые может выдержать данная информационная система. Нагрузочное тестирование — это автоматизированное тестирование, имитирующее работу определенного количества бизнес пользователей на каком-либо общем (разделяемом ими) ресурсе.
Тема данной работы «Разработка автоматизированного нагрузочного контура для электронной торговой системы». Существующий вариант подготовки тестовой среды, развёртывания системы и анализа результатов является трудоёмким, а полученные в результате данные не отвечают требованиям полноты и достоверности. Автоматизация процесса нагрузочного тестирования позволит устранить данные недостатки, повысить надёжность и отказоустойчивость программного обеспечения, что в конечном итоге принесёт компании ощутимый экономический эффект.
К настоящему моменту на тему автоматизации процесса нагрузочного тестирования написано несколько диссертаций, других научных работ и статей. Также изданы книги, посвящённые тестированию, в том числе тестированию производительности [2]. Разработана теория нагрузочного тестирования, методики его автоматизации, а также некоторые технологические подходы к его осуществлению. Однако из -за специфики отдельных информационных систем необходимо приложить серьёзные усилия для реализации общих подходов на практике применительно к конкретному программному продукту.
Целью работы является разработка автоматизированного нагрузочного контура используемой в компании информационной торговой системы. Задачами работы являются выработка подходов и методов, применимых для нагрузочного тестирования информационной системы, моделирование предметной области, разработка архитектуры программного обеспечения, используемого в целях тестирования, а также реализация разработанных моделей на практике.
Объектом исследования данной работы является производительность информационной торговой системы, используемой в компании. Предметом рассмотрения являются способы автоматизации процесса исследования производительности. Для исследования предмета и достижения целей работы применяются методы структурного подхода к анализу и проектированию, методология объектно-ориентированного анализа и проектирования.
Исследуемая информационная система электронных торгов, хотя и имеет аналоги, является уникальной в своём роде. Автоматизированный нагрузочной контур для неё разрабатывается впервые. Решение и реализация поставленных задач принесёт ощутимые практические результаты, выраженные в снижении трудоёмкости процессов, финансовых затрат, а также улучшении конкурентного положения компании на рынке финансовых услуг.
Нагрузочное тестирование является важным элементом тестирования и сопровождения программного обеспечения. Оно позволяет исследовать производительность информационной системы, определить предельно допустимые нагрузки на неё. В результате выполнения работы был произведён анализ предметной области функционирования исследуемой торговой системы - валютного дилинга; была составлена концептуальная и логическая модель «Как есть» процесса нагрузочного тестирования информационной системы.
В результате моделирования было установлено, что существующая в компании процедура нагрузочного тестирования не является оптимальной, так как выходная информация, получаемая в результате выполнения данной процедуры, не удовлетворяет требованиям полноты, достоверности и оперативности. Для устранения этих недостатков, а также уменьшения трудовых и временных затрат сотрудников компании, было предложено разработать и реализовать программные средства развёртывания и функционирования нагрузочного контура электронной торговой платформы.
В работе представлены разработанные диаграммы классов, а также схема базы данных. Анализ условно -постоянной, и переменной информации показал, что в системе используется большое количество специфических данных, которые должны быть учтены при разработке тестовой подсистемы. При проектировании программного обеспечения было учтено противоречие между универсальностью, простотой, лёгкостью поддержки разрабатываемой системы и её соответствием всему многообразию данных представленных в торговой системе. Так как проектируемые программные средства представляют собой набор инструментов для организации нагрузочного тестирования, то архитектурные подходы к разработке каждого инструмента различны и учитывают его особенности. Разработанное дерево модулей и функций программного продукта позволяет оптимальным образом инкапсулировать функциональность и данные каждой сущности предметной области.
В работе установлено, что выгоды от реализации проекта носят прямой и косвенный характер. Прямые выгоды заключаются в снижении трудовых затрат сотрудников компании на проведение нагрузочного тестирования в 3,33 раза, а стоимостных затрат компании в 4,5 раза. Затраты на реализацию проекта окупятся через 6 месяцев после его внедрения. Помимо этого результатами внедрения проекта станут увеличение надёжности и отказоустойчивости всей системы электронной торговли. Всё это благоприятно повлияет на конкурентоспособность компании и увеличение её клиентской базы.
Логическим продолжением данной работы является переход от реализации автоматизированного нагрузочного контура к разработке полностью автоматических средств тестирования и отладки программного обеспечения. Становится понятно, что основной проблемой при реализации таких решений является их адаптация и масштабирование в соответствии с постоянно изменяющимся объектом тестирования.
В результате моделирования было установлено, что существующая в компании процедура нагрузочного тестирования не является оптимальной, так как выходная информация, получаемая в результате выполнения данной процедуры, не удовлетворяет требованиям полноты, достоверности и оперативности. Для устранения этих недостатков, а также уменьшения трудовых и временных затрат сотрудников компании, было предложено разработать и реализовать программные средства развёртывания и функционирования нагрузочного контура электронной торговой платформы.
В работе представлены разработанные диаграммы классов, а также схема базы данных. Анализ условно -постоянной, и переменной информации показал, что в системе используется большое количество специфических данных, которые должны быть учтены при разработке тестовой подсистемы. При проектировании программного обеспечения было учтено противоречие между универсальностью, простотой, лёгкостью поддержки разрабатываемой системы и её соответствием всему многообразию данных представленных в торговой системе. Так как проектируемые программные средства представляют собой набор инструментов для организации нагрузочного тестирования, то архитектурные подходы к разработке каждого инструмента различны и учитывают его особенности. Разработанное дерево модулей и функций программного продукта позволяет оптимальным образом инкапсулировать функциональность и данные каждой сущности предметной области.
В работе установлено, что выгоды от реализации проекта носят прямой и косвенный характер. Прямые выгоды заключаются в снижении трудовых затрат сотрудников компании на проведение нагрузочного тестирования в 3,33 раза, а стоимостных затрат компании в 4,5 раза. Затраты на реализацию проекта окупятся через 6 месяцев после его внедрения. Помимо этого результатами внедрения проекта станут увеличение надёжности и отказоустойчивости всей системы электронной торговли. Всё это благоприятно повлияет на конкурентоспособность компании и увеличение её клиентской базы.
Логическим продолжением данной работы является переход от реализации автоматизированного нагрузочного контура к разработке полностью автоматических средств тестирования и отладки программного обеспечения. Становится понятно, что основной проблемой при реализации таких решений является их адаптация и масштабирование в соответствии с постоянно изменяющимся объектом тестирования.



