15.2. Контроль ошибок

CASE обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах ЖЦ, что влияет на успех разработки в целом.

В CASE диаграммеры и верификаторы способны осуществлять следующие типы контроля.

1) Контроль синтаксиса диаграмм и типов их элементов. Обычно такой контроль осуществляется при вводе и редактировании элементов диаграмм. Примеры контролируемых ситуаций:

- по синтаксису: любой функциональный элемент диаграммы должен иметь, по крайней мере, один входной и один выходной поток; два элемента данных не могут быть непосредственно связаны (например, два хранилища на DFD);

- по типам: функциональный элемент должен всегда использоваться для представления процедурной компоненты; поток данных всегда должен быть представлен компонентой данных.

2) Контроль полноты и состоятельности диаграмм: все элементы диаграмм должны быть идентифицированы и отражены в репозитарии. Например, для DFD контролируются неименованные или несвязанные потоки данных, процессы и хранилища данных; источники и стоки данных (внешние сущности) вне контекстной диаграммы; хранилища данных на контекстной диаграмме и т.п. При анализе словаря данных необходимо выявлять циклические определения, эквивалентные определения, неопределенные объекты.

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

4) Сквозной контроль диаграмм одного или различных типов на предмет их состоятельности по уровням — вертикальное и горизонтальное балансирование диаграмм.

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

Горизонтальное балансирование определяет некорректности между DFD, ERD, STD, словарями данных и миниспецификациями процессов.

Так, при балансировании DFD — ERD контролируется соответствие каждого накопителя данных на DFD сущности или отношению на ERD.

Контроль DFD — STD осуществляется по следующим правилам:

- каждый управляющий процесс на DFD детализируется спецификацией управления STD, и наоборот, каждой STD должен соответствовать управляющий процесс;

- каждое условие/действие в STD должно соответствовать входному/выходно­му уп­равляющему потоку на DFD, и наоборот, каждому управляющему потоку в за­ви­­симости от его направленности должно соответствовать условие/действие на STD.

При балансировании DFD — словарь данных — миниспецификация должны проверяться следующие правила:

- каждый поток и накопитель данных должны быть определены в словаре данных (контроль неопределенных значений), и наоборот, каждое определение в словаре должно быть отражено на диаграмме, в миниспецификации или другом определении (контроль неиспользуемых значений);

- каждый процесс на DFD должен детализироваться с помощью DFD или миниспецификации (но не тем и другим одновременно), и наоборот, каждая миниспецификация должна соответствовать единственному процессу;

- ссылки к данным в миниспецификациях должны соответствовать объектам на диаграммах и в словаре данных;

- по возможности должна контролироваться семантика миниспецификации.