КРИТЕРИИ ОЦЕНКИ И ВЫБОРА ТС ПО

 

Критерии формируют базис для процессов оценки и выбора и могут принимать различные формы:

· числовые меры в широком диапазоне значений, например, объем требуемых ресурсов;

· числовые меры в ограниченном диапазоне значений, нап­ример простота освоения, выраженная в баллах от 1 до 5;

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

· меры, которые могут принимать одно значение или более из конечных множеств значений, например платформы, для которых поддерживается ТС ПО.

Типичный процесс оценки и (или) выбора может использо­вать набор критериев различных типов. Каждый критерий дол­жен быть выбран и адаптирован экспертом с учетом особеннос­тей конкретного процесса. В большинстве случаев только неко­торые из множества описанных ниже критериев оказываются приемлемыми для использования, при этом также добавляются дополнительные критерии. Выбор и уточнение набора использу­емых критериев является критическим шагом в процессе оценки и (или) выбора.

Факторы выбора ТС ПО:

· характеристики объекта внедрения, определяющие требова­ния, предъявляемые к ТС ПО;

· параметры доступных ТС ПО;

· ресурсы проекта (финансовые, кадровые и технические).

Исходные данные для выбора и оценки применимости — на­бор параметров (технико-экономических характеристик) ТС ПО (рис. 5.4).

1. Функциональные характеристики, ориентированные на про­цессы жизненного цикла ПО.

1.1. Управление проектом:

· управление работами и ресурсами (контроль и управление процессом проектирования ПО в терминах структуры зада­ний и назначения исполнителей, последовательности их выполнения, завершенности отдельных этапов проекта и проекта в целом; возможность поддержки плановых дан­ных, фактических данных и их анализа. Типичные данные включают графики (с учетом календаря, рабочих часов, вы­ходных и др.), компьютерные ресурсы, распределение пер­сонала, бюджет и др.);

· оценка затрат, трудоемкости и времени;

· планирование;

· мониторинг проекта.

1.2. Разработка ПО

1.2.1. Моделирование:

 

Рис. 5.4. Совокупность параметров (технико-экономических характеристик) ТС ПО

 

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

· спецификация требований и проектных решений (включая возможность импорта, экспорта и редактирования специ­фикаций с использованием формального языка);

· моделирование данных и процессов;

· проектирование архитектуры ПО;

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

· прототипирование (возможность проектирования и генера­ции предварительного варианта всей системы или ее отдель­ных компонентов на основе спецификаций требований и (или) проектных спецификаций);

· трассировка (возможность сквозного анализа функциони­рования системы от спецификации требований до конеч­ных результатов (установления и отслеживания соответ­ствий и связей между функциональными и другими внеш­ними требованиями к ПО и техническими решениями и ре­зультатами проектирования); прямая трассировка (проверка учета всех требований) и обратная трассировка (поиск про­ектных решений, не связанных ни с какими внешними тре­бованиями)).

1.2.2. Программирование:

· генерация кода (программного кода, схемы базы данных, запросов, экранов/меню);

· синтаксически управляемое редактирование (возможность ввода и редактирования исходных кодов на одном или нес­кольких языках с одновременным синтаксическим контро­лем);

· компиляция кода;

· конвертирование кода;

· отладка (трассировка программ, выделение узких мест и на­иболее часто используемых фрагментов кода и т.д.).

1.3. Сопровождение:

· идентификация и локализация проблем;

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

· реструктуризация исходного кода (возможность модификации формата и (или) структуры существующего исходного кода).

1.4. Документирование:

· редактирование текстов и графики;

· редактирование с помощью форм;

· возможности издательских систем;

· поддержка функций и форматов гипертекста;

· автоматическое извлечение данных из репозитория и гене­рация документации.

1.5. Управление конфигурацией:

· контроль доступа и изменений (возможность контроля дос­тупа на физическом уровне к элементам данных и контроля изменений. Контроль доступа включает возможности опре­деления прав доступа к компонентам, а также извлечения элементов данных для модификации, блокировки доступа к ним на время модификации и помещения обратно в репозиторий);

· отслеживание модификаций (фиксация и ведение журнала всех модификаций, внесенных в систему в процессе разра­ботки или сопровождения);

· управление версиями (ведение и контроль данных о версиях системы и всех ее коллективно используемых компонентах);

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

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

· архивирование (возможность автоматического архивирова­ния элементов данных для последующего использования).

1.6. Обеспечение качества:

· управление данными о качестве;

· управление рисками.

1.7. Верификация:

· анализ трассировки спецификаций;

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

· анализ исходного кода (определение размера кода, вычисление показателей сложности, генерация перекрестных ссы­лок и проверка на соответствие стандартам).

1.8. Аттестация:

· описание тестов (генерация тестовых данных, алгоритмов тестирования, требуемых результатов и т.д.);

· фиксация и повторение действий оператора (возможность фиксировать данные, вводимые оператором с помощью клавиатуры, мыши и т.д., редактировать их и воспроизво­дить в тестовых примерах);

· автоматический запуск тестовых примеров;

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

· статистический анализ результатов тестирования;

· анализ тестового покрытия (оснащенность средствами контроля исходного кода и анализ тестового покрытия. Проверяются, в частности, исполняемые и вызываемые (или нет) операторы, процедуры и переменные);

· анализ производительности (возможность анализа произво­дительности программ. Анализируемые параметры произ­водительности могут включать степень использования ре­сурсов центрального процессора и памяти, количество об­ращений к определенным элементам данных и (или) сег­ментам кода, временные характеристики и т.д.);

· анализ исключительных ситуаций;

· динамическое моделирование среды;

· интеграционное тестирование.

2.Функциональные характеристики применения (инструмен­тальных средств).

2.1. Среда функционирования:

· требуемые технические средства;

· требуемое ПО.

2.2. Совместимость:

· совместимость с различными средами функционирования;

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

2.3. Аспекты применения:

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

· область применения (системы обработки транзакций, сис­темы реального времени, экономические информационные системы и др.);

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

· поддерживаемые методы (набор методов и методик, поддер­живаемых CASE-средством. Примерами являются струк­турный или объектно-ориентированный анализ и проекти­рование);

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

· локализация.

Характеристики качества.

3.1. Надежность:

· контроль и обеспечение целостности проектных данных;

· автоматическое резервирование;

· безопасность (защита от несанкционированного доступа);

· обработка ошибок (обнаружение ошибок в работе системы, извещение пользователя, корректное завершение работы или сохранение состояния к моменту прерывания);

· анализ отказов в критических приложениях.

3.2. Удобство использования:

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

· простота освоения (трудовые и временные затраты на осво­ение средств);

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

· качество документации и учебных материалов (полнота, по­нятность, удобочитаемость, полезность компьютерных учебных материалов, учебных пособий, курсов);

· качество диагностики (понятность и полезность диагности­ческих сообщений для пользователя);

· простота установки и обновления версий.

3.3. Эффективность:

· требования к оптимальному размеру внешней и оператив­ной памяти, типу и производительности процессора, обес­печивающим приемлемый уровень производительности;

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

· производительность: время, затрачиваемое CASE-сред­ством для выполнения конкретных задач (например, время ответа на запрос, время анализа 100 000 строк кода).

3.4. Сопровождаемость:

· уровень поддержки со стороны поставщика - скорость раз­решения проблем, поставки новых версий, обеспечение до­полнительных возможностей;

· трассируемость обновлений — простота освоения отличий новых версий от существующих;

· совместимость обновлений — совместимость новых версий с существующими, включая, например, совместимость по входным или выходным данным;

· адаптируемость к изменениям в методах;

· сопровождаемость конечного продукта.

3.5. Переносимость:

· совместимость с версиями операционной системы;

· переносимость данных между различными версиями средств;

· соответствие стандартам переносимости, включающим до­кументацию, коммуникации и пользовательский интер­фейс, оконный интерфейс, языки программирования, язы­ки запросов и др.

Общие характеристики.

4.1. Приобретение:

· затраты на технологию, включающие стоимость приобре­тения, установки, начального сопровождения и обучения. Следует учитывать цену для всех необходимых конфигура­ций, включая единственную копию, много копий, локаль­ную лицензию, лицензию для предприятия, сетевую ли­цензию;

· лицензионная политика — доступные возможности лицен­зирования, право копирования (носителей и документа­ции), любые ограничения и (или) штрафные санкции за вторичное использование (подразумевается продажа поль­зователем ТС ПО продуктов, в состав которых входят неко­торые компоненты ТС ПО, использовавшиеся при разра­ботке продуктов);

· экспортные ограничения.

4.2. Реализация:

· оценочный эффект от внедрения ТС ПО — уровень продук­тивности, качества и т.д. Такая оценка может потребовать экономического анализа;

· инфраструктура, требуемая для внедрения ТС ПО.

4.3. Поддержка:

· профиль поставщика — общие показатели возможностей поставщика. Профиль поставщика может включать масш­таб его организации, стаж в бизнесе, финансовое положе­ние, список любых дополнительных продуктов, деловые связи (в частности, с другими поставщиками технологии), планируемую стратегию развития;

· профиль продукта — общая информация о продукте, вклю­чая срок его существования, количество проданных копий, наличие, размер и уровень деятельности пользовательской группы, систему отчетов о проблемах, программу развития продукта, совокупность применений, наличие ошибок и др.;

· доступность и качество обучения (обучение может предос­тавляться на площади поставщика, пользователя или где-либо в другом месте).

4.4. Сертификация:

· сертификация поставщика — сертификаты, полученные от
специализированных организаций в области создания ПО
(например, SEI и ISO), удостоверяющие, что квалификация
поставщика в области создания и сопровождения ПО удов­летворяет некоторым минимально необходимым или вполне определенным требованиям. Сертификация может быть неформальной, например на основе анализа качества работы поставщика;

· сертификация продукта;

· поддержка поставщика — доступность, реактивность и каче­ство услуг, предоставляемых поставщиком для пользовате­лей ТС ПО. Такие услуги могут включать телефонную «горя­чую линию», местную техническую поддержку, поддержку в самой организации.

На основе данного набора параметров анализируются и клас­сифицируются существующие ТС ПО. Общий набор критериев, применяемых для оценки ТС ПО, приведен ниже.