
- •Введение
- •Постановка задачи
- •Разработка технического задания
- •2.1 Анализ вариантов использования программы
- •Потоки событий
- •Основной поток
- •2.2. Альтернативные потоки
- •2.2 Требования к приложениям
- •Анализ алгоритма решения задачи
- •3.1 Метод Монте-Карло
- •3.2 Определение попадания точки внутрь трапеции
- •Настольное приложение wpf
- •4.1 Технология Windows Presentation Foundation
- •4.2 Логическое проектирование приложения
- •4.3 Тестирование приложения
- •5.1 Программные средства для разработки приложения
- •5.2 Логическое проектирование
- •5.2.1 Структура приложения
- •5.2.2 Проектирование приложения.
- •Листинг №1. Определение попадания точки в четырехугольник. HaXe.
- •6. Клиент-Серверное приложение на базе asp.Net
- •6.1 Программные средства разработки приложения
- •6.2 Логическое проектирование Web-сервиса
- •6.3 Логическое проектирование клиентской части
- •6.4 Генерирование прокси-класса
- •6.5 Системные требования
- •Руководство программиста
- •6.7.1 Назначение и условия применения приложения
- •Структура приложения
- •6.8.4 Сообщения оператору
- •6.9 Тестирование приложения
- •Анализ вычислительной эффективности приложений
- •Заключение
- •Приложения
- •9.1 Листинг приложения на базе wpf Файл MainWindow.Xaml
- •Файл MainWindow.Xaml.Cs
- •9.2 Листинг приложения на базе haXe/php Файл Main.Hx
- •Файл Index.Html
- •9.3 Листинг клиент-северного приложения на базе asp.Net Файл Service.Asmx
- •Файл Service.Cs
- •Файл MainWindow.Xaml
- •Файл MainWindow.Xaml.Cs
6.8.4 Сообщения оператору
Если пользователь в текстовом поле ввода координат введет недопустимый символ, то ему будет показано сообщение-подсказка об ошибке и о причинах ее возникновения. Что бы устранить данную ошибку необходимо просто ввести корректное значение координаты или нажать на кнопку «Очистить», для обнуления введенных данных.
Если пользователь нажал на кнопку «Рассчитать», но при этому ввел значения координат не удовлетворяющие описанию заданного четырехугольника, то на экране компьютера будет отображено предупреждение с пояснением причины возникновения ошибки. Для того что бы устранить данную ошибку необходимо вновь корректно задать координаты или нажать на одну из кнопок «контрольных примеров».
6.9 Тестирование приложения
Результаты тестирования представлены на рис. 15
Анализ вычислительной эффективности приложений
Исследование вычислительной сложности алгоритма производится путем определения зависимости времени вычисления площади четырехугольника от количества генерируемых точек для метода Монте-Карло. В результате выполнения данной курсовой работы были разработаны три приложения (настольное приложение, приложения на базе скриптов haxe/PHP и на базе ASP.NET), которые выполняют одну и ту же задачу (вычисление площади четырехугольника методом Монте-Карло).
Тестирование проводилось на следующей машине:
операционная система Windows 7 Ultimate x64
частота процессора 2.5 ГГц (процессор Intel core i5)
объем оперативной памяти 4096 MB
Для сравнения вычислительной эффективности этих приложений были использованы одинаковые входные данные (координаты вершин четырехугольника, площадь которого находилась, и количество генерируемых точек для метода Монте-Карло). В каждом приложении выдавалось время вычислений в каждом опыте. Результаты представлены в таблице.
Таблица. Сравнение вычислительной эффективности приложений
-
Количество точек
Время выполнения приложения, мс
Настольное приложение
Приложение на базе скриптов
Приложение на базе ASP.NET
1000
0
12
1
10000
1
114
7
100000
9
1153
17
1000000
86
11464
143
10000000
876
115848
832
Из таблицы видно, что web-приложение на базе ASP.NET и настольное приложение имеют приблизительно одинаковый результат по времени. Но если учитывать то, что web-приложение посылает поочередно на сервер 5 запросов и поочередно запускаются 5 web-сервисов, и то время, которое тратится web-сервисом на сериализацию и десириализацию SOAP-сообщений, можно утверждать что web-сервис работает быстрее. Самым медленным по времени выполнения является web-приложение на базе haxe/PHP. Это связано с тем, что при выполнении данного приложения оно не компилируется, а интерпретируется, т.к. написано на скриптовом языке. Это означает, что исходный текст не компилируется а интерпретируется, обрабатывая исходный код построчно. Такой алгоритм и объясняет низкую скорость обработки.