Объектно-ориентированное проектирование ЭИС. Метод COMET. Аналитическая модель. Динамическое моделирование
На этапе динамического моделирования рассматриваются динамические, или поведенческие, аспекты системы. Динамическая модель является одновременно межобъектной (описывающей взаимодействие объектов) и внутриобъектной (характеризующей, как зависящий от состояния объект определяется конечным автоматом и изображается на диаграмме состояний). В основе построения динамической модели лежат ранее разработанные прецеденты. Для каждого прецедента надо определить участвующие в нем объекты и то, как они общаются в этом прецеденте. Взаимодействие графически изображается на диаграмме взаимодействия. Следует применять один из двух видов таких диаграмм: диаграммы кооперации или диаграммы последовательности. Необходимо также составить словесное описание взаимодействий объектов в виде описания последовательности сообщений. Если во взаимодействии участвует зависящий от состояния управляющий объект, то требуется разработать исполняемую им диаграмму состояний и показать соответствующие события как на диаграмме состояний, так и на диаграмме взаимодействий. Анализ зависящей от состояния динамики относится к зависящим от состояния кооперациям, управляемым диаграммой состояния. Анализ не зависящей от состояния динамики не связан с диаграммами состояний. 1 Моделирование взаимодействий объектов Динамическое моделирование сильно зависит от сообщений и событий. Сообщение - это событие вместе с данными, которые ему сопутствуют; они называются атрибутами сообщения. Например, у события Карточка Вставлена есть два атрибута: Номер Карточки и Срок Действия. Они считываются с магнитной полоски, которая нанесена на карточку, вставленную в банкомат. Сообщение записывается так:
сообщение = событие (атрибуты сообщения); допустим, Карточка Вставлена (Номер Карточки, Срок Действия}. С событием могут и не ассоциироваться никакие данные. Так, у события Карточка возвращена нет атрибутов. Диаграммы кооперации В аналитической модели сообщения описывают информацию, транслируемую между объектами. Диаграммы кооперации помогают идентифицировать операции объектов, поскольку приход сообщения объекту обычно приводит к вызову одной из его операций. Однако в методе COMET основное внимание уделяется анализу передаваемой информации, а не вызываемым операциям. На этапе проектирования мы можем предполагать, что два разных сообщения, пришедшие объекту, вызывают разные операции или одну и ту же операцию, которой имя сообщения передается в качестве параметра. Диаграмма кооперации разрабатывается для каждого прецедента, на ней изображаются только объекты, участвующие в этом прецеденте. Некоторые объекты могут присутствовать только на одной диаграмме кооперации, другие -сразу на нескольких. Такая диаграмма описывает последовательность участия объектов в прецеденте, для ее представления используются порядковые номера сообщений. Порядок сообщений на диаграмме должен соответствовать той последовательности взаимодействий между актером и системой, которая зафиксирована в описании прецедента. Сообщения на диаграмме кооперации могут быть пронумерованы или нет, хотя в отсутствие нумерации теряется информация об упорядочении. Диаграммы последовательности Диаграмму взаимодействий между объектами можно представить также в виде диаграммы последовательности, на которой показана временная цепочка взаимодействий. На диаграмме последовательности изображаются объекты, участвующие во взаимодействии, и порядок отправки сообщений. Диаграммы последовательности и диаграммы кооперации предоставляют одну и ту же информацию, но по-разному. Обычно для описания системы используются либо те, либо другие Диаграммы, но не оба вида сразу.
Поскольку на диаграмме последовательности сообщения, отправленные поочередно, изображаются сверху вниз, то явно указывать их номера необязательно. Сравнение диаграмм последовательности и кооперации Для изображения взаимодействий объектов и последовательности сообщений можно использовать как диаграммы кооперации, так и диаграммы последовательности. Диаграмма последовательности описывает порядок, в котором объекты обмениваются сообщениями, но из нее трудно понять, как объекты связаны друг с другом. Диаграмма кооперации, напротив, ясно показывает взаимное расположение объектов. Очередность сообщений представлена на обеих диаграммах. Поскольку на диаграмме кооперации порядок следования сообщений виден не так отчетливо, сообщения на ней обычно нумеруются. Однако даже при этом условии разобраться в последовательности сообщений, глядя на диаграмму кооперации, часто бывает нелегко. С другой стороны, если число взаимодействующих объектов велико, то диаграмму последовательности читать труднее. Приходится либо сжимать ее, чтобы расположить в пределах страницы, либо размещать на нескольких страницах. Ниже описаны некоторые способы решения названных проблем. В методе COMET предпочтение отдается диаграммам кооперации, поскольку одним из важных шагов перехода к этапу проектирования является синтез архитектуры системы на основе диаграмм взаимодействия. Диаграммы кооперации для этого более пригодны. Если вы начнете с диаграмм последовательности, то перед началом синтеза их придется преобразовать в диаграммы кооперации. Однако в некоторых ситуациях диаграммы последовательности оказываются весьма полезными, в частности для моделирования очень сложных взаимодействии и временных диаграмм. Прецеденты и сценарии Сценарий - это один из путей обхода прецедента. Таким образом, конкретная последовательность сообщений, изображенная на диаграмме взаимодействия, на самом деле соответствует сценарию, а не прецеденту. Чтобы представить вес описанные в прецеденте альтернативы, часто приходится создавать несколько диаграмм взаимодействия.
Пользуясь условиями, на диаграммах взаимодействия разрешается изображать альтернативы, то есть расположить весь прецедент на одной диаграмме. Однако может оказаться, что диаграмму будет трудно читать. Поэтому на практике обычно показывают по одному сценарию на каждой диаграмме взаимодействия. 1.5 Обобщенные и конкретные формы диаграмм взаимодействия Есть две формы диаграмм взаимодействия: обобщенные (generic) и конкретные (instance). Конкретная форма подробно описывает один сценарий, то есть одну из возможных последовательностей взаимодействий. Обобщенная форма показывает все вероятные взаимодействия, может содержать циклы, ветвления и условия. Обобщенная форма диаграммы взаимодействий применяется для указания главной и альтернативных последовательностей прецедента, При использовании конкретной формы иногда необходимо создавать несколько диаграмм для одного прецедента - их число зависит от количества альтернатив. 2 Сообщения-метки на диаграммах взаимодействия Сообщение-метка имеет следующий синтаксис: Обозначение последовательности, имя сообщения, список аргументов, где обозначение последовательности -это порядковый номер сообщения, повтор. Для отправленного сообщения может быть указано необязательное возвращаемое значение. Однако на этапе анализа рекомендуется использовать только простые сообщения, которые не возвращают значений. Рассмотрим синтаксис сообщения-метки детальнее: 1)порядковый номер сообщения; 2)повтор необязателен и относится к условному и итеративному исполнению. Он представляет одно или несколько сообщений, посылаемых при реализации определенных условий. Возможны два варианта: - * [выражение итерации] для обозначения итерации, Звездочка (*) означает, что посылается более указать число повторений, например Ц=1,п]. Итерацию третьего сообщения можно записать так: 3*; - [выражение условия] для обозначения условия. Необязательное условие применяется для показа ветвления. ется только в том случае, если условие в скобках истинно. Вот примеры записи условной посылки сообщения: 4[х<п] или 5 [Нормально]; 3)имя сообщения обязательно; 4)список аргументов сообщения необязателен. С его помощью можно задать перечень параметров, посылаемых вместе с сообщением.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|