
- •Содержание: Введение
- •Постановка задачи
- •Разработка технического задания
- •2.1 Анализ вариантов использования программы
- •Требования к приложениям
- •Анализ алгоритма решения задачи
- •3.1 Метод Монте-Карло
- •3.2 Определение попадания точки внутрь трапеции
- •Настольное приложение wpf
- •4.1 Технология Windows Presentation Foundation
- •4.2 Логическое проектирование приложения
- •4.4 Руководство системного программиста
- •4.5 Руководство программиста
- •4.6 Руководство пользователя
- •4.6.1 Назначение приложения
- •4.6.2 Условия выполнения приложения
- •4.6.3 Выполнение приложения
- •4.6.1 Сообщения оператору
- •Тестирование приложения
- •5.1 Программные средства для разработки приложения
- •Логическое проектирование
- •5.2 Руководство системного программиста
- •5.2.1 Общие сведения
- •5.2.2 Системные требования
- •5.3.3 Проектирование приложения.
- •Листинг №2. Определение попадания точки в четырехугольник. 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
Листинг №2. Определение попадания точки в четырехугольник. HaXe.
if(x3<x4) //esli c<e(slychai 1)
{
if(randx<x2)
{
newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx==x2)
{
points+=1;
}
if(randx==x3)
{
points+=1;
}
if(randx>x2&&randx<x3)
{
points+=1;
}
if(randx>x3)
{
newy= getCurve(x3,y3,x4,y4,randx);
if(randy>=newy)
{
points+=1;
}
}
}
if(x3==x4) //esli c==e(slychai 2)
{
if(randx<x2)
{
newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx>=x2&&randx<=x3)
{
points+=1;
}
}
if(x3>x4) //esli c>e(slychai 3)
{
if(randx<x2)
{
newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx==x2)
{
points+=1;
}
if(randx==x3)
{
points+=1;
}
if(randx==x4)
{
points+=1;
}
if(randx>x2&&randx<x4)
{
points+=1;
}
if(randx>x4&&randx<x3)
{
newy = getCurve(x3,y3,x4,y4,randx);
if(randy>=newy)
{
points+=1;
}
}
}
}
5.4 Руководство пользователя
5.4.1 Назначение приложения
Приложение предназначено для вычисления площади прямоугольника abce методом Монте-Карло, оценки погрешности экспериментов и определения времени потраченного на каждый эксперимент.
5.4.1 Условия выполнения приложения
Приложение будет работать корректно при условии, что будут соблюдены требования п. 5.2.2.
5.4.2 Выполнение приложения
Для запуска приложения необходимо запустить браузер и открыть страницу http://test/index.html. После запуска приложения пользователю необходимо выбрать один из вариантов его использования:
5.4.3 Сообщения пользователю
В случае ввода пользователем некорректного значения в любое из полей формы, программа посылает пользователю сообщение, о некорректности введенных данных, и обнуляет все введенные значения. При необходимости можно выбрать из списка один из готовых примеров на 3 различных случая расположения точки с относительно точки е. После завершения работы, пользователю отображается таблица, содержащая данные о ходе эксперимента. Если пользователь захочет продолжить работу с программой, он должен нажать кнопку «назад». Для завершения работы с приложением, требуется закрыть браузер.
6. Клиент-Серверное приложение на базе asp.Net
6.1 Программные средства разработки приложения
Данное приложение состоит из двух частей: клиентского приложения Windows Presentation Foundation и Web–сервиса, обеспечивающего функциональность клиентского приложения.
Информационный сервер Internet компании Microsoft (Internet Information Server – IIS) взаимодействует как со страницами ASP.NET так и с Web-службами, которые отсылают ему запросы по протоколу передачи гипертекстовых файлов HTTP. Запросы кодируются как часть унифицированного указателя информационного ресурса (URL) или представляются в виде XML-текста. В ответ на запрос Web-службы информационный сервер Internet (IIS) создает запрошенный объект. Затем информационный сервер вызывает метод объекта, который обрабатывает соответствующий запрос. Любые возвращаемые данные преобразуются в XML-формат и возвращаются клиенту как ответ по протоколу передачи гипертекстовых файлов HTTP.
Прежде чем клиент сможет использовать Web-службу, он должен быть способен создавать, отправлять, получать и понимать XML-сообщения. Платформа .NET предоставляет решение в виде специального компонента, который называется прокси-классом (proxy class) и который выполняет наиболее трудную часть работы для клиентского приложения. Прокси-класс скрывает вызовы методов Web-службы. Он отвечает за генерацию SOAP-сообщений в корректном формате и управление сообщениями в сети (с помощью протокола HTTP). Когда прокси-класс получает ответное сообщение, он еще и преобразует результаты обратно в соответствующие типы данных .NET.
Благодаря прокси-классу, вызывать Web-метод в Web-службе можно так же легко, как и в локальном компоненте. Однако эта прозрачность не всегда приносит пользу, поскольку Web-службы имеют характеристики, отличающиеся от локальных компонентов. Например, вызов Web-метода занимает неизвестное заранее количество времени, поскольку каждый такой вызов должен преобразовываться в XML и пересылаться через сеть. Чтобы к Web-службе можно было получить доступ с другого компьютера, эта Web-служба должна быть доступной. Необходимо создать виртуальный каталог для Web-службы. Затем, создав Web-сервис, обеспечивающий функциональность клиентского приложения, мы можем из данного приложения вызывать эту службу.