- •1 Разработка веб-интерфейса мкр
- •Требования к веб-интерфейсу
- •Проектирование веб-интерфейса
- •Авторизация
- •Настройка сервера
- •Информация о проекте
- •Создание проекта
- •Работа со списком пользователей
- •Технические средства
- •Разработка программного кода интерфейса
- •Авторизация
- •Форма действий пользователя
- •Форма создания проекта
- •Редактирование списка пользователей системы
- •Запрос данных по проекту
- •Отчета по завершенному проекту
- •Финальное тестирование
- •Руководство для пользователя
- •Инсталляция системы
- •Режимы работы
- •Режим «Руководитель проекта»
- •Режим «Проектировщик»
- •Описание веб-интерфейса
- •Выводы по разделу
-
Работа со списком пользователей
Диаграмма последовательности при работе со списком пользователей (рис. 32) показывает взаимодействие веб-интерфейса с менеджером конструкторских расчётов при работе со списком пользователей. При работе с пользователем возможны следующие действия:
-
добавление,
-
удаление,
-
редактирование,
Рис. 32. Диаграмма последовательности при работе со списком пользователей.
-
Технические средства
-
PHP
PHP (препроцессор гипертекста) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Для разработки веб-интерфейса выбран язык PHP 5.4, т.к. язык зарекомендовал себя в веб-разработке как язык с самым низким порогом вхождения.
-
Zend Framework 2
Zend Framework - это свободный каркас на PHP для разработки веб-приложений и веб-сервисов.
Zend старается следовать духу PHP, предоставляет простые интерфейсы и мощную функциональность для разработки приложений. Он предоставляет расширения для построения современных, быстрых и безопасных сайтов.
Основывается на идеях MVC. Разрабатывается компанией Zend.
Помимо MVC-компонентов Zend Framework содержит множество библиотек, полезных для построения приложения. Также есть компоненты для интеграции со сторонними сервисами.
Zend Framework 2 был выбран для организации модульной архитектуры системы, что позволит масштабировать систему, в случае необходимости.
-
Twitter Bootstrap 3
Twitter Bootstrap - свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения.
Bootstrap использует самые современные наработки в области CSS и HTML.
-
Composer
Composer - это новый и уже достаточно популярный менеджер зависимостей для PHP. Позволяет описать от каких библиотек зависит проект и установить их в автоматическом режиме.
-
Разработка программного кода интерфейса
-
Авторизация
-
На основе введенных данных в форму авторизации, формируется XML – файл, включающий такие данные, как логин, пароль. Пароль шифруется симметричным алгоритмом блочного шифрования – AES(Rijndael). XML – файл имеет следующую структуру:
<Authorization>
<Login>1</Login>
<Password>zQnWZXK6mcdf8em1Fja8aA==</Password>
</Authorization>
После чего средствами веб-интерфейса происходит передача данного XML – файла клиенту для последующей обработки. Клиент возвращает результат при успешной работе в виде XML – файла, содержащий такую информацию как Ф. И. О. пользователя, его ID, роль, список проектов, в которых данный пользователь принимает участие. Структура XML – файла:
<Rule>
<FIO_Designer>Иванов И.И.</FIO_Designer>
<ID_Designer>111</ID_Designer>
<UserRule>Designer</UserRule>
<CipherList>
<Cipher>4PE</Cipher>
<Cipher>r11</Cipher>
</CipherList>
</Rule>
Если пользователь проходит авторизацию, то система предоставляет доступ к форме действий в режиме «Руководитель проекта», либо в режиме «Проектировщика» в зависимости от того, какую роль данный пользователь должен играть в данном проекте. Под одним и тем же логином не может быть одновременно «Руководитель проекта» и «Проектировщик».
На основе xml файла Role создается объект User, который записывается в сессию и содержит всю информацию о текущем пользователе. Следующий код описывает процесс десериализации полученного с сервера XML – файла в объект User.
public function read($xml, User $user) {
$xmlArray = $this->convert($xml);
$user->setFio($xmlArray['FIO_Designer']);
$user->setId($xmlArray['ID_Designer']);
$user->setRole($xmlArray['UserRule']);
foreach($xmlArray['CipherList']['Cipher'] as $cipher) {
$user->addCipher($cipher);
}
return $user;
}