Среда Microsoft Visual Studio 2015



Студент Шапоренко Ю.А. /…………………………………./       Факультет   ИВТ Группа ИП-413     Руководитель   Бах О.А.   /…………………………………./                                       Кафедра ПМиК Допустить к защите зав. кафедрой:  проф., д.т.н.   ______________________Фионов А.Н.   . ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА Разработка инструментов для трейдинга на базе сервиса цифровой дистрибуции Steam   Пояснительная записка   ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА Разработка инструментов для трейдинга на базе сервиса цифровой дистрибуции Steam   Пояснительная записка     Федеральное агентство связи Федеральное государственное бюджетное образовательноеучреждение высшего образования «Сибирский государственный университет телекоммуникаций и информатики» (СибГУТИ)     Федеральное агентство связи Федеральное государственное бюджетное образовательноеучреждение высшего образования «Сибирский государственный университет телекоммуникаций и информатики» (СибГУТИ)   Новосибирск 2018 г.     Новосибирск 2018 г.  

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение

Высшего образования

«Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)

 

 

Форма утверждена

научно-методическим советом

ФГОБУ ВПО «СибГУТИ»

протокол № 2 от 04.03. 2014 г.

 

 

КАФЕДРА Прикладной математики и кибернетики

 

 

ЗАДАНИЕ

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

 

СТУДЕНТУ Шапоренко Ю.А. ГРУППЫ ИП-413

 

 

УТВЕРЖДАЮ

«_____» _________________

зав. кафедрой ПМиК

 

___________/ ______________/

 

Новосибирск 2018 г.

 


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

Разработка инструментов для трейдинга на базе сервиса цифровой дистрибуции Steam

утверждена приказом СибГУТИ от «22» января 2018 г. № 4/61о-18

 

Срок сдачи студентом законченной работы

 

 

Исходные данные к работе

 

1. Макаров В. Парсинг: Что? Зачем? Как? [Электронный ресурс]: URL: http://parsing.valemak.com (дата обращения: 12.05.2018)

2. Руководство по языку C# [Электронный ресурс]: URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/ (дата обращения: 02.05.2018)

4.Содержание пояснительной записки (перечень подлежащих разработке вопросов) Сроки выполнения по разделам
Анализ рынка существующих инструментов для трейдинга 05.02.2018- 08.02.2018
Написание логики парсинга выбранных сайтов 09.02.2018- 15.03.2018
Создание базы данных на основе полученных данных 16.03.2018- 18.03.2018
Написание логики работы клиентского приложения 19.03.2018- 16.04.2018
Разработка дизайна клиентского приложения 17.04.2018- 25.04.2018
Тестирование 26.05.2018- 31.05.2018

 

 

Дата выдачи задания «» 20 г.

Руководитель _____________________________________

                                            подпись

 

Задание принял к исполнению «» 20 г.

Студент __________________________________________

 

 

подпись


 

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение

Высшего образования

«Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)

Форма утверждена научно-методическим

советом университета

протокол № 3 от 19.02.2015 г.

ОТЗЫВ

 

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

по теме «________________________________________________________________________»

 

 

Оценка уровней сформированности общекультурных и профессиональных компетенций обучающегося:

Компетенции

Уровень сформированности

компетенции

Высокий Средний Низкий
Общекультурные ОК-7      

Профессиональные

ОПК-4      
ОПК-5      
ПК-1      
ПК-2      
ПК-3      

 

Работа имеет практическую ценность   Тема предложена предприятием  
Работа внедрена   Тема предложена студентом  
Рекомендую работу к внедрению   Тема является фундаментальной  
Рекомендую работу к опубликованию   Рекомендую студента в магистратуру  
Работа выполнена с применением ЭВМ   Рекомендую студента в аспирантуру  

Руководитель бакалаврской работы _________________________________

                              (должность, уч. степень, подпись, фамилия, имя, отчество (полностью), дата)


Пояснения к кодам компетенций (не подшивать!)

 

ОК-7 способность к самоорганизации и самообразованию

ОПК-4 способность участвовать в настройке и наладке программно-аппаратных комплексов

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

ПК-1 способность разрабатывать модели компонентов информационных систем, включая модели баз данных и модели и интерфейсов "человек – электронно-вычислительная машина"

ПК-2 способность разрабатывать компоненты аппаратно-программных комплексов и баз данных, используя современные инструментальные средства и технологии программирования

ПК-3 способностью обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности

 


АННОТАЦИЯ

 

Выпускной квалификационной работы студента      Шапоренко Ю.А.

                                                                                                                                                                         (Фамилия,И.О.)

по теме «Разработка инструментов для трейдинга на базе сервиса цифровой дистрибуции Steam»

 

Объём работы - __37___ страниц, на которых размещены __15__рисунков и __3___таблиц. При написании работы использовалось _12__источников.

 

Ключевые слова: парсинг, базы данных, визуальное программирование

Работа выполнена __________________________________________________

                                                                                                (название предприятия, подразделения)

Руководитель ______________________________________________________

                                                   (должность, уч.степень, звание, Фамилия Имя Отчество)

 

 

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

 

 

Насчёт оформления – теперь правое поле больше, чем нужно. J

Кроме того, в разных местах документа визуально разный межстрочный интервал.

По содержанию в целом нормально, местами в тексте кое-что писала – посмотрите.

 


 

Оглавление

 

Введение. 2

1 Постановка задачи.. 4

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

1.2 Требования к приложению.. 6

1.3 Этапы разработки приложения. 7

2 СРЕДСТВА РАЗРАБОТКИ.. 7

2.1 Язык программирования C#. 8

2.2 Среда Microsoft Visual Studio 2015. 9

2.3 СУБД MySQL. 10

2.4 Локальный сервер Denwer 10

2.5 Newtonsoft.Json.NET. 11

2.6 MySQL Connector/Net 12

2.7 Balsamiq Mockups 3.0. 12

3 ПРОЕКТИРОвание и разработка.. 14

3.1 Анализ рынка существующих инструментов для трейдинга. 14

3.2 Написание логики парсинга выбранных сайтов. 20

3.3 Создание базы данных на основе полученных данных. 24

3.4 Написание логики работы клиентского приложения. 25

3.5 Разработка дизайна клиентского приложения. 26

3.6 Тестирование. 30

4 ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ЦЕЛЕСООБРАЗНОСТИ ПРОЕКТА.. 34

Заключение. 36

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 37

Приложение А.. 38

 

 

Введение

 

Жизнь современного общества тесно связана с информационными технологиями. Сегодня они занимают прочные позиции во всех областях деятельности, среди которых одной из важнейших и приоритетных является образовательная сфера. Обеспечение процесса обучения и подготовки молодых специалистов информационной и технической базой в последние 15-20 лет приобрело огромные масштабы: дистанционное и самостоятельное обучение в Интернете, компьютерные классы в школах и университетах, ведение лекционных занятий с помощью проекторов или средств видео- и аудиосвязи, использование переносных устройств для поиска, записи и обработки информации стали возможны и получили широкое распространение относительно недавно.

Иной стороной распространения и популяризации компьютерных технологий стало развитие компьютерных игр. В понятие развития входит не только игра как продукт с собственными характеристиками (цена, графика, требования к производительности), но и технологии ее распространения и сопровождения, которые за последние 7-10 лет значительно изменили индустрию видеоигр и открыли возможности для игроков массово принимать в них участие и взаимодействовать не только с виртуальной реальностью видеоигры, но и друг с другом. В связи с этим значительное распространение получили такие игры, как World of Warcraft, DotA, Counter-Strike и другие [1].

Вместе с массовым распространением компьютерных игр среди обычных пользователей набирало обороты развитие киберспорта. Появляются все новые и новые команды в различных дисциплинах, проводятся множество турниров разного уровня, количество которых только растёт, а вместе с ним растёт и размер призовых: существуют турниры, которые обладают призовым фондом, сопоставимым с призовыми фондами наиболее популярных видов спорта, таких как футбол, хоккей, баскетбол, теннис.Киберспорт получил признание в качестве официального вида спорта во многих странах, в том числе и в России (2016 г.), узнаваемость киберспортсменов сопоставима с узнаваемостью спортсменов, выступающих в «традиционных» дисциплинах, а контракты с киберспортивными организациями и успешное выступление на различного рода турнирах позволяют игрокам иметь высокий уровень достатка. Однако такая судьба уготована не всем любителям компьютерных игр, а лишь тем, кто проявляет упорство и стремление стать лучшим в своем деле – так же, как и в обычном спорте. Но неужели игрокам-обывателям, не стремящимся покорять вершины киберспортивного Олимпа, компьютерные игры не могут дать ничего, кроме пары-тройки часов погружения на виртуальный полигон для стрельбы, победы над очередным монстром или удовольствия от невероятного тактического решения в стратегической игре?

На самом деле, нет. Большинство игр в наше время приобретаются пользователями за сравнительно небольшую стоимость, либо распространяются по принципу FreeToPlay («бесплатно для игры» - англ.) через сервисы цифровой дистрибуции, такие как Steam, Origin, UPlay и другие. Чтобы в таких условиях игра могла существовать, а разработчику было выгодно поддерживать свой продукт, необходимо вводить альтернативные средства для его окупаемости. Один из них – внутриигровые предметы. Это такие предметы, которые могут открывать доступ к каким-либо дополнительным функциям внутри игры, давать какое-то преимущество надо другими игроками или каким-либо образом изменять визуальную составляющую. В большинстве игр такие предметы пользователи могут обменивать между собой, а так как зачастую у предметов есть определенный шанс на выпадение – у какого-то больше, у какого-то меньше, то и ценность этого предмета среди пользователей может варьироваться. Внутриигровые предметы можно продавать на торговых площадках внутри сервисов цифровой дистрибуции или на сторонних торговых площадках, а также обменивать на специальных сайтах, которые используют API (applicationprogramminginterface – «программный интерфейс приложения»– англ.) данного сервиса. И поскольку цены на предметы, как уже говорилось ранее, устанавливаются самими пользователями, то на разных площадках один и тот же предмет может стоить по-разному. Соответственно, из этого можно извлечь выгоду.

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

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

 

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

 

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

 

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

Сначала нужно определить область постановки определений и понятий. В данной работе основа – это информационные технологии. Информационные технологии - это совокупность методов, производственных и программно-технологических средств, объединенных в технологическую цепочку, обеспечивающую сбор, хранение, обработку, вывод и распространение информации [2].

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

Основной функцией серверной части комплекса является парсинг сайтов. В общем смысле, парсинг – это линейное сопоставление последовательности слов с правилами языка. Понятие «язык» рассматривается в самом широком контексте. Это может быть человеческий язык (например, русский), используемый для коммуникации людей. А может и формализированный язык, в частности, любой язык программирования. Парсинг сайтов – последовательный синтаксический анализ информации, размещённой на интернет-страницах [3].

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

Основной задачей при разработке клиентской составляющей, как говорилось ранее, является планирование интерфейса. Интерфейс - совокупность средств для общения, взаимодействия между человеком и компьютером или связующее звено между любыми двумя информационными системами [5]. Для реализации этой задачи можно воспользоваться опытом уже существующих проектов, выполняющих аналогичные функции, отмечая их сильные и слабые стороны. Проанализировав данные ресурсы, определяются главные принципы построения интерфейса: наличие страницы с поиском по базе конкретной площадки, страницы со сравнением цен на разных площадках, на которой, помимо самой таблицы с ценами и их разницами, должны присутствовать список всех доступных ресурсов, фильтры предметов по названию, типу, количеству, разнице цен, времени обновления. Также необходимо наличие страницы с настройками профиля пользователя. Чтобы обеспечить пользователю комфортную работу с базой, стоит отказаться от долгоработающих скриптов, группировать функции по категориям, добавить аннотации к функциям сервиса.

Список электронных ресурсов, использованных для анализа интерфейса:

1. https://skins-table.xyz

2. https://tryskins.ru

3. http://csgoback.net

4. https://tools.risenraise.com

 

Требования к приложению

 

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

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

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

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

Для реализации данного функционала поставлены следующие задачи:

•   разработка алгоритма парсинга сайтов;

•   создание приложения, реализующего парсинг сайтов на основе разработанного алгоритма;

•   создание такой единой базы цен на основе результатов работы серверного приложения, к которой обеспечивался бы глобальный доступ, то есть располагающейся на сервере;

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

 

Этапы разработки приложения

 

Разработка комплекса программ включает в себя следующие этапы:

 

1) Анализ рынка существующих инструментов для трейдинга

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

 

2) Написание логики парсинга выбранных сайтов

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

 

3) Создание базы данных на основе полученных данных

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

        

4) Написание логики работы клиентского приложения

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

        

5) Разработка дизайна клиентского приложения

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

                  

6) Тестирование

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

                  

СРЕДСТВА РАЗРАБОТКИ

 

Согласно поставленной задаче, в данной работе используется такая среда разработки, как MicrosoftVisualStudio 2015, предназначенная для создания как приложений WindowsForms, так и консольных приложений, язык программирования C#. Для парсинга использовался NuGet-пакетNewtonsoft.Json.NET (или Json.NET). Для работы с базами данных использовался драйвер MySQLConnector/Net, обеспечивающий использование MySQLв приложениях .NET, а такженабор дистрибутивов Denwerдля создания локального сервера, поддерживающего Систему Управления Базами Данных (СУБД) MySQL. Для построения макета будущего WindowsFormsприложения использовалась программа BalsamiqMockups 3.0.

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

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

 

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

 

C# — это изящный объектно-ориентированный язык со строгой типизацией, позволяющий разработчикам создавать различные безопасные и надежные приложения, работающие на платформе .NET Framework. C# можно использовать для создания клиентских приложений Windows, XML-веб-служб, распределенных компонентов, приложений клиент-сервер, приложений баз данных и т. д. Visual C# предоставляет развитый редактор кода, удобные конструкторы пользовательского интерфейса, интегрированный отладчик и многие другие средства, которые упрощают разработку приложений на языке C# для платформы .NET Framework.

Синтаксис C# очень богат, но при этом прост и удобен в изучении. Характерные фигурные скобки C# мгновенно узнаются всеми, кто знаком с C, C++ или Java. Разработчики, знающие любой из этих языков, обычно очень быстро начинают эффективно работать в C#. Синтаксис C# упрощает многие сложности C++, но при этом предоставляет отсутствующие в Java мощные функции, например, обнуляемые типы значений, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти. C# поддерживает универсальные методы и типы, которые обеспечивают более высокий уровень безопасности и производительности, а также итераторы, позволяющие определять в классах коллекций собственное поведение итерации, которое может легко применить в клиентском коде. Выражения LINQ создают очень удобную языковую конструкцию для строго типизированных запросов [6].

Основные достоинства С#:

  • низкий порог практического вхождения для разработчиков, знакомых с другим C-подобным языком;
  • полностью объектно-ориентированный язык, в котором даже элементарные типы данных, встроенные в язык, являются классами;
  • JIT-компиляция производится сразу в команды целевой архитектуры, то есть конечная программа собирается сразу под ту машину, на которой запускается;
  • большое число готовых классов;
  • наличие встроенного обработчика событий;
  • есть возможность работать с памятью напрямую, в отличие от своего родителя C++, что намного проще и надёжнее.

 

Среда Microsoft Visual Studio 2015

 

Microsoft Visual Studio — это линейка продуктов, которую разрабатывает компания Майкрософт. Эти продукты включают в себя полнофункциональную интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. С помощью этих продуктов можно разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой Windows Forms, а также веб-сайты и веб-приложения.

 Функциональная структура данной среды включает в себя редактор исходного кода с рядом дополнительных функций, таких как автодополнение IntelliSense, рефакторинг кода и т.д., отладчик кода, редактор форм, которые предназначен для удобного конструирования графического интерфейса, веб-редактор, дизайнер классов. В Visual Studio есть возможность подключать сторонние плагины и создавать свои собственные для расширения функций почти на всех уровнях. Также доступно добавление новых наборов инструментов (для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения) [7].

Главное преимущество Visual Studio 2015 – это производительность. Данная среда делает возможным разработку всевозможных приложений на основе одного набора навыков. Компания Microsoft предоставляет возможность бесплатного использования Visual Studio студентам технических ВУЗов, что также является немаловажным достоинством данной среды разработки. Ещё одна причина выбора этой среды – удобство работы с визуальной частью разрабатываемой программы. Интуитивное кодирование, то есть автоматическое форматирование кода по мере его ввода, выделение цветом различных элементов, перехват ошибок – всё это делает среду очень удобной для разработчика. Также возможности отладки в Visual Studio очень широки и являются наилучшим средством отслеживания ошибок и диагностирования нежелательного поведения программы.

 

СУБД MySQL

 

MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц[8].

 

Локальный сервер Denwer

 

Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») – локальный сервер (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.

 

Базовый пакет Денвера включает в себя:

  • Инсталлятор (поддерживается также инсталляция на flash-накопитель).
  • Apache, SSL, SSI, mod_rewrite, mod_php.
  • PHP5 с поддержкой GD, MySQL, sqLite.
  • MySQL5 с поддержкой транзакций.
  • Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home, править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить.
  • Система управления запуском и завершением всех компонентов Денвера.
  • phpMyAdmin — система управления MySQL через Web-интерфейс.
  • Эмулятор sendmail и SMTP-сервера (отладочная «заглушка» на localhost:25, складывающая приходящие письма в /tmp в формате .eml); поддерживается работа совместно с PHP, Perl, Parser и т.д. [9]

 

Newtonsoft.Json.NET

 

Json.NET – это популярный высокопроизводительный фреймворк для .NET.

Json.NETпоявился в 2005 году как побочный продукт разработки проектов, включающих в себя работу с JavaScript, AJAX и .NET, поскольку на тот момент отсутствовали библиотеки, позволяющие работать с JavaScriptв .NET.

Задумывавшийся как набор статичных методов, позволяющих извлекать строки JavaScript из кода, Json.NETдорабатывался и обрел дополнительные функции: для поддержки чтения JSONтребовалась значимая реструктуризация, поэтому Json.NETбыл разделен на три основных класса, которые используются и по сей день: JsonReader, JsonWriterи JsonSerializer. Впервые Json.NETбыл представлен пользователям в июне 2006 года.

Преимущества и особенности фреймворка:

· Гибкий преобразователь JSONдля конвертирования из .NETобъектов в JSONи наоборот;

· LINQ (LanguageIntegratedQuery) дляJSON, обеспечивающий ручное чтение и запись JSON;

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

· Запись JSONс отступами, что делает его удобным для чтения.

· Конвертирование JSONиз/в XML;

· Поддержка .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone и Windows 8 Store[10].

 

MySQL Connector/Net

 

MySQLпредлагаетстандартдрайверовдляподключениябазданных, позволяющихиспользоватьMySQLвприложенияхиинструментах, совместимыхспроизводственнымистандартамиODBC (OpenDataBaseConnectivity) иJDBC (JavaDataBaseConnectivity). Любая система, работающая по какому-либо из этих стандартов, способна использовать MySQL [11].

Connector/Net – это полностью управляемый ADO.NETдрайвер для MySQL. Он включает полную поддержку:

· Функций, обеспеченных MySQL Server до и включая MySQL Server 5.7;

· Большого пакета отправки и получения строк и BLOB значения до 2 гигабайтов в размере;

· Сжатий протокола, которое позволяет сжать поток данных между клиентом и сервером;

· Соединений, использующих сокеты TCP/IP, именованные каналы, или разделяемую память на Windows;

· Платформы Mono с открытым исходным кодом, которая разрабатывается Novell;

· Платформы Microsoft Object;

· RT Microsoft Windows.

Balsamiq Mockups 3.0

 

BalsamiqMockups – это сервис для построения макетов пользовательских интерфейсов веб-сайтов, мобильных приложений и обычных программ. Макеты, получаемые с помощью Balsamiq Mockups, относятся к так называемым макетам с низкой степенью детализации (low-fidelity mockups). Предполагается, что именно скорость создания макетов является ключевым преимуществом Balsamiq Mockups. Это обусловлено тем, что зачастую от менее удачного варианта психологически сложнее отказаться, если на его создание было затрачено много усилий.

Основные возможности

Экран приложения состоит из следующих элементов:

  • Меню (включает стандартные пункты File, View, Edit и Help)
  • Быстрый поиск и добавление элементов (Quick Add)
  • Панель действий для редактирования макета (Copy, Paste, Duplicate и т.д.)
  • Библиотеку элементов пользовательского интерфейса, сгруппированных по категориям (All, Big, Buttons, Containers, Layout и т.д.)
  • Рабочая область.

Лицензии

Существуют следующие возможности использования Balsamiq Mockups:

1) Бесплатная онлайн демо-версия

2) Настольное приложение с лицензиями:

· Single User License — $79

· Volume Pack – стоимостью от $ 379 за пакет на 5 пользователей

· Upgrade License – различные по своей стоимости варианта смены лицензий

Плагины и myBalsamiq

В дополнение к Balsamiq Mockups разработчики предлагают приобрести/скачать следующие приложения/плагины.

  • myBalsamiq— средство для совместной работы команды разработки и заказчиков. Сервис на данный момент находится в стадии закрытого бета-тестирования.
  • Плагиныдля Atlassian Confluence, Jira, Fogcreek FogBugz, XWiki.

Вердикт:

В качестве недостатков Balsamiq Mockups можно отметить следующее:

  • Если настроек приложения не хватает, создать/нарисовать собственный элемент управления достаточно сложно и отнимает много времени.
  • Нет возможности вставить картинку в макет, используя Copy/Paste. Вместо этого приходится добавлять на макет элемент Image и уже в него импортировать выбранную картинку.
  • Отсутствует возможность ввода пояснительного текста, который при экспорте преображался бы в описание макета

 

Несмотря на перечисленное выше, отметим, что приложение тщательно продуманно и является довольным удобным и приятным в использовании. В своей сфере (создание low-fidelity макетов) приложение завоевывает все большую популярность и в интернете уже можно найти много готовых решений для Balsamiq Mockups, которые можно использовать как заготовки (stencils) либо просто для заимствования идей[12].

ПРОЕКТИРОвание и разработка

 


Дата добавления: 2018-08-06; просмотров: 392; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!