Форум Сообщества Аналитиков

×


Модель работы автомата по приготовлению чая и кофе(Прочитано 8389 раз)
Знания в UML нулевые, сталкиваюсь с UML впервые, интереса особого к нему нету, необходимо реализовать проект в EA или Rational Rose. Не мог бы кто-нибудь из вас подсказать, как хотя бы примерно все это выглядит?
Необходимо спроектировать автомат по приготовлению чая или кофе, автомат должен контролирует полученные деньги и в случае необходимости возвращает деньги назад.
Пользователю, возможно, выбрать – черное кофе, кофе со сливками, чай, чай со сливками и к каждому варианту можно дополнительно выбрать сахар.
После заказа пользователь опускает в аппарат деньги, если денег больше, чем требуется, заказ осуществляется, и сдача возвращаются обратно, если денег не хватает, то автомат возвращает деньги полностью.



Знания в UML нулевые, сталкиваюсь с UML впервые, интереса особого к нему нету, необходимо реализовать проект в EA или Rational Rose.

А как может быть "необходимо", если знания нулевые и интереса нету?
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



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

To greesha: курсовик небось...
Лью воду...



Что то вроде домашнего задания, за точность ручаться не могу, перевод с другого языка. Предмет преподавался, но так получилось, что у меня его возможности проходить не было, учился совсем в другом месте и на другую профессию.
« Последнее редактирование: 16 Марта 2009, 21:31:45 от jackal »



ИМХО на Форуме смогут помочь, если у Вас есть конкретные вопросы. Все за Вас делать не будут и пересказывать пару книжек тоже резона нет.
Если совсем так тошно, то попросите кого-то сделать Вашу работу за деньги, думаю, найдутся люди на форуме...
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Не буду Вам явно подсказывать, а опишу немного иной пример. Мы его разбираем со студентами в рамках имитационного моделирования в Matlab.

Есть автомат по продаже проездных билетов. Такой автомат может быть описан в рамках теории конечных автоматов как автомат Мили или Мура.

Рассмотрим автомат Мили.
Для того, чтобы задать конечный детерминированный автомат, нужно:
1. задать конечное множество входов или входной алфавит
2. определить конечное множество состояний, которое может принимать автомат
3. задать конечное множество выходов - выходной алфавит
4. задать функцию переходов из состоянии в состояние под воздействием того или иного входа
5. задать функцию выходов - результат, который выдает автомат находящийся в том или ином состоянии.

Если переход в N_ое состояние зависит от нахождении автомата в некотором состояии и значение входного сигнала, т.е. z(t+1) = z(t) + x(t),
а выход описывается как y(t) = z(t) + x(t),
то мы имеем автомат Мили.

Пусть X = {1,2,5}
         Z = {0,1,2,3,4}
         Y = {0,1}

Т.е. на вход можно подать монеты достоинством 1, 2 и 5 рублей
Пока в автомате меньше 5 рублей, былите не выдается y=0
Как только сумма достигнет 5 рублей или выше - выдается билет и сдача

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

Начальным состоянием может быть состояние с нулевым количеством в монетоприемнике.

При входе в состояние осуществляется действие увеличение счетчика монет, при выходе Y либо остается равным 0 - билет не выдается, либо y=1 билет выдан. Выдача билета будет происходить, если автомат находится в состоянии 4 и получает дополнительную монету, с переходом в состояние 0 (если предполагается выдача сдачи) или переходом в состояние равное количеству сдачи.

Тот же автомат можно смоделировать как автомат Мура, т.е. y(t) = z(t), ограничив количество состояний до двух:
1 состояние - денег не достаточно, билет не выдается
2 состояние - денег достаточно, билет выдается

Автомат будет находится в 1 состоянии пока общее количество денег будет меньше или равно 4, в противном случае перейдет в состояние выдачи билета и возможно сдачи , коли мы это определим

Событием перехода будет вброс монеты в монетоприемник

При моделировании в Matlab мы используем соединение (join). Однако реализовать задачу можно и по другому

Урок: опишите сначала состояния, не старайтесь их слишком дробить, выбирайте значимые для вашего условия состояния.
Определите список событий и значения входных сигналов, под воздействием которых автомат меняет состояния.
Определите условия переходов
Что будет выходом из каждого состояния и соответственно из автомата



Здравствуйте. Не стал создавать новую тему, ибо проблемы схожи.
Знания UML базовые. Требуется спроектировать несложную банковскую систему. Посоветуйте, пожалуйста, литературу по данному вопросу.
Еще лучше, если в литературе будет описываться шаблонный пример создания подобной системы, как, например, в книге Трофимова С.А. "CASE-технологии: Практическая работа в Rational Rose."
Кстати, средство разработки обязательно Rational Rose.
Буду весьма признателен, если кто-нибудь поможет советом или хорошей литературой. Заранее премного благодарен.




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




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19