Р. ЛАФОРЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть13) онлайн
Диаграмма состояний для программы ELEV
В главе 10 «Указатели» мы представляли диаграмму состояний UML. Давайте теперь взглянем на диаграмму состояний для нашей программы моделирования лифтов. Для того чтобы немного упростить задачу, будем считать, что в здании находится только один человек и имеется только один лифт. Таким образом, в один момент времени может быть только один запрос этажа и один этаж назна- чения. Лифту не нужно следить за другими. Диаграмма состояний представлена на рис. 13.6.
Обозначения в диаграмме таковы: «cd» — этаж назначения, то есть кнопка, нажатая внутри лифта (грубо говоря, это соответствует массиву destination из нашей программы); «fr» — запрос с этажа, кнопка, нажатая снаружи лифта, гру- бо говоря, значение переменной floor_req.
Состояния лифта определяются по значениям переменной current_dir и со- стояниям loading_timer и unloading_timer. Поскольку все состояния переходят друг в друга с помощью слова «вдруг» (то есть по сигналам таймера), на диа- грамме показаны только контрольные состояния. Отображаются представления лифта о запросах с этажей и этажей назначения.

Рис. 13.6. Диаграмма состояний объекта elevator
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Схожі підручники
- МЕТОДИЧНІ ВКАЗІВКИ ДO ВИКОНАННЯ ІНДИВІДУАЛЬНИХ ЗАВДАНЬ З КУРСУ «Професійна психологія та конфліктологія»
- Програмування С, С++теорія та практика (частина 1)
- Загальні питання з курсу Політекономія (частина 1)
- Філософія Хрестоматія (частина 1)
- Естетика . Підручник (частин 1)
- ТЕОРЕТИКО-МЕТОДИЧНІ ОСНОВИ ІНВЕСТУВАННЯ
