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