Специфика исследований в области компьютерных информационных систем. Теория компьютерных информационных систем (КИС) - специфичная поддисциплина информатики.
В отличие от многих направлений - теории программирования, теории реляционных баз данных, исследований в области искусственного интеллекта - в ней не существует каких-либо основополагающих теоретических исследований.
Выделение исследований КИС в отдельное направление не означает, что их можно рассматривать как сложившуюся научную дисциплину. Скорее, именно потребность в теоретическом обосновании применяемых методик вызвала появление теории компьютерных информационных систем [1].
Теория КИС является инженерной дисциплиной, объединяющей в себе результаты, полученные в различных научных направлениях. Их пересечение неизбежно вызывает путаницу в терминологии. Так, в большинстве публикаций КИС ошибочно называются информационными системами.
КИС определяется как «совокупность аппаратно-программных средств и алгоритмических процедур, предназначенных для сбора, ввода, хранения, моделирования и образного представления информации» [2]. Термин «информационная система» является более общим понятием, его значение в различных дисциплинах определяется их спецификой.
Согласно наиболее общему определению, информационная система - это «система людей, исходных данных и действий, обрабатывающих информацию, включающая ручные и автоматизированные процессы». Для гуманитарных дисциплин характерен интерес к социальной составляющей информационной системы. В инженерных дисциплинах основное внимание уделяется техническим аспектам и методологиям создания информационных систем. Для системного анализа, математического моделирования и ряда других дисциплин информационная система интересна как реализация информационной модели реальных процессов [3].
Существуют две составляющие, определяющие популярность КИС. Во-первых, потребность в КИС вызвана возрастающей сложностью как самих систем, так и необходимостью управления ими в динамике. Во-вторых, немаловажную роль играют маркетинговые соображения - автоматизация деятельности предприятия является косвенным показателем его статуса.
Большинство исследовательских работ, связанных с КИС, носят исключительно прикладной, утилитарный характер. В них изучаются процессы разработки систем и методики управления этими процессами. Экономическая составляющая является важной частью прикладных исследований - без применения эффективных методик невозможна разработка окупаемых, сложных и современных компьютерных информационных систем.
Направления исследований. До недавнего времени основным предметом исследований являлись проблемы создания, управления и внедрения КИС. Акцент исследований постепенно смещается к изучению проблем интеграции информационных систем и теоретических основ разработки КИС.
В качестве примера можно привести методологии, применяемые в программной инженерии - дисциплины, специализирующейся на разработке программного обеспечения. В традиционных «тяжеловесных» методологиях, таких как RUP и MSF, формальное описание системы и техническая документация являются важнейшей составляющей проекта. В набирающих популярность «гибких» (Agile) методологиях внимание уделяется повышению качества программного кода, его тестированию и методикам программирования [4].
Отдельно стоит рассмотреть методологию доменно-ориентированного проектирования (Domain-Driven Design или DDD). Методология DDD является попыткой переноса методик моделирования в программную инженерию. В отличие от других дисциплин, анализ предметной области и полученные на его основе модели становятся центральными составляющими системы. Фактически готовое программное обеспечение, построенное по принципам DDD, являются действующей моделью предметной области [4].
Идеология DDD основана на предположении, что существенные изменения в предметной области происходят значительно реже, чем изменения требований к программному обеспечению. Таким образом, архитектура системы, основанная на модели предметной области, будет более стабильной. В идеальном случае качество системы будет определяться корректностью модели прикладной области и полнотой реализации этой модели.
Применение DDD позволяет сгладить разрыв между технологиями, применяемыми для хранения данных и для реализации логики предметной области.
Данные и алгоритмы. Как правило, КИС реализуются с применением объектно-ориенти-
рованного программирования (ООП). Распространённость ООП объясняется наличием готовых компонент, относительной лёгкостью реализации алгоритмов и абстракций. Это упрощает реализацию требований, определённых в спецификациях системы и позволяет снизить влияние инженерных проблем на проектирование системы.
ООП неэффективно при обработке больших массивов однородных данных. Императивность языков ООП усложняет реализацию однотипных задач, таких как описание структуры данных, передачу данных, контроль доступа, обеспечение корректности данных и отказоустойчивости.
Решение этих и множества других задач берёт на себя важнейшая составляющая КИС - система управления базами данных (СУБД). В подавляющем большинстве КИС применяются реляционные СУБД (РСУБД), разработанные на основе реляционной модели данных. На сегодняшний день ни одна РСУБД не может претендовать на звание полноценно реляционной - в них допускаются отклонения, нарушающие целостности реляционной модели [5].
Традиционно сложилось разделение: РСУБД применяются для хранения и обработки данных; ООП - для реализации логики предметной области и пользовательского интерфейса. Существует тенденция к снижению значимости РСУБД. Нередко предполагается использовать СУБД в роли «хранилища данных». В этом случае часть функций СУБД берёт на себя сервер приложений, ранее отвечавший лишь за бизнес логику, которую невозможно либо тяжело реализовать средствами СУБД. С одной стороны это упрощает разработку и снижает требования к разработчикам системы, с другой - такое решение порождает множество проблем и ограничивает возможности развития системы.
Проблемы развития КИС и пути их решения. Проблемы, возникающие в течение жизненного цикла КИС можно отнести к двум категориям - проблемы, связанные с интеграцией новых частей системы, и проблемы, связанные с необходимостью реализации новых требований.
Эти проблемы решаются безболезненно, если КИС была спроектирована с учётом возможных изменений, и эти изменения не затрагивают архитектуру системы. К сожалению, в большинстве методологий проектирования спецификации системы формируются на основе требований заказчика и анализа автоматизируемой деятельности. В этом случае решения об архитектуре системы и её функционал будут зависеть от неполной, динамически изменяющейся информации.
Альтернативный подход заключается в построении модели предметной области и реализации системы в строгом соответствии с этой моделью. Формализация предметной области позволяет декларативно описать ограничения и обеспечить корректность данных. Функционал системы реализуется на основе данной модели и является лишь одним из возможных её представлений.
Впервые данные идеи были сформированы в стандарте ANSI-SPARC, определяющем архитектуру СУБД и выделяющем физический, концептуальный и прикладной уровни системы. Эдгар Кодд, основатель теории реляционных баз данных, включил похожие требования в список из 12 правил, определяющих возможности реляционных СУБД [6]. В методологи программной инженерии DDD применяются схожий подход.
Основным преимуществом проектирования на основе модели предметной области является логическая обоснованность критериев, на основе которых принимаются решения о функционале и архитектуре системы. Для иллюстрации практической реализации вышеизложенных решений авторами подготовлена и внедрена платформа разработки и интеграции информационных систем UniversIS. Она предоставляет собой базовый набор сервисов необходимых при реализации практически любой КИС. В набор входят сервисы развёртывания, контроля доступа, хранения настроек, журнала сообщений и др.
Основной особенностью системы является её модульность на уровне клиентской и серверной частей. Практическое применение показало значительное сокращение сроков и упрощение разработки новых модулей системы UniversIS.
В результате эксперимента получены эмпирические методики, которые могут быть положены в основу новой методологии разработки компьютерных информационных систем.
СПИСОК ЛИТЕРАТУРЫ:
- Informational Systems - Wikipedia [http://en.wikipedia.org/wiki/Information_systems] Цитировано: 6 июня 2008 г.
- Красов А.В., Душин С.Е. Теория информационных процессов и систем. СПб.: СПбГЭТУ «ЛЭТИ», 2006.
- Beynon-Davies P. (2002). Information Systems: an introduction to informatics in Organisations. Palgrave, Basingstoke, UK. ISBN: 0-333-96390-3
- Eric Evans (2003) Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley. ISBN: 0-321-12521-5
- Сергей Кузнецов. Крупные проблемы и текущие задачи исследований в области баз данных [PDF Document] Москва: Институт системного программирования РАН, 2005.
- Codd, Edgar Frank: "Is Your DBMS Really Relational?", ComputerWorld, 14. October 1985 [http://www.cse.ohio-state.edu/~sgomori/570/ coddsrules.html] Цитировано: 2 июня 2008 г.