Приложение предназначено для вычисления площади четырехугольника методом Монте-Карло. Приложение состоит из двух частей (клиентской и серверной) и реализовано на языке программирования высокого уровня C#. Серверная часть реализована на чистом C#, в то время, как клиентское приложение использует технологию WPF.
Структура приложения
Данное приложение состоит из двух частей (клиентской и серверной). В клиентской части реализован интерфейс пользователя с помощью технологии WPF. Серверным приложением является Web-служба XML технологии ASP.NET.
Клиентское приложение.
В состав проекта клиентского приложения ASP.NET входят следующие файлы:
MainWindow.xaml – файл, содержащий информацию о контролах и разметке этих контролов на языке xaml;
MainWindow.xaml.cs – Файл, в котором содержится сама логика программы(алгоритм метода Монте-Карло, обработчики событий, и т.д.)
Reference.cs – содержит прокси-класс web-сервиса;
Reference.map – содержит ссылки на файлы с расширениями.disco и.wsdl;
Пример использования программы ToupView
Service.disco – содержит ссылки и адреса на механизмы, используемые для доступа к web-сервису;
Service.wsdl – описание web-сервиса.
В проект настольного приложения включены следующие пространства имен:
System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
System.Drawing – пространство имен обеспечивает доступ к GDI + основным инструментариям графики. Предоставляет методы для рисования с устройством отображения классов, таких как прямоугольник и точка инкапсуляции GDI + примитивов.
System.Collections – пространство имен в котором содержится большое количество встроенных типов, таких как массив, очередь, стек и др. Обладает широкими возможностями для работы со своими встроенными типами, что позволяет наиболее эффективно ими управлять.
Серверное приложение (web-сервис).
Проект web-сервиса содержит следующие файлы:
Service.asmx – точка входа в web-сервис;
Service.cs – содержит основной код (реализацию) web-сервиса;
web.config – содержит настройки web-сервиса.
Руководство пользователя
Назначение приложения
Приложение предназначено для вычисления площади четырехугольника методом Монте-Карло.
Условия выполнения приложения
Для успешной работы программы необходимо иметь компьютер соответствующим системным требованиям (см. пункт «6.5 Системные требования»). Наличие исполняемого модуля P3_WPF.exe, опубликованный и корректно работающий на локальной машине web-сервис на сервере IIS.
Выполнение приложения
Excel. Функции ЕСЛИ; И; ИЛИ +Примеры использования
Для выполнения приложения необходимо выполнить следующие действия:
· запустить исполняемый модуль программы;
· в появившемся окне MS Windows ввести координаты четырехугольника, по которым будет производиться расчет;
· в появившемся окне программы ввести координаты четырехугольника, либо выбрать вариант «контрольный пример», который автоматически внесет данные, по которым будет производиться расчет;
· нажать на кнопку «Рассчитать» и дождаться результатов работы программы (результат работы программы представлен на рис.);
· выход из программы осуществляется посредством закрытия окна приложения.
Сообщения оператору
Если пользователь в текстовом поле ввода координат введет недопустимый символ, то ему будет показано сообщение-подсказка об ошибке и о причинах ее возникновения. Что бы устранить данную ошибку необходимо просто ввести корректное значение координаты или нажать на кнопку «Очистить», для обнуления введенных данных.
Если пользователь нажал на кнопку «Рассчитать», но при этому ввел значения координат не удовлетворяющие описанию заданного четырехугольника, то на экране компьютера будет отображено предупреждение с пояснением причины возникновения ошибки. Для того что бы устранить данную ошибку необходимо вновь корректно задать координаты или нажать на одну из кнопок «контрольных примеров».
Тестирование приложения
Результаты тестирования представлены на рис. 15
Анализ вычислительной эффективности приложений
Исследование вычислительной сложности алгоритма производится путем определения зависимости времени вычисления площади четырехугольника от количества генерируемых точек для метода Монте-Карло. В результате выполнения данной курсовой работы были разработаны три приложения (настольное приложение, приложения на базе скриптов haxe/PHP и на базе ASP.NET), которые выполняют одну и ту же задачу (вычисление площади четырехугольника методом Монте-Карло).
Тестирование проводилось на следующей машине:
· операционная система Windows 7 Ultimate x64
· частота процессора 2.5 ГГц (процессор Intel core i5)
· объем оперативной памяти 4096 MB
Для сравнения вычислительной эффективности этих приложений были использованы одинаковые входные данные (координаты вершин четырехугольника, площадь которого находилась, и количество генерируемых точек для метода Монте-Карло). В каждом приложении выдавалось время вычислений в каждом опыте. Результаты представлены в таблице.
Таблица. Сравнение вычислительной эффективности приложений
Количество точек | Время выполнения приложения, мс | |
Настольное приложение | Приложение на базе скриптов | Приложение на базе ASP.NET |
Из таблицы видно, что web-приложение на базе ASP.NET и настольное приложение имеют приблизительно одинаковый результат по времени. Но если учитывать то, что web-приложение посылает поочередно на сервер 5 запросов и поочередно запускаются 5 web-сервисов, и то время, которое тратится web-сервисом на сериализацию и десириализацию SOAP-сообщений, можно утверждать что web-сервис работает быстрее.
Самым медленным по времени выполнения является web-приложение на базе haxe/PHP. Это связано с тем, что при выполнении данного приложения оно не компилируется, а интерпретируется, т.к. написано на скриптовом языке. Это означает, что исходный текст не компилируется а интерпретируется, обрабатывая исходный код построчно. Такой алгоритм и объясняет низкую скорость обработки.
Заключение
В ходе работы было разработано настольное приложение, приложение на базе технологии ASP и приложение на базе технологии ASP.NET, решающие одну и ту же задачу приближенного вычисления площади четырехугольника методом Монте-Карло. По полученным результатам была исследована вычислительная эффективность различных технологий программирования.
В результате выполнении данной курсовой работы были закреплены знания по курсу «Технологии программирования» и приобретены навыки клиент-серверной реализации прикладной задачи (задачи вычисления площади геометрической фигуры методом Монте-Карло) в виде Web приложения с использованием Web сервера IIS и Web сервисов XML, технологий ASP, ASP.NET, WPF, языков C#, haxe, PHP, HTML, а также различных инструментальных систем и библиотек, автоматизирующих проектирование и программирование создаваемого приложения.
Приложения
Листинг приложения на базе WPF
Файл MainWindow.xaml
Источник: infopedia.su
Руководство программиста
Программа предназначена для поиска минимума и максимума функции на заданном интервале. Используется для функций вида с максимальной степенью х, равной 5.
Процессор Intel Pentium II.
Наличие не менее 16Mб ОЗУ.
Наличие не менее 1Мб свободного дискового пространства.
SVGA — графический адаптер.
Минимальный набор периферийного оборудования.
Программное обеспечение, необходимое для функционирования программы:
Операционная среда Windows 95/98/Me/2k/XP
Microsoft Visual Studio 2005
Характеристики программы
Для выполнения программы требуется сравнительно небольшой промежуток времени.
В программе присутствует проверка введенных данных, что позволяет предопределить возможные ошибки и оповестить об этом пользователя
Обращение к программе
Для начала работы программы необходимо запустить файл dichotomy.exe
Входные и выходные данные
Входные данные:
1. Коэффициенты функции (a0,а1,а2,a3,а4,а5) — действительные числа
2. Интервал поиска — действительные числа
3. Точность — пользователь может указать точность большую 0,000001
Выходные данные:
Значение максимума и минимума.
Сообщения
Сообщения, выводимые пользователю:
(1) Введен неверный интервал!
— левая граница больше правой
— левая граница равна правой
(2) Введена неверная точность!
— Введена неверная точность
Описание контрольного примера
В качестве контрольного примера рассмотрим работу программы с функцией f (x) = 2 + 3 — 2 + 4+ 8
Интервал поиска: [-6; 7]
Результат обработки контрольного примера (Рис.1)
Проверим правильность расчетов:
Минимум функции (Рис.2)
Таким образом, графически проверена правильность вычислений.
Источник: studbooks.net
3 Руководство системного программиста
Программное обеспечение должна обеспечивать ввод, хранение и выдачу информации:
— о покупках растений;
— о растениях;
Температура окружающего воздуха должна находиться в пределах от 10 до 30 градусов по Цельсию.
Относительная влажность воздуха должно находиться в пределах 30-60%.
Программное обеспечение разрабатывается для персонального компьютера IBM PC с процессором не ниже Pentium-120 со следующими характеристиками:
— объем ОЗУ не менее 16 Mb;
— графический адаптер SVGA;
— манипулятор типа «мышь» и «клавиатура».
ЭВМ должна работать под управлением операционной системы не ниже Windows 98.
Требование информационной совместимости должно быть обеспечено работой с файлами сбора информации о мониторинге определенной структуры в качестве входной и выходной информации.
3.2. Структура программы
Данная программа состоит их файлов с расширениями *.dsw, *.dsp, *.h,*.cpp, *.txt
Файлы расширения *.dsw и *.dsp являются файлами проекта. Это Station.dsw и Station.dsp
Файлы расширения *.h являются классами. Это CAutobus.h, CRabotnic.h, CVoditel.h Класс CRabotnic.h является родительским классом для класса CVoditel.h.
В файлах расширения *.cpp записан программный код программы, описание программы. Это CAutobus.cpp, CRabotnic.cpp, CVoditel.cpp, Station.cpp
В файлах расширения *.txt записаны входные и выходные данные программы. Это autobus.txt, rabotnic.txt, voditel. txt
3.3. Настройка программы
Настройка данной программы не требуется.
3.4. Дополнительные возможности
Программа не имеет дополнительных функций.
3.2 Характеристика программы
Данное программное обеспечение работает в консольном режиме и поддерживает работу с клавиатурой. Информация о покупках, растениях и сорте хранится в отдельных выходных файлах. Структура выходного файла разработана с учетом сохранения всех первичных параметров и моментов их измерений. В данной программе имеется возможность считывать нужную информацию непосредственно из соответствующего файла.
Структура программы
Программа состоит из 3-х классов (Cbuy, Crastenie,Csort) и 12 основных функций (которые располагаются в buy.cpp). Класс Crastenie.h является родительским классом для класса Csort.h.
3.4.Проверка работоспособности программы
Для каждого отдельного пункта и подпункта меню было выполнено несколько раз испытание на правильное функционирование. В ходе испытаний ошибок или сбоев найдено не было.
Руководство оператора
В данной программе реализованы следующие возможности:
— отчет о продаже растений;
— список имеющихся растений;
— список имеющихся семян;
— список имеющихся семян;
— сообщение о характеристиках выбранных растений;
— сообщение о технологии посадки выбранных растений;
— указания по выращиванию выбранных растений;
— дата выведения сорта выбранного растения;
— цена выбранного растения;
— морозоустойчиво ли выбранное растение;
Для выбора нужной функции необходимо следовать подсказкам главного и побочных меню. Например, если нам надо добавить покупку, то необходимо зайти в программу, затем ввести клавишу «1» и нажать клавишу «Enter». У нас на экране появится сообщение о необходимости ввести название файла, который мы хотим занести в вектор (например, buy.txt). Нажимаем «Enter» и возвращаемся в основное меню. В программе можно работать, опираясь на ее подсказки.
При запуске программы вызывается функция glav_meny() и происходит загрузка информации из файлов (buy.txt, rastenie.txt, sort.txt) в вектора(buy, rastenie, sort). И у нас на экране появляется главное меню программы:
(Главное меню программы)
Далее у пользователя программы появляется возможность выбора любого из возможных пунктов меню. При выборе 1 пункта главного меню, появляется возможность внести из любого файла в вектор buy.
(Функция 1 — Добавление файла в вектор)
Аналогичным образом ведут себя Функции 5 и 9. За исключением того, что при нажатии Функции 5 мы записываем в вектор rastenie, а при нажатии Функции 9 в вектор sort.
После чего мы возвращаемся в главное меню.
П ри выборе 2 пункта главного меню вызывается функция Записи из вектора в файл. и на экране появляется:
(Функция 2 – Запись из вектора в файл)
Аналогичным образом ведут себя Функции 6 и 10. За исключением того, что при нажатии Функции 6, мы записываем из вектора rastenie в файл rastenie.txt, а при нажатии Функции 10 из вектора sort в файл sort.txt.
После чего мы возвращаемся в главное меню.
П ри выборе 3 пункта главного меню вызывается функцию Вывод содержимого вектора buy на экран:
(Функция 3 – Вывод на экран содержимого вектора)
А налогичным образом ведут себя Функции 7 и 11. За исключением того, что при нажатии Функции 7, мы выводим на экран из вектора rastenie, а при нажатии Функции 11 из вектора sort.
При выборе 4 пункта главного меню вызывается функция Записи в вектор buy с новым содержимым:
Вводим новую покупку. После чего появляется подменю с тремя функциями.
1. Ввести новое растение
2. Выбрать растение из списка имеющихся.
0. Вернуться в главное меню
При выборе 1 пункта подменю программа выводится ___________просьба ввести новое __________растение.
________При выборе 2 ____________пункта подменю программа выводится просьба ввести номер имеющегося растения (нумерация начинается с нуля).
При выборе 0 пункта подменю программа возвращает нас в главное меню.
При выборе 8 пункта главного меню вызывается функция Записи в вектор rastenie с новым содержимым:
В водим новое растение.
Аналогичным образом ведет себя Функции 12. За исключением того, что при нажатии Функции 12, мы вводим новый сорт.
При выборе 0 пункта главного меню программа заканчивает свою работу.
В ходе данного курсового проекта я получила основные знания и некоторые навыки в составлении алгоритмов и написании программ на языке программирования C++. В этой работе было выполнено техническое задание на языке программирования C++. Я проверила приобретенные навыки и умения самостоятельного составления программ на языке программирования C++ для выполнения программного обеспечения института селекции растений. Я считаю, что язык программирования C++ — это простое, достаточно удобное и мощное средство разработки самых разных приложений – от создания простых программ, предназначенных для решения несложных вычислительных задач, до разработки сложнейших реляционных систем управления базами данных — обладающее весьма широким спектром возможностей.
Источник: studfile.net