«Торговый терминал «Trader» . Функциональное задание

Оглавление
Словарь

1.Термины и определения
1.2 Сокращения
2.Назначение и цель проекта
3. Содержание проекта
3.1 В рамки проекта входит
3.2 В рамки проекта не входит
4 Описание Функциональных блоков (Задач) проекта
4.1 Функциональный блок регистрации трейдера в ТТ
4.2 Функциональный блок личного кабинета
4.3 Функциональный блок анализа котировок
4.4 Функциональный блок трансляций новостных блоков и блоков аналитики
5 Тестовые сценарии
5.1 Сценарий тестирования регистрации трейдера в ТТ
5.2 Сценарий тестирования личного кабинета
5.3 Сценарий тестирования анализа котировок
5.4 Сценарий тестирования трансляций новостных блоков и блоков аналитики
6 Не функциональные требования
6.1 Требования к доступности, надежности и производительности программного обеспечения
6.2 Требования к внешнему программному обеспечению
6.3 Требования к организационному обеспечению
6.4 Требования к аппаратному обеспечению
38

1 Словарь
1.1 Термины и определения
Термин Определение
Торговый терминал Программный комплекс, с помощью которого брокерская компания предоставляет трейдеру доступ на рынок
Трейдер Участник рынка, осуществляющий свою торговую деятельность с использованием технических средств, представляемых ему брокерской компанией
Биржевая сделка Зарегистрированный биржей договор (соглашение), заключаемый участниками биржевой торговли в отношении биржевого товара в ходе биржевых торгов. Порядок регистрации и оформления биржевых сделок устанавливается биржей.
Отложенная заявка (ордер) Это заявка, которая будет исполнена в будущем, при достижении цены того значения, которое было указано в ордере.
Ордер Это заявка (приказ), которую трейдер (или инвестор) отдает своему брокеру для проведения какой-либо операции на рынке
Торговый счет Место, предназначенное для хранения денежных средств трейдера, с которого производятся торговые операции
Личный кабинет Это персональный аккаунт пользователя, в который он может зайти после регистрации в торговом терминале
Котировка Установление рыночных курсов иностранных валют, ценных бумаг или цен товаров на биржах.
Демо (демонстративный) счет Демо (демонстративный) счет представляет собой виртуальный счет, полностью аналогичный по функционалу с реальным аккаунтом. Отличие от настоящего счета – возможность выполнять торговые сделки, не вкладывая личных денег, а используя виртуальную валюту

1.2 Сокращения
ТТ – Торговый терминал
ЛК — Личный кабинет
ТС – Торговый счет
ДС — Демо (демонстративный) счет
2 Назначение и цель проекта
Цель проекта:
1) Автоматизация доступа трейдера к фондовому, срочному, валютному, товарному рынку
2) Анализ текущего состояния рыночных цен на имеющиеся активы
3) Возможность трейдеру сделать ордер или отложенную заявку
Бизнес результаты:
1) Снижение затрат на обработку заявок от трейдеров
2) Повышение оперативности доступа трейдера к текущему состоянию рыночных цен
3) Автоматизированный доступ к фондовому, срочному, валютному и товарному рынку

По итогам опытной эксплуатации ТТ, он должен продемонстрировать следующие показатели:
1. Средние затраты сотрудников отдела «по работе с клиентами» на обработку одного заказа не превышают 10 минут.
2. Срок обработки ордера не более 2 минут.
3. Время отклика ТТ не более 3мс
4. Время предоставления информации о сделанных заказах и истории их обработки не более 2 мин.
5. Система хранит всю информацию о сделанных заказах и истории их обработки.
6. Показатель доступности ТТ 98%.

66

  1. VAD диаграмма to be

3 Содержание проекта
3.1 В рамки проекта входит

Функционал авторизации
1. Функционал для регистрации трейдера в ТТ
2. Функционал ЛК (доступ к текущем рыночным ценам на имеющиеся активы, доступ к архиву котировок)
Функционал для анализа котировок
1. Функционал для осуществления анализа текущего состояния рынка (индикаторы и советники для анализа)
2. Функционал для трансляции в терминал новостных блоков и блоков аналитики

3.2 В рамки проекта не входит
1. Функционал по работе менеджера с клиентом
4 Описание Функциональных блоков (Задач) проекта
4.1 Функциональный блок «Регистрация трейдера в торговом терминале»
Описание функции: данный функционал позволяет трейдеру произвести авторизацию в ТК
Приоритет реализации функции: абсолютно необходимо реализовать
Требования: новому трейдеру для регистрации в ТК необходимо указать имя, фамилию, логин, пароль, контактный телефон, адрес почты. После успешного заполнение полей, новому трейдеру на его адрес электронный почты будет отправлено сообщение с успешной регистрацией в ТК «Trader». В базе данных создает таблица «users» с кодировкой utf – 8, которая будет иметь столбцы: id – первичный ключ и AUTO_INCREMENT для автоматической генерации уникального id пользователя, name — имя, surname — фамилия, login — логин, password — пароль, telephone — телефон, email — почта). Типы данных столбцов: Id – числовой; name, surname, login, password, email – текстовые (varchar с длинной 45 символов), telephone – числовой с длинной 12 символов. При новой регистрации нового пользователя – создается новая запись в таблице «users».

Запись в базу данных осуществляется так
INSERT INTO `database`.`users` (`name`, `surname`, `login`, `password`, `telephone`, `email`) VALUES ( ‘andrey’, ‘vakurin’, ‘andvak’, ‘12345678’, ‘132234324’, ‘sf@yandex.ru’);

Таблица «users»:
CREATE TABLE `database`.`users` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`surname` VARCHAR(45) NOT NULL,
`login` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`telephone` INT(12) NOT NULL,
`email` VARCHAR(45) NOT NULL,
PRIMARY KEY (`login`));

Требования к вводу и выводу данных:
Ручной ввод с клавиатуры имени, фамилии, логина, пароля, телефона, email.

1233.Примерный вид экранной формы ввода данных

234.Примерный вид хранения записей в базе данных

4.2 Функциональный блок личного кабинета
Описание функции: данный функционал позволяется трейдеру вводить средства, выводить средства, смотреть котировки, смотреть новости, обмениваться сообщениями со службой технической поддержки, смотреть графики валютного, срочного, товарного, фондового рынка
Приоритет реализации функции: абсолютно необходимо реализовать
Требования: для входа в личный кабинет трейдер должен использовать логин и пароль указанный при регистрации. Если пользователь забыл логин или пароль, то в ТТ должен быть предусмотрен раздел восстановления логина или пароля.
33 5.Форма авторизации пользователя
Требования к вводу и выводу данных:
Ручной ввод с клавиатуры логина и пароля
Проверка полей на соответствие значений в базе данных. При некорректном вводе значений предлагается либо восстановить доступ в ЛК или повторить ввод.

У нас имеются 2 переменные $login и $password, которые проверяются в таблице users
На языке PHP код выглядит так:

If (
isset($_POST[‘login’]) &&
isset($_POST[‘password’]))
)
{
$login = get_post(‘login’);
$password = get_post(‘password’)
}
…………



38
6. Личный кабинет
 

4.3 Функциональный блок анализа котировок
Описание функции: данный функционал позволяется трейдеру производить фундаментальный анализ котировок, создавать ордер или отложенную заявку.
Приоритет реализации функции: абсолютно необходимо реализовать
Требования: после авторизации трейдера в ЛК ему необходимо пополнить свой баланс или попробовать демонстрационный режим с ДС. После выбора режима в таблице «account» (с кодировкой utf – 8) создается новая запись id, login, personal account. Создается таблица «market» с идентификатором рынка (market_fond – фондовый рынок, market_val – валютный рынок, market_sroch – срочный рынок, market_tovar – товарный рынок). При создании ордера создается новая запись в таблице order cо следующими данными name, surname, login, account, market, data.

Создание таблицы «account»
CREATE TABLE `database`.`account` (
`id` INT NOT NULL AUTO_INCREMENT,
`login` VARCHAR(45) NOT NULL,
`Personal account` INT(45) NOT NULL,
PRIMARY KEY (`login`));

Создание таблицы «account»
CREATE TABLE `database`.`account` (
`id` INT NOT NULL AUTO_INCREMENT,
`login` VARCHAR(45) NOT NULL,
`Personal account` INT(45) NOT NULL,
PRIMARY KEY (`login`));

Создание таблицы «market_fond»
Date – тип date, остальные с значением FLOAT
Date
SPREAD
HIGH
LOW
OPEN
LAST
LASTCNGTOLASTWAPRICE
VALTODAY
VOLTODAY:
VALTODAY_USD
WAPRICE
WAPTOPREVWAPRICE
CLOSEPRICE
NUMTRADES

 

547. Пример отображения параметров.

Большую часть значений можно вытянуть с помощью API micex.api, который написан на node

Столбцы двух таблиц «users» и «account» должны быть связаны

users.login = account.login

Столбцы двух таблиц «order» и «market_fond» должны быть связаны

Order.account. = market_fond.date

896. Функционал анализа котировок

4.4 Функциональный блок трансляция новостных блоков и аналитики
Описание функции: данный функционал позволяется трейдеру просматривать блог новостей, следить за последними трендами на рынке
Приоритет реализации функции: абсолютно необходимо реализовать
Требования: после авторизации трейдеру необходимо перейти в блог новостей

5 Тестовые сценарии
5.1 Сценарий тестирования регистрации трейдера в торговом терминале

Проверка полей на соответствие значений происходит после нажатия на кнопку регистрации. В полях имя, фамилия – проверяется корректность написания слов (спец символы — недопустимы), в поле логин – проверяется уникальность логина с логинами, которые уже существуют в базе и логин должен быть написан на английском языке, в поле телефон допустимо введение только числовой информации, в поле email допускается написание слов, которое содержит в себе знак «@», пароль должен состоять минимум из 8 символов.

237.Данные корректны

5.2 Сценарий тестирования личного кабинета
Проверка полей на соответствие значений происходит после нажатия на кнопку войти в личном кабинете. В полях логин и пароль – проверяется правильность написания слов со значением в базе данных «users»
45

8. Ошибка ввода данных.

5.3 Сценарий тестирования анализа котировок

Проверка работоспособности рынков: валютного, срочного, товарного, фондового.
Обновление графика должно происходить раз в 5 минут.
После авторизации трейдера в ЛК ему необходимо пополнить свой баланс или попробовать демонстрационный режим с ДС.
Если трейдер не пополнил баланс – то он автоматически работает в ТТ с ДС.
Если трейдер пополнил счет – то в таблице account ему присваивается номер счета
5.4 Сценарий тестирования трансляции новостных блоков и блоков аналитики
В нижней левой части ТТ должен отображаться блог новостей. Если он не отображается или дата не соответствует текущей, то проблема с базой данных.

6 Нефункциональные требования
6.1 Требования к доступности, надежности и производительности программного обеспечения
ТТ предназначена для постоянной, ежедневной работы трейдеров. Трейдеры работают в диалоговом режиме в реальном масштабе времени (on-line) с базой данных ТТ, функционирующей на сервере базы данных. Сервер базы данных ТТ должен работать в непрерывном круглосуточном режиме, кроме периодов проведения регламентных работ по копированию данных системы, проведения регламентных ремонтных или восстановительных работ. Время наработки на отказ процессоров и оперативной памяти ЭВМ не должно быть меньше 10000 часов; Вероятность потери сообщения при передаче данных в локальных сетях не должна превышать 10*(-6). Система рассчитана на работу с 1000 одновременных подключений и до 5000 одновременных сделок и транзакций. Требования к отказоустойчивости: репликация баз данных, сервера БД должны быть связаны по VPN и находится в разных местах.
6.2 Требования к внешнему программному обеспечению
ТТ должно работать в любой операционной системе (Windows не ниже Vista, Linux, Mac ). ТТ запускается в веб браузере (chrome, firefox , internet explorer не ниже 8).
6.3 Требования к организационному обеспечению
Сервера база данных и сервера веб сервера должны располагать в отдельном кондиционированном помещении (желательно в data центре с пропускной способностью канала не ниже 2000мбит/c – оптико-волоконный канал).
6.4 Требования к аппаратному обеспечению
Наличие системного блока на базе процессора Intel core i3 – не ниже, наличие одного дисплея, наличии одной мышки и клавиатуры.