Проектирование архитектур информационных систем. Беляев К.С. - 45 стр.

UptoLike

Составители: 

45
2.1.25Примерспецификацияпоследовательностей
Приняв во внимание требования, изложенные на стр. 34-35, а также
обращаясь к примеру спецификации прецедентов на стр. 41-42, построим
диаграмму последовательностей для прецедента «Enter Program of Study».
На рис. 6 показана диаграмма последовательностей для
приведенного выше сценария. Субъект Data Entry Person (Лицо, вводящее
данные) инициирует прецедент, отправляя сообщение с запросом объекту
граничного класса ProgramEntryWindow (Окно программы ввода) для
того, чтобы добавить студента
(обозначенного аргументом std) к списку
записавшихся на курс (аргумент crs) в данном семестре (аргумент sem).
Объект класса ProgramEntryWindow проверяет с помощью объекта
aStudent, имеет ли право студент записаться (например, внес ли студент
s_check соответствующую плату). Выходной аргумент возвращает
значение «yes» или «no» объекту: ProgramEntryWindow. Если
возвращается значение «no», запись не может продолжаться, и объект
:ProgramEntryWindow отправляет автосообщение самому себе, чтобы
уничтожить (destroy) себя (операция деструктора). Запись условия в
квадратных скобках говорит о том, что операция деструктора является
необязательной.
Использование автосообщения для указания на необходимость
уничтожения объекта является просто сокращенной записью.
В действительности объект_экземпляр не может уничтожить себя.
Сообщение об уничтожении (destroy) должно быть отправлено
объекту_классу. Кроме того, в языке UML имеется специальное
обозначение для операции уничтожения объектабольшой знак Х,
помещенный на жизненной линии объекта в точке, в которой объект
должен быть уничтожен.
Если студент aStudent может быть записан, нам требуется выяснить,
открыта ли запись на курс aCourse. Для обслуживания этого требования