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

Общий раздел => Примеры => Тема начата: lirq от 09 Марта 2010, 21:29:47

Название: Диаграмма состояний, покритикуйте плиз
Отправлено: lirq от 09 Марта 2010, 21:29:47
Только начал изучать UML, пытаюсь практиковаться. В рамках курсового проекта разрабатываю систему по учету компьютеров и оргтехники и решил, что использование UML на более менее реальном проекте - отличная практика.
В аттаче диаграмма состояний картриджей для лазерных принтеров. Наверняка там куча ошибок (синтаксических, а может и семантических) :) Буду рад критике, заранее спасибо))

(http://img534.imageshack.us/img534/8645/statechart.th.jpg) (http://img534.imageshack.us/i/statechart.jpg/)
Название: Re: Диаграмма состояний, покритикйте плиз
Отправлено: Бабихин Максим от 10 Марта 2010, 10:48:29
После состояния "На обслуживании" у вас два перехода. Они конфликтую между собой. Нужно указать событие по которому совершиться тот или иной переход.
Название: Re: Диаграмма состояний, покритикйте плиз
Отправлено: lirq от 10 Марта 2010, 11:08:18
Спасибо! Немного доработал:
(http://img191.imageshack.us/img191/8645/statechart.th.jpg) (http://img191.imageshack.us/i/statechart.jpg/)
Название: Re: Диаграмма состояний, покритикйте плиз
Отправлено: ida - брэнд с 14-летней историей от 10 Марта 2010, 14:25:47
Вы действительно все эти состояния будете использовать на практике?
Т.е. каждое из них предполагает разные действия с картриджем и все они принципиально важны?
Название: Re: Диаграмма состояний, покритикйте плиз
Отправлено: lirq от 10 Марта 2010, 15:37:57
Вы действительно все эти состояния будете использовать на практике?
Т.е. каждое из них предполагает разные действия с картриджем и все они принципиально важны?

Да, в ИС будет учет "кругооборота картриджей" и каждый картридж в определенный момент времени будет в одном из этих состояний.
А даже если нет, разве проблема? Пока я занимаюсь анализом предметной области и диаграмма показывает, как происходит "кругооборот картриджей". Если далее выяснится, что какое-то состояние не нужно, я его уберу.
Я правильно рассуждаю?
Название: Re: Диаграмма состояний, покритикйте плиз
Отправлено: afmmars от 12 Марта 2010, 23:39:16
В вашем случае состояния неисправен и пустой не имеют дальнейшего логического продолжения.
Может ли картридж быть и пустым и неисправным?
Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.
Не уверен, что в состояние "не подлежит ремонту"  переход осуществляется из состояния "на обслуживании". Разве можно обслуживать/заправлять картридж, который не подлежит ремонту/заправке?
Название: Re: Диаграмма состояний, покритикуйте плиз
Отправлено: lirq от 13 Марта 2010, 15:22:05
Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.

Действительно, ничем. Но картридж может либо сломаться, либо закончиться. И это надо отслеживать. А действия действительно не отличаются.

В вашем случае состояния неисправен и пустой не имеют дальнейшего логического продолжения.

Почему? Их отдают на заправку/ремонт.

Может ли картридж быть и пустым и неисправным?

Хм..., вообще, конечно, может. Но в рамках данной задачи этим можно пренебречь.

Разве можно обслуживать/заправлять картридж, который не подлежит ремонту/заправке?

Например, картриджи на обслуживание отдаем, а потом нам звонят и говорят, что, мол "необходимы тонер закончился и будет не скоро" или "эти картриджи мы не заправляем" (был случай). Вообще, у нас есть картриджи, заведомо не заправляемые (дешевая китайская поделка). Если нарисовать возможность перехода картриджей в состояние "не подлежит ремонту/заправке" минуя обслуживания, то не слишком ли громоздко получается?

(http://img52.imageshack.us/img52/8645/statechart.jpg) (http://img52.imageshack.us/i/statechart.jpg/)
Название: Re: Диаграмма состояний, покритикуйте плиз
Отправлено: Galogen от 13 Марта 2010, 17:39:21
Оставьте как было. Может просто состояние Неисправен переименовать в нечто более нейтральное, т.е. вы однозначно не знаете неисправен ли он. Но можно и так оставить.

То что неисправность устанавливается в ходе обслуживания - это нормально.

А может вам вообще убрать состояния неисправен или пустой?

Переход в состоянии на обслуживании происходит по событиям: или тонер кончился, или артефакты печати. А разве артефакты печати - это неисправность? Когда заканчивается тонер - тоже появляются эти самые артефакты:)

А вот уже в ходе обслуживания катридж либо возвращается в ЖЦ либо прекращает существование

Название: Re: Диаграмма состояний, покритикуйте плиз
Отправлено: lirq от 13 Марта 2010, 21:58:29
А может вам вообще убрать состояния неисправен или пустой?

Переход в состоянии на обслуживании происходит по событиям: или тонер кончился, или артефакты печати.

В том то и дело, что нет. Картриджи отдаются на обслуживание, когда накопится 4-6 пустых/неисправных картриджей. Т.е. определенное время они находятся в состоянии пустой/неисправен.
В принципе, согласен с тем, что можно состояние пустой/неисправен заменить на одно. Что-нить типа "ожидает обслуживания".
Название: Re: Диаграмма состояний, покритикуйте плиз
Отправлено: Водолей от 15 Марта 2010, 13:50:32
IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
Название: Re: Диаграмма состояний, покритикуйте плиз
Отправлено: afmmars от 21 Марта 2010, 01:42:01
IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
Поддерживаю. Если хотите уточнить, что происходит при обслуживании, сделайте это состояние составным:неисправен, исправен, пустой, заправлен.