Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_ТП_Алексеев_v3.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
825.08 Кб
Скачать

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

Результаты тестирования представлены на рис. 7

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

5. Веб-приложение на базе скриптов haXe/PHP

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

Для разработки приложения была использована интегрированная среда разработки FlashDevelop, которая является свободной средой разработки и редактором, написанным на C#, позволяющим создавать Flash/Flex, MTASC или haXe (C++, JavaScript, PHP, Flash, NekoVM) приложения.

Так же интегрированная среда разработки FlashDevelop является одной из альтернатив среды FlashBuilder для разработки веб-приложений (благодаря своей бесплатности и заметно большему быстродействию) хотя и не обладает всеми возможностями последнего. Поддерживает профилирование, отладку Adobe Flex и имеет умное автодополнение при написании кода на языке ActionScript.

5.2 Логическое проектирование

Веб-приложение haXe/PHP является простой с точки зрения взаимодействия пользователя и программы, так как в ней отдельно реализуется интерфейс приложения(.html страница), и отдельно реализовывается страница(.hx), которая потом преобразовывается компилятором haxe в текст файлов на языке PHP и будет выполнять расчет площади Монте-Карло. Особенность языка haxe в том, что это универсальный объектно- ориентированный язык высокого уровня, синтаксис которого напоминает язык Java или C#.

Рисунок 8. Компилятор haXe

Как видно из рисунка, особенностью этого языка является то, что программа, написанная на haxe может компилироваться во множество других различных языков(по умолчанию haxe поддерживает преобразование в php(как в нашем примере), Neko, .Java, swf файлы, но этот список можно значительно расширить, скачивая дополнительные языковые библиотеки с официального сайта, либо с помощью консольной команды haxelib install .

Например, установка библиотеки для компиляции в файлы на языке C++, необходимо ввести следующую команду:

>haxelib install cpp

После этого, при установленном соединении с Интернетом, будет произведено скачивание с официального репозитория haxe, Расположенного по адресу http://lib.haxe.org и последующая установка данной библиотеки.

При создании приложения на haxe, необходимо 1 раз написать исходный код на языке haxe, а потом выбирать, во что его компилировать. В нашем случае выходным языком будет являться PHP. Предположим, что файл исходного кода имеет название Main.hx. Чтобы получить из него PHP код, необходимо сделать следующее:

  • Создать файл с расширением .hxml

  • Занести в него директивы

-cp src //Указание на компиляцию исходных кодов

-php www //Указание выходной папки,куда будут помещены php файлы

-main Main //Точка входа в программу

  • После этого требуется сохранить данный файл, и щелкнуть по нему два раза в проводнике Windows. При установке haXe этот тип файлов автоматически ассоциируется с файлом haxe.exe, который примет этот файл как параметры командной строки, и выполнит его компиляцию. Иными словами, мы создали командный файл, который автоматически выполняет действия, записанные в нем, не требуя их ручного вызова

Если все прошло удачно, и исходный текст программы не содержит ошибок, компилятор создаст директорию www, которая будет являться файлами исходного кода на языке php, которые в дальнейшем требуется поместить в директорию с Web-сервером.

Скажем несколько слов о Web-сервере. В нашем случае использовался Web-сервер Denwer, который распространяется свободно, обладает бесплатной поддержкой, прост в установке и обслуживании, и представляет собой идеальный вариант для новичков. Процесс установки начинается со скачивания дистрибьютива программы с сайта http://www.denwer.ru. После этого выполняется процесс установки. В итоге будет создан виртуальный диск, который будет представлять собой «мини копию» файловой системы LINUX. В комплект Denwer входят уже настроенные исполняемые файлы Web-Сервера Apache, языка PHP версии 5.2, Perl и так далее.

Стандартный набор Денвер включает в себя:

  • Веб-сервер Apache с поддержкой SSI, SSL, mod_rewrite, mod_php

  • Интерпретатор PHP с поддержкой GD, MySQL, SQLite

  • СУБД MySQL с поддержкой транзакций (mysqld-max)

  • Система управления виртуальными хостами, основанная на шаблонах

  • Система управления запуском и завершением

  • Панель phpMyAdmin для администрирования СУБД

  • Ядро интерпретатора Perl без стандартных библиотек (поставляются отдельно)

  • Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др

Структура файловой системы виртуального диска показана на рис. 9

Рис. 9. Файловая система Web-Сервера Denwer.

Не будем подробно расписывать, что представляет из себя каждая конкретная папка, так как легко провести аналогию с системой LINUX. Отметим лишь то, что для развертывания Web-сайта необходимо создать в директории home папку, соответствующую названию нашего сайта, по которому мы хотим вызывать его из браузера. После этого, необходимо поместить полученную директорию www, созданную компилятором haxe в эту папку, и также добавить в нее html файлы и какие –либо другие данные, например рисунки(если это необходимо для реализации Web-сайта).

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

Приложение строится на базе заранее подготовленной html-страницы, содержащей интерфейс взаимодействия с пользователем. Эта страница принимает данные от пользователя, проверяет корректность введенных данных, и отправляет их на обработку PHP-скрипту, который динамически формирует страницу, в зависимости от введенных результатов, содержащую отчет о проведенных экспериментах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]