- •Введение
- •Постановка задачи
- •Анализ задачи проектирования
- •Анализ вариантов использования программы
- •Требования к приложениям
- •Определение попадания точки в четырехугольник
- •Настольное приложение на базе erlang
- •Создание приложения в среде ErlyBird
- •Реализация приложения
- •Реализация приложения
- •Создание Web –сервиса
- •Создание клиентского приложения WebForm
- •Создание прокси-класса
- •Системные требования
- •Руководство системного программиста
- •Заключение
- •Список литературы
- •Приложение Файл monte.Erl(настольное приложение)
- •Файл print.Erl
- •Файл monte_carlo.Html(web приложение на базе скриптов)
- •Файл service.Cs(web сервис)
- •Файл Service.Asmx
- •Файл Default.Aspx(клиентская часть приложения WebForm)
- •Файл Default.Aspx.Cs
Постановка задачи
В результате выполнения курсовой работы необходимо создать и сравнить по вычислительной эффективности три приложения, решающие одну и ту же задачу приближенного вычисления площади трапеции методом Монте-Карло.
Вариант задания 20:
вид четырехугольника - трапеция abcd (рис. 1);
настольное приложение, имеющее консольный интерфейс пользователя, язык Erlang;
web приложение на базе скриптов (язык – JavaScript), элементы управления – HTML5;
web приложение ASP.NET на базе WebForm, осуществляющее обращение к веб-сервису на языке C# (тип клиента веб-сервиса – синхронный).
В данной работе рассматривается задача вычисления площади одной из трапеций, представленных на рис. 1, методом Монте-Карло.
Рис. 1. Четырехугольник abcd.
Исходными данными
для каждого приложения являются
координаты угловых точек четырехугольника
abcd,
где (
).
Каждое приложение
пять раз повторяет эксперимент и
вычисляет площадь четырехугольника
методом Монте-Карло для
соответственно. В каждом эксперименте
определяется относительная погрешность
вычисления площади (в процентах) и его
длительность (в миллисекундах). По
результатам экспериментов каждое
приложение выдает на экран таблицу,
показывающую зависимости значений
относительной погрешности и длительности
эксперимента от величины N.
Для каждой точки
выполняется проверка, попала ли точка
внутрь заданного четырехугольника.
Если из N точек M точек оказалось внутри
четырехугольника, а площадь прямоугольника
равна S, то площадь четырехугольника
будет приближенно равна
.
Поскольку площадь четырехугольника легко вычисляется по правилам геометрии, мы можем определить относительную погрешность приближенного вычисления этой площади методом Монте-Карло. Естественно, чем больше N, тем меньше погрешность такого вычисления.
По результатам экспериментов каждое приложение выдает на экран таблицу, показывающую зависимости значений относительной погрешности и длительности эксперимента от величины N.
Задачами курсовой работы являются:
приобретение навыков решения вычислительных задач на сервере;
практическое освоение современных Web технологий, использующих как скрипты, так и объектно-ориентированные языки программирования;
практическое овладение методами и средствами создания активных серверных страниц и Web сервисов;
сравнительный анализ вычислительной эффективности интерпретируемых и компилируемых программ;
приобретение практических навыков оформления и выпуска документации в соответствии с ГОСТ.
Анализ задачи проектирования
Анализ вариантов использования программы
Необходимо разработать программу, позволяющую вычислить площадь четырехугольника методом Монте-Карло, оценить погрешность метода и ее зависимость от количества точек, произвести запись времени, потраченного на каждый расчет и вывести все перечисленное на экран. Помимо этого, пользователь будет иметь возможность ознакомления со схематичными рисунками, для наглядного представления решаемой задачи. По заданным пользователем координатам, программа будет производить расчет площади.
Для визуального моделирования проекта воспользуемся приложением VS 2012. На данном этапе проектирования нам понадобится уровень прецедентов (Use Case View), в котором можно изобразить диаграмму вариантов использования. На рис. 2 изображена основная диаграмма вариантов использования, которая определяет основные действия пользователя в программе:
использование координат, введенных пользователем – пользователь вводит координаты, после чего проходит проверка их корректности;
использование случайных координат – координаты точек генерируются случайным образом;
контрольный пример – используются заранее указанные координаты точек (
);расчет методом Монте-Карло и вывод результатов;
повторный расчёт по имеющимся координатам;
выход из приложения.
Рис. 2 Диаграмма вариантов использования приложений
Все действия можно представить в виде потоков событий. Потоки событий делятся на основной поток и альтернативный. Поток событий для варианта использования описывается в текстовом виде, а сценарии представляются в форме диаграмм взаимодействия (interaction diagrams). Различают два типа таких диаграмм - диаграммы последовательностей (sequence diagrams) и диаграммы сотрудничества (collaboration diagrams). Диаграммы последовательностей позволяют взглянуть на сценарий с точки зрения упорядочения операций во времени: одни операции осуществляются вначале, что-то происходит позже и т.д. Подобные диаграммы весьма легко воспринимаются будущими пользователями системы и поэтому полезны на ранних стадиях анализа. Диаграммы сотрудничества, в свою очередь, предлагают более полную картину динамики развития сценария, отображая объекты в связи с другими объектами. Такие диаграммы, вероятно, более предпочтительны на этапе проектирования, когда исследуются варианты реализации связей.
Наименование варианта использования: «Расчёт площади трапеции методом Монте-Карло».
Краткое описание: вариант использования инициируется активным субъектом «Пользователь» и предлагает возможности выбора из трех доступных действий: ввод координат, повторный расчёт и выход из программы.
Далее рассмотрим два варианта потоков основной и альтернативный.
Основной поток.
Функции варианта использования начинают выполняться с запуска субъектом «Пользователь» программного продукта. Система активизирует интерфейс пользователя, где с помощью клавиш либо заранее обозначенных команд пользователю предлагается выбрать одну из следующих опций: «пользовательский ввод», «случайные координаты», «контрольный пример», «расчёт», «выход». Если выбрана опция «ввод координат пользователем», то пользователю необходимо задать значения координат в соответствующие поля. Если выбрана опция "расчёт по случайным координатам", то в соответствующие поля координат вносятся координаты точек, сгенерированные случайным образом, но по правилам задания. Если выбрана опция "контрольный пример", то в соответствующие поля координат вносятся предустановленные координаты точек. Если выбрана опция "расчет", то введенные данные обрабатываются и выводятся пользователю. При неверных значения координат, выполняется поток 2.
Полученные данные обрабатываются и выводятся пользователю в следующем виде:
количество точек в опыте;
количество попавших точек;
площадь трапеции определенная аналитически;
площадь трапеции, вычисленная по методу Монте-Карло;
погрешность вычислений в процентах;
время, затраченное на вычисление.
Если выбрана опция «выход», то выполнение программного продукта завершается.
2. Альтернативные потоки.
Неверное значение координаты: введенные координаты не соответствуют исходной трапеции, заполнены не все поля для ввода. Субъекту предоставляется возможность повторить ввод.
Специальные требования: специальные требования не определены.
Предусловия: предусловия не определены.
Постусловия: постусловия не определены.
Дополнительные замечания: дополнительных замечаний нет.
На рис. 3 представлена диаграмма последовательностей, которая иллюстрирует очередность выполнения операций взаимодействия объектов во времени и отображает объекты, вовлеченные в сценарий, наряду с цепочками сообщений, которыми объекты обмениваются в ходе осуществления функций, предусмотренных сценарием "Расчет площади трапеции методом Монте-Карло".
Рис. 3. Диаграмма последовательностей
