Модель процессов
Модель состояний объектов задает требования к поведению системы, предусматривает определение действий, которые сопровождают изменение состояний объектов. Действия – это алгоритмы, которые выполняются системой как реакции на события и функции системы. Понимание требований к системе предусматривает и понимание указанных выше действий, иногда достаточно сложных. Для преодоления сложности понимания действий используется декомпозиция их на отдельные составляющие, названные процессами.
Последовательность выполняемых процессов образует поток управления. Процессы обмениваются данными, образуя потоки данных. Два указанных выше типа потоков предлагается использовать как модели алгоритмов действий системы. Для их представления в данном методе предусмотрена специальная нотация, получившая название диаграммы действий потоков данных.
В качестве источников данных могут быть:
– атрибуты объектов, которые продолжают существовать после завершения работы системы;
– системные часы, как показатель времени;
таймеры;
– данные событий;
– сообщения внешних объектов (людей, операторов и т.п.).
Правила построения диаграмм действий потоков данных:
– каждой из диаграмм перехода состояний может отвечать только одна диаграмма действий потоков данных;
– процесс изображается овалом, в середине которого указано содержание или название процесса;
– потоки данных изображены стрелками, на которых указываются идентификаторы данных, передаваемых от процесса к процессу; стрелка к овалу процесса указывает на входные данные процесса, направление от овала процесса - на выходные данные;
– источники данных изображены как прямоугольники или рамками с открытыми сторонами;
– данным, имеющим своими источниками архивные объекты, соответствуют потоки с названиями атрибутов объектов, которые передаются потоками (при этом название объекта может не указываться);
– потоки данных от таймера маркируются названием таймера;
– потоки данных от системных часов маркируются показателями времени (час, минута, и т.п.);
– событие, сообщение о котором получает процесс, изображается как стрелка, маркируемая названиями данных событий;
– процесс, породивший событие и процесс от приема сообщения о событии, относятся к одной диаграмме действий потоков данных и связывается потоком;
– если событие, созданное процессом некоторой диаграммой действий потоков данных, вызывает передачу сообщения процессу, другая диаграмма действий потоков данных, для первого из указанных выше процессов указывается стрелкой, ведущей от процесса в "никуда", а для второго - стрелкой, ведущей к процессу из "ниоткуда", причем в обоих случаях стрелки маркируется данными передаваемого события.
Различаются следующие типы процессов:
– аксессор, осуществляющий доступ к архивам;
– генератор событий;
– преобразователь данных (вычисления);
– проверки условий.
Потоки управления на диаграмме действий потоков данных обозначаются пунктирными стрелками. Если процесс представляет собой проверку определенного условия, при выполнении которого осуществляется передача управления другому процессу, то соответствующий поток управления изображается перечеркнутой пунктирной стрелкой. Пример диаграммы действий потоков данных приведен на рис. 4.3.
Рис. 4.3. Пример диаграммы действий потоков данных
К диаграммам действий потоков данных добавляется неформальное описание функций процессов, которое входят в ее состав. Для описания подробностей действий процессов нотация не регламентируется.
После завершения описания диаграммы действий потоков данных для всех объектов системы составляется общая таблица процессов, состоящая из следующих колонок:
– идентификатор процесса;
– тип процесса;
– название процесса;
– название состояния, для которого определен процесс;
– название действия состояния.
Такая таблица дает возможность проверить: непротиворечивость названий и идентификаторов процессов; полноту определенных событий и процессов; события генерируются или обрабатываются соответствующим процессом. Кроме того, наличие такой таблицы дает возможность выявить процессы, общие для нескольких действий или состояний и унифицировать их.
Можно представить таблицы трех видов, упорядоченных по идентификаторам процессов или по модели состояний или по типу процесса.
Результатами метода инженерии требований С.Шлаер и С.Меллора являются три модели.
1. Информационная модель системы, состоящая из:
– диаграммы сущность – связь;
– описания объектов и их атрибутов (неформальное);
– описания связей между объектами (неформальное).
2. Модель поведения объектов системы, представленная в виде:
– диаграммы переходов в состояния диаграмм перехода состояний или таблицы перехода состояний;
– неформальное описания действий диаграммами перехода состояний;
– неформальное описания событий диаграммами перехода состояний.
3. Модель процессов состояний объектов, представленная в виде:
– диаграмм действий потоков данных;
– таблицы процессов состояний;
– неформальное описание процессов.
Совокупность перечисленных моделей считается достаточной для перехода к процессу проектирования системы.