Программная инженерия. Проектирование программного обеспечения

Проектирование и генерация базы данных. Объектно-ориентированный подход к разработке сложных систем. Рекомендации по построению диаграмм классов. Разработка логической модели системы в виде диаграммы деятельности с CASE-инструментариями в языке UML.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 28.04.2017
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Разновидность сообщения а) используется для вызова процедур, выполнения операций или обозначения различных вложенных потоков управления.

Разновидность сообщения б) используется для обозначения простого (не вложенного) потока управления. Каждая такая стрелка указывает на прогресс одного шага потока. При этом соответствующие сообщения обычно являются асинхронными, т.е. могут возникать в произвольные моменты времени.

Разновидность сообщения в) явно обозначает асинхронное сообщение между двумя объектами в некоторой процедурной последовательности. Примером такого сообщения может служить прерывание операции или возникновение исключительной ситуации. В этом случае информация о такой ситуации передается вызывающему объекту для продолжения процесса дальнейшего взаимодействия.

Разновидность сообщения г) используется для возврата из вызова процедуры. Примером может служить простое сообщение о завершении некоторых вычислений без предоставления результата расчетов объекту-клиенту.

В отдельных случаях объект может посылать сообщение самому себе, инициируя так называемые рефлексивные сообщения (см. рис.5). Подобные ситуации возникают, например, при обработке нажатий клавиши клавиатуры при вводе текста в редактируемый документ, при наборе номера телефона абонента.

Таким образом, в языке UML каждое сообщение ассоциируется с некоторым действием, которое должно быть выполнено принявшим его объектом. При этом действие может иметь некоторые параметры, в зависимости от конкретных действий которых может быть получен различный результат. Соответствующие параметры будет иметь и вызывающее это действие сообщение. Значения параметров отдельных сообщений могут содержать условные выражения, образуя ветвление или альтернативные пути основного потока управления.

Рассмотрим пример - моделирование взаимодействия программной системы обслуживания клиентов в банке (Рис.5).

Размещено на http://www.allbest.ru/

Рис.5

Условием ветвления может служить сумма снимаемых клиентом средств со своего текущего счета. Если эта сумма превышает $1000, то могут потребоваться дополнительные действия, связанные с созданием и последующим разрушением объекта 4.Если эта сумма превышает $50, но не превышает $1000, то управление передается объекту 3. И, наконец, если сумма не превышает $50, то управление получает объект 2. При этом объекты 1,2 и 3 постоянно существуют в системе. Объект 4 создается только, если справедливо первое из альтернативных условий. В противном случае он может быть никогда не создан. После выполнения требуемых действий объекты 2 и 3 просто информируют объект 1 о завершении соответствующих операций, не требуя от него никаких действий (пунктирная стрелка). Объект 4 после завершения своих действий уничтожается, передавая управление объекту 3, делая его активным (фокус управления).

Стереотипы сообщений

В языке UMLпредусмотрены некоторые стандартные действия, выполняемые в ответ на получение соответствующего сообщения. Они могут быть явно указан на диаграмме последовательности в форме стереотипа рядом с сообщением, к которому они относятся. В этом случае они записываются в кавычках. Используются следующие обозначения для моделирования действий:

“call” (вызвать) - сообщение, требующее вызова операции или процедуры принимающего объекта;

“return” (возвратить) - сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту. Значение результата может инициировать выполнение потока управления;

“create” (создать) - сообщение, требующее создание другого объекта для выполнения определенных действий. Созданный объект может получить фокус управления, а может и не получить;

“destroy” (уничтожить) - сообщение с явным требованием уничтожить соответствующий объект;

“send” (послать) - обозначает посылку другому объекту некоторого сигнала, который асинхронно инициируется одним объектом и принимается (перехватывается) другим. Отличие сигнала от сообщения заключается в том, что сигнал должен быть явно описан в том классе, объект которого инициирует его передачу.

Ниже представлена диаграмма последовательности для случая ветвления со стереотипным значениями.

Размещено на http://www.allbest.ru/

Рис.6

Кроме стереотипов, сообщения могут иметь собственное обозначение операции, вызов которой они инициируют у принимающего объекта. В этом случае рядом со стрелкой записывается имя операции с круглыми скобками, в которых могут указываться параметры или аргументы соответствующей операции. Если параметры отсутствуют, то скобки все равно должны присутствовать после имени операции. Примерами таких операций могут служить следующие: «выдать клиенту сумму (n)», «подать звуковой сигнал тревоги()».

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.