Критерии оценки и выбора тс по
Критерии формируют базис для процессов оценки и выбора и могут принимать различные формы:
· числовые меры в широком диапазоне значений, например, объем требуемых ресурсов;
· числовые меры в ограниченном диапазоне значений, например простота освоения, выраженная в баллах от 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), удостоверяющие, что квалификация
поставщика в области создания и сопровождения ПО удовлетворяет некоторым минимально необходимым или вполне определенным требованиям. Сертификация может быть неформальной, например на основе анализа качества работы поставщика;
· сертификация продукта;
· поддержка поставщика — доступность, реактивность и качество услуг, предоставляемых поставщиком для пользователей ТС ПО. Такие услуги могут включать телефонную «горячую линию», местную техническую поддержку, поддержку в самой организации.
На основе данного набора параметров анализируются и классифицируются существующие ТС ПО. Общий набор критериев, применяемых для оценки ТС ПО, приведен ниже.