Автор работы: Пользователь скрыл имя, 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
Прокси-класс создается с помощью встроенного инструментария Visual Studio, поэтому просмотреть его код будет невозможно, т.к. он генерируется позже, во время компиляции. В Visual Studio прокси-класс создается путем добавления в проект клиента соответствующей Web-ссылки. Web-ссылки похожи на обычные ссылки, но вместо того, чтобы указывать на блоки с помощью обычных типов данных .NET, они указывают на URL-адрес Web-службы с помощью WSDL-контракта. При создании Web-ссылки используют WSDL-контракт и ту информацию, которая существует на момент, когда они добавляются. Заметим, что отличие от локальных компонентов, Web-ссылки не обновляются автоматически при перекомпиляции приложения.
Создадим клиентское приложение, которое будет обращаться к описанному ранее web-сервису. Для этого добавим в решение новый проект – WPF. При этом создадим web-ссылку на web-метод.
Особенностью данного приложения является то, что не само приложение вычисляет площадь и дополнительные параметры. Оно лишь осуществляет запрос к web-сервису, который по заданным координатам рассчитывает площадь. Непосредственно перед запросом необходимо создать прокси - класс.
В клиентской части приложения был определен класс MainWindow, который содержит поля, хранящие значения координат, и методы – обработчики событий на форме.
На рис. 10. представлена UML диаграмма класса MainWindow.
Рис. 10. Диаграмма класса MainWindow
Класс MainWindow содержит следующие методы и поля:
После создания клиентского приложения ему необходимо добавить прокси-класс для доступа к web-сервису. Прокси-класс – это класс, созданный из файлаWSDL Web-службы, позволяющий клиенту вызывать методы Web-службы по Интернету. Клиенту не обязательно просматривать прокси-класс или выполнять с ним какие-либо операции.
После тестирования работы Web-службы, мы можем добавить в клиентское приложение ссылку на Web-службу, т.е. создать прокси-класс.
Существуют два способа создания прокси-класса в .NET:
Оба эти подхода, по сути, дают один и тот же результат, поскольку они предполагают использование одних и тех же классов в .NET Framework для выполнения фактической работы. Отличием подхода, предполагающего использование утилиты wsdl.exe, от подхода, предполагающего использование функции для добавления Web-ссылок в приложение ASP.NET, является то, что в случае применения функции для добавления Web-ссылок увидеть фактический код прокси-класса будет невозможно (потому что он генерируется позже, во время компиляции). Это ограничение не распространяется на клиентов других типов, например, приложений Windows Form или консольного типа. Они не используют модель компиляции ASP.NET, поэтому код прокси-класса добавляется прямо в проект.
Для работы третьего приложения требуется наличие следующих программных пакетов:
Приложение предназначено для вычисления площади треугольника методом Монте-Карло. Приложение состоит из двух частей (клиентской и серверной) и реализовано на языке программирования высокого уровня C#. При реализации были использованы принципы объектно-ориентированного программирования.
Для обеспечения работоспособности приложения требуется выполнить установку IIS-сервера и создать виртуальный каталог, в который необходимо поместить работающее приложение.
Установка и настройка сервера IIS.
IIS обычно входит в дистрибутивы операционных систем MS Windows 2000/XP. Он устанавливается либо в процессе установки этих операционных систем, либо позже, во время их эксплуатации (запускается команда добавления новых компонентов операционной системы).
Создание виртуального каталога и публикация web-сервиса:
Для того чтобы опубликовать web-сервис на сервере IIS необходимо выполнить следующую последовательность действий:
Имя для виртуального каталога лучше выбирать осмысленно. В качестве имени рекомендуется ввести Service.
Клиентское приложение дополнительной настройки не требует.
Проверка
работоспособности программы
Приложение предназначено для вычисления площади треугольника методом Монте-Карло. Приложение состоит из двух частей (клиентской и серверной) и реализовано на языке программирования высокого уровня C#. При реализации были использованы принципы объектно-ориентированного программирования.
Данное приложение состоит из двух частей (клиентской и серверной). В клиентской части реализован интерфейс пользователя MS Windows. Серверным приложением является Web-служба XML.
В состав проекта клиентского приложения ASP.NET входят следующие файлы:
MainWindow.xml – описывает интерфейс программы;
MainWindow.xml.cs – содержит обработчики событий, вызываемые пользователем действиями на клиентском приложении;
Reference.cs – содержит прокси-класс web-сервиса;
Reference.map – содержит ссылки на файлы с расширениями .disco и .wsdl;
Service.disco – содержит ссылки и адреса на механизмы, используемые для доступа к web-сервису;
Service.wsdl – описание web-сервиса.
В проект включены следующие пространства имен:
System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
System.Collections – пространство имен в котором содержится большое количество встроенных типов, таких как массив, очередь, стек и др. Обладает широкими возможностями для работы со своими встроенными типами, что позволяет наиболее эффективно ими управлять.
System.Windows.Forms – пространство имен содержит классы для создания приложений Windows, которые позволяют наиболее эффективно использовать расширенные возможности пользовательского интерфейса, доступные в операционной системе Microsoft Windows.
System.Drawing – пространство имен обеспечивает доступ к GDI + основным инструментариям графики. Предоставляет методы для рисования с устройством отображения классов, таких как прямоугольник и точка инкапсуляции GDI + примитивов.
Проект web-сервиса содержит следующие файлы:
Service.asmx – точка входа в web-сервис;
Service.cs – содержит основной код (реализацию) web-сервиса;
web.config – содержит настройки web-сервиса.
В проекты включены следующие пространства имен:
System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
System.Web – пространство имен, осуществляет поддержку классов и интерфейсов, которые обеспечивают взаимодействие между Web-обозревателем и сервером. Данное пространство имен включает класс HttpRequest, предоставляющий развернутые сведения о текущем HTTP-запросе, класс HttpResponse, управляющий HTTP-выводом данных для клиента, и класс HttpServerUtility, с помощью которого можно получить доступ к серверным служебным программам и процессам. Также пространство имен System.Web содержит классы для работы с файлами Cookie, передачи файлов, получения сведений об исключениях и управления кэшем вывода;
System.Web.Services – пространство имен содержит классы, позволяющие создавать Web-службы XML с помощью ASP.NET и клиентов Web-служб XML. Web-службы XML представляют собой приложения, обеспечивающие возможность обмена сообщениями в слабосвязанной среде с помощью стандартных протоколов, таких как HTTP, XML, XSD, SOAP и WSDL. Web-службы XML делают возможным создание в неоднородной внутрифирменной или межфирменной среде модульных приложений, совместимых с широким диапазоном реализаций, платформ и устройств. Сообщения XML на базе протокола SOAP, используемые этими приложениями, могут содержать четко определенные (структурированные или типизированные) или свободно определенные с помощью произвольного содержимого XML части. Способность этих сообщений к дальнейшему развитию без нарушения протокола является основой гибкости и надежности Web-служб XML как структурного элемента будущей Web-сети;
System.Drawing – пространство имен обеспечивает доступ к GDI + основным инструментариям графики. Предоставляет методы для рисования с устройством отображения классов, таких как прямоугольник и точка инкапсуляции GDI + примитивов;