48580 (588575), страница 5
Текст из файла (страница 5)
Из общедоступных средств разработки приложений, наиболее универсальным и простым в использовании является язык HTML. Он позволяет описывать пользовательский интерфейс стандартным способом, который можно отобразить на широком спектре устройств, в том числе на компьютерах с помощью различных программ и операционных систем.
Для передачи форм в формате HTML и программ на клиентскую сторону используется HTTP сервер, в качестве которого могут выступать программы разных производителей, в том числе свободно распространяемые. В таблице приведены наиболее распространенные программы.
Таблица 2.3 Сравнение HTTP-серверов
Характеристика | Apache | Microsoft IIS | ngnix |
Разработчик | Apache | Microsoft | Игорь Сысоев |
Условия распространения | Свободно | Совместно с MS Windows | Свободно |
Настройка | Конфигурационные файлы | Графический интерфейс | Конфигурационные файлы |
Трудоемкость настройки | Высокая, требуются специальные знания | Средняя | Высокая, требуются специальные знания |
Операционная система | UNIX-подобные | Microsoft Windows | UNIX-подобные |
Как мы видим, Apache и ngnix более универсальны, но требуют более тщательной настройки. В дипломной работе используется веб-сервер Apache, но возможен переход и к другому веб-серверу, если он будет поддерживать используемые технологии.
Для реализации серверной логики используется язык программирования PHP, как универсальный язык, применимый в широком спектре задач. Язык позволяет сохранять информацию в памяти сервера во время работы клиентов с данными и сохранять отчетность на диск по завершении операций.
-
Клиентские программные средства
Для отображения пользовательского интерфейса, организации диалога с пользователем используется веб-браузер. Требования к нему заключаются в поддержке следующих технологий:
-
Javascript
-
CSS
-
XSLT
-
Cookies
Данным требованиям удовлетворяют наиболее популярные веб браузеры, созданные в последнее время, работа программ тестировалась в браузерах Mozilla Firefox версий 2 и 3 и Microsoft Internet Explorer версий 6 и 7.
Javascript — это язык программирования, единственный в настоящее время, который используется в веб-браузерах для программирования действий на HTML страницах. Язык обладает богатыми возможностями, поддерживает работу с объектами и позволяет подключать дополнительные библиотеки, реализующие в готовом виде многие требуемые операции.
При создании форм приложений в формате HTML в составе программного продукта желательно, чтобы эти страницы имели одинаковое оформление элементов управления и отображения информации. В настоящее время для этого разработана технология CSS (Cascading Style Sheets), которая описывает задание общих параметров отображения на уровнях иерархии элементов управления.
Условия задания требуют отображения составленных программой графиков, но у различных веб-браузеров до сих пор нет единой реализации набора процедур для использования возможностей рисования. Наиболее распространенная модель, SVG, работает в большинстве браузеров, но не работает в Microsoft Internet Explorer. Поскольку данный браузер широко используется на практике, то игнорирование его недопустимо. Поэтому применяется специальная библиотека Dojo, которая реализует рисование графиков в любом веб-браузере, используя технологии SVG, VML, Silverlight, когда они доступны.
Также используется библиотека Jquery, облегчающая написание кода работы с элементами управления в окнах программы и выполнение запросов на сервер.
-
Описание практикума
В соответствии с клиент-серверной архитектурой, основу практикума составляет серверная часть, которая хранит и передает клиентской части по требованию составленные программы и модули интерфейса пользователя.
Клиентская часть практикума обеспечивает работу пользовательского интерфейса и позволяет пользователям подключаться к серверной части и выполнять выданное им задание (рис 2.1).
Рисунок 2.1 Клиент-серверная архитектура
Библиотека алгоритмов, использующаяся в практикуме, состоит главным образом из алгоритмов расчета методов оптимизации и алгоритмов построения линий уровня, которые хранятся в библиотеке алгоритмов. Серверная часть использует алгоритмы расчета методов оптимизации для работы методов, а клиентская часть отвечает за рисование линий уровня и использует соответствующие алгоритмы. Общая схема работы алгоритмической части представлена на рис.2.2
Рисунок 2.2.Алгоритмическая часть
По завершении работы пользователя с клиентской частью практикума серверная часть создает протокол работы, который записывается в базу данных протоколов для последующего анализа.
Также в состав практикума входит справочная система, содержащая основные сведения по работе с практикумом.
Общая последовательность операций при работе с практикумом представлен на рис. 2.3
Рисунок 2.3. Функциональная схема практикума
-
Описание серверной части
Серверная часть состоит из набора HTML-страниц программ на языке PHP. HTML-страницы обеспечивают отображение пользовательского интерфейса и справочной системы, а PHP-программы — хранение информации о проводимых работах, произведение математических расчетов и ведение отчетности.
Для работы серверной части необходимо установить ее на HTTP-сервер, поддерживающий выполнение программ на языке PHP версии 4 со следующими дополнительными модулями:
-
XSLT
-
domxml
-
session
PHP Сессии должны быть включены.
Кроме того, для ведения отчетности PHP-программам должен быть разрешен доступ на запись в подпапку reports. Рекомендуется использовать сервер Apache, хотя теоретически возможно использование и других систем.
-
Описание пользовательского интерфейса
Пользовательский интерфейс лабораторного практикума состоит из нескольких экранных форм, последовательно сменяющих друг друга,на которых происходит диалог с пользователем.
Экранные формы передаются на клиентскую часть в формате HTML, поэтому необходимо иметь программу, отображающую HTML формы. Динамическое отображение информации на формах обеспечивается с помощью языка программирования Javascript, поэтому требуется его поддержка. Также программа должна поддерживать следующие технолонии:
-
CSS
-
XSLT
-
XHR
Для начала работы нужно запустить программу-клиент и указать адрес сервера (это может быть автоматизировано). Работа пользоватеся с лабораторным практикумом начинается с окна приветствия (рис 2.4)
Рисунок 2.4. Окно приветствия
За окном приветствия следует окно регистрации(рис 2.5), на котором фиксируются:
-
фамилии и инициалы (допускается более одного выполняющего);
-
учебная группа по маске ##-###;
-
дата и время выполнения;
Регистрационные данные заносятся в память сервера.
Рисунок 2.5. Окно регистрации
Если в окне приветствия выбрать пункт «Помощь», то откроется окно справочной системы.
После ввода сведений о пользователе в окне регистрации, следующее окно служит для выбора типа минимизируемой функции. На странице представлено название функции и ее общий вид. (рис 2.6)
Рисунок 2.6. Окно выбора типа функции
На следующем этапе работы студентов с лабораторным практикумом обеспечивается ввод числовых коэффициентов для выбранной функции и ввод начальной точки, с проверкой на корректность(рис 2.7).
Рисунок 2.7. Окно задания параметров функции
Для квадратичной функции обеспечивается предоставление информации о знакоопределенности матрицы Гессе по критерию Сильвестра
По заданным параметрам задачи строится чертеж, содержащий линию уровня функции, проходящую через начальную точку. Единица масштаба при этом выбирается автоматически, исходя из наибольшего измерения линии уровня. При этом предусмотрена возможность показать масштабную сетку и изменить шаг сетки (рис 2.8).
Рисунок 2.8. Отображение сетки
После задания параметров, нужно нажать кнопку «Методы» На следующих этапах работы лабораторный практикум обеспечивает выбор метода поиска безусловного экстремума и задание параметров счёта: точности и предельного числа итераций, а также специальных параметров для выбранного метода, если таковые требуются (рис.2.9, 2.10).
Рисунок 2.9. Выбор метода оптимизации
Рисунок 2.10. Задание параметров метода
Открываемая на следующем этапе рабочая форма для каждого выбранного метода содержит(рис 2.11):
-
Секцию «Результаты вычислений», включающую:
-
координаты текущей точки последовательности
-
значение функции в ней
-
градиент функции в ней
-
норму градиента в ней
-
Область чертежа, включающую:
-
график линии (линий) уровня
-
траекторию спуска
-
кнопку управления сеткой
-
кнопку управления отображением градиента (рис 2.12)
-
Секцию «Изменяемые параметры», включающую:
-
окно задания шага для вычисления следующей точки (для метода градиентного спуска, Ньютона-Рафсона и Марквардта)
-
окна задания границ отрезка для вычисления оптимального шага (для методов наискорейшего спуска и метода сопряженных градиентов) и кнопку «показать функцию f̃(t) на [a,b]», при нажатии на которую выводится график соответствующей функции (рис 2.13)
-
кнопки задания направления проекции антиградиента и окно задания шага для вычисления следующей точки (для метода покоординатного спуска) (рис 2.14)
-
а также другие параметры (для методов нулевого порядка)
Рисунок 2.11. Основное рабочее окно шага
Рисунок 2.14 Метод покоординатного спуска
На каждой итерации поиска экстремума студент помимо задания параметров вычисления имеет возможность:
-
изменить масштаб чертежа, выбрав количество линий, которые будут показываться
-
просмотреть текущее состояние протокола счёта (временный протокол);
-
обратиться за справочной информацией;
-
получить координаты стационарной точки минимизируемой функции (рис 2.15)
-
воспользоваться калькулятором.
Рисунок 2.15 Отображение стационарной точки
Кроме того, на каждой итерации предусматривается одна попытка возврата к предыдущей итерации для корректировки параметров вычислений.