Всем привет. Написано в описании, что стоимость 30 000 рублей. Вопрос: 30 000 за возможность пройти курс? или же 30 000 только за выдачу диплома? |
Добавление отношений на диаграмму классов и редактирование их свойств
Окончательное построение диаграммы классов модели банкомата
Для окончательного построения диаграммы классов рассматриваемой модели банкомата следует описанным выше способом добавить оставшиеся классы и ассоциации, а также специфицировать стереотипы, атрибуты и операции этих классов. С этой целью следует выполнить следующие действия:
- Для класса IИнтерфейс Банка добавить операцию: проверить идентификатор карточки (идентификатор карточки: Integer) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в качестве целочисленного аргумента задать идентификатор карточки. Для задания аргумента необходимо перейти на вкладку Detail (Подробно) окна спецификации свойств даной операции и после добавления аргумента с помощью операции контекстного меню Insert ввести имя аргумента и его тип Integer в соответствующие поля ввода.
- Для класса IИнтерфейс Банка добавить операцию: открыть счет клиента (идентификатор карточки: Integer) с квантором видимости public. В качестве целочисленного аргумента этой операции следует задать идентификатор карточки.
- Для класса IИнтерфейс Банка добавить операцию: проверить баланс клиента (идентификатор карточки: Integer, введенная сумма наличных: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать идентификатор карточки, а в качестве второго аргумента - введенная сумма наличных с типом Currency (Денежный).
- Для класса IИнтерфейс Банка добавить операцию: уменьшить счет клиента (идентификатор карточки: Integer, введенная сумма наличных: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать идентификатор карточки, а в качестве второго аргумента - введенная сумма наличных с типом Currency (Денежный).
- Для класса Устройство чтения карточки добавить операцию: прочитать идентификатор карточки() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный), а в секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки".
- Для класса Устройство чтения карточки добавить операцию: прочитать ПИН-код() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный), а в секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки".
- Для класса Устройство чтения карточки добавить операцию: вернуть кредитную карточку() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: "Вызывается после завершения транзакции".
- Для класса Устройство чтения карточки добавить операцию: блокировать кредитную карточку() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как установлен факт утраты кредитной карточки владельцем".
- Добавить класс с именем Экран Банкомата, для которого выбрать стереотип boundary. Данный класс также находится на границе моделируемой системы, на что и указывает этот стереотип. В секцию документации данного класса следует ввести поясняющий текст: "Устанавливается на банкомате".
- Для класса Экран Банкомата добавить операцию: показать меню опций() с квантором видимости public.
- Для класса Экран Банкомата добавить операцию: показать меню снятия суммы() с квантором видимости public.
- Добавить класс с именем Клавиатура Банкомата, для которого выбрать стереотип boundary. В секцию документации данного класса следует ввести поясняющий текст: "Устанавливается на банкомате".
- Для класса Клавиатура Банкомата добавить операцию: ввести ПИН-код() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer, а в секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как клиент ввел значение ПИН-кода с клавиатуры".
- Для класса Клавиатура Банкомата добавить операцию: ввести тип транзакции() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в секцию документации данной операции следует ввести поясняющий текст: "Возвращает значение Истина, если клиент выбирает снятие наличных, и значение Ложь, если клиент выбирает получение справки о состоянии счета".
- Для класса Клавиатура Банкомата добавить операцию: ввести сумму снятия наличных() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Currency (Денежный), а в секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как клиент ввел значение снимаемой суммы с клавиатуры".
- Добавить класс с именем Устройство выдачи наличных, для которого выбрать стереотип boundary. В секцию документации данного класса следует ввести поясняющий текст: "Устанавливается на банкомате".
- Для класса Устройство выдачи наличных добавить операцию: выдать наличные() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: "Вызывается после того, как выполнено снятие запрошенной клиентом суммы со счета".
- Добавить класс с именем Принтер Банкомата, для которого выбрать стереотип boundary. В секцию документации данного класса следует ввести поясняющий текст: "Устанавливается на банкомате".
- Для класса Принтер Банкомата добавить операцию: распечатать чек() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: "Вызывается по дополнительному запросу клиента".
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу Устройство чтения карточки. В качестве кратности концов этой ассоциации установить значение 1.
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу Принтер Банкомата. В качестве кратности концов этой ассоциации установить значение 1.
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу Клавиатура Банкомата. В качестве кратности концов этой ассоциации установить значение 1.
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу Устройство выдачи наличных. В качестве кратности концов этой ассоциации установить значение 1.
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу Экран Банкомата. В качестве кратности концов этой ассоциации установить значение 1.
- Добавить направленную ассоциацию от класса Контроллер Банкомата к классу IКонтроллер Банка. В качестве кратности конца этой ассоциации для первого класса установить значение 0..n, а кратности конца ассоциации для второго класса установить значение 1. В качестве стереотипа данной ассоциации выбрать из вложенного списка значение <<communicate>>. Применение данного стереотипа означает, что между этими классами должна существовать физическая взаимосвязь.
Выполнить эти действия предлагается читателям самостоятельно. Построенная в результате указанных действий диаграмма классов будет иметь следующий вид (рис. 6.7).
Следует заметить, что при изображении диаграммы классов все классы представлены в форме графических стереотипов, при этом выбран способ отображения сигнатуры операций классов. Для более компактного представления диаграммы можно убрать отображение атрибутов, операций или сигнатуры операций отдельных классов с помощью соответствующих операций контекстного меню Options (Настройка).