VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Автоматизированная система сбора, обработки и анализа информации системы «Forex»

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: W004625
Тема: Автоматизированная система сбора, обработки и анализа информации системы «Forex»
Содержание
Министерство образования и науки РФ

ФГБОУ ВО Омский государственный технический университет

Кафедра «Автоматизированные системы обработки информации и управления»

Допускается к защите

Зав. кафедрой АСОИУ,

д-р техн. наук, проф.

__________ А. В. Никонов

«» июня 2017 г.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА

на тему «Автоматизированная система сбора, обработки и анализа информации системы «Forex»

студента Серобабова Александра Сергеевича группы ИВТ-131

Пояснительная записка

Шифр работы: ВКРБ–02068999–43–03 ПЗ

Направление 09.03.01

Научный руководитель, .

____________ Л.А. Денисова

«» июня 2017 г.

Разработал студент

___________ А.С. Серобабов

 «» июня 2017 г.

Нормоконтрол?р:

____________ В.Н. Цыганенко

«» июня  2017 г                                              

Омск 2017


Реферат

Отчет 54 с,  18 рис, 5 источ.

ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ, АРХИТЕКТУРА ПРОГРАММНОЙ СИСТЕМЫ, СИСТЕМА ПРОГНОЗИРОВАНИЯ FOREX, UML-ПРОЕКТИРОВАНИЕ, ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ.

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

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

Степень внедрения – для учебных целей.




Содержание

	Список определений и сокращений	6

	Введение	7

	1 Анализ существующей системы	8

	1.1 Анализ предметной области	8

	1.2 Обзор автоматизированных решений в данной области.	10

1.2.1 Deductor Studio	10

1.2.2 MetaTrader5	11

1.2.3 Libertex	12

1.2.4 MatLab	13

	2 Постановка задачи	15

	2.1 Наименование и область применения	15

	2.2 Основание разработки	15

	2.3 Назначение разработки	15

	2.4 Требования к программному продукту	15

2.4.1 Требования к функциональным характеристикам	15

	2.5.1 Требование к системе в целом	15

	2.5.2. Требования к режимам функционирования системы	16

	2.5.3. Требования к способам и средствам связи для информационного обмена между компонентами системы	16

	2.5.4. Перспективы развития системы	16

	2.5.5 Требования к лингвистическому обеспечению	16

	2.5.6 Требования к составу и параметрам технических средств	17

2.5.7 Требования к информационной и программной совместимости	17

	3 Разработка программной архитектуры системы	18

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

3.2.1 Диаграмма прецедентов	18

3.2.2 Диаграммы деятельностей	19

	3.3 Разработка информационного обеспечения системы	25

3.3.1 Структура базы данных	25

	3.4 Разработка программной архитектуры системы	26

3.4.1 Диаграммы классов	26

3.4.2 Диаграммы компонентов	28

3.4.3 Диаграмма развертывания	30

3.5 Организация пользовательского интерфейса программной системы.	31

3.6 Средства разработки программного обеспечения	33

	4 Обоснование и выбор технических средств.	34

	5 Руководство пользователей	39

		5.1	Руководство программисту	39

	5.1.1 Работа с библиотекой перевода интерфейса «gettext»	39

	   5.1.2 Разработка плагинов для клиентского приложения с использованием библиотеки MEF.	41

	5.2 Руководство оператору	45

	Заключение	48

	Список использованных источников	49



































Министерство образования и науки РФ

ФГБОУ ВО Омский государственный технический университет

Кафедра «Автоматизированные системы обработки информации и управления»

УТВЕРЖДАЮ

Зав. кафедрой АСОИУ

__________ А. В. Никонов

«___» ________ 20__ г.

ЗАДАНИЕ

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

 студенту Серобабову Александру Сергеевичу                                                        

Группа ИВ-131 факультет/институт Информационных технологий и компьютерных систем 

Направление (специальность) 09.03.01 Информатика и вычислительная техника

Код квалификации: ___________ Степень или квалификация: бакалавр

Тема ВКР: Автоматизированная система сбора, обработки и анализа информации системы «Forex»

 Цель работы: повышение эффективности  работы трейдеров путем минимизации рисков при совершении сделок на рынке обмена валюты

Исходные данные Техническое задание на разработку, языки C#, PHP, SQL, библиотека Teleric, Encog

	Руководитель: Денисова Людмила Альбертовна								                     

	Ученое звание, ученая степень руководителя: профессор д.т.н

Срок сдачи полностью оформленной ВКП на кафедру: _______________________ 

Задание на ВКР (перечень подлежащих разработке разделов): Введение; Анализ предметной области и обзор существующих решений; Обоснование проектирования и постановка задач; Разработка структур и алгоритмов; Выбор программных и технических средств; Руководство участников системы; Заключение; Список источников; Приложение

Перечень графического материала с указанием обязательных чертежей и плакатов: UML диаграммы компонентов, развертывания, схема алгоритма работы генетического алгоритма	

Задание принял к исполнению, студент: группы ИВТ-131 Серобабов Александр			

Список используемых определений



Форекс (Forex) - рынок межбанковского обмена валюты по свободным ценам (котировка формируется без ограничений или фиксированных значений)[7]

Ядром программы  -  является централизованная структура проекта, позволяющая более эффективно работать над проектом любого размера и типа.

	Репозиторий — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети[5].

	Временной ряд - это одна из возможных реализаций случайного процесса на некотором ограниченном промежутке индексируемого параметра (времени) [3].

	Тренд — некоторая аналитическая функция, которая связывает единым «законом движения» все последовательные уровни временного ряда [3].

	Трейдер - торговец, действующий по собственной инициативе и стремящийся извлечь прибыль непосредственно из процесса торговли. Обычно подразумевается торговля ценными бумагами (акциями, облигациями, фьючерсами, опционами) на фондовой бирже. Трейдерами также называют торговцев на валютном (форекс) и товарном рынках [4]. 

	Валидация — проводится при необходимости, выполняется методом анализа заданных условий применения и оценки соответствия характеристик продукции этим требованиям, результатом является вывод о возможности применения продукции для конкретных условий [6].

	Прогноз  — это научно обоснованное суждение о возможных состояниях объекта в будущем и (или) об альтернативных путях и сроках их осуществления [8]

	Прогнозирование – это разработка прогноза [8].

Котировка — цена (курс, процентная ставка) товара, которую объявляет продавец или покупатель и по которой они готовы совершить покупку или продажу[9].

Флет – это состояние цены валютной пары, когда движение ее происходит в горизонтальном канале, либо в почти горизонтальном канале[10].







Список используемых и сокращений 



ОС -  операционная система.

АС – автоматизированная система.

ЦП – центральный процессор.

MEF - Managed Extensibility Framework



















































Введение

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

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

Для достижения поставленной цели в ходе работы были поставлены и решены следующие задачи:

Проанализировать существующие системы в области прогнозирования данных «Forex».

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

Разработать структуру базы данных на стороне клиента и сервера.

Разработать алгоритм работы функций системы.

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

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

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



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

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

Третий раздел описывает процесс проектирования программной архитектуры системы, описываемый UML-диаграммами.

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

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


1 Анализ существующих систем

1.1 Анализ предметной области

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

По последним данным Forex, средний суточный оборот рынка составляет 6 триллионов долларов и с каждым годом увеличивается на 5 - 10%. Из них самые популярные валюты EUR / USD 30% - USD / JPY - 13% от общего оборота сделок.  С каждым годом, по всему свету, появляются новые брокерские  компании. Усовершенствуются механизмы прогноза, создаются торговые роботы, увеличивается охват анализируемых данных. На текущий момент времени на рынке Forex присутствует огромное количество технических инструментов анализа, но уделено малое внимание фундаментальным методам прогноза.  

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

При создание серверного приложение важным этапам подготовки является выбор арендуемого  хостинга, который будет удовлетворять потребностям программы и иметь  бесперебойную работу с минимальной удаленностью от  основной массы пользователей. Для этого мною были рассмотрены хостинг-провайдеры: Beget, HTS, Mchost и Openshift. В результате была составлена таблица достоинств и недостатков предлагаемых ими планов.



Таблица 1 Данные хостинга Beget 

Достоинства

Недостатки

Простая загрузка программы на хостинг

Расположенность Серверов только в России

Бесплатный тарифный план 

Отсутствие контейнеризации

Собственная панель управления

Отсутствие параллельной загрузки в  git 

Присутствует тестовый период использования

Малый выбор СУБД

Присутствие Cron



Простая регистрация





Таблица 2 Данные хостинга HTS

Достоинства

Недостатки

Простая загрузка программы на хостинг

Расположенность Серверов только в России

Бесплатный тарифный план 

Отсутствие контейнеризации

Присутствует тестовый период использования

Малый выбор СУБД

Присутствие Cron

Отсутствие параллельной загрузки в  git



Таблица 3 Данные хостинга Mchost

Достоинства

Недостатки

Серверы в Нидерландах

Отсутствие контейнеризации

Пробный период 50 дней 

Малый выбор СУБД

Присутствие Cron

Отсутствие параллельной загрузки в  git



Плохие отзывы об надежносттях серверов



Таблица 4 Данные хостинга Openshift

Достоинства

Недостатки

Различное расположение серверов

Необходима установка Ruby

Пробный период 50 дней 

Сложность в обновление сервера

Присутствие Cron

Отсутствие русской документации

Серверы на основе контейнеров



Большой спектр СУБД



Параллельная загрузка git



На основание данных таблиц 1, 2, 3 и 4 можно сделать вывод, что Mchost является ненадежным хостингом с высокими ценами на тарифные планы, что является не лучшим выбор для сервера с большими вычислительными нагрузками.

HTS и Beget отсутствует контейнеризация, что увеличивает потребность в ресурсах разворачиваемых программ. Поэтому лучшим решением является Openshift с его большими возможностями и бесплатным тарифом  с 1 гб памяти для БД и Linux системой. Этого будет достаточно для развертывания сервера, главной задачей которого будет прием, сохранение и передача данных о Forex.



1.2 Обзор автоматизированных решений в данной области.

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



1.2.1 Deductor Studio

 Система Deductor Studio является разработкой компании «BaseGroup Labs». Программное обеспечение позволяет построить разного рода прогноза данных. Программа имеет студенческую версию с ограниченными возможностями в плане количества обрабатываемых записей не более 150, а также платную версию.  





Рисунок 1 – Deductor Studio.







Рисунок 2 – Мастер обработки данных в Deductor



Рассмотрим основные преимущества:

Хорошая визуализация данных;

Низкие системные требования;

Простота в использовании;

Наличие опции «отчет»;

Русскоязычный интерфейс;

Возможность создания локального хранилища данных.

Построение анализа без использования языков программирования.



Недостатки:

Отсутствие возможности прогнозирования в режиме реального времени;

Отсутствие инструментов имитации рынка Forex.

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





1.2.2 MetaTrader5

 «MetaTrader5» является самой известной торговой системой с элементами прогнозирования данных. Является мультирыночной платформой, позволяющей совершать торговые операции на Forex, фондовых биржах, а также с фьючерами и контрактами на разницу.  Интерфейс сервиса представлен на рисунке 3.





Рисунок 3 – Интерфейс  «MetaTrader5»



Основные преимущества сервиса:

Большой спектр инструментов технического анализа ;

Возможность создания торговых роботов;

Возможность аренды виртуальной платформы ;

Прогнозирования в режиме реального времени;

Мульти язычный интерфейс;

Наличие опции «отчет»;

Расширяемость системы плагинами



Недостатки:

Плохое внимание к фундаментальному анализу;

Сложность в освоение.



1.2.3 Libertex

Libertex приложение от ForexClub одной из самых известных брокерских компании в России. Данное приложение доступно только как веб версия и имеет 



Рисунок 4 – Интерфейс  «Libertex»

.

Основные преимущества программы:

Не надо скачивать;

Удобный интерфейс;

Наличие русского языка;

Прогнозирования в режиме реального времени;



   	Недостатки:

Необходимо постоянное онлайн подключение.

Меньшее количество финансовых инструментов.

1.2.4 MatLab

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



Рисунок 5 – Интерфейс  «MatLab»



Основные преимущества программы:

Большое количество инструментов обработки, анализа данных.

Хорошая оптимизация программы.

Большое количество учебной литературы.



Недостатки 

Сложность освоения.

Дороговизна продукта.



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















2 Постановка задачи

2.1 Наименование и область применения

Разрабатываемое приложение имеет название «АС сбора, обработки и анализа информационной системы Forex». Данное приложение будет использоваться аналитиками в области валютного рынка.

2.2 Основание разработки

Основанием разработки является выполнение учебного плана по дисциплине «Проектирование и архитектура программных систем».

2.3 Назначение разработки

Назначением разработки является сбор, хранение, обработка и прогнозирование необходимой информации для валютного рынка Forex. Целью разработки являются минимизация рисков на валютном рынке Forex. 

2.4 Требования к программному продукту

2.4.1 Требования к функциональным характеристикам

Данное приложение должно обладать следующими функциональными характеристиками:

Построение уровней сопротивления, уровней поддержки, скользящей средней;

Получение котировок с сервера и их преобразование;

Получение новостей и их вывод;

Изменение масштаба графика;

Создание сделок и их закрытие;

Создание отчета по завершенным сделкам;

Хранение данных в базе данных;

2.5.1 Требование к системе в целом

 «Система валютного рынка» предназначена для автоматизации обмена информацией между объектами автоматизации и процесса обработки заявок внутри объектов автоматизации. Автоматизации подлежат операции  отслеживания значения валютной пары, построение отчетов, расчет параметров валютного рынка.

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

2.5.2. Требования к режимам функционирования системы

Должна обеспечиваться работа в двух режимах:

сетевой режим взаимодействия;

автономный.

2.5.3. Требования к способам и средствам связи для информационного обмена между компонентами системы

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

2.5.4. Перспективы развития системы

Система должна иметь длительный жизненный цикл.

Система  должна быть построена с использованием стандартизованных и эффективно сопровождаемых решений.

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

2.5.5 Требования к лингвистическому обеспечению

Языки программирования

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

Языки взаимодействия пользователей и системы

Основным языком взаимодействия пользователей и системы является русский язык

взаимодействие пользователя с ПК должно осуществляться на двух языках: русский, английский (исключение могут составлять только системные сообщения, выдаваемые программными продуктами третьих компаний);

все документы и отчеты Подсистемы готовятся и выводятся пользователю на  двух языках: русский, английский;



2.5.6 Требования к составу и параметрам технических средств

				Приложение на стороне клиента должно функционировать на оборудовании, соответствующем, как минимум, следующим характеристикам:

				–процессор Intel Core i3 или аналогичный;

				– 2 Гб оперативной памяти;

				– Графический процессор Intel HD3000 или аналогичный;

				– наличие клавиатуры и мыши;

				– наличие соединения с глобальной сетью Интернет.

				Приложение на стороне сервера должно функционировать на оборудовании, соответствующем следующим характеристикам:

				– двухъядерный процессор с тактовой частотой не менее 2 ГГц;

				– 1 Гб оперативной памяти.

				– наличие соединения с глобальной сетью Интернет.

2.5.7 Требования к информационной и программной совместимости

Сервер обязательно должен поддерживать работу MySQL и Cron. На клиентской стороне должен быть установлен Microsoft Sql Server 2012 или поздней версии. 




3 Разработка программной архитектуры системы

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

	Для прогнозирования движения котировок на «Forex» будут использоваться следующие методы: SMA, линии сопротивления и поддержки, линии минимумов и максимумов временных рядов, календарный прогноз.

	Для построения SMA используем формулу вычисляющую точку (1) 

	  (1)

	n — количество значений исходной функции для расчёта скользящего среднего.



Рисунок 6 – График линии котировок валютной пары EURUSD и ее SMA при n = 10.

На рисунке 6 изображен график с двумя линиями, где синяя линяя, отображает движение котировки, а красная является SMA  с коэффициентом сглаживания 10. Исходя из графика видно, что после 10:20 валютная пара находится в тренде флет.



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

   (2)

(3)

	n – текущая точка. Где m = n-1





Рисунок 7 – График линии котировок валютной пары EURUSD и ее линий минимумов и максимумов.

Чтобы построить линию сопротивления или поддержки по данным валютной пары, необходимо сначала используя формулы (2), (3) найти локальные минимумы и максимумы, а далее находим глобальный минимум и с интервалом 5 % определяем, есть ли такая точка локального минимума. Если есть такая точка,  которая попадает в данный интервал,  то строим прямую линию, которая будет являться линией поддержки рисунок 8. При преодолении 5 % интервала погрешности, данная линия исчезает и такое событие называется прорыв линии поддержки, что символизирует о дальнейшем нисходящем тренде.





Рисунок 8 – График линии котировок валютной пары EURUSD и ее линии поддержки

Основываясь на ранее прошедших событиях можно грубо вычислить коэффициент значимости события ко всей валютной паре по формуле  (4) производится вычисление коэффициента для единичного случая.

   (4)

Где   – значение валютной пары, когда событие было опубликовано.    – значение валютной пары спустя время, когда предполагаемо окончание действие влияния события.  – значение параметра ожидаемое от этого события  – значение параметра фактическое от этого события.

	Получив коэффициент по единичному событию можно и вычислить средний коэффициент для всей группы события по формуле (5)

   (5)

На рисунке 9 изображен интерфейс вкладки новостей. 1 – Кнопка выполнения анализа новостей. 2 -  Поле ввода для сдвига по времени в минутах. 3 – Горизонтальная прокрутка поля вывода.  4 – Поле вывода данных. 5 – Вкладка новости.



Рисунок 9 – Интерфейс окна «Новостей» с данными по валютной паре «EURUSD»













































3.2.1 Диаграмма прецедентов

Начальным этапом проектирования системы является определение функциональных требований к ней. UML-диаграмма (рисунок 6) отражает отношения между актёрами и прецедентам будущей системы, а также взаимодействие разных категорий пользователей в процессе работы с данными возможностями.



Рисунок 6 – Диаграмма прецедентов.



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

Главным прецедентом по передаче данных между клиентским приложением и сервером, является «обмен данных». После каждого обмена данных происходит их валидация и очистка от разного рода шумов. Чтобы оптимизировать скорость работы разрабатываемой системы, было решено сохранять данные, как на серверном,  так и на клиентском уровне. Это позволяет уменьшить количество запросов на сервер, что хорошо отражается на скорости загрузки данных на этапе инициализации программы.













3.2.2 Диаграммы деятельностей

Диаграммы деятельностей (рисунки 7 – 9) позволяют визуально представить выполнение некоторых процессов системы и внутрисистемную точку зрения на прецеденты. Данный тип UML-диаграмм, является схожим с блок диаграммой, но обладает возможностью отображения потоков данных. 



Рисунок 7 – Диаграмма деятельности для прецедента «Прогнозирование».



Как видно на рисунке 7, перед началом работы пользователь должен определиться с временным рядом, после чего клиентское приложение подготовит данные и позволит пользователю выбрать инструмент прогноза. Будут предложены два типа прогноза: фундаментальный и технический. Далее клиент приложение обрабатывает данные и выдает их  в готовом виде, пригодном для анализа.







Рисунок 8 - Диаграмма деятельности для прецедента «предоставление данных».



На диаграмме 8 видно, что пользователь может выбрать временной интервал, который повлияет непосредственно на объект график. Кроме того, пользователь может выбрать один из языков, который будет удобен пользователю при работе  с интерфейсом программы.





Рисунок 9 - Диаграмма деятельности для прецедента «загрузки данных из базы данных»



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







Рисунок 10 - Диаграмма деятельности для прецедента «совершение сделки»



Рисунок 10 отражает процесс имитации работы пользователя на валютном рынке Forex. После выбора пункта меню  «сделки», будет предложен выбор открытия новой сделки или закрыть уже существующие.  При открытии пользователю будет предложена операция со сделкой, после выбора которой, в список будет добавлен новая сделка.





Рисунок 11 - Диаграмма деятельности для прецедента «обмен данных»



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





3.3 Разработка информационного обеспечения системы

3.3.1 Структура базы данных

На рисунке 12 изображена структура физической модели данных, которая хранится на стороне сервере и клиента.

В таблице 5 представлено описание и назначение таблиц базы данных.



Рисунок 12 - Диаграмма физической модели данных



Таблица 5 – Описание таблиц базы данных.

Логическое наименование

Физическое наименование

Описание

Данные котировок

DataQuotes

Данные о котировках

Котировки

Quotes

Данные, наименования котировки и индификатор страны.

Страна

Country

Страна

Группа событий

EventGroup

Группа событий

Событие

Event

Содержит в себе данные о времени события, ожидаемое  и фактическое значение 





3.4 Разработка программной архитектуры системы

3.4.1 Диаграммы классов

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

Классы являются основными единицами  разработки программы при объектно-ориентированном подходе. При разработке данной системы учитывается возможность расширяемости подсистем с использованием технологии хуков.

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



Рисунок 13 – Диаграмма классов



Таблица 6 – Описание классов системы

Класс

Назначение

Соединение

Предназначен для подключения, отсылке запросов и получения ответа от  сервера. 

Парсер

Содержит в себе алгоритмы выбора данных и их преобразование  в удобную для хранения форму.

Котировка

Основная единица данных, содержащая в себе данные о покупке, продаже, времени.

Сделка

Содержит в себе тип операции с валютной парой, время открытия и закрытия сделки.

Отчет 

Сущность содержащая в себе список всех закрытых сделок.

Exel отчет

Дочерняя сущность отчета. Содержит в себе конкретную реализацию. 

Масштаб

Содержит в себе необходимые методы по  масштабированию графика.

Прогноз

Абстрактная сущность, содержащая в себе аттрибу погрешность

Фундаментальный

Дочерний класс прогноза, является абстрактным классом, является один из способов прогнозирования на валютном рынке. Содержащий в себе атрибут  оценочное время действия.

Технический

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

Экономический

Дочерний класс фундаментального анализа. Разделяющий области события прогноза. Имеющий в себе атрибут «коэффициент зависимости».

Политический

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

Изменение в законах

Дочерний класс политического. Основанный на принятии новых законов в государстве.

Выступление

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

Средняя скользящая 

Дочерний класс технического прогноза. Отвечающий за расчет точек средней скользящей.

Минимум и максиму

Дочерний класс технического прогноза. Отвечающий за расчет точек минимума и максимума.



3.4.2 Диаграммы компонентов

После проектирования системы на уровне классов были определены, какие компоненты будут присутствовать в системе и как они будут сгруппированы. Основными компонентами системы являются файлы классов и библиотеки которые были созданы или подключены для разработки приложения. В данном случае файлы сгруппированы по расположению. На рисунке 14 изображена диаграмма компонентов клиент приложения.





Рисунок 14 – Диаграмма компонентов клиент приложения





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







Рисунок 15 – Диаграмма компонентов сервера



Описание классов было уже приведено в предыдущем разделе. Однако, необходимо уточнить, что взаимосвязь клиентского приложения и сервера осуществляется благодаря двум компонентам get_calendar и internetRequest посредством http запросов.













3.4.3 Диаграмма развертывания

На последнем этапе структурного проектирования системы была построена диаграмма развертывания (рисунок 16), изображающая, из каких компонентов будет состоять готовая к использованию система и как эти компоненты будут взаимодействовать между собой.

Как видно из диаграммы, для работы приложения используется сервер приложения,  и клиент, содержатся dll-файлы со скомпилированным кодом и exe файл.

Пользователю же для работы с системой необходим лишь компьютер с установленным windows 7 и  СУБД Microsoft SQL Server 2008.





Рисунок 16 – Диаграмма развертывания системы

3.5 Организация пользовательского интерфейса программной системы.

Важность организации пользовательского интерфейса, навряд ли можно не до оценить, ведь основная часть пользователей глубоко незнакома с устройством программы, а лишь пользуется элементами интерфейса, которые упрощают работу с приложением. На рисунке 17 изображен прототип интерфейса стартового окна. Его главной задачей, является максимально полно отразить процесс  выбора котировок с использованием «карусели».



Рисунок 17 – Прототипирование стартового окна



После выбора валюты «карусель» скрывается с интерфейса и отображается окно и настройки к нему, так же имеются сведения «о проекте» и пункт «помощь», где содержится справочная информация о проекте и подробное описание функционала программы.



Рисунок 18 - Прототипирование дизайна главного окна

	Окно «котировка» отображает основную информацию о выбранной валютной паре ввиде  графика кривой, так же присутствует функция эмитации совершения сделки и инструменты помогающие анализировать поведение тренда. Благодаря использованию вкладок, вся информация подразделяется на подразделе связанные собой таксономией.



Рисунок 19 - Прототипирование дизайна окна котировки











3.6 Средства разработки программного обеспечения

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

Исходя из диаграммы классов, при выборе основного языка программирования, для написания ядра клиентского приложения, необходимо руководствоваться: простой обработкой данных, возможностью запросов к сервереру и ООП парадигмой языка. Таким образом, мой выбор был сделан в пользу языка C#.  

Главным критерием программы, является ее гибкость и расширяемость. Следует так же учитывать, что данная система относится к области BigData и использование некоторых подходов могут отрицательно повлиять на скорость выполнения программы. Поэтому мною были выбраны такие библиотеки как Telerik, Encog и MEF.

Серверная часть системы располагается на хостинге «openShift» и использует операционную систему Linux, php 5.4,  MySQL 5.5, phpMyAdmin 4.0 и Cron 1.4.  





























4 Обоснование и выбор технических средств.

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

Выбор и обоснование выбора необходимого объема оперативной памяти.

Учет не.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

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

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Наши преимущества:

Экспресс сроки (возможен экспресс-заказ за 1 сутки)
Учет всех пожеланий и требований каждого клиента
Онлай работа по всей России

Рекламодателям и партнерам

Баннеры на нашем сайте – это реальный способ повысить объемы Ваших продаж.
Ежедневная аудитория наших общеобразовательных ресурсов составляет более 10000 человек. По вопросам размещения обращайтесь по контактному телефону в городе Москве 8 (495) 642-47-44