Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел разработки.docx
Скачиваний:
6
Добавлен:
08.04.2015
Размер:
1.4 Mб
Скачать
      1. Работа со списком пользователей

Диаграмма последовательности при работе со списком пользователей (рис. 32) показывает взаимодействие веб-интерфейса с менеджером конструкторских расчётов при работе со списком пользователей. При работе с пользователем возможны следующие действия:

  • добавление,

  • удаление,

  • редактирование,

Рис. 32. Диаграмма последовательности при работе со списком пользователей.

    1. Технические средства

      1. PHP

PHP (препроцессор гипертекста) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

Для разработки веб-интерфейса выбран язык PHP 5.4, т.к. язык зарекомендовал себя в веб-разработке как язык с самым низким порогом вхождения.

      1. Zend Framework 2

Zend Framework - это свободный каркас на PHP для разработки веб-приложений и веб-сервисов.

Zend старается следовать духу PHP, предоставляет простые интерфейсы и мощную функциональность для разработки приложений. Он предоставляет расширения для построения современных, быстрых и безопасных сайтов.

Основывается на идеях MVC. Разрабатывается компанией Zend.

Помимо MVC-компонентов Zend Framework содержит множество библиотек, полезных для построения приложения. Также есть компоненты для интеграции со сторонними сервисами.

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

      1. Twitter Bootstrap 3

Twitter Bootstrap - свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения.

Bootstrap использует самые современные наработки в области CSS и HTML.

      1. Composer

Composer - это новый и уже достаточно популярный менеджер зависимостей для PHP. Позволяет описать от каких библиотек зависит проект и установить их в автоматическом режиме.

    1. Разработка программного кода интерфейса

      1. Авторизация

На основе введенных данных в форму авторизации, формируется 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;

}

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