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

На рисунке 7.1 показаны все основные файлы проекта и их авторы.

Рисунок 7.1

На рисунке 7.2 изображена общая схема файлов, используемых в проекте и их краткое описание.

Рисунок 7.2 - схема взаимодействия проектов.

Файлы report.static.php,data.tree.php,insert.data.php,FormtText.php– это модуль генерации отчета. Подробно об этом модуле можно посмотреть в дипломном проекте Михайлова Алексея.

Файлыpaint.php,Ajax_start_exe.php,maps_test.php,loadPoint.php– это модуль картографии. Подробнее об этих файлах можно посмотреть в схеме функционирования программного средства.

    1. Возможные способы реализации:

Один из возможных способов реализации программного средства – локальное приложение.

Взяв за основу структуру данных предложенную в АИС «АРХЕОГРАФ», возможно усовершенствовать и дополнить функционал АИС.Взяв за основу для интерфейса фреймворкQtвозможно будет добиться кроссплатформенности.Qt– это кросс-платформенный фреймворк для языкаC++. ФремворкQtсодержит множество элементов для реализации различных функций будущего программного средства, но так же большинство версийQtподдерживается множеством компиляторов, такими какGCCилиVisualStudio.Qtпоставляется вIDEQtCreator, с простым и удобным интерфейсом для создания и разработки пользовательских интерфейсов. Использование библиотекиBoostдля языка программированияC++ даёт возможность реализоватьработу со сложными древовидными структурами.Хранение данных будет осуществляться используя драйверQtдляSQLiteв базе данныхSQLite.

Недостатками данного решения являются системные ограничения – не на всех устройствах возможна поддержка запуска скомпилированных C++ приложений. Так же отсутствует возможность совместной работы. Возможны сложности или полноеотсутсвие функции экспорта/импорта данных.

Другой вариант реализации программного средства – web-приложение с использованием языкаPythonдля генерации и работы с отчётами,PostgreSQLв качестве СУБД. Язык программированияPythonэто высокоуровневый интерпретируемый интерактивный язык программирования. Он поддерживает модульность, исключения, динамическую типизацию, высокоуровневые динамические типы данных и классы.Pythonподдерживает несколько парадигм программирования, такие как объектно-ориентированное программирование, процедурное и императивное программирование.Кроме этого для языкаPythonсуществуе большое количество библиотек для работы с изображениями, древовидными структурами,XMLи прочее.

Использовать Pythonв качестве скриптового языка дляweb-страниц возможно при помощи технологииCGI(CommonGatewayInterface), поддерживаемой на большинствеweb-серверов.

PostgreSQL– это мощная СУБД с открытым исходным кодом. Она разрабатывается больше 15 лет и имеет хорошую репутацию стабильной и быстрой системы.

Минусы данного способа реализации заключаются в отсутсвии опыта разработки на языке программирования Python, нестабильной работыPythonчерезCGIв целом.

Еще одним вариантом реализации является web-приложение написанное наNode.jsNode.jsэто программная среда для масштабируемых серверных и сетевых приложений. ПрограммыNode.jsнаписаны на языкеJavaScriptи могут выполняться в операционных системах семействAppleMacOSX,MicrosoftWindows,GNU/Linuxбез каких-либо изменений. Приложения наNode.jsразработаны для максимально эффективного выполнения, используя асинхронную, не блокирующую подачу и обработку входных/выходных данных,асинхронные события.Node.jsиспользуетGoogleV8JavaScriptплатформу для выполнения кода и большая часть базовых модулей написана наJavaScript.Node.jsподдерживает асинхронные ввод/вывод данных, сокеты и протоколHTTP, что позволяет использоватьNode.jsв связке сweb-серверомApache.

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

Выбранный способ реализации – язык программирования PHPв связке с СУБДMySQL, размещенные наweb-сервереApache. СвязкаPHP+MySQLдостаточно популярное решение дляweb-приложений. Язык программированияPHP– серверный язык, используемый дляweb-разработки. Язык содержит множествоAPIи библиотек для работы с большим количеством технологий, таких как парсинг и генерацияXML, работа сJSON,YAML, построениеDOM-объектов, работа с базами данныхMySQL(mysql,mysqli) иPostgreSQL(pg_*) и другие СУБД(PDO).PHPпозволяет выполнение бинарных файлов на стороне сервера, работу с изображениями и звуковыми форматами данных.

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

Простая и удобная встраиваемость PHP-программ вHTML-документы позволит использовать возможностиCSSдля генерируемого материала.PHP-программы принимают аргументыPOSTиGETзапросов, тем самым давая возможность реализации технологииAJAX.

Для упрощения манипуляции с DOMHTML-документа, реализацииAJAXна клиентской стороне используется библиотекаjQueryдляJavascript.jQueryэто кросс-платформенная библиотека для языкаJavaScript, созданная для упрощения разработки клиент-приложений, встраиваемых вHTML-документыweb-приложений. БиблиотекаjQueryэто библиотека с открытым исходным кодом. Основное применение это манипуляция с элементамиHTML-документов, создавать анимации, управлять событиями и разрабатыватьAJAX-приложения.

Работа с картами реализована при помощи APIпоставщика сервисов картографии –GoogleMaps.GoogleMapsAPIэто бесплатный свободный для использования сервис от компанииGoogle, позволяющий встраивать и работать с картамиGoogleMaps.GoogleMapsAPIсодержит набор методов для доступа к динамическим картамGoogleMaps, позволяя реализовывать гео-локацию, работу с координатами в системеGPS. Набор функцийGoogleMapsAPIдля статических картGoogleMapsпредоставляет возможности задания размера, координат в системеGPS, нанесения каких-либо маркеров, устанавливаемых пользователем, возвращая при этом статичный файл изображения, который возможно сохранить и использовать для любых нужд. Для коммерческих решений компанияGoogleпредоставляетGoogleMapsAPIforBusiness.

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