Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Описание автоматической генерации MSC тестов
Конструкция loop (рис. 10.5) имеет несколько форм. Наиболее общая форма - loop <n, m>, где n и m - натуральные числа. Это означает, что конструкция может быть выполнена от n до m раз. Вместо натурального числа может использоваться ключевое слово inf, обозначающее бесконечность.
Оператор opt имеет структуру, аналогичную loop, но без операндов, и обозначает то же, что и оператор alt с пустой MSC в качестве второго операнда.
Одним из важных понятий в MSC является условие или состояние. Состояние - это особое событие на трассе объекта. В отличие от прочих событий, одно и то же состояние может разделяться одним, двумя и более объектами. По числу объектов на диаграмме, разделяющих некоторое состояние, различают глобальные состояния (общее для всех объектов), разделяемые состояния (разделяемые несколькими, но не всеми объектами) и локальные состояния (разделяемые единственным объектом). Если два объекта разделяют одно и то же состояние, то сопряженные события приема и посылки сообщений должны происходить либо оба до соответствующего состояния, либо оба после соответствующего состояния.
Основной недостаток стандартной MSC - невозможность описать отношения данных в параметрах сообщения. Эта проблема решается с использованием некоторого расширения стандартного MSC - mMSC (macro MSC). Основные из этих расширений включают в себя:
Макроподстановки (рис. 10.7). Они позволяют создавать множество MSC-диаграмм с одинаковой структурой и разными параметрами сообщения, циклами и т. п. Макроподстановки начинаются с символа # и могут быть константами или функциями. Функции, кроме названия, содержат параметры, заключенные в скобки.
Типы макроподстановок описываются в определенном файле, и на основе этой информации вместо них подставляются конкретные значения.
Временные ограничения служат для указания времени посылки/приема сообщения, его длительности и типа (синхронное с явно заданным моментом выполнения, асинхронное). Время может задаваться относительно начала работы (абсолютное), относительно предыдущего сообщения (относительное) или относительно метки. На рис. 10.8 сообщение M01 должно отправиться через 5 единиц времени, в течение 5 единиц после получения сообщения M00 (указано с помощью метки).
Применение MSC-диаграмм для описания поведения моделей
Благодаря своему главному преимуществу - ясному графическому представлению, которое дает интуитивное понимание поведения описываемой системы, MSC-диаграммы широко применяются для различных целей:
- для определения требований;
- как спецификация интерфейсов;
- как спецификация взаимодействия процессов;
- как базис для генерации тестов;
- для документации;
- для объектно-ориентированного анализа и разработки.
Хотя изначально MSC-диаграммы предназначались для описания телекоммуникационных систем, сейчас они с успехом применяются и в других областях.
Обработка MSC-диаграмм
В случае достаточно сложных систем могут быть обнаружены ошибки, возникшие как при создании диаграммы, так и при проектировании тестируемой системы. Исправление тех же ошибок, если они будут обнаружены на более позднем этапе жизненного цикла продукта, потребует гораздо больших затрат.
Проверка MSC-диаграммы на полноту
Большинство систем или их частей можно в том или ином виде представить с помощью механизма state-машин. Тогда каждому состоянию системы на диаграмме будет соответствовать условие - конструкция condition. Для каждого события диаграммы (под событием будем понимать сообщение или действие - action) можно составить множество всех состояний, которые могут непосредственно предшествовать ему (предусловия). В этом случае проверка на полноту MSC-диаграммы будет заключаться в проверке того, все ли возможные случаи предусловий для каждого события представлены в ней. Если это не так, то, возможно, диаграмма не описывает полностью все возможные сценарии работы системы, и множество тестов, сгенерированных по этой диаграмме, будет неполным.