Функциональные характеристики

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

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

a. Проектная среда:

§ поддержка процессов жизненного цикла. Определяет набор процессов ЖЦ, которые поддерживает автоматизированную систему. Примерами таких процессов являются анализ требований, проектирование, реализация, тестирование и оценка, сопровождение, обеспечение качества, управление конфигурацией и управление проектом.

§ область применения. Примерами являются системы обработки транзакций, системы реального времени, информационные системы и т.д.

§ размер поддерживаемых приложений. Определяет ограничения на такие величины, как количество строк кода, уровней вложенности, размер базы данных, количество элементов данных, количество объектов конфигурационного управления.

b. ПО/технические средства:

§ требуемые технические средства. Оборудование, необходимое для функционирования автоматизированных систем.

§ поддерживаемые технические средства. Элементы оборудования, которые могут использоваться автоматизированными системами, например, устройства ввода/вывода.

§ требуемое ПО. ПО, необходимое для функционирования автоматизированной системы, включая операционные системы и графические оболочки.

§ поддерживаемое ПО. Программные продукты, которые могут использоваться автоматизированной системой.

c. Технологическая среда:

§ соответствие стандартам технологической среды. Такие стандарты касаются языка, базы данных, репозитория, коммуникаций, графического интерфейса пользователя, документации, разработки, управления конфигурацией, безопасности, стандартов обмена информацией и интеграции по данным, по управлению и по пользовательскому интерфейсу.

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

§ поддерживаемая методология. Набор методов и методик, поддерживаемых автоматизированной системой. Примерами являются структурный или объектно-ориентированный анализ и проектирование.

§ поддерживаемые языки. Все языки, используемые автоматизированной системой. Примерами таких языков являются языки программирования (Кобол, Ада, С), языки баз данных и языки запросов (DDL, SQL), графические языки (Postscript, HPGL), языки спецификации проектных требований и интерфейсы операционных систем (языки управления заданиями).

2. Функции, ориентированные на фазы жизненного цикла:

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

Данные критерии определяют способность выполнения функций, необходимых для спецификации требований к ПО и преобразованию их в проект:

§ построение диаграмм.

§ графический анализ. Возможность анализа графических объектов, а также хранения и представления проектной информации в графическом представлении.

§ ввод и редактирование спецификаций требований и проектных спецификаций. К спецификациям такого рода относятся описания функций, данных, интерфейсов, структуры, качества, производительности, технических средств, среды, затрат и графиков.

§ язык спецификации требований и проектных спецификаций. Возможность импорта, экспорта и редактирования спецификаций с использованием формального языка.

§ моделирование данных. Возможность ввода и редактирования информации, описывающей элементы данных системы и их отношения.

§ моделирование процессов. Возможность ввода и редактирования информации, описывающей процессы системы и их отношения.

§ проектирование архитектуры ПО. Проектирование логической структуры ПО - структуры модулей, интерфейсов и др.

§ имитационное моделирование. Возможность динамического моделирования различных аспектов функционирования системы на основе спецификаций требований и/или проектных спецификаций, включая внешний интерфейс и производительность.

§ прототипирование. Возможность проектирования и генерации предварительного варианта всей системы или ее отдельных компонент на основе спецификаций требований и/или проектных спецификаций.

§ генерация экранных форм. Возможность генерации экранных форм на основе спецификаций требований и/или проектных спецификаций.

§ возможность трассировки. Возможность сквозного анализа функционирования системы от спецификации требований до конечных результатов (установления и отслеживания соответствий и связей между функциональными и другими внешними требованиями к ИС, техническими решениями и результатами проектирования).

§ синтаксический и семантический контроль проектных спецификаций. Контроль синтаксиса диаграмм и типов их элементов, контроль декомпозиции функций, проверка спецификаций на полноту и непротиворечивость.

§ другие виды анализа. Конкретные дополнительные виды анализа могут включать алгоритмы, потоки данных, нормализацию данных, использование данных, пользовательский интерфейс.

§ автоматизированное проектирование отчетов.

b. Реализация:
Реализация затрагивает функции, связанные с созданием исполняемых элементов системы (программных кодов) или модификацией существующей системы. Многие из перечисленных ниже критериев зависят от конкретных языков и включают следующие:

§ синтаксически управляемое редактирование. Возможность ввода и редактирования исходных кодов на одном или нескольких языках с одновременным синтаксическим контролем.

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

§ компиляция кода.

§ конвертирование исходного кода.

§ анализ надежности. Возможность количественно оценивать параметры надежности ПО, такие, как количество ошибок и др.

§ реверсный инжиниринг. Возможность анализа существующих исходных кодов и формирования на их основе проектных спецификаций.

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

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

§ отладка. Типичные функции отладки – трассировка программ, выделение узких мест и наиболее часто используемых фрагментов кода и т.д.

c. Тестирование:
Критерии тестирования включают следующие:

§ описание тестов. Типичные возможности включают генерацию тестовых данных, алгоритмов тестирования, требуемых результатов и т.д.

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

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

§ регрессионное тестирование. Возможность повторения и модификации ранее выполненных тестов для определения различий в системе и/или среде.

§ автоматизированный анализ результатов тестирования. Типичные возможности включают сравнение ожидаемых и реальных результатов, сравнение файлов, статистический анализ результатов и др.

§ анализ тестового покрытия. Оснащенность средствами контроля исходного кода и анализ тестового покрытия.

§ анализ производительности

§ анализ исключительных ситуаций в процессе тестирования.

§ динамическое моделирование среды.

3. Общие функции:

Приведенные ниже критерии определяют функции автоматизированных систем, охватывающие всю совокупность фаз ЖЦ. Поддержка всех этих функций осуществляется посредством репозитория.

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

§ редактирование текстов и графики.

§ редактирование с помощью форм. Возможность поддерживать формы, определенные пользователями, вводить и редактировать данные в соответствии с формами.

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

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

§ соответствие стандартам документирования.

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

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

§ контроль доступа и изменений. Возможность контроля доступа на физическом уровне к элементам данных и контроля изменений.

§ отслеживание модификаций. Фиксация и ведение журнала всех модификаций, внесенных в систему в процессе разработки или сопровождения.

§ управление версиями. Ведение и контроль данных о версиях системы и всех ее коллективно используемых компонентах.

§ учет состояния объектов конфигурационного управления. Возможность получения отчетов о всех последовательных версиях, содержимом и состоянии различных объектов конфигурационного управления.

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

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

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

§ управление работами и ресурсами. Контроль и управление процессом проектирования ИС в терминах структуры заданий и назначения исполнителей, последовательности их выполнения, завершенности отдельных этапов проекта и проекта в целом.

§ оценка. Возможность оценивать затраты, график и другие проектные параметры, вводимые пользователями.

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

§ управление качеством. Ввод соответствующих данных, их анализ и генерация отчетов.

§ корректирующие действия. Поддержка управления корректирующими действиями, включая обработку сообщений о проблемных ситуациях.