ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Разбор симулятора системы из 4-х лифтов (2 часть)

Начало тут: разбор симулятора системы из 4-х лифтов.

Вторая иллюстрация к программе «ELEV» из 13-й главы учебника Лафоре. Она называется «Лифты в действии» и показывает, собственно, программу «ELEV» в работе:


Во-первых, непонятно, почему вторая иллюстрация нарисована в другом стиле по сравнению с первой (немного уменьшен размер и убрана серая рамка дисплея; первая иллюстрация обсуждалась в предыдущем посте). Это же вносит путаницу! Во-вторых, опять снизу не показана часть зоны диалога пользователя с программой (она должна в высоту занимать 4 строки), а текст запроса программы к пользователю не переведен на русский язык.

Вот как примерно нужно было делать эту иллюстрацию (я подогнал стиль этой иллюстрации к стилю первой иллюстрации и перевел текст запроса программы на русский):


Или вот то же самое, только я еще нанес воображаемые красные линии, чтобы можно было различить разные зоны симуляции (эти зоны обсуждались в предыдущем посте):


В зоне диалога пользователя с программой могут появляться разные запросы от программы, на которые пользователь отвечает. Текст исполненных запросов стирается, а на их месте появляются новые запросы. Я нарисовал диаграмму прецедентов и написал описания прецедентов, чтобы можно было понять, в какие моменты работы программы могут появляться определенные запросы:



Описания прецедентов в разных форматах: PDF, Markdown, HTML.

Разберем, что же происходит на иллюстрации.

В зоне диалога пользователя с программой выведен запрос «Введите номер этажа, на котором вы находитесь:» (по-английски: «Enter the floor you're on:»). Это прецедент «Вызов лифта с конкретного этажа». Так как программа пока не получила от пользователя ответа на этот запрос, его результаты никак не отражены в симуляции. В симуляции отражены результаты запросов, на которые пользователь ответил ранее.

В зоне кнопок вызова лифта с этажей видно, что на 17 этаже ожидают пассажиры. Они нажали кнопку «вверх» (символ «▲»).

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

На иллюстрации видно, что первый лифт остановился на 7 этаже и высаживает пассажиров (дверь кабины лифта открыта, улыбающееся лицо пассажиров изображено справа от кабины, то есть на выходе из нее). После окончания высадки этих пассажиров у этого лифта еще есть в списке этажей назначения этажи 8-й и 9-й. Далее этот лифт отправится к ним.

Второй лифт находится в движении на уровне 16 этажа. У него в списке этажей назначения есть один этаж: 13-й. После доставки туда пассажиров именно этот лифт, скорее всего, быстрее других успеет отреагировать на вышеупомянутую нажатую кнопку «вверх» на 17 этаже и поедет туда.

Третий лифт находится в движении на уровне 10 этажа. В его списке этажей назначения есть четыре этажа: 6-й, 5-й, 3-й и 1-й (очевидно, что этот лифт движется сверху вниз, поэтому именно в таком порядке он доставит пассажиров на перечисленные этажи назначения).

Четвертый лифт только что приехал на первый этаж, пассажиры ожидают погрузки (дверь кабины лифта еще пока закрыта, а улыбающееся лицо пассажиров расположено слева от кабины, то есть на входе в нее). Далее дверь лифта откроется и пассажиры зайдут внутрь (улыбающееся лицо будет нарисовано в открытой двери кабины лифта). После этого в зоне диалога пользователя с программой появится запрос на ввод этажей назначения для пассажиров (прецедент «Ввод этажей назначения»).
Tags: Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments