2010/04/19 17:51:53

CASE-система (стандарт спецификации программного обеспечения)

Методы спецификации программ в CASE-системах

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

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


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

Для удобства и простоты работы, в CASE-системах используются графические языки спецификаций и описания процессов и структур данных. Наиболее распространенными являются:

  • диаграммы потоков данных (data flow diagram);
  • диаграммы объектов-связей, называемые еще диаграммами «сущность-связь» (ER-диаграммы, entity relation diagram);
  • диаграммы переходов-состояний (state transition diagram).

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

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

Изображение:Dpdsoz.jpg

Развертка диаграмм одного уровня детализации представляется в виде дерева разверток, напоминающего диаграмму Джексона. Другим аналогом дерева развертки является HIPO-технология.

Изображение:Drsoz.jpg


Диаграмма переходов-состояний

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

Изображение:dpsa.jpg

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

Диаграмма сущностей-связей

Такая диаграмма содержит узлы двух типов: для объектов (сущностей) и для связей. Дуги соединяют узел отношение с его аргументами. Классическим примером использования диаграмм сущностей-связей является описание концептуальных моделей в базах данных. Продемонстрируем потенциальные возможности использования ER-диаграмм в этом разрезе:

Изображение:Dosbd.jpg

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


Обобщение методов спецификации программ для CASE-систем.

Как правило, CASE-система поддерживает тот из указанных методов специфицирования, для разработок в какой отрасли она предназначена. Некоторые системы поддерживают одновременно несколько систем специфицирования. Но все эти системы имеют общие черты. Все они удобны и интуитивно понятны, и, как правило, имеют графический интерфейс, направленный на упрощение разработки. Все они поддерживают работу с иерархическими структурами, автоматически обновляя зависимые объекты при изменении влияющих. Все системы включают средства анализа, направленные на поиск и детальную проработку «узких» мест модели. Сюда входят анализ так называемого «критического пути», ценовая оценка (в смысле требований к ресурсам, времени и т.п.), оптимизация. Это становится возможным благодаря тому, что вся модель разработана на однотипном «языке», специально предназначенном для описания различных моделей.