Технологии программирования

Автор работы: Пользователь скрыл имя, 25 Декабря 2011 в 02:57, курсовая работа

Описание

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

Содержание

Введение 5

1 Постановка задачи 7

2 Разработка технического задания 9

2.1 Анализ задачи проектирования 9

2.2 Технические требования 11

3 Алгоритм решения задачи 13

3.1 Метод Монте-Карло 13

3.2 Определение попадания точки внутрь треугольника 13

4 Настольное консольное приложение 16

4.1 Среда разработки MS Visual Studio 2010 16

4.2 Логическое проектирование приложения 16

4.3 Результаты работы приложения 18

4.4 Системные требования 18

4.5 Руководство системного программиста 19

4.6 Руководство программиста 19

4.7 Руководство пользователя 20

5 Web приложение на базе скриптового языка Perl 22

5.1 Инструментальные средства разработки 22

23

5.2. Реализация приложения 23

5.3. Результаты работы приложения. 26

5.4. Руководство программиста 27

5.5. Руководство системного программиста 27

5.7. Системные требования 28

6 Web-приложение на базе WPF и Web-сервисов ASP.NET 29

6.1 Программные средства разработки приложения 29

6.2 Логическое проектирование приложения 30

6.3 Генерирование прокси-класса 33

6.4 Системные требования 34

6.5 Руководство системного программиста 34

6.6 Руководство программиста 35

6.7 Руководство пользователя 38

6.8 Тестирование приложения 39

7 Настольное приложение на языке F# 40

7.1 Инструментальные средства разработки 40

7.2 Логическое проектирование приложения 40

7.3 Результат работы приложения 42

Результат работы консольного приложения представлен на Рис. 11. 42

7.4 Системные требования 43

7.5 Руководство системного программиста 43

7.6 Руководство программиста 43

7.7 Руководство пользователя 44

8 Анализ вычислительной эффективности 46

Заключение 48

Список использованных источников 49

Работа состоит из  1 файл

ТППЗ.docx

— 537.35 Кб (Скачать документ)
    • Index.html – содержит поля для ввода пользователем координат вершин треугольника и передает их на следующую страницу;
    • Script.pl – содержит скрипт, реализующий вычисление площади треугольника, погрешности, времени и вывод данных. Осуществляет основную функциональность приложения.

     При обращении к виртуальному каталогу, содержащему данное приложение, автоматически  в браузер загружается HTML-страница (страница Index.html).

      На  странице Index.html реализуется ввод данных пользователем в таблицу (координат вершин треугольника, площадь которого необходимо посчитать). После чего, при нажатии на кнопку «Вычислить», введенные данные будут отправлены с помощью метода Post в скрипт Script.pl, который будет производить необходимые вычисления. Код, реализующий выше приведенные действия, выглядит  следующим образом:

      Реализация  передачи данных странице Script.pl:

    <form name="Form" action="http://localhost/cgi/script.pl" method="POST">

     Оформление  таблицы, в которую пользователь должен ввести координаты вершин треугольника:

     <table border=0>

     

     </table>

     Вывод рисунка, иллюстрирующего расположение треугольника и описывающего его прямоугольника в системе координат:

     <td> <img src="zadanie.jpg"> </td>

     Реализация  полей, в которые будут вводиться  данные:

<table border=0>

<td> <img src="zadanie.jpg"> </td>

<td>  <B><FONT SIZE=4 COLOR=GREEN>Пример треугольника bce:</FONT></B>

<pre>

<input style="width: 35px; vertical-align: middle; text-align: center; " type="text" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center; color=#008000" value="X" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center; color=#008000" value="Y" readonly="readOnly">

<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text"value="E" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="ex" value="90"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="ey" value="100">

<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text"value="B" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="bx" value="25"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="by" value="0" readonly="readOnly">

<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text" value="C" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="cx" value="50"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="cy" value="0" readonly="readOnly">

<br><br>

      На  странице Script.pl производится выполнение всех вычислений (нахождение площадей треугольника и прямоугольника из геометрических соображений, нахождение площади треугольника методом Монте-Карло, вычисление погрешности метода, подсчет времени вычислений), а также вывод результатов вычислений в таблицу

<form name=\"Form\" action=\"script.pl\" method=\"POST\">

    <br />

    <br />

   <table width=\"500\" id=\"Table\" border=\"-1\" style=\"font-size: 12pt\">

        <tr>

            <td style=\"width: 77px; text-align: center; height: 20px; vertical-align: middle;\">

                <strong style=\"vertical-align: top; text-align: center\">

    Количество точек:</strong></td>

            <td style=\"width: 120px; height: 20px; text-align: center; vertical-align: middle;\">

                <strong style=\"vertical-align: top; text-align: center\">Площадь  методом Монте-карло :</strong></td>

            <td style=\"width: 77px; height: 20px; text-align: center; vertical-align: middle;\">

                <strong style=\"vertical-align: middle; text-align: center\">Погрешность  вычислений(в %):</strong></td>

            <td style=\"width: 127px; height: 21px; text-align: center; vertical-align: middle; line-height: normal; letter-spacing: normal;\">

                <strong style=\"vertical-align: top; text-align: center\">Время  расчета

                    <br />

                    (в сек.):</strong></td>

        </tr>

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

     Функция controldata роверяет введенные данные на корректность:

sub controldata{

my ($bx,$cx,$by,$cy,$ey,$ex) = @_;

if (($cy!=0) or ($by != 0) or ($bx > $cx) or ($ey == 0) or ($ey < 0) or ($bx < 0) or ($cx < 0) or ($ex < 0)) { return 0 ;}

else {return 1;}

}

      Функция RandGenerAndTest генерирует случайные точки , проверяет их на попадание в треугольник , возращает число попавших точек

sub RandGenerAndTest{

      my $m = 0;

      my ($n, $bx, $by, $cy, $cx, $ex, $ey, $xmax, $xmin) = @_;

      for(my $i = 1; $i < $n; $i++) 

    {

        my $px = $xmin + rand($xmax - $xmin);

       my $py = rand($ey);

        my $temp = $py * ($ex - $bx) / ($ey - $by) - $by * ($ex - $bx) / ($ey - $by) + $bx;

        my $temp1 = $py * ($ex - $cx) / ($ey - $cy) - $cy * ($ex - $cx) / ($ey - $cy) + $cx;

        if (($temp1 >= $px) && ($temp <= $px)){

                        $m++;}

    }

   return ($m/$n);

}

    1. Результаты  работы приложения.

       На  рисунке 7 изображен внешний вид Web-приложения на базе ASP в стартовом состоянии.

Рис. 7. Внешний вид Web-приложения в стартовом состоянии

       На  рисунке 8 изображен внешний вид  приложения после проведения расчёта. Выходные данные формируются в виде таблицы.

Рис. 8. Внешний вид приложения после проведения расчёта

    1. Руководство программиста

       Приложение  состоит из следующих файлов:

    • index.html – стартовая интернет-страница. Содержит изображение заданного треугольника, поля для ввода значений координат и кнопку для отправки введённых значений;
    • script.pl– файл, который содержит скрипт на языке Perl, реализующий метода Монте-Карло.

       Для запуска web приложения необходимо опубликовать папку с сайтом на сервере Apache, поместив файл со скриптом в каталог Y:\home\.

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

    1. Руководство системного программиста

       Для запуска данного приложения необходимо установить и настроить сервер для  скрипта Perl. Для написания приложения, будем использовать сервер Apache. Самый легкий способ настройки сервера Apache под Perl - это установка серверного пакета Denwer (включает в себя по умолчанию Apache). Denwer пердлагает установить свой пакета со сразу настроенным Apache. Для установки Denwer необходимо:

    • создать виртуальный диск (при установке это предлагается сделать). Например: Y;
    • при запуске сервера необходимо выключить в сервисах IIS, так как при запущенном IIS, Apache работать не будет;
    • в браузере открыть страницу http://localhost/;
    • для проверки настройки на скрипт Perl, необходимо в браузере открыть страницу http://localhost/cgi/test.pl.

     Папку с web приложением на базе Perl необходимо поместить в виртуальный каталог Apache. Для того чтобы создать новый виртуальный каталог необходимо выполнить следующие действия:

    • запустить Apache;
    • в созданном виртуальном диске Y перейти в папку Y:\home\;
    • создать там любой каталог например Y:\home\tester.ru;
    • перейти в него и создать папку www;
    • в эту папку поместить index.html, script.pl, picture.jpg(содержащий картинку с заданием).

     После публикации сайта он станет доступен по адресу http://tester.ru, по умолчанию откроется страница http://tester.ru /index.html.

      1. Системные требования

      Для выполнения настольного приложения необходимы:

    • операционная система MS Windows XP/Vista/7;
    • наличие браузера Internet Explorer 6.0 или выше;
    • наличие сервера Apache;
    1. Web-приложение на базе WPF и Web-сервисов ASP.NET
        1. Программные средства разработки приложения

     Данное  приложение состоит из двух частей: клиентского приложения WPF и 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-сервис, обеспечивающий функциональность клиентского приложения, мы можем из данного приложения вызывать эту службу.

        1. Логическое проектирование приложения

     Создадим  web-сервис Service, который будет осуществлять расчет площади треугольника по методу Монте-Карло. Web-сервис Service реализуется с помощью класса Service. Класс Service наследуется от класса System.Web.Services.WebService. На рис. 9. представлена UML диаграмма класса Service

Рис. 9. Диаграмма класса web-сервиса

     Методы  Web-сервиса Service:

    • int f1(double bx, double by, double cy, double cx,double ex, double ey, int n, double xmax, double xmin) – данный метод в качестве аргументов принимает число точек, генерируемых случайным образом, необходимых при вычислении площади треугольника методом Монте-Карло, в каждом опыте, а также координаты вершин треугольника. Метод будет возвращать количество попавших точек в область треугольника;
    • double pogr(double s, double s1) – данный метод в качестве аргументов принимает, математическую площадь треугольника и площадь треугольника, посчитанную методом Монте-Карло. Возвращает погрешность в процентах;
    • double smat(double ax, double ay, double by, double bx, double cx, double cy) – данный метод в качестве аргументов принимает координаты вершин треугольника. Возвращает значение площади полученное математически;
    • double sras(double p, double a, double s) – данный метод в качестве аргументов принимает значение площади прямоугольника, описывающего треугольник,  и количество попавших точек в область треугольника. Возвращает значение площади треугольника, посчитанной с помощью метода Монте-Карло.

Информация о работе Технологии программирования