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