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 или миниспецификации (но не тем и другим одновременно), и наоборот, каждая миниспецификация должна соответствовать единственному процессу;
- ссылки к данным в миниспецификациях должны соответствовать объектам на диаграммах и в словаре данных;
- по возможности должна контролироваться семантика миниспецификации.