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

×


Диаграмма состояний, покритикуйте плиз(Прочитано 6941 раз)
Только начал изучать UML, пытаюсь практиковаться. В рамках курсового проекта разрабатываю систему по учету компьютеров и оргтехники и решил, что использование UML на более менее реальном проекте - отличная практика.
В аттаче диаграмма состояний картриджей для лазерных принтеров. Наверняка там куча ошибок (синтаксических, а может и семантических) :) Буду рад критике, заранее спасибо))


« Последнее редактирование: 13 Марта 2010, 14:46:22 от Galogen »



После состояния "На обслуживании" у вас два перехода. Они конфликтую между собой. Нужно указать событие по которому совершиться тот или иной переход.



Спасибо! Немного доработал:



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



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

Да, в ИС будет учет "кругооборота картриджей" и каждый картридж в определенный момент времени будет в одном из этих состояний.
А даже если нет, разве проблема? Пока я занимаюсь анализом предметной области и диаграмма показывает, как происходит "кругооборот картриджей". Если далее выяснится, что какое-то состояние не нужно, я его уберу.
Я правильно рассуждаю?



В вашем случае состояния неисправен и пустой не имеют дальнейшего логического продолжения.
Может ли картридж быть и пустым и неисправным?
Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.
Не уверен, что в состояние "не подлежит ремонту"  переход осуществляется из состояния "на обслуживании". Разве можно обслуживать/заправлять картридж, который не подлежит ремонту/заправке?



Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.

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

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

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

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

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

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

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




Оставьте как было. Может просто состояние Неисправен переименовать в нечто более нейтральное, т.е. вы однозначно не знаете неисправен ли он. Но можно и так оставить.

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

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

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

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

« Последнее редактирование: 13 Марта 2010, 17:42:24 от Galogen »



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

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

В том то и дело, что нет. Картриджи отдаются на обслуживание, когда накопится 4-6 пустых/неисправных картриджей. Т.е. определенное время они находятся в состоянии пустой/неисправен.
В принципе, согласен с тем, что можно состояние пустой/неисправен заменить на одно. Что-нить типа "ожидает обслуживания".



IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
Лью воду...



IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
Поддерживаю. Если хотите уточнить, что происходит при обслуживании, сделайте это состояние составным:неисправен, исправен, пустой, заправлен.




 

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