Форум Сообщества Аналитиков
Общий раздел => Примеры => Тема начата: lirq от 09 Марта 2010, 21:29:47
-
Только начал изучать UML, пытаюсь практиковаться. В рамках курсового проекта разрабатываю систему по учету компьютеров и оргтехники и решил, что использование UML на более менее реальном проекте - отличная практика.
В аттаче диаграмма состояний картриджей для лазерных принтеров. Наверняка там куча ошибок (синтаксических, а может и семантических) :) Буду рад критике, заранее спасибо))
(http://img534.imageshack.us/img534/8645/statechart.th.jpg) (http://img534.imageshack.us/i/statechart.jpg/)
-
После состояния "На обслуживании" у вас два перехода. Они конфликтую между собой. Нужно указать событие по которому совершиться тот или иной переход.
-
Спасибо! Немного доработал:
(http://img191.imageshack.us/img191/8645/statechart.th.jpg) (http://img191.imageshack.us/i/statechart.jpg/)
-
Вы действительно все эти состояния будете использовать на практике?
Т.е. каждое из них предполагает разные действия с картриджем и все они принципиально важны?
-
Вы действительно все эти состояния будете использовать на практике?
Т.е. каждое из них предполагает разные действия с картриджем и все они принципиально важны?
Да, в ИС будет учет "кругооборота картриджей" и каждый картридж в определенный момент времени будет в одном из этих состояний.
А даже если нет, разве проблема? Пока я занимаюсь анализом предметной области и диаграмма показывает, как происходит "кругооборот картриджей". Если далее выяснится, что какое-то состояние не нужно, я его уберу.
Я правильно рассуждаю?
-
В вашем случае состояния неисправен и пустой не имеют дальнейшего логического продолжения.
Может ли картридж быть и пустым и неисправным?
Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.
Не уверен, что в состояние "не подлежит ремонту" переход осуществляется из состояния "на обслуживании". Разве можно обслуживать/заправлять картридж, который не подлежит ремонту/заправке?
-
Чем отличается у Вас действия с пустым картриджем и неисправным? По приведенной диаграмме - ничем.
Действительно, ничем. Но картридж может либо сломаться, либо закончиться. И это надо отслеживать. А действия действительно не отличаются.
В вашем случае состояния неисправен и пустой не имеют дальнейшего логического продолжения.
Почему? Их отдают на заправку/ремонт.
Может ли картридж быть и пустым и неисправным?
Хм..., вообще, конечно, может. Но в рамках данной задачи этим можно пренебречь.
Разве можно обслуживать/заправлять картридж, который не подлежит ремонту/заправке?
Например, картриджи на обслуживание отдаем, а потом нам звонят и говорят, что, мол "необходимы тонер закончился и будет не скоро" или "эти картриджи мы не заправляем" (был случай). Вообще, у нас есть картриджи, заведомо не заправляемые (дешевая китайская поделка). Если нарисовать возможность перехода картриджей в состояние "не подлежит ремонту/заправке" минуя обслуживания, то не слишком ли громоздко получается?
(http://img52.imageshack.us/img52/8645/statechart.jpg) (http://img52.imageshack.us/i/statechart.jpg/)
-
Оставьте как было. Может просто состояние Неисправен переименовать в нечто более нейтральное, т.е. вы однозначно не знаете неисправен ли он. Но можно и так оставить.
То что неисправность устанавливается в ходе обслуживания - это нормально.
А может вам вообще убрать состояния неисправен или пустой?
Переход в состоянии на обслуживании происходит по событиям: или тонер кончился, или артефакты печати. А разве артефакты печати - это неисправность? Когда заканчивается тонер - тоже появляются эти самые артефакты:)
А вот уже в ходе обслуживания катридж либо возвращается в ЖЦ либо прекращает существование
-
А может вам вообще убрать состояния неисправен или пустой?
Переход в состоянии на обслуживании происходит по событиям: или тонер кончился, или артефакты печати.
В том то и дело, что нет. Картриджи отдаются на обслуживание, когда накопится 4-6 пустых/неисправных картриджей. Т.е. определенное время они находятся в состоянии пустой/неисправен.
В принципе, согласен с тем, что можно состояние пустой/неисправен заменить на одно. Что-нить типа "ожидает обслуживания".
-
IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
-
IMHO в соответствии с описанной выше схемой последовательность состояний должна выглядеть примерно следующим образом:
1. Готов к работе (находится в резерве)
2. Находится в работе (установлен, используется)
3. Ожидание обслуживания (снят независимо от причины, но еще не отправлен в ремонт / на заправку)
4. Находится на обслуживании
5. Выведен из эксплуатации
Поддерживаю. Если хотите уточнить, что происходит при обслуживании, сделайте это состояние составным:неисправен, исправен, пустой, заправлен.