Критерии формируют базис для процессов оценки и выбора и могут
принимать различные формы, включая:
числовые меры в широком
диапазоне значений, например,
объем требуемой памяти;
числовые меры в ограниченном
диапазоне значений, например,
простота освоения, выраженная
в баллах от 1 до 5;
двоичные меры (истина/ложь,
да/нет), например, способность
генерации документации в
формате Postscript;
меры, которые могут принимать
одно или более из конечных
множеств значений, например,
платформы, для которых
поддерживается CASE-средство.
Типичный процесс оценки и/или
выбора может использовать набор
критериев различных типов.
Структура набора критериев
приведена на рисунке 4.3. Каждый
критерий должен быть выбран и
адаптирован экспертом с учетом
особенностей конкретного процесса.
В большинстве случаев только
некоторые из множества описанных
ниже критериев оказываются
приемлемыми для использования, при
этом также добавляются
дополнительные критерии. Выбор и
уточнение набора используемых
критериев является критическим
шагом в процессе оценки и/или
выбора.
Функциональные характеристики
Критерии первого класса
предназначены для определения
функциональных характеристик
CASE-средства. Они в свою очередь
подразделяются на ряд групп и
подгрупп.
Среда функционирования:
Проектная среда:
поддержка процессов
жизненного цикла.
Определяет набор
процессов ЖЦ, которые
поддерживает
CASE-средство. Примерами
таких процессов
являются анализ
требований,
проектирование,
реализация,
тестирование и оценка,
сопровождение,
обеспечение качества,
управление
конфигурацией и
управление проектом,
причем они зависят от
принятой
пользователем модели
ЖЦ.
область применения.
Примерами являются
системы обработки
транзакций, системы
реального времени,
информационные
системы и т.д.
размер
поддерживаемых
приложений.
Определяет
ограничения на такие
величины, как
количество строк кода,
уровней вложенности,
размер базы данных,
количество элементов
данных, количество
объектов
конфигурационного
управления.
ПО/технические средства:
требуемые
технические средства.
Оборудование,
необходимое для
функционирования
CASE-средства, включая
тип процессора, объем
оперативной и
дисковой памяти.
поддерживаемые
технические средства.
Элементы
оборудования, которые
могут использоваться
CASE-средством,
например, устройства
ввода/вывода.
требуемое ПО. ПО,
необходимое для
функционирования
CASE-средства, включая
операционные системы
и графические
оболочки.
поддерживаемое ПО.
Программные продукты,
которые могут
использоваться
CASE-средством.
Рис. 4.3.
Структура набора
критериев
Технологическая среда:
соответствие
стандартам
технологической среды.
Такие стандарты
касаются языка, базы
данных, репозитория,
коммуникаций,
графического
интерфейса
пользователя,
документации,
разработки,
управления
конфигурацией,
безопасности,
стандартов обмена
информацией и
интеграции по данным,
по управлению и по
пользовательскому
интерфейсу.
совместимость с
другими средствами.
Способность к
взаимодействию с
другими средствами,
включая
непосредственный
обмен данными
(примерами таких
средств являются
текстовые процессоры,
базы данных и другие
CASE-средства).
Возможность
преобразования
репозитория или его
части в стандартный
формат для обработки
другими средствами.
поддерживаемая
методология. Набор
методов и методик,
поддерживаемых
CASE-средством.
Примерами являются
структурный или
объектно-ориентированный
анализ и
проектирование.
поддерживаемые
языки. Все языки,
используемые
CASE-средством.
Примерами таких
языков являются языки
программирования
(Кобол, Ада, С), языки
баз данных и языки
запросов (DDL, SQL),
графические языки
(Postscript, HPGL), языки
спецификации
проектных требований
и интерфейсы
операционных систем
(языки управления
заданиями).
Функции, ориентированные на
фазы жизненного цикла:
Моделирование:
Данные критерии
определяют способность
выполнения функций,
необходимых для
спецификации требований к
ПО и преобразованию их в
проект:
построение диаграмм.
Возможность создания
и редактирования
диаграмм различных
типов, представляющих
интерес для
пользователя.
Наиболее
распространенные типы
диаграмм описаны в
разделе 2.
графический анализ.
Возможность анализа
графических объектов,
а также хранения и
представления
проектной информации
в графическом
представлении. В
большинстве случаев
графические
анализаторы
интегрированы со
средствами построения
диаграмм.
ввод и
редактирование
спецификаций
требований и
проектных
спецификаций. К
спецификациям такого
рода относятся
описания функций,
данных, интерфейсов,
структуры, качества,
производительности,
технических средств,
среды, затрат и
графиков.
язык спецификации
требований и
проектных
спецификаций.
Возможность импорта,
экспорта и
редактирования
спецификаций с
использованием
формального языка.
моделирование
данных. Возможность
ввода и
редактирования
информации,
описывающей элементы
данных системы и их
отношения.
моделирование
процессов.
Возможность ввода и
редактирования
информации,
описывающей процессы
системы и их
отношения.
проектирование
архитектуры ПО.
Проектирование
логической структуры
ПО - структуры модулей,
интерфейсов и др.
имитационное
моделирование.
Возможность
динамического
моделирования
различных аспектов
функционирования
системы на основе
спецификаций
требований и/или
проектных
спецификаций, включая
внешний интерфейс и
производительность
(например, время
отклика, коэффициент
использования
ресурсов и пропускную
способность).
прототипирование.
Возможность
проектирования и
генерации
предварительного
варианта всей системы
или ее отдельных
компонент на основе
спецификаций
требований и/или
проектных
спецификаций.
Прототипирование в
основном касается
внешнего
пользовательского
интерфейса и
осуществляется при
непосредственном
участии
пользователей.
генерация экранных
форм. Возможность
генерации экранных
форм на основе
спецификаций
требований и/или
проектных
спецификаций.
возможность
трассировки.
Возможность сквозного
анализа
функционирования
системы от
спецификации
требований до
конечных результатов
(установления и
отслеживания
соответствий и связей
между функциональными
и другими внешними
требованиями к ИС,
техническими
решениями и
результатами
проектирования).
Прямая трассировка
(проверка учета всех
требований) и обратная
трассировка (поиск
проектных решений, не
связанных ни с какими
внешними
требованиями).
синтаксический и
семантический
контроль проектных
спецификаций. Контроль
синтаксиса диаграмм и
типов их элементов,
контроль декомпозиции
функций, проверка
спецификаций на
полноту и
непротиворечивость.
другие виды анализа.
Конкретные
дополнительные виды
анализа могут
включать алгоритмы,
потоки данных,
нормализацию данных,
использование данных,
пользовательский
интерфейс.
автоматизированное
проектирование
отчетов.
Реализация:
Реализация затрагивает
функции, связанные с
созданием исполняемых
элементов системы
(программных кодов) или
модификацией существующей
системы. Многие из
перечисленных ниже
критериев зависят от
конкретных языков и
включают следующие:
синтаксически
управляемое
редактирование.
Возможность ввода и
редактирования
исходных кодов на
одном или нескольких
языках с
одновременным
синтаксическим
контролем.
генерация кода.
Возможность генерации
кодов на одном или
нескольких языках на
основе проектных
спецификаций. Типы
генерируемого кода
могут включать
обычный программный
код, схему базы данных,
запросы, экраны/меню.
компиляция кода.
конвертирование
исходного кода.
Возможность
преобразования кода
из одного языка в
другой.
анализ надежности.
Возможность
количественно
оценивать параметры
надежности ПО, такие,
как количество ошибок
и др.
реверсный
инжиниринг.
Возможность анализа
существующих исходных
кодов и формирования
на их основе проектных
спецификаций.
реструктуризация
исходного кода.
Возможность
модификации формата
и/или структуры
существующего
исходного кода.
анализ исходного
кода. Примерами
такого анализа могут
быть определение
размера кода,
вычисление
показателей
сложности, генерация
перекрестных ссылок и
проверка на
соответствие
стандартам.
отладка. Типичные
функции отладки -
трассировка программ,
выделение узких мест и
наиболее часто
используемых
фрагментов кода и т.д.
Тестирование:
Критерии тестирования
включают следующие:
описание тестов.
Типичные возможности
включают генерацию
тестовых данных,
алгоритмов
тестирования,
требуемых результатов
и т.д.
фиксация и
повторение действий
оператора.
Возможность
фиксировать данные,
вводимые оператором с
помощью клавиатуры,
мыши и т.д.,
редактировать их и
воспроизводить в
тестовых примерах.
автоматический
запуск тестовых
примеров.
регрессионное
тестирование.
Возможность
повторения и
модификации ранее
выполненных тестов
для определения
различий в системе
и/или среде.
автоматизированный
анализ результатов
тестирования.
Типичные возможности
включают сравнение
ожидаемых и реальных
результатов,
сравнение файлов,
статистический анализ
результатов и др.
анализ тестового
покрытия.
Оснащенность
средствами контроля
исходного кода и
анализ тестового
покрытия. Проверяются,
в частности, обращения
к операторам,
процедурам и
переменным.
анализ
производительности.
Возможность анализа
производительности
программ.
Анализируемые
параметры
производительности
могут включать
использование
центрального
процессора, памяти,
обращения к
определенным
элементам данных и/или
сегментам кода,
временные
характеристики и т.д.
анализ
исключительных
ситуаций в процессе
тестирования.
динамическое
моделирование среды.
В частности,
возможность
автоматически
генерировать
моделируемые входные
данные системы.
Общие функции:
Приведенные ниже критерии
определяют функции CASE-средств,
охватывающие всю совокупность
фаз ЖЦ. Поддержка всех этих
функций осуществляется
посредством репозитория.
Документирование:
редактирование
текстов и графики.
Возможность вводить и
редактировать данные
в текстовом и
графическом формате.
редактирование с
помощью форм.
Возможность
поддерживать формы,
определенные
пользователями,
вводить и
редактировать данные
в соответствии с
формами.
возможности
издательских систем.
поддержка функций и
форматов гипертекста.
соответствие
стандартам
документирования.
автоматическое
извлечение данных из
репозитория и
генерация
документации по
спецификациям
пользователя.
Управление конфигурацией:
контроль доступа и
изменений.
Возможность контроля
доступа на физическом
уровне к элементам
данных и контроля
изменений. Контроль
доступа включает
возможности
определения прав
доступа к компонентам,
а также извлечения
элементов данных для
модификации,
блокировки доступа к
ним на время
модификации и
помещения обратно в
репозиторий.
отслеживание
модификаций.
Фиксация и ведение
журнала всех
модификаций,
внесенных в систему в
процессе разработки
или сопровождения.
управление версиями.
Ведение и контроль
данных о версиях
системы и всех ее
коллективно
используемых
компонентах.
учет состояния
объектов
конфигурационного
управления.
Возможность получения
отчетов о всех
последовательных
версиях, содержимом и
состоянии различных
объектов
конфигурационного
управления.
генерация версий и
модификаций.
Поддержка
пользовательского
описания
последовательности
действий, требуемых
для формирования
версий и модификаций,
и автоматическое
выполнение этих
действий.
архивирование.
Возможность
автоматического
архивирования
элементов данных для
последующего
использования.
Управление проектом:
управление работами
и ресурсами.
Контроль и управление
процессом
проектирования ИС в
терминах структуры
заданий и назначения
исполнителей,
последовательности их
выполнения,
завершенности
отдельных этапов
проекта и проекта в
целом. Возможность
поддержки плановых
данных, фактических
данных и их анализа.
Типичные данные
включают графики (с
учетом календаря,
рабочих часов,
выходных и др.),
компьютерные ресурсы,
распределение
персонала, бюджет и др.
оценка.
Возможность оценивать
затраты, график и
другие проектные
параметры, вводимые
пользователями.
управление
процедурой
тестирования.
Поддержка управления
процедурами и
программой
тестирования,
например, управления
расписанием
планируемых процедур,
фиксация и запись
результатов
тестирования,
генерация отчетов и
т.д.
управление
качеством. Ввод
соответствующих
данных, их анализ и
генерация отчетов.
корректирующие
действия. Поддержка
управления
корректирующими
действиями, включая
обработку сообщений о
проблемных ситуациях.