
- •Содержание
- •Введение
- •1 Теоретическая часть
- •Постановка задачи
- •1.2 Анализ предметной области
- •Требования к программному продукту
- •1.4. Средства реализации
- •1.5. Сравнительный анализ имеющихся средств
- •1.6. Критерии выбора
- •1.7. Выбор инструментальных средств
- •2 Практическая часть.
- •2.1 Моделирование предметной области
- •2.2 Технология создания программного продукта
- •2.3. Техническая реализация программного продукта, алгоритмы и коды
- •2.4. Внедрение и апробация программного продукта
- •2.5. Перспективы развития
- •3 Охрана труда
- •4 Инструкция пользователя
- •5 Организационно-экономическая часть
- •5.1 Расчёт затрат на внедрение ресурса
- •5.1.1 Расчёт себестоимости ресурса
- •5.1.2 Расчёт статьи «Материалы и комплектующие изделия»
- •5.1.3 Расчёт фонда заработной платы
- •5.1.4 Расчёт затрат на содержание и эксплуатацию оборудования
- •5.1.5 Расчёт накладных расходов
- •5.2 Экономическая эффективность разработки
- •Заключение
- •Список использованных источников (литературы)
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
2.2 Технология создания программного продукта
Система тестирования реализована на веб-фреймворке Zend Framework.
Zend Framework – это каркас веб-приложения разработанный компанией Zend.
Framework – это простая концептуальная структура, используемая для решения сложной проблемной задачи. В контексте программирования framework - это каркас программной системы, который может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта.
В основе всего приложения лежит Zend_Application который представляет собой средство для начальной загрузки, предоставляющее используемые ресурсы, общие и связанные с модулями загрузочные классы, проверку зависимостей [14].
Zend_Application состоит из трех областей [12]:
Zend_Application: загружает окружение PHP, включая include_paths и автозагрузку (autoloading), инстанцирует запрошенный загрузочный класс.
Zend_Application_Bootstrap: предоставляет интерфейсы для загрузочных классов. Zend_Application_Bootstrap_Bootstrap предоставляет общий функционал, удовлетворяющий большинство нужд по начальной загрузке, включающие в себя алгоритмы проверки зависимостей и возможность загрузки ресурсов по требованию.
Zend_Application_Resource предоставляет интерфейс для стандартных ресурсов загрузки, которые могут быть загружены по требованию через экземпляр загрузочного класса, и несколько реализаций ресурсов, используемых по умолчанию.
Для разграничение прав доступа в системе, создание ролей и ресурсов использовался класс Zend_Acl, он представляет собой реализацию списка прав доступа (ACL) и управления привилегиями. Приложение может использовать ACL для контроля доступа одних объектов к другим - защищенным.
Данный класс позволяет создавать ресурсы и роли. Ресурс - объект, доступ к которому контролируется. Роль - объект, который может запрашивать доступ к ресурсу.
Zend_Acl предоставляет древовидную структуру, в которую могут добавляться различные ресурсы. В этой структуре они могут быть организованы от общих (корень дерева) к специфическим (листья дерева). При запросах к определенным ресурсам в иерархии будет выполнен автоматический поиск правил, относящихся к ресурсам-предкам, учитывающий простое наследование правил. Однако, могут потребоваться исключения из этого правил, в Zend_Acl это достигается путем закрепления исключений за каждым зданием, требующим исключений из правила. Ресурс может наследовать только от одного родительского ресурса, однако сам родительский ресурс может, в свою очередь, наследовать от другого родительского ресурса.
Cтатический контент и основной интерфейс системы строится с помощью компонента Zend_Form, он создание форм, интерфейсов и управление ими в веб-приложениях.
Zend_Form выполняет следующие задачи:
фильтрация и проверка корректности данных;
упорядочение элементов;
визуализацию элементов;
группирование элементов и форм;
конфигурирование элементов и форм.
Для работы с базой данных использовался класс Zend_Db.
Zend_Db предоставляет интерфейс к базам данных в Zend Framework. Zend_Db_Adapter является базовым классом, который должен использоваться для подключения приложения к СУБД. Существуют различные классы адаптеров для наиболее часто используемых СУРБД.
Адаптеры Zend_Db создают мост между общим интерфейсом и расширениями PHP от конкретных поставщиков для того, чтобы можно было единовременно писать приложения на PHP и затем переключаться между различными СУРБД с наименьшими усилиями.
Для реализации маршрутизации в системе тестирования был унаследован класс Zend_Controller_Router.
Маршрутизация - это процесс принятия конечной точки URI (той части URI, которая идет после базового URL) и ее разложения на параметры для определения того, какой контроллер и какое действие этого контроллера должны получить запрос [13].
Zend_Controller_Router_Rewrite спроектирован для того, чтобы обеспечить функциональность, подобную mod_rewrite, с использованием чистого PHP. Он отчасти основан на маршрутизации, используемой в Ruby on Rails и не требует каких-либо предварительных знаний о перезаписи URL веб-сервером.