Новые книги

Третье издание, расширенное и обновлённое для Blender 2.57
Этан Цукерман, директор Центра по изучению гражданских медиа при Массачусетском технологическом институте (MIT), интернет активист и блогер, в своей дебютной книге описывает как социальные сети, транспортные хабы и новые информационные технологии, изменяют нашу жизнь. Новый взаимосвязанный мир функционирует не совсем так, как представляют себе технооптимисты и колумнисты специализированных изданий, но тем не менее он уже существует, и научиться жить в нем, адекватно используя интернет и прочие инструменты во благо, а не во вред, – задача, которая стоит сегодня необычайно остро.

Динамическая модель банковской сети

2.5.6. Динамическая модель банковской сети

В качестве примера применения рассмотренных принципов построения динамической модели построим динамическую модель банковской сети. Начнем с составления и изучения сценариев.

	ATM просит клиента вставить карточку
		клиент вставляет карточку
	ATM принимает карточку и читает ее номер
	ATM просит ввести пароль
		клиент вводит "1234."
	ATM передает номер и пароль в консорциум, 
		консорциум проверяет номер и пароль, 
		определяет код банка - "39" и сообщает ATM, что запрос принят
	ATM просит клиента (с помощью меню на экране) выбрать вид проводки 
		(снятие, вклад, перевод, запрос)
		клиент выбирает снятие
	ATM спрашивает клиента какова требуемая сумма
		клиент вводит $100
	ATM убеждается, что введенная сумма в пределах лимита и 
		просит консорциум выполнить проводку, 
		консорциум передает запрос в банк, 
		банк выполняет проводку и возвращает новое значение баланса счета
	ATM выдает сумму и просит клиента взять ее
		клиент берет деньги
	ATM спрашивает не нужно ли клиенту чего еще
		клиент вводит нет
	ATM печатает счет, выдает карточку и просит клиента взять их
		клиент берет счет и карточку
	ATM просит (другого) клиента ввести карточку

Рис. 2.53. Нормальный сценарий для банковской сети

На рисунке 2.53 представлен нормальный сценарий обслуживания клиента в банковской сети; один из возможных сценариев, содержащих исключительные ситуации, показан на рисунке 2.54.

	ATM просит клиента вставить карточку
		клиент вставляет карточку
	ATM принимает карточку и читает ее номер
	ATM просит ввести пароль
		клиент вводит "9999."
	ATM передает номер и пароль в консорциум; 
		консорциум, проконсультировавшись с соответствующим банком, 
	отвергает запрос
	ATM сообщает, что пароль введен неверно
		клиент вводит "1234."
	ATM передает номер и пароль в консорциум, 
		консорциум проверяет номер и пароль, 
		определяет код банка - "39" и сообщает ATM, что запрос принят
	ATM просит выбрать вид проводки
		клиент выбирает снятие
	ATM спрашивает какова требуемая сумма
		клиент (раздумав брать деньги) набирает отмену
	ATM выдает карточку и просит клиента взять ее
		клиент берет карточку
	ATM просит (другого) клиента вставить карточку

Рис. 2.54. Сценарий для банковской сети, содержащий исключительные ситуации

Для каждого сценария можно составить соответствующую трассу событий (рисунок 2.55). Для этого выделяем в сценарии имена событий (событиями являются все сигналы, вводы данных, решения, прерывания, переходы и действия, выполняемые клиентом или внешними устройствами), указывая для каждого события объект, порождающий это событие (активный объект).

Имея трассы событий, можно построить диаграммы состояний объектов проектируемой системы. Банковская сеть есть агрегация определенного числа параллельно и независимо работающих объектов четырех классов: консорциум, банк, ATM (банкомат) и клиент; поэтому состояние банковской сети определяется как кортеж состояний составляющих ее объектов: 1 объекта класса консорциум, b объектов класса банк, a объектов класса ATM (банкомат) и c объектов класса клиент (a, b, c - количество ATM, банков и клиентов сети соответственно). Классификация объектов, используемая при объектно-ориентированном подходе, позволяет вместо a+b+1 диаграмм состояний построить всего три (диаграммы состояний клиентов строить не нужно, так как их текущее состояние ясно и так).

Рис. 2.55. Трасса событий в банковской сети

Рис. 2.56. Привязка событий к объектам банковской сети

Построение диаграмм состояний начинается с привязки событий к объектам банковской сети (см. рисунок 2.56), являющимся источниками этих событий. Сначала рассматриваются нормальные события, потом исключительные события. Построение диаграммы состояний объекта (класса) может считаться законченным, когда диаграмма охватывает все рассматриваемые сценарии. Диаграммы состояний объектов классов ATM (банкомат), консорциум и банк представлены на рисунках 2.57, 2.58 и 2.59 соответственно.

Рис. 2.57. Диаграмма состояний объектов класса ATM (банкомат)

Рис. 2.58. Диаграмма состояний объектов класса консорциум

Рис. 2.59. Диаграмма состояний объектов класса банк

Назад | Содержание | Вперед