
- •Введение
- •Постановка задачи
- •Анализ задачи проектирования
- •Анализ вариантов использования программы
- •Требования к приложениям
- •Определение попадания точки в четырехугольник
- •Настольное приложение на базе erlang
- •Создание приложения в среде ErlyBird
- •Реализация приложения
- •Реализация приложения
- •Создание Web –сервиса
- •Создание клиентского приложения WebForm
- •Создание прокси-класса
- •Системные требования
- •Руководство системного программиста
- •Заключение
- •Список литературы
- •Приложение Файл monte.Erl(настольное приложение)
- •Файл print.Erl
- •Файл monte_carlo.Html(web приложение на базе скриптов)
- •Файл service.Cs(web сервис)
- •Файл Service.Asmx
- •Файл Default.Aspx(клиентская часть приложения WebForm)
- •Файл Default.Aspx.Cs
Реализация приложения
На нашей странице определим две функции:func() и testcoord(). В первой функции мы описываем действия при выборе одной из кнопки типа “radio”. Во второй производится проверка введенных координат и расчет методом Монте-Карло. В данном приложении используются следующие переменные и функции:
var Ax, Ay, Bx, By, Cx, Cy, Dx, Dy - координаты соответствующих точек;
function testcoord() – функция выполняющая расчет и вывод на экран результатов расчета методом Монте-Карло;
function func() – заполнение полей для ввода координат эталонными или рандомными значениями.
На странице присутствует изображение (рис. 5), оно задается тегом.
<img src = "image.gif" alt = "Картинка не лежит в папке страницы, поробуйте обратиться к системному администратору">
Тег alt используется при невозможности загрузки изображения с сервера. Так же используется нововведение(оно было введено только в стандарте HTML5).
<figcaption>Трапеция abcd</figcaption>
Этот тег используется для подписи изображения. Для акцентирования внимания пользователя на требования при вводе данных используем новый тег.
<mark>Ах < Bx < Cx < Dx и Ay < By</mark>
Тег mark подсветит требования для правильной работы приложения.
Рис. 5 Стартовая страница приложения
Кнопка расчета площади вызывает функцию на языке JavaScript, которая проверяет корректность ввода данных и в случае успешной проверки продолжит работу. В случае неудачи пользователю будет выдано предупреждение:
if(cont_form.Axx.value==""||cont_form.Ayy.value==""||cont_form.Bxx.value==""||cont_form.Byy.value==""||cont_form.Cxx.value==""||cont_form.Dxx.value=="")
{
window.alert("Данные введены не полностью!");
return false;
}
else
{
Ax = parseInt(cont_form.Axx.value);
Ay = parseInt(cont_form.Ayy.value);
Bx = parseInt(cont_form.Bxx.value);
By = parseInt(cont_form.Byy.value);
Cx = parseInt(cont_form.Cxx.value);
Dx = parseInt(cont_form.Dxx.value);
Cy = parseInt(cont_form.Cyy.value);
Dy = parseInt(cont_form.Dyy.value);
square = (By-Ay)*(Dx-Ax);
if(Ax >= Bx || Bx >= Cx || Cx >= Dx || Ay >= By)
{
window.alert("Проверьте введеные данные!");
return false;
}
else
{
bool=true;
}
}
При успешной проверке данных функция продолжит работу, вычислит необходимые данные и выведет их на экран. Для вывода на экран используем стандартный вывод в JavaScript: document.write().
Схема работы программы представлена на рис. 6
Рис. 6 Метод testcoord(). Схема программы
Полный листинг приложения можно посмотреть в Приложении (файл index.html).
Системные требования
Для выполнения HTML5/JavaScript приложения необходимо:
операционная система MS Windows 2000 или более поздняя версия;
наличие обозревателя MS Internet Explorer 5.0 или выше;
Результаты работы приложения
Результаты выполнения представлены на рис.7.
Рис.7 Результаты работы приложения на базе JavaScript
Тестирование производилось на аппаратной базе с параметрами:
Двухъядерный процессор семейства Intel core i3 c частотой 2100 МГц;
Объем оперативной памяти 3,00 Гб;
Операционная система MS Windows 7 64-bit.
WEB ПРИЛОЖЕНИЕ НА БАЗЕ ASP.NET
Программные средства реализации приложения
Данное приложение состоит из двух частей: клиентского приложения WebForm с элементами управления HTML и Web–сервиса, обеспечивающего функциональность клиентского приложения.
Visual Studio 2012 поддерживает две модели кодирования Web-страниц и Web-сервисов (Web-служб):
Встроенный код. Эта модель используется в традиционном ASP. Весь код и HTML-дескрипторы находятся в одном файле. Код на языке C# встроен в один или несколько блоков сценария. Но при этом код не теряет поддержку IntelliSense и средств отладки, он компилируется, а не интерпретируется построчно (подобно классическому ASP-коду). Приложение можете реагировать на события элементов управления и использовать подпрограммы (методы). Эта модель полезна, поскольку все хранит в одном файле и широко используется для создания простых Web-страниц.
Скрытый (отделенный) код. Эта модель разделяет каждую Web-страницу ASP.NET на два файла – файл разметки .aspx с HTML-дескрипторами элементов управления и кодовый файл .cs с исходным кодом страницы. Такая модель обеспечивает лучшую организацию, а отделение пользовательского интерфейса от программной логики крайне важно при создании сложных страниц.
Прежде чем клиент сможет использовать Web-службу, он должен быть способен создавать, отправлять, получать и понимать XML-сообщения. Платформа .NET предоставляет решение в виде специального компонента, который называется прокси-классом (proxy class) и который выполняет наиболее трудную часть работы для клиентского приложения. Прокси-класс скрывает вызовы методов Web-службы. Он отвечает за генерацию SOAP-сообщений в корректном формате и управление сообщениями в сети (с помощью протокола HTTP). Когда прокси получает ответное сообщение, он еще и преобразует результаты обратно в соответствующие типы данных .NET (рис. 8).
Рис. 8 Запуск Web-службы из приложения ASP.NET
Благодаря прокси-классу, вызывать Web-метод в Web-службе можно так же легко, как и в локальном компоненте. Однако эта прозрачность не всегда приносит пользу, поскольку Web -службы имеют характеристики, отличающиеся от локальных компонентов. Например, вызов Web -метода занимает неизвестное заранее количество времени, поскольку каждый такой вызов должен преобразовываться в XML и пересылаться через сеть. Чтобы к Web -службе можно было получить доступ с другого компьютера, эта Web -служба должна быть доступной. Это означает, что нельзя полагаться на встроенный Web -сервер Visual Studio (который динамически выбирает новый порт каждый раз, когда его запускают). Вместо этого необходимо создать виртуальный каталог для Web-службы. Затем, уже создав Web-сервис, осуществляющий функциональную полноту клиентского приложения, мы можем из данного приложения вызывать эту службу.