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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать документ)

Файл Program.fs 69

 

        1. Введение

     В настоящее время разработка программного обеспечения ведется в рамках корпоративных сетей ЭВМ, среди  которых все большее распространение получают Интернет сети. Для работы в таких сетях используется совершенно новый вид программных продуктов - Web приложения, в которых тем или иным способом реализуются клиентская и серверная активности. Появилась и объектно-ориентированная платформа .NET фирмы Microsoft с удобной средой разработки Web приложений - MS Visual Studio .NET.

     Известно, что серверы Web хранят информацию в виде текстовых файлов, называемых также страницами сервера Web. Фактически, страница Web представляют собой некоторое связующее звено между объектами различных типов. Их проектируют с применением специального языка разметки гипертекстов Hyper Text Markup Language, или сокращенно - HTML.

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

     Существуют  различные способы реализации серверной тивности (способности серверных страниц принимать и сохранять передаваемые клиентом данные, выполнять вычисления с использованием введенных данных, работать с базой данных и т. д.). Традиционный (классический) способ создания активных серверных страниц (Active Server Pages, ASP) заключается в добавлении скриптов на языках JavaScript и VBScript в HTML код.

     Perl (Practical Extraction and Report  Language  )  является переносимым,  интерпретируемым языком,  идеально  приспособленным для многочисленных приложений по обработке текста. Perl поддерживает структурированные программные конструкции,  как и большинство языков программирования высокого уровня, и предлагает богатство встроенных возможностей (удобен для решения задач администрирования Web-сервисов, электронной почты  и других систем).

     Современные технологии, такие как ASP.NET, .NET Remouting, AJAX, Java и многие другие позволяют создавать активные серверные страницы практически без скриптов, а код таких страниц, написанный на объектно-ориентированных языках C# и Java,  хранится в двоичном (откомпилированном) виде. При этом автоматизируется процесс создания кода страниц и значительно упрощается его отладка.

     Windows Presentation Foundation (WPF, кодовое название  — Avalon) — графическая (презентационная)  подсистема в составе .NET Framework (начиная с версии 3.0), имеющая  прямое отношение к XAML. WPF вместе  с .NET Framework 3.0 предустановлена в  Windows Vista, а также доступна для  установки в Windows XP SP2 и Windows Server 2003.

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

 

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

      При выполнении курсовой работы необходимо создать три приложения и сравнить по вычислительной эффективности. Все приложения решают одну задачу - приближенного вычисления площади треугольника методом Монте-Карло.

      В соответствии с вариантом №9 предлагается реализовать следующие приложения:

    • настольное приложение на языке C# платформы .NET (консольный интерфейс);
    • Web-приложение на базе скриптового языка Perl;
    • Web приложение с компилируемым кодом и объектно-ориентированной реализацией вычислительной функциональности (с использованием Web сервисов XML на языке C# с использованием WPF).

     Данные  приложения вычисляют площадь треугольника bce (рис. 1) методом Монте-Карло. Исходными данные являются координаты точек треугольника bce. Точка e находится между точек a и d 

Рис. 1. Треугольники abc,ebc,bcd.

     Вершина e треугольника ebc может находиться в пяти различных положениях

    • ;
    • ;
    • ;
 

     Площадь треугольника вычисляется (в каждом приложении) для соответственно, где N – количество точек, генерируемых для вычислении площади методом Монте-Карло. При выполнении каждого вычисления также определяется площадь, подсчитанная математическим методом, относительная погрешность вычисления площади (в процентах), его длительность (в миллисекундах), количество точек попавших в треугольник.

         Задачами курсовой работы являются:

    • приобретение навыков решения вычислительных задач на сервере;
    • практическое освоение современных Web технологий, использующих как скрипты, так и объектно-ориентированные языки программирования;
    • практическое овладение методами и средствами создания клиента WPF и Web сервисов XML;
    • сравнительный анализ вычислительной эффективности интерпретируемых и компилируемых программ;
    • приобретение практических навыков оформления и выпуска документации в соответствии с ГОСТ.
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  1. Разработка  технического задания
        1. Анализ задачи проектирования 

     Требуется разработать программу, позволяющую пользователю вычислять площадь треугольника (в данном варианте bce) по методу Монте-Карло. Программа должна позволять пользователю:

    • ввести координаты вершин треугольника и произвести по ним расчет;
    • выбрать тестовый режим, и расчет производится по установленным по умолчанию координатам;
    • произвести повторный расчет по введенным координатам или координатам по умолчанию;
    • выйти из программы.

   На  рис. 2 изображена  диаграмма вариантов использования приложений.

Рис. 2. Диаграмма вариантов использования приложений 

     Из  анализа диаграммы видно, что субъект “пользователь” может выполнять одно из трех действий. Данные действия представляются виде потоков событий (основной и альтернативный).

  1. Основной поток.

     Функция варианта использования начинается c момента входа в программу. На выбор предлагается три действия: «Ввод координат», «Рассчитать», «Выход».

        При выборе действия «ввод координат» предлагает пользователю выбрать «ручной ввод» или «примеры». При выборе действия «ручной ввод» пользователю предлагается ввести координаты с клавиатуры, после ввода координат программа совершает проверку введенных данных. При выборе действия «контрольные примеры» (выбора одного из 5-ти контрольных примеров) осуществляется расчет по установленным по умолчанию координатам.

      При выборе действия «рассчитать» осуществляется  расчет результатов по введенным координатам. 

     При выборе действия «выход» осуществляется выход из приложения.

  1. Альтернативный поток.

     Неверный  ввод координат: введены неверные координаты. В данном случае субъекту предоставляется возможность повторить ввод или завершить вариант использования.

        1. Технические требования

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

      Приложение 1:

    • модель: вычисление площади треугольника;
    • метод: Монте – Карло;
    • интерфейс: консоль;
    • язык: С#;
    • результат выполнения приложения: таблица с вычисленными параметрами.

      Приложение 2:

    • модель:  вычисление площади треугольника;
    • метод:  Монте – Карло;
    • язык скрипта – Perl;
    • результат выполнения приложения: таблица с вычисленными параметрами.

      Приложение 3:

      • модель: вычисление площади треугольника;
      • метод: Монте – Карло;
      • язык: C#;
      • тип клиента – WPF;
      • тип веб-сервиса: ASync;
    • результат выполнения приложения: таблица с вычисленными параметрами.
     
     
     
     
     
  1. Алгоритм  решения задачи
        1. Метод Монте-Карло

      Для вычисления площади треугольника bce (см. рис.1) методом Монте-Карло необходимо вначале вычислить площадь прямоугольника, описывающего треугольник. После этого N раз происходит генерация двух случайных чисел (они определяют координаты точки x и y, находящейся внутри прямоугольника). Затем выполняется проверка, попала ли точка в область треугольника или нет.

      После всех генераций площадь треугольника определяется по формуле:

,

где S – площадь прямоугольника,

М – количество попавших точек,

N – количество сгенерированных точек.

      Отметим, что найденная таким образом  площадь будит иметь определенную погрешность, которая зависит от величины N. Для ее вычисления используется площадь треугольника подсчитанная математическим путем.

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

      Попадание точки определяется через  уравнения прямых be и ce. Точка P(x,y) попадает в треугольник bce (рис. 3). Точка e лежит между точек a и d. 
 

     Рис. 3. Определение попадания точки внутрь треугольника ebc

      Удобнее всего определять попала ли точка  в область треугольника, путем  выражения переменной x через y, так как при смене положения точки формула для y от x будет меняться в зависимости для случая, а для x нет.

     Математически описание этого процесса выглядит так. Прямая задается уравнением:

.

     Подставляя  координаты заданных точек, мы можем рассчитать коэффициенты прямых и тем самым получить их уравнения. Коэффициенты вычисляются по формулам: 
 
 
 

     Таким образом, мы получили уравнения прямых be и ce:    
 

     Затем выразим из полученных уравнений  переменную : 
 

     Затем подставляя в эти уравнения значения сгенерированных точек, можно определить, попала точка в треугольник или нет.  
 

где - значение функции в сгенерированной точке.

     Если , то точка попала в треугольник, в противном случае  - нет.

 

  1. Настольное консольное приложение
        1. Среда разработки MS Visual Studio 2010

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