Рисунок 8 . Вычисление расстояния по gps координатам

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

Существует три способа расчета сферического расстояния большого круга.

1. Сферическая теорема косинусов

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

- широта и долгота двух точек в радианах

- разница координат по долготе

- угловая разница

Формула 15 . Сферическая теорема косинусов.

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

2. Формула гаверсинусов

Используется, чтобы избежать проблем с небольшими расстояниями.[7]

Формула 16 . Формула гаверсинусов

3. Модификация для антиподов

Предыдущая формула также подвержена проблеме точек-антиподов, чтобы ее решить используется следующая ее модификация. [7]

Формула 17 . Формула для антиподов

 

Эллипсоид Красовского

Эллипсоид Красовского - земной эллипсоид, определенный из градусных измерений в 1940 г. под руководством Ф. Н. Красовского. Размеры эллипсоида: большая полуось (радиус экватора) 6 378 245 м. Эллипсоид Красовского принят для применения в геодезических и картографических работах в России взамен ранее применявшегося в этих работах земного эллипсоида Бесселя, размеры которого оказались ошибочными. Будем использовать значение его радиуса для вычисления расстояния между 2 объектами в зависимости от значения угловой разницы.

Для вычисления расстояния между двумя точками в Москве будем использовать формулу гаверсинусов и значение радиуса экватора 6378245 м.[2]

3 Технологический раздел

3.1 Требования к вычислительной системе

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

Минимальные требования к серверу:

· микропроцессор пятого или шестого поколения (производителей AMD, Intel)

· 16 MB ОЗУ

· 20 Мб на диске

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

Рекомендуемые требования к серверу:

· микропроцессор шестого поколения и выше (производителей AMD, Intel), например семейства процессоров Bloomfield (2008г.) использующий микроархитектуру Intel Nehalem

· 4000 MB ОЗУ

· 50 Мб на диске

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

Требуемое для работы сервера операционное окружение:

· Операционная система Windows 7, Windows Vista, Windows Server 2008 или Windows Server 2008 R2

· установка роли веб-сервера (IIS) и требуемых служб

· библиотеки: ASP.NET уже содержит полный набор элементов управления и библиотек классов

Требования к машине клиента:

· Компьютер с доступом в интернет и установленным браузером (данное приложение было протестировано в браузерах IE (версия 9.0.8112.16421) и Opera (версия 11.60)

· Желательно наличие установленной программной платформы Microsoft SilverLight (версия 4.0.50917.0)

 

3.2 Выбор СУБД

Для решения поставленной задачи СУБД должна отвечать следующим требованиям:

· реляционная модель представления данных,

· поддержка многопользовательского режима работы,

· работа на платформе Windows 2000 и выше.

Предъявленным требованиям отвечают следующие СУБД:

· Microsoft SQL Server 2008 R2,

· Oracle,

· IBM DB-2.

СУБД DB-2 может обслуживать до 64 000, а Oracle до 10 000 одновременно работающих пользователей [8]. Использование их в рамках данного проекта является не целесообразным расходованием ресурсов.

Microsoft SQL Server 2008 R2 — новая версия решения управления базами данных от компании Microsoft, которая предоставляет комплексную платформу управления информацией и бизнес-аналитики. SQL Server 2008 R2 предоставляет надежную платформу для управления бизнес-данными и построения бизнес-приложений. Решение SQL Server 2008 R2 построено на основе SQL Server 2008, отличаясь улучшенным масштабированием, более эффективными технологиями, а также расширенными возможностями для самостоятельного бизнес-анализа и составления отчетов.

Из выше перечисленного следует, что в данном проекте лучше всего использовать СУБД MS SQL Server 2008 R2.

3.3 Выбор среды разработки

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

Для разработки программного продукта была выбрана платформа . NET и среда программирования MS Visual Studio 2010.

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

Из возможных версий платформы Microsoft . NET Framework была выбрана наиболее актуальная версия 4, т.к. данная версия обладает наиболее совершенными библиотеками классов и большим набором реализованных модулей.

3.4 Выбор языка программирования

C # - один из самых распространённых и популярных современных языков объектно-ориентированного программирования. Данный язык был выбран в силу того, что он имеет широкие возможности по написанию сложных функциональных программных комплексов, использующих различные ресурсы и имеющих гибкий пользовательский интерфейс. С# позволяет в короткие сроки создавать развитые иерархии взаимодействующих классов в каждом логическом слое приложения и связывать их функциональность со слоем отображения, реализую событийную модель взаимодействия компонентов. Кроме того, существуют огромнейшие библиотеки классов (.NET Framework, последняя версия – 4.0), написанные на этом языке, где можно найти практически всё, что требуется для работы над проектом любой сложности. Также C# предоставляет широкие возможности по использованию механизмов кодогенерации в самых различных её проявлениях (в третьей версии появились автосвойства, анонимные делегаты, лямбда-функции и прочее), работе с хранилищами данных (Object-relation mapping (ORM), реляционные базы данных, XML, коллекции, механизмы LINQ [4]).

Выбор среды разработки обусловлен следующими причинами:

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

· данная среда программирования является промышленным стандартом разработки приложений;

· среда разработки MS Visual Studio 2010 предоставляет широкие возможности при написании кода, его редактировании, а также позволяет эффективно отлаживать программы с использованием различных инструментов, что позволяет качественно и быстро устранять возникающие ошибки;

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

 

Так же при создании веб-приложения использовался язык JavaScript. JavaScript используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. JavaScript используется в клиентской части веб-приложений: клиент-серверных программ, в котором клиентом выступает браузер, а сервером — веб-сервер, имеющих распределённую между сервером и клиентом логику. Обмен информацией в веб-приложениях происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются кроссплатформенными сервисами.

JavaScript используется в AJAX, популярном подходе к построению интерактивных пользовательских интерфейсов веб-приложений, заключающемся в «фоновом» асинхронном обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью и интерфейс веб-приложения становится быстрее, чем это происходит при традиционном подходе (без применения AJAX).

3.5 Используемые технологии

ASP.NET

Для создания веб-приложения использовалась технология ASP.NET (версия 4.0). ASP.NET — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. Наиболее важными преимуществами ASP.NET перед ASP являются:

· Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки;

· Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта;

· ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц в том числе на Visual C#;

· Возможность кэширования всей страницы или её части для увеличения производительности;

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

· Наличие master-страниц для задания шаблонов оформления страниц;

· Встроенная поддержка AJAX;

· ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах;

· ASP.NET поддерживает модель доступа к данным ADO.NET.

 

AJAX

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

Основными преимуществами использования технологии AJAX являются:

· Экономия трафика. Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, как правило, довольно небольшую;

· Уменьшение нагрузки на сервер. AJAX позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту;

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

ADO.NET

Технология доступа к данным ADO.NET - это часть Microsoft .NET Framework, т.е. набор средств и слоев, позволяющих приложению легко управлять и взаимодействовать со своим файловым или серверным хранилищем данных.

В NET Framework библиотеки ADO.NET находится в пространстве имени System.Data. Эти библиотеки обеспечивают подключение к источникам данных, выполнении команд, а также хранилище, обработку и выборку данных (рисунок 9).

Рисунок 9 . ADO . NET

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

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

Основные преимущества использования технологии ADO.NET:

· использование разъединенной модели доступа к данным;

· хранение данных в объектах DATASET;

· глубокая интеграция с XML.

·

3.6 Пользовательский интерфейс

3.6.1 Интерфейс приложения

Для удобства понимания информации пользователем, весь функционал программы привязан к карте Москвы, взятой из Яндекса. Интерфейс позволяет просматривать расположения образовательных центров, места жительства клиентов, число распределенных и нераспределенных учеников в каждом ОЦ. Также пользователю в любой момент доступна статистика, которая содержит в себе информацию о текущем значении прогнозируемой прибыли, предыдущем её значении, числе распределенных и нераспределенных клиентов, числе набранных групп, числе нераспределенных клиентов, записанных на конкретный курс.

3.6.2 Интерфейс веб-приложения

Мастер - страницы

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