Разработка программного обеспечения для генерации статичной версии проекта "Система информационно-аналитической поддержки стратегического планирования и уп

Тип работы:
Отчет
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования и науки Российской Федерации

Пермский национальный исследовательский политехнический университет (ПНИПУ)

ОТЧЕТ ПО ПРЕДДИПЛОМНОЙ ПРАКТИКЕ

Разработка программного обеспечения для генерации статичной версии проекта «Система информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации»

Исполнитель темы

Е.Н. Чесноков

Пермь 2013

Реферат

Отчет с., рис., табл., 3 источника, прил.

генерация статичных веб-страниц, перевод динамических веб-страниц в статичные, преобразование flash-объектов в изображения, flash-объекты, веб-страницы

Объектом исследования являются различные способы преобразования динамичной версии проекта «Системы информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации» в статичную версию.

Цель работы -- разработка программного обеспечения для преобразования «Системы информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации», реализованной на динамичных веб-страницах и использующей Flash-объекты для представления графиков, в систему с веб-интерфейсом, реализованной на статичных веб-страницах и использующих изображения для представления графиков.

В процессе работы проводились экспериментальные исследования различного программного обеспечения, позволяющего делать статичные версии веб-сайтов.

В результате исследования была выявлена непригодность существующих программных продуктов для решения поставленной цели. Вместо готовых решений было разработано собственное программное обеспечение.

Областью применения программы является только проект «Системы информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации». Программа не предназначена для работы с другими системами.

Разработанное программное обеспечение занимает очень важное место в проекте, т.к. без его функционала заказчик бы не принял работу в целом. Это связано с тем, что заказчику необходимо развернуть систему там, где не разрешено использовать динамически генерируемое содержимое.

Содержание

  • Реферат
  • Определения
  • Обозначения и сокращения
  • Введение
  • Основная часть
    • 1. Краткая характеристика предметной области
    • 2. Анализ существующей системы
      • 2.1 Характеристика работы подразделения (цеха, отдела, группы, лаборатории)
      • 2.1 Структура существующей системы
      • 2.3 Диаграммы информационных потоков
      • 2.4 Выводы о необходимости усовершенствования существующей системы
    • 3. Требования к разработке
    • 4. Анализ существующих решений на соответствия требованиям
    • 5. Описание разрабатываемого, модернизируемого или исследуемого алгоритмов вычислительного процесса, системы, устройства
      • 5.1 Спецификация вариантов использования
      • 5.2 Описание модели поведения системы, представленной на диаграммах активности
      • 5.3 Описание модели взаимодействия, представленной на диаграммах последовательности
      • 5.4 Описание используемой структуры базы данных
      • 5.5 Описание логической структуры системы, представленной диаграммы классов проектирования
    • 6. Описание проделанной работы по макетированию, наладке и созданию отдельных узлов в процессе практики
    • 7. Исходные данные для определения экономической целесообразности внедрения системы автоматики
    • 8. Мероприятия по технике безопасности, промышленной санитарии и пожарной безопасности
  • Заключение
  • Список использованных источников
    • Приложение 1
    • Приложение 2
    • Приложение 3
    • Приложение 4
    • Приложение 5
    • Приложение 6
    • Приложение 7 (Техническое задание)
    • Приложение 8
    • Приложение 9

Определения

В настоящем отчете применяют следующие термины с соответствующими определениями:

Adobe Flash (или просто Flash) — мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций

Flash Player — плагин для веб-браузеров, позволяющий воспроизводить мультимедийное содержимое платформы Adobe Flash

PHP - скриптовый язык программирования, применяемый для создания динамических веб-страниц. Аналогичное название имеет интерпретатор для данного языка.

ASP - технология компании Microsoft, позволяющая динамически создавать веб-страницы на стороне сервера.

HTML — стандартный язык разметки документов во Всемирной паутине

CSS — язык описания внешнего вида документа, написанного с использованием языка разметки

Javascript (или просто JS) - прототипно-ориентированный скриптовый язык. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам

MSSQL — система управления базами данных от корпорации Microsoft

UML - унифицированный язык моделирования

JPG — графических формат

FlashExporter - веб-сервис для перевода Flash объекта в изображение формата JPG, разработанный компанией «PROGNOZ»

Обозначения и сокращения

СПМ — Система информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации

ПО — программное обеспечение

ГСПМ — раздел сайта для генерации статичной версии проекта «Система информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации»

АС — автоматизированная система

СУБД — система управления базами данных

ЕСВС — название одной из локальных сетей правительства Российской Федерации

ФСО — Федеральная служба охраны

БД — база данных

Введение

В СПМ веб-страницы динамически генерируются при помощи PHP, а представление данных в виде графиков реализуется на платформе Adobe Flash. В результате для развёртывания системы необходим не только веб-сервер, поддерживающий PHP, но и поддержка веб-браузерами клиентских машин плагина Flash Player.

СПМ планировалось разместить на нескольких серверах в разных сетях. Но в одной из них (сеть ЕСВС), запрещено было использовать ПО, кроме того, что находилось в разрешенном списке. Плагин Flash Player и интерпретатор PHP не входили в данный список, поэтому им потребовалась замена. В списке было большинство программ стандартной сборки Windows Server 2003 и Windows XP.

В состав Windows Server 2003 входит поддержка ASP, но, тем не менее, он не был включен в список разрешенных программ. Поэтому руководством было принято решение отказаться от динамической генерации веб-страниц при помощи PHP и интерактивных графиков на основе Flash Player, в пользу статичных HTML страничек и изображений в формате JPG. Заказчика такое предложение устроило.

Существует много бесплатных программ, которые способны сделать полную копию сайта в виде статичного содержимого, но среди них нет тех, которые могут работать с технологией AJAX. Большинство содержимого веб-системы СПМ подгружается именно по этой технологии. Также ни одна из таких программ не позволяет преобразовывать Flash-объекты в изображения. Ниже приведен список программ, которые проверялись на пригодность для решения данной задачи:

· HTTrack

· Offline Explorer

· Teleport

· WCopier

Более подробное сравнение вышеуказанных программ приведено в разделе «4 Анализ существующих решений на соответствия требованиям».

В итоге подходящей программы, способной выгрузить весь проект так и не нашлось. Ввиду этого было принято решение создать свой генератор статичной версии СПМ.

Отсюда можно сформулировать следующие цель и задачи:

Цель: разработать генератор статичной версии системы СПМ в виде одного из разделов сайта.

Задачи:

1. Придумать способ перевода динамических веб-страниц в статичные и Flash-объектов в изображения

2. Реализовать веб-интерфейс взаимодействия пользователя с генератором

3. Реализовать выбранный способ генерации

1. Краткая характеристика предметной области

СПМ — это автоматизированная система с веб-интерфейсом, которая предоставляет пользователю информацию о текущем положении РФ в различных сферах и направлениях (демографии, оборонно-промышленном комплексе, кадровой политике и т. д.), о тех целях и задачах, которые поставлены правительством для решения разнородных проблем (сокращение уровня детской смертности, повышение профессионализма организаторов и специалистов патриотического воспитания, защита национальных интересов в сфере информации и информатизации и т. д.), о документах стратегического планирования и соответствующих реализующих документов по различным направлениям, мнениях многих экспертов по причинам текущего состояния (см. приложение 5).

2. Анализ существующей системы

2.1 Характеристика работы системы

Система СПМ предназначена для ФСО Российской Федерации. Система позволяет аналитикам ФСО оценивать текущее положение дел в стране, чтобы прогнозировать и выявлять угрозы жизненно важным интересам государства.

2.2 Структура существующей системы

ФСО делает прогнозы на основе предоставляемых системой графиков по данным различных показателей, а также на основе мнений различных экспертов по сложившейся ситуации, принятых указах и распоряжений правительства. Данные по показателям, мнения экспертов и т. п. собираются силами ФСО, а задача разработчиков системы предоставить эти данные в наиболее удобном и наглядном виде.

Данные от заказчика предоставляются в виде таблиц Microsoft Excel, либо в виде текстовых документов Microsoft Office. Эти данные загружаются в базу данных MSSQL, откуда уже впоследствии PHP скрипт извлекает необходимую ему информацию для генерации веб-страниц.

Помимо тех данных, которые предоставляет ФСО, в БД хранятся метаданные системы, которые определяют расположение и взаимосвязь различных элементов СПМ. К примеру, все содержимое вкладки в каком-либо направлении, разделяются на так называемые секции. Информация о каждой секции (её заголовок, подзаголовок и т. п.), а также связь между секциями и показателями, которые секция отображает, хранится тоже в базе данных (см. приложение 5).

2.3 Диаграммы IDF0, описывающие функционирование существующей системы

2.3.1 Контекстная диаграмма А-0

2.3.2 Декомпозиция контекстной диаграммы А-0

2.3.3 Декомпозиция блока «Выбор интересующего направления или документа для анализа»

Диаграммы также представлены в приложении 7.

2.4 Выводы о необходимости усовершенствования существующей системы

Систему СПМ необходимо было разместить в сети ЕСВС, где запрещено использовать ПО, кроме того, что находилось в разрешенном списке. Плагин Flash Player и интерпретатор PHP не входили в данный список, поэтому им потребовалась замена. В списке было большинство программ стандартной сборки Windows Server 2003 и Windows XP.

В состав Windows Server 2003 входит поддержка ASP, но, тем не менее, он не был включен в список разрешенных программ. Поэтому руководством было принято решение отказаться от динамической генерации веб-страниц при помощи PHP и интерактивных графиков на основе Flash Player, в пользу статичных HTML страничек и изображений в формате JPG. Заказчика такое предложение устроило.

Существует много бесплатных программ, которые способны сделать полную копию сайта в виде статичного содержимого, но среди них нет тех, которые могут работать с технологией AJAX. Большинство содержимого веб-системы СПМ подгружается именно по этой технологии. Также ни одна из таких программ не позволяет преобразовывать Flash-объекты в изображения. Ниже приведен список программ, которые проверялись на пригодность для решения данной задачи:

· HTTrack

· Offline Explorer

· Teleport

· WCopier

Более подробное сравнение вышеуказанных программ приведено в разделе «4 Анализ существующих решений на соответствия требованиям».

В итоге подходящей программы, способной выгрузить весь проект так и не нашлось. Ввиду этого было принято решение создать свой генератор статичной версии СПМ.

3. Требования к разработке

ПО должно представлять собой один из разделов сайта (ГСПМ), а не отдельно существующую программу, т.к. это упростит освоение системы администратором (все управляющие элементы будут вместе). К тому же, разработка ПО как части системы позволит использовать программное ядро СПМ, что значительно ускорит разработку.

Статичная версия системы не может обеспечить все возможности динамической, поэтому некоторые элементы системы было принято исключить в статичной версии, без потери основного функционала (какие именно элементы исключены, указано ниже).

ГСПМ должна позволять генерировать статичное содержимое следующих составляющих системы СПМ:

· Главная страница, без реализующих документов и документов стратегического планирования

· Реализующие документы и документы стратегического планирования на главной странице

· Содержимое всех вкладок в направлениях, целях и задачах, с некоторыми ограничениями:

a. Если во вкладке имеется столбиковая диаграмма по какому-либо показателю с множественным выбором годов (для каждого года рисуется свой столбик), то в статичной версии должна отсутствует возможность выбора, а диаграмма рисуется сразу по всему временному промежутку. Это делается из-за того, что возможность множественного выбора приведет к генерации очень большого количество изображений (по одной на каждый вариант выбора годов), а в системе СПМ таких диаграмм очень много.

b. Диаграммы «Бостонская матрица» не должна появляться в статичной версии. Это связано с тем, что данный тип диаграммы плохо информативен в статичном виде.

c. Кнопки «Вопрос эксперту» и «Дать поручения» отсутствуют, т.к. у статичной системы нет возможности связаться с БД для сохранения данных от пользователя.

ГСМП должен предоставить пользователю возможность запустить автоматическую генерацию всего проекта, остановить генерацию на любом её шаге, запустить генерацию только отдельных разделов системы, а именно:

· Содержимое всех вкладок «Состояние»

· Содержимое всех вкладок «Актуальность»

· Содержимое всех вкладок «Принимаемые меры»

· Содержимое всех вкладок «Регионы»

· Содержимое всех вкладок «Документы»

· Диаграммы показателей

Разрабатываемое ПО должно уметь преобразовывать Flash-объекты в изображения формата JPG. Для этой цели было решено воспользоваться разработкой компании — веб-сервисом FlashExporter. Был выбран именно этот веб-сервис, т.к. готовое решение ускорит общий процесс разработки, и при этом FlashExporter находится в свободном доступе для проектов компании.

Более подробно о требования можно посмотреть в техническом задании (Приложение 7).

4. Анализ существующих решений на соответствия требованиям

Существует много бесплатных программ, которые способны сделать полную копию сайта в виде статичного содержимого, но среди них нет тех, которые могут работать с технологией AJAX. Большинство содержимого веб-системы СПМ подгружается именно по этой технологии. Также ни одна из таких программ не позволяет преобразовывать Flash-объекты в изображения. Ниже приведена таблица сравнения готовых программных продуктов:

Название программы

Поддержка технологии AJAX

Возможность преобразования Flash объектов в изображения

Стоимость

Возможность использования с другими проектами

HTTrack

Нет

Нет

Бесплатная

Есть

Offline Explorer

Есть

Нет

Условно-бесплатная

Есть

Teleport

Нет

Нет

Условно-бесплатная

Есть

WCopier

Нет

Нет

Условно-бесплатная

Есть

5. Описание разрабатываемого, модернизируемого или исследуемого алгоритмов вычислительного процесса, системы, устройства

Для описания разрабатываемого ПО был выбран язык моделирования UML. Используемые UML диаграммы: диаграмма вариантов использования, диаграмма активности, диаграмма последовательности, диаграмма классов проектирования.

Диаграмма вариантов использования и диаграммы активности отражают взаимодействие пользователя с системой. Также диаграммы активности показывают основную механику перевода динамического содержимого в статичное. Диаграммы последовательности еще больше раскрывают способ генерации статичных веб-страниц, а также на них содержатся основные классы, используемые для генерации

5.1 Спецификация вариантов использования

(Диаграмма вариантов использования находится в Приложении 1)

Вариант использования «Запуск генерации вне сети ЕСВС»

Краткое описание:

Данный вариант использования позволяет пользователю генератора получить статичное содержимое проекта СПМ

Основной поток событий:

Данный вариант использования начинает выполняться, когда пользователь генератора хочет получить новую статичную версию проекта СПМ

1. Пользователь запускает генерацию при помощи ГСПМ

2. После определенного промежутка времени, статичная версия проекта будет готова

Предусловия:

Нет

Постусловия:

Если вариант использования выполнен успешно, пользователь генератора получает статичную версию проекта

Альтернативные потоки:

Не удалось завершить генерацию:

1. Пользователь запускает генерацию при помощи ГСПМ

2. Генерация не смогла завершиться в виду какой-либо ошибки

Вариант использования «Перенос статичного содержимого на сервер сети ЕСВС»

Краткое описание

Данный вариант использования начинает выполняться, когда пользователь генератора успешно выполнил генерацию проекта вне сети

Основной поток событий

1. Пользователь генератора загружает сгенерированное содержимое на сервер сети ЕСВС

2. Пользователь генератора проверяет работоспособность статичной версии

Предусловия:

Статичное содержимое должно быть уже сгенерировано

Постусловия:

Если вариант использования выполнен успешно, то в сети ЕСВС появится аналог оригинальной версии СПМ

Альтернативные потоки:

Не удалось загрузить сгенерированное содержимое на сервер:

1. Пользователь генератора не удалось загрузить статичную версию СПМ на сервер сети ЕСВС в виду какой-либо причины (сбой ОС на сервере, нет прав доступа к каталогу сайтов веб-сервера и т. п.)

5.2 Описание модели поведения системы, представленной на диаграммах активности

(Диаграмма активности находится в Приложение 2)

1) Запуск генерации вне сети ЕСВС

Описание:

Пользователь генератора открывает в системе СПМ раздел генератора. Сначала пользователь указывает путь к директории, где будут сохраняться сгенерированные файлы, при помощи текстового поля, далее при помощи выпадающего списка выбирает нужную область генерации (диаграммы показателей, документы, содержимое вкладок и т. п.). После выбора области пользователь нажимает на кнопку «Получить список элементов области» и ему выводится список ссылок, каждая из которых предназначена для генерации какой-либо одной части области (например, для области «диаграммы показателей», выводится список ссылок генерации каждой диаграммы в отдельности). После этого пользователь генератора отмечает при помощи флажков, какие именно элементы ему нужно сгенерировать (по умолчанию выбраны все элементы) и нажимает на кнопку «Запуск генерации». В процессе генерации система выдает пользователю сообщения об успешности или не успешности генерации элементов. Пользователь может остановить генерацию на текущем шаге, нажав кнопку «Остановить генерацию», либо дождаться её выполнения.

В Приложении 4 представлен проект интерфейса ГСПМ.

2) Генерация одного элемента

Описание:

ГСПМ получает ссылку генерации. При обращении по этой ссылке генератор получает html содержимое элемента от основной системы. Далее происходит анализ полученного содержимого: если в html коде присутствуют embed теги с указанием пути до swf и xml файлов, то считается, что обнаружен Flash объект и его необходимо заменить на изображение; если таких embed тегов не обнаружено, то html содержимое сохраняется в отдельный файл.

При обнаружении Flash объектов, информация о них (путь до swf и xml файлов) отправляется сервису FlashExporter. Также данному сервису отправляется информация о желаемом расположении генерируемого изображения и если необходимо, то нестандартное время ожидания прорисовки Flash объекта. После генерации изображений, происходит замена в html коде тегов embed c Flash объектами на теги img с генерированными изображениями. На последнем этапе измененный html код сохраняется в отдельный файл.

5.3 Описание модели взаимодействия, представленной на диаграммах последовательности

(Диаграмма активности находится в Приложение 3)

Диаграмма для прецедента «Запуск генерации вне сети ЕСВС»

Пользователь генератора нажимает на кнопку «Получить список элементов области», что приводит к вызову javascript функции (setObjectsGen), которая отправляет AJAX запрос серверу на получение списка элементов указанной на данный момент области генерации. На серверной части класс, для обработки запросов раздела, анализирует данные полученные от AJAX запроса и в зависимости от указанной области генерации создает определенный класс-генератор элементов (метод getListRefs ()). Далее у созданного класса-генератора вызывается метод getRefs (), который генерирует ссылки генерации в виде html кода.

Ссылки генерации представляют собой оригинальные ссылки системы (но в другом представлении), по которым можно получить отдельные страницы или часть страниц в случаи AJAX запросов. Некоторые ссылки генерации прописываются сразу в коде метода, а некоторые создаются на основе данных из БД (подробнее об этом смотрите в пункте «Описание используемой структуры базы данных»).

Ссылки генерации возвращаются с сервера на клиент и отображаются в интерфейсе.

Далее пользователь нажимает на кнопку «Запуск генерации», что приводит к вызову javascript функции startGeneration (). Данная функция сначала собирает информацию со страницы раздела ГСПМ: указанный путь к директории для сохранения сгенерированных файлов, выбранные ссылки генерации; а потом в цикле отправляет по одному AJAX запросу серверу для генерации только одного элемента. На сервере класс, для обработки запросов раздела, анализирует данные полученные от AJAX запроса в методе startGenForElements. Данная функция вызывает метод gen класса-генератора определенного в зависимости от того какой элемент нужно сгенерировать. Метод gen генерирует статичное содержимое элемента и сохраняет его в указанной директории.

5.4 Описание используемой структуры базы данных

(Диаграмма используемых таблиц базы данных приведена в Приложении 6)

Для формирования ссылок генерации активно используется база данных. К примеру, все ссылки для области генерации «диаграммы показателей» имеют вид: index. php? ajax=direction&wnd_id=555&ind=333, где 555 — ID секции, в которой находится диаграмма, а 333 — ID показателя. В базе присутствуют таблица показателей, таблица с секциями (важно знать секцию, в которой располагается показатель, т.к. это влияет на отображение диаграммы), и таблица связей секций и показателей. При помощи этих трех таблиц можно получить полный список ссылок для «диаграмм показателей». Аналогично можно сформировать ссылки для получения всех главных страниц направлений, вкладок и т. п.

Описание таблиц

1) T_WINDOWS

Таблица с данными о секциях.

Описание полей:

ID_WND — ID секции

S_TITLE — заголовок окна

ENABLED — принимает значение 1 или 0, где 1 означает, что секция используется в системе, а 0 — не используется

2) DIRECTIONS

Таблица с данными о направлениях целях и задачах.

Описание полей:

ID_DIRECTION — ID направления, цели или задачи

NAME — название направления

ENABLED — принимает значение 1 или 0, где 1 означает, что направление используется в системе, а 0 — не используется

ID_PARENT — ID направления-родителя или цели-родителя

N_TYPES — число, которое кодирует наличие разных вкладок у направления, цели и задачи

3) REP_TABS

Таблица с данными о вкладках направлений, целей и задач.

Описание полей:

ID_TAB — ID направления, цели или задачи

NAME — название вкладки

MASH_NAME — название вкладки, используемое в http запросах

4) T_ACCORD

Таблица с данными о меню документов на главной странице.

Описание полей:

ID — ID элемента меню

NAME — название меню

ID_PARENT — ID родительского элемента меню

5) T_DOCUMENTS

Таблица с данными о меню документов на главной странице.

Описание полей:

ID — ID документа

NAME — название документа

COMMENT — краткое описание документа

TEXT — содержание документа

TYPE — принимает значение `с' или `р', где `c' означает стратегический документ, а 'р' - реализующий

ID_STRATEG — ID родительского стратегического документа (это поле заполняется только для реализующий документов)

6) T_INDS

Таблица с данными о показателях

Описание полей:

ID_IND — ID показателя

NAME — название показателя

ENABLED — принимает значение 1 или 0, где 1 означает, что направление используется в системе, а 0 — не используется

7) EXPERTS

Таблица, которая хранит информацию об экспертах

Описание полей:

ID_EXPERT — ID эксперта

NAME — полное имя эксперта

OFFICE — должность эксперта

8) EXPERT_OPINION

Таблица, которая хранит мнение эксперта по какой-либо цели или задачи

Описание полей:

ID_EXPERT — ID эксперта

ID_DIRECTION — ID направления, цели или задачи

OPINION — мнение эксперта в текстовом виде

9) T_WINDOWS_TO_TAB

Таблица, которая хранит связь секций с вкладками направлений, целей и задач

Описание полей:

ID_WND — ID секции

ID_DIRECTION — ID направления

ID_TAB — ID вкладки

10) ACCORD_DOCS

Таблица, которая хранит связь документов с меню на главной странице

Описание полей:

ID_ACCORD — ID меню

ID_DOC — ID документа

11) T_INDS_TO_WINDOW

Таблица, которая хранит связь показателей с секциями

Описание полей:

ID_IND — ID показателя

ID_WND — ID секции

12) T_TXT

Таблица, которая хранит текстовое наполнения некоторых секций

Описание полей:

ID_WND — ID секции

B_TXT — сам текст

5.5 Описание логической структуры системы, представленной диаграммы классов проектирования

(Диаграмма классов проектирования в Приложении 8)

Класс ManagerGenerate

Обработчик запросов раздела

Атрибуты:

private string act — Действие которое необходимо совершить: 'listRefs' -получить список ссылок генерации, 'gen' - сгенерировать один элемент

private string domn — Область генерации

private string pathGen — Путь, куда будут сохраняться генерируемые файлы

Методы:

public string getListRefs () — Возвращает список ссылок генерации для области генерации, определенной параметрами запроса

public string startGenForElements () — Генерирует один элемент из области генерации и возвращает результат

Класс MainGenerate

Обработчик запросов раздела

Атрибуты:

private string pathGen — Путь для размещения генерируемых файлов

private string pathPrjPhp — Путь до корня проекта СПМ

private string pathFlashExp — Адрес до сервиса FlashExporter

Методы:

private string convertPostToPath (string $post, boolean $isForImage) — Формирует уникальный путь из ссылки генерации. Создает все несуществующие директории по этому пути. Параметр $post — ссылка генерации (запрос для сервера), параметр $isForImage — определяет создается ли путь генерации для изображения или нет; если для изображения, то к пути добавится еще директория images.

private string replaceEmbed (& string $html, string $post) — Заменяет в html коде вставки Flash объектов на картинки, предварительно сгенерировав их при помощи сервиса FlashExporter. Параметр $html — ссылка на строку, которая хранит html код загруженной веб-страницы, параметр $post — ссылка генерации (запрос для сервера).

private string downloadPage (string $post, string $typePage) — Загружает веб-страницу по запросу серверу и если нужно, то заменяет в ней Flash-объекты на картинки. Параметр $post — ссылка генерации (запрос для сервера), параметр $typePage — Тип страницы (например, содержимое вкладки, страница с документами).

private string createDir (string $path) — Создает все несуществующие папки по указанному пути. Параметр $path — путь, для которого нужно создать необходимое количество директорий

public string gen () — Генерирует один элемент из области генерации

public string getRefs () — Создает все несуществующие папки по указанному пути. Параметр $path — путь, для которого нужно создать необходимое количество директорий

Другие классы

Остальные классы (Inds, DocsMain, TabDocs, TabAct, TabsAll, TabActvAcc, Unq, TabState, TabRegs) наследуются от общего класса MainGenerate и их назначение генерировать какую-то одну область генерации (они должны реализовывать методы gen и getRefs).

генератор сайт статичный стратегический

6. Описание проделанной работы по макетированию, наладке и созданию отдельных узлов в процессе практики

7. Исходные данные для определения экономической целесообразности внедрения системы автоматики

Поскольку заказчику очень важно разместить систему СПМ на сервере сети ЕСВС, то он бы не принял работу, в результате которой система не может быть установлена на этом сервере. Поэтому очень важно было иметь решение для данной проблемы. Именно таким решением и стал ГСПМ, без него не удалось бы продать систему заказчику.

8. Мероприятия по технике безопасности, промышленной санитарии и пожарной безопасности

Сам по себе раздел сайта для генерации статичной версии проекта, не добавляет никаких правил по технике безопасности, промышленной санитарии и пожарной безопасности, кроме тех, какие нужно соблюдать при работе с компьютером

Заключение

В результате выполненной работы был спроектирован раздел сайта для генерации статичной версии проекта СПМ и теперь готов к реализации с помощью HTML, Javascript и PHP.

Список использованных источников

Грейди Буч. Язык UML. Руководство пользователя: учеб. пособие / Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. -- СПб.: Изд-во ДМК Пресс, 2006. -- 496 с.

Джордж Шлосснейгл. Профессиональное программирование на PHP: учеб. пособие / Джордж Шлосснейгл -- СПб.: Изд-во Вильямс, 2006. -- 624 с.

Бер Бибо. jQuery. Подробное руководство по продвинутому JavaScript: учеб. пособие / Бер Бибо, Иегуда Кац. -- СПб.: Изд-во Символ-Плюс, 2009. -- 624 с.

Приложение 1

Диаграммы вариантов использования

Приложение 2

Диаграммы деятельности

B.1 Запуск генерации вне сети ЕСВС

2.2 Генерация одного элемента

Приложение 3

Диаграммы последовательностей

Диаграмма для прецедента «Запуск генерации вне сети ЕСВС»

Приложение 4

Проект интерфейса ГСПМ

Приложение 5

Графическое представление системы СПМ

1. Раздел с реализующими документами и документами стратегического планирования

2. Раздел направлений

2.1 Раздел направлений без пояснений к элементам содержимого

2.2 Раздел направлений с пояснениями к элементам содержимого

2.3 Раздел «Мнения экспертов»

Приложение 6

Структура используемой части базы данных

Приложение 7

Техническое задание

1. Введение

Программный продукт представляет собой один из разделов сайта системы СПМ. Данный раздел необходим для генерации статичной версии всей системы или отдельных её частей.

1.1 Наименование программы

Генератор статичной версии проекта «Система информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации» (ГСПМ).

1.2 Область применения

ГСПМ нужен, чтобы получать версию системы СПМ, пригодную для размещения на сервере в сети ЕСВС. Для сервера в этой сети нет разрешения на использование языка программирования PHP в качестве средства создания динамических веб-страниц, также нет разрешения на плагин Flash Player. Тем не менее, разрешено использование статичных веб-страниц и изображений, которые как раз и создает ГСПМ.

1.3 Объект, в котором используют программу

Локальная сеть ЕСВС правительства Российской Федерации.

2. Основание для разработки

Документы, на основании которых ведется проектирование

Проектирование ГСПМ ведется на основании договора № 2011/11/29 по выполнению работы «Создание подсистем комплексного представления информационно-аналитических материалов информационно-аналитической поддержки стратегического планирования и управления в Российской Федерации».

2.1 Организация, утвердившая документ, и дата утверждения

Организация, утвердившая документ: компания «ПРОГНОЗ».

Адрес организации: 614 068 Пермский край, г. Пермь, ул. Данщина, 5.

Дата утверждения документа: 2011/11/29

2.2 Шифр темы

Шифр темы: Б-С-М

3. Назначение разработки

ГСПМ является одним из разделов сайта, разрабатываемого в соответствии с проектом СПМ. ГСПМ должен предоставлять пользователю инструменты для перевода всего сайта системы или только его части из динамически генерируемого содержимого в статическое. Тогда как проект СПМ, реализован при помощи языка программирования PHP, СУБД MSSQL (которые обеспечивают динамическую генерацию веб-страниц) и технологии Flash, сайт, полученный в результате работы ГСПМ, должен состоять только из html страничек, JavaScript скриптов и изображений в формате JP

Получаемая в результате генерации, система имеет более ограниченный функционал, чем оригинальная, т.к. предоставляет из себя только статичное содержимое. Подробнее об этом смотрите в разделе «Требования к функциональным характеристикам».

4. Требования к программе

4.1 Требования к функциональным характеристикам

ГСПМ должна позволять генерировать статичное содержимое следующих составляющих системы СПМ:

4.1.1 Главная страница, без реализующих документов и документов стратегического планирования

4.1.2 Реализующие документы и документы стратегического планирования на главной странице

4.1. 3 Cодержимое всех вкладок в направлениях, целях и задачах, с некоторыми ограничениями:

4.1.3.1 Если во вкладке имеется столбиковая диаграмма по какому-либо показателю с множественным выбором годов (для каждого года рисуется свой столбик), то в статичной версии должна отсутствует возможность выбора, а диаграмма рисуется сразу по всему временному промежутку. Это делается из-за того, что возможность множественного выбора приведет к генерации очень большого количество изображений (по одной на каждый вариант выбора годов), а в системе СПМ о таких диаграмм очень много.

4.1.3.2 Диаграммы «Бостонская матрица» не должна появляться в статичной версии. Это связано с тем, что данный тип диаграммы плохо информативен в статичном виде, а на разработку наглядной статичной бостонской матрицы ушло бы много времени.

4.1.3.3 Кнопки «Вопрос эксперту» и «Дать поручения» отсутствуют, т.к. у статичной системы нет СУБД для сохранения данных от пользователя для дальнейшего использования

При расширении основной системы список генерируемых элементов может быть увеличен.

4.1.4 Данный раздел сайта должен предоставить пользователю возможность запустить автоматическую генерацию всего проекта, остановить генерацию на любом её шаге, запустить генерацию только отдельных разделов системы, а именно:

4.1.4.1 Содержимое всех вкладок «Состояние»

4.1.4.2 Содержимое всех вкладок «Актуальность»

4.1.4.3 Содержимое всех вкладок «Принимаемые меры»

4.1.4.4 Содержимое всех вкладок «Регионы»

4.1.4.5 Содержимое всех вкладок «Документы»

4.1.4.6 Диаграммы

Перевод Flash-объектов в изображения должен осуществляться при помощи сервиса FlashExporter.

4.2 Требования к надежности

При запуске генерации полной версии проекта, ГСПМ должен либо начать генерировать статичные веб-страницы в указанной пользователем директории, либо сообщить об ошибке. Аналогично и для генерации отдельных разделов сайта.

В результате работа ГСПМ не должны быть повреждены другие файлы операционной системы.

4.3 Условия эксплуатации

Требования не предъявляются.

4.4 Требования к составу и параметрам технических средств

Требования не предъявляются.

4.5 Требования к информационной и программной совместимости

Для работы раздела ГСПМ потребуется PHP версии 5. 3, веб-сервер, настроенный для работы с PHP, и веб-браузер с поддержкой JavaScript версии 1.8.1. Также потребуется MS SQL Server 2005, на котором уже развернута база данных системы СПМ.

ГСПМ создает статичную версию проекта в той директории, который указал пользователь, поэтому необходимо, чтобы у выполняемого PHP скрипта было разрешение на создание файлов в заданной директории.

4.6 Требования к маркировке и упаковке

Требования не предъявляются.

4.7 Требования к транспортированию и хранению

Требования не предъявляются.

5. Требования к программной документации

Программная документация должна содержать инструкции по запуску генерации всей системы, отдельных её составляющих, остановки генерации. Также в документации должно быть указано, какими способами можно перейти к разделу ГСПМ.

6. Технико-экономические показатели

Ориентировочная экономическая эффективность не рассчитываются.

Предполагаемая годовая потребность продукта — каждый раз после обновления основной системы.

Ниже приведена таблица сравнения с существующими аналогами данной программы:

Название программы

Поддержка технологии AJAX

Возможность преобразования Flash объектов в изображения

Стоимость

Возможность использования с другими проектами

ГСПМ

Есть

Есть

-

Нет

HTTrack

Нет

Нет

Бесплатная

Есть

Offline Explorer

Есть

Нет

Условно-бесплатная

Есть

Teleport

Нет

Нет

Условно-бесплатная

Есть

WCopier

Нет

Нет

Условно-бесплатная

Есть

7. Стадии и этапы разработки

1. Проектирование пользовательского интерфейса для генератора. Срок: 1 день.

2. Проектирование класса на PHP, реализующего общие функции генерации (считывание страниц проекта СПМ и их обработка; копирование сгенерированных страниц в указанную папку; передача данных сервису FlashExporter для генерации изображений). Срок: 2 дня.

3. Проектирование нескольких классов на PHP, предназначенных для генерации отдельных частей системы (для каждой отдельной части свой класс). Такой класс должен использовать функции основного класса генерации, дополняя его своими методами. Срок: 7 дней.

8. Порядок контроля приемки

8.1 Виды испытаний

Пункт ТЗ

Проверяемая функция

Ожидаемый результат

1

4.1. 1

Генерация статичной версии главной страницы сайта, без реализующих документов и документов стратегического планирования

Создание в указанной пользователем директории нескольких js и css файлов, а также одного html файла, содержимое которого аналогично содержимому главной страницы системы СПМ

2

4.1. 2

Генерация статичной версии реализующих документов и документов стратегического планирования на главной странице

Создание в указанной пользователем директории нескольких html файлов, содержимое каждого из которых соответствует содержимому одного из подразделов с документами на главной странице системы СПМ

3

4.1. 3

Генерация статичной версии всех вкладок в направлениях, целях и задачах

Создание в указанной пользователем директории нескольких файлов разных форматов (html, js, css, jpg), которые в совокупности представляют собой копию отдельных разделов основной системы. Каждый сгенерированный раздел позволяет работать с ним независимо от других разделов.

3

4.1.3. 1

Генерация статичной версии столбиковой диаграммы по какому-либо показателю с множественным выбором годов, но с ограничением: отсутствует выбор годов — диаграмма строится сразу по всему периоду

Результат проверяется на основе 2-го вида испытания. Сравниваются столбиковые диаграммы с множественным выбором годов основной системы с соответствующими диаграммами в сгенерированных разделах. Сгенерированные диаграммы должны быть идентичны диаграммам из основной системы, если у них в период включить полный список годов.

4

4.1.3. 2

Отсутствие диаграммы «бостонская матрица»

Результат проверяется на основе 2-го вида испытания. Проверяются сгенерированные разделы — в них не должно присутствовать данного типа диаграмм

5

4.1.3. 3

Отсутствие кнопок «Вопрос эксперту» и «Дать поручения»

Результат проверяется на основе 2-го вида испытания. Проверяются сгенерированные разделы — в них не должно присутствовать данных кнопок

6

4.1. 4

Возможность запустить автоматическую генерацию всего проекта, остановить генерацию на любом её шаге, запустить генерацию только отдельных разделов системы

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

При остановке генерации, создание файлов должно прекратиться.

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

7

4.1.4. 1

Генерация статичной версии вкладок «Состояние»

Создание в указанной пользователем директории файлов, представляющие из себя статичное содержимое вкладок «Состояние» основной системы

8

4.1.4. 2

Генерация статичной версии вкладок «Актуальность»

Создание в указанной пользователем директории файлов, представляющие из себя статичное содержимое вкладок «Актуальность» основной системы

9

4.1.4. 3

Генерация статичной версии вкладок «Принимаемые меры»

Создание в указанной пользователем директории файлов, представляющие из себя статичное содержимое вкладок «Принимаемые меры» основной системы

10

4.1.4. 4

Генерация статичной версии вкладок «Регионы»

Создание в указанной пользователем директории файлов, представляющие из себя статичное содержимое вкладок «Регионы» основной системы

11

4.1.4. 5

Генерация статичной версии вкладок «Документы»

Создание в указанной пользователем директории файлов, представляющие из себя статичное содержимое вкладок «Документы» основной системы

8.2 Общие требования к приемке работы

Сдача-приемка осуществляется комиссией, в состав которой входят представители заказчика и исполнителя. По результатам приемки подписывается акт приемочной комиссии.

Все создаваемые в рамках настоящей работы программные изделия (за исключением покупных) передаются заказчику, в виде исходных кодов, представляемых в электронной форме на стандартном машинном носителе.

Приложение 8

Диаграмма классов проектирования

Приложение 9

Диаграммы IDF0, описывающие функционирование существующей системы

1. Контекстная диаграмма А-0

2. Декомпозиция контекстной диаграммы А-0

3. Декомпозиция блока «Выбор интересующего направления или документа для анализа»

ПоказатьСвернуть
Заполнить форму текущей работой