Проблемы спецификации в процессе разработки Сложных информационных систем
Н. Ю. Чеботарев
Кафедра ЭВМ, ДонНТУ
E-mail: vader@cs.donntu.ru


Источник: Научные работы Донецкого национального технического университета. Серия: Проблемы моделирования и автоматизации проектирования динамических систем, вып. 10, Донецк, ДонНТУ, 1999, с. 231-234.


 

Abstract

Chebotaryov N. Problems of specification and formalization in development of complex information systems. Development of complex information system need in constructing of specifications. This specifications are necessary and considerable description of a system. Article contents a review of common specification principles. The method of formalization of system functions that adducted to object-oriented architecture is present also.

Введение

Развитая инфраструктура современного мира накладывает жесткие требования на информационные системы, обладающие важным потребительским, промышленным и/или научным значением. Информационные системы такого уровня почти всегда обладают сложной организацией, которая должна нести пять признаков сложных систем [1]. Только в этом случае эти системы будут жизнеспособны. Жизнеспособность должна рассматриваться как важнейший параметр системы. Почти все современные информационные системы развивались в течение нескольких итераций своего жизненного цикла. Умирают лишь те системы, которые изначально проектировались без учета проблемы управления сложностью, а также системы, в спецификациях которых изначально не учитывался аспект развития, гибкости и масштабируемости самой системы и ее отдельных компонентов. Данная проблема проявилась во всей своей глубине лишь в последние годы. Определение спецификации, даваемое в [2], не совсем соответствует сегодняшнему состоянию вопроса. Поэтому возникает необходимость определения структуры спецификаций разрабатываемых систем. Спецификации сами по себе также должны быть гибки, масштабируемы и способны к развитию. Но чтобы требования не изменялись в процессе разработки, необходимо определять промежуточные устойчивые формы, иначе системы не смогут быть созданы. Другой проблемой является отсутствие развитых универсальных средств спецификации и средств проектирования.
В данной статье рассмотрены общие принципы спецификации. Далее предлагается способ формализации (формальной спецификации) функций сложных систем. Способ предусматривает отображение формального представления на объектно-ориентированную архитектуру системы.

Общие принципы спецификации

Спецификации должны представлять необходимое и достаточное описание разрабатываемой системы. На разных этапах процесса создания сложных систем разрабатывается целый ряд различных спецификаций. Прежде всего разрабатываются спецификации проекта, описывающие постановку задачи, концепцию ее решения и требования к системе. Наличие этих спецификаций позволяет начать реализацию системы. Далее на этапе проектирования разрабатываются спецификации компонент. Буч, рассматривая проблемы проектирования сложных программных систем, так определяет спецификацию: «Спецификация – это неграфическая форма, используемая для полного описания элемента системы обозначений: класса, ассоциации, отдельной операции или целой диаграммы. … Диаграмма – срез разрабатываемой модели системы. Спецификации же служат неграфическими обоснованиями каждого элемента обозначений. Таким образом, множество всех синтаксических и семантических фактов, нашедших отображение на диаграмме, должно быть подмножеством фактов, описанных в спецификации модели и согласовываться с ними. Очевидно, что важную роль в сохранении согласованности диаграмм и спецификаций может играть инструмент проектирования, поддерживающий такую систему обозначений» [1]. Как видно, Буч акцентирует внимание на спецификации компонент и подчеркивает их неграфический характер. Но в целом нет объективных причин для исключения графических элементов из спецификационных документов.
В спецификациях должны учитываться аспекты развития системы в целом, а также возможности и перспективы повторного использования компонент в различных подсистемах и в других системах. Это позволяет добиться экономии средств выражения и сократить ресурсы других разработок. Кроме того, в спецификациях должна учитываться проблема отката, т.е. возврата на предыдущие этапы в случае обнаружения ошибок того или иного значения и характера.
Таким образом, может быть предложена следующая структура спецификаций (рис. 1.):



Поясним отдельные моменты:

Общий подход к формализации функций сложных систем

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



Математически это выглядит так: каждая функция Fi(1 £  i £ m) выполняется алгоритмом Aj (1 £  j £ n), обрабатывающим данные (информационную структуру) Dk (1 £  k £ p), что может быть записана следующим образом:
.
Функция Fi отображается на экземпляр класса CFi, инкапсулирующего поведение (алгоритм) Aj и доступ DAi к данным Dk. Данные Dk могут быть представлены самостоятельным объектом классаCDk (DAi CDk), или могут быть непосредственно инкапсулированы в объекте класса CFi  (CFi ≡  CDk). Это может быть показано графически (рис. 3):
На физическом уровне реализация каждой функция Fi может быть выполнена в виде отдельного модуля, пакета, а также, физического или абстрактного объекта, предоставляющего простой интерфейс взаимодействия с ним. При этом такие модули или объекты взаимодействуют друг с другом посредством сервисов системного ядра, которое в простейшем случае реализует функцию центрального менеджера системы, синхронизирующего запросы. Все объекты классов CFi функционируют параллельно. При этом объект класса CF0 является Host-процессом, существует в единственном экземпляре, имеет высший приоритет и назначает приоритеты другим процессам (рис. 4).


 

Заключение

В статье рассмотрены  принципы спецификации, предложены общая структура спецификаций сложных информационных систем и способ формализации, основанный на функционально-информационной декомпозиции сложных систем. Данные результаты используются в исследованиях параллельных средств моделирования и, в частности, при проектировании подсистемы диалога MIMD-компоненты массивно параллельной моделирующей среды [3], которая имеет высокий уровень сложности и обладает пятью признаками сложных информационных систем [1].

Литература

[1]

Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд. / Пер. с англ. – М.: «Издательство Бином», СПб.: «Невский диалект», 1999 г. – 560 с., ил.

[2]

Lexikon der Informatik und Datenverarbeitung. – Springer, 1991, 980 S.

[3]

Чеботарев Н. Ю. К разработке подсистемы диалога MIMD-компоненты массивно параллельной моделирующей среды. / Научные труды Донецкого государственного технического университета. Серия: «Информатика, кибернетика и вычислительная техника», Выпуск 6 – Донецк: ДонГТУ, 1999, с. 62–66