Научная статья на тему 'Некоторые методологические и технические аспекты разработки программных систем экологического мониторинга на базе ГИС-технологий'

Некоторые методологические и технические аспекты разработки программных систем экологического мониторинга на базе ГИС-технологий Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
276
78
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГИС / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ТЕХНОЛОГИИ / МЕТОДОЛОГИЯ / GIS / SOFTWARE / TECHNOLOGIES / METHODOLOGY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Степанов Юрий Александрович, Фанасков Виталий Сергеевич

Обоснован выбор базовой методологии разработки специализированного программного обеспечения на базе ГИС-технологий. Разработана структурно-функциональная модель, проведён анализ технических средств реализации программного обеспечения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Степанов Юрий Александрович, Фанасков Виталий Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Some methodological and technical aspects of software development for environmental monitoring based on GIS technologies

Development of baseline methodology of specialized software based on GIS technologiesis based. Structural-functional model of this software system's class is designed, analysis of the technical means to implement the software is provided.

Текст научной работы на тему «Некоторые методологические и технические аспекты разработки программных систем экологического мониторинга на базе ГИС-технологий»

104

Ю.А. Степанов, В.С. Фанасков

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 004.415.2

Ю.А. Степанов, В.С. Фанасков

НЕКОТОРЫЕ МЕТОДОЛОГИЧЕСКИЕ И ТЕХНИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ ПРОГРАММНЫХ СИСТЕМ ЭКОЛОГИЧЕСКОГО МОНИТОРИНГА НА БАЗЕ ГИС-ТЕХНОЛОГИЙ

Согласно Федеральному закону «Об охране окружающей среды от 10.01.2002 N 7-ФЗ «Государственный экологический мониторинг (государственный мониторинг окружающей среды) - комплексные наблюдения за состоянием окружающей среды, в том числе компонентов природной среды, естественных экологических систем, за происходящими в них процессами, явлениями, оценка и прогноз изменений состояния окружающей среды» [1].

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

Для Кузбасса ведущими отраслями являются угольная промышленность и металлургия. Решения задач экологического мониторинга в рассматриваемых отраслях связанно с анализом и обработкой больших объёмов данных.

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

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

Наиболее подходящим классом программного обеспечения предназначенного для решения задач экологического мониторинга, представляются

географические информационные системы (ГИС). Учитывая специфику класса решаемых задач, целесообразно использовать специализированное программное обеспечения на базе ГИС технологий (СПО ГИС), а не ГИС общего назначения.

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

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

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

Согласно стандарту IEEE Std 610.12 [2], жизненным циклом разработки программного обеспечения называется период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.

При выборе методологии разработки СПО

Информационные технологии

105

ГИС для экологического мониторинга, необходимо учитывать следующие факторы: корректность результатов работы, возможность изменения требований к ПО, частичную поставку рабочего продукта и применение популярных парадигм программирования. Для учёта вышеперечисленных факторов, целесообразно использовать методологии на основе принципов Гибкой разработки (agile development) [3].

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

Манифест гибкой разработки, как и некоторые методологии разработки на его основе, носят рекомендательный характер.

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

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

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

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

Спецификация объектов, характерных для предметной области, выполняется в виде класси-

1

Интерфейсы пслы-ОЕ^теля vdjr.pwt тг мр ян

СерБНСЫ

EOETpOmrcpOE

Програшгсые

> Т / ЕЗрЕЗСЫ

/ /

t «import^ f / /:<ш:рит7 / /

ИСТОЧККЕК HpOCTpiHCI ЕЁ И* ЫХ данных

с \ S < опг.роп \ \ \ * V

Ф>н Ецконалы- ЬЕ сервисы

^■import \

ч V N

Дэн алнктельньЕ техкологнче с сне средства

Рис. 1. Структурно-функциональная модель СПО ГИС экологического мониторинга

106

Ю.А. Степанов, В.С. Фанасков

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

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

Затем следует этап проектирования, в рамках которого необходимо создать общую концептуальную модель программной системы. Если этого не сделать, то в процессе добавления новой функциональности система потеряет архитектурную целостность и дальнейшее её развитие станет неуправляемым [4]. Концептуальная модель представляет собой объектную декомпозицию задач, поставленных в рамках предыдущего этапа.

На самом высоком уровне детализации, архитектура рассматриваемого программного обеспечения представлена тремя основными уровнями: клиентский уровень, функциональный уровень и уровень взаимодействия с пространственными СУБД. Для реализации подобной архитектуры целесообразно использовать концепцию, основанную на шаблоне (паттерне) проектирования мо-дель-представление-контроллер (Model-View-Controller)[5] (рис.1).

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

Рассмотрим некоторые особенности предложенной модели.

Вынесение бизнес-логики в отдельные элементы (контроллеры) позволяет понизить связан-

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

Благодаря отделению компонентов, отвечающих за визуальное представление, рассматриваемая архитектура может применяться как реализации типовых («настольных») приложений, так и для клиент-серверных приложений с web-интерфейсом.

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

Одним из наиболее важных технологических средств программирования для СПО ГИС экологического мониторинга являются предметноориентированные языки программирования (DSL). Это связанно в первую очередь с возможностью привлечения к процессу разработки специалистов в области экологического мониторинга путём предоставления понятных высокоуровневых абстракций. Такой подход позволяет решать задачи в терминах предметной области людям, не знакомым с классическими языками программирования, модифицируя и создавая программы сценарии.

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

Процесс разработки СПО ГИС для проведения экологического мониторинга завершается этапом реализации. На данном производится программная реализация запланированной функциональности в установленные промежутки времени.

Наибольшее значение в рамках данного этапа играет набор выбранных практик Гибкой разработки.

Большинство инженерных практик Гибкой разработки описаны в рамках концепции Экстремального программирования (ХР) и направленны на поддержку максимально эффективной реализации требований заказчика. Учитывая тот факт, что

Информационные технологии

107

на этапе реализации большинство требований к программной системе учтено, формализовано и отражено в архитектуре, практики гибкой разработки способствуют увеличению эффективности программной реализации СПО ГИС.

Одной из наиболее важных практик является BDD (Behavior-driven development), суть которой заключается в предварительной разработке тестов, покрывающих определённую функциональность. При разработке программных систем рассматриваемого класса данный подход позволяет эффективно реализовывать требуемую функциональность, гарантирующую результат, соответствующий критериям адекватности выбранной предметной области. Благодаря использованию данной практики появляется возможность сформулировать требования на естественном языке и реализовать тест в функциональном стиле, что способствует вовлечению экспертов в процесс разработки программ.

Значимыми практиками являются рефакторинг, непрерывная интеграция, частые релизы и инспекция кода.

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

работы и выявить большинство ошибок на ранних этапах разработки.

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

Основные этапы разработки программного обеспечения и данные рекомендации могут быть использованы для улучшения качества СПО ГИС экологического мониторинга. Рекомендации по анализу предметной области позволяют адаптировать модель жизненного цикла и выбрать готовые средства разработки. Модель архитектуры позволяет получить гибкое программное решение с минимальным числом связей. Применение технологии DSL улучшает взаимодействие со специалистами предметной области и упрощает применение адаптивных моделей. Описанные практики Гибкой разработки способствуют более эффективной разработке СПО ГИС.

СПИСОК ЛИТЕРАТУРЫ

1. Федеральный закон "Об охране окружающей среды" от 10.01.2002 N 7-ФЗ [Электронный ресурс]. - http://www.consultant.rU/popular/okrsred/70_l.html#p37 (дата обращения 28.06.2012).

2. Стандарт IEEE на терминологию программной инженерии [Электронный ресурс]. -http://standards.ieee.org/fmdstds/standard/610.12-1990.html (дата обращения 28.06.2012).

3. Принципы гибкой разработки [Электронный ресурс]. -

http://www.agilemanifesto.org/principles.html (дата обращения 28.06.2012).

4. Спинеллис Д. Идеальная архитектура. Ведущие специалисты о красоте программных архитектур / Спинеллис Д., Гусиос Г. - Пер. с англ. - СПб.: Символ-Плюс, 2010. - 528с.

5. Фримен Э. Паттерн проектирования / Э. Фримен, Эл. Фримен, К. Сьерра. - Питер, 2011.- 656 с.

6. Кон М. Scrum: гибкая методология разработки ПО. - М.: ООО «И.Д. Вильямс», 2011.- 576 с.

7. Степанов Ю.А. Экспертная система для экологического анализа и выработки природоохранных мероприятий [Текст] / Ю. А. Степанов, Т. В. Корчагина // Вестник Кузбасского государственного технического университета - №3. - 2007. - С. 26-28.

8. Степанов Ю.А. Разработка архитектуры специализированного обеспечения на базе ГИС-технологий [Текст] / Ю.А. Степанов, В.С. Фанасков // Научно-технический вестник Поволжья. №4 2012 г. - Казань: Научно-технический вестник Поволжья, 2012. - С. 207-210.

Авторы статьи

Степанов Юрий Александрович, к.т.н., доцент каф.информационных систем и управления Новокузнецкого института (филиала) КемГУ, Email: dambo290@vandex.ru

Фанасков Виталий Сергеевич, к.т.н., разработчик C++/Qt (Компания WaveAccess)/ Email: vsnkfi@gmail.com

i Надоели баннеры? Вы всегда можете отключить рекламу.