|
|
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Хочется организовать простейшую базу по отслеживанию цепочки выполнения заказа. Т.е. отследить продвижение по производственному графу. Пример - написание листовки. 1. Фото к статье - делает фотограф. 2. Текст - пишет журналист 3. Дизайнер создает макет (но только после готовности п. 1 и 2) 4. Печатник должен напечатать 1000 штук листовок но печатает их партиями и не один печатник а разные. 5. Листовка готова. Основные вопросы: 1. Параллельные ветви? 2. частичное исполнение? 3. Ожидание нескольких предыдущих этапов? Интересует примерная схема описания цепочки и схема "прохождения" по этой цепочке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 12:18 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Я бы делал что-нибудь в таком духе 1. сущность "Шаг" 2. Сущность "Исполнитель" 3. Сущность "Задание" - связь многие-ко-многим между Шагами и Исполнителями + еще какое-то количество дополнительных атрибутов, в частности, призанка "готово". То есть на каждом шаге N Исполнителям назначаются Задания. По-видимому, на Шаге N у исполнителя M может быть несколько заданий - для отображения частичного исполнения. 4. Отношение "многие-ко-многим" между Шагами - (предыдущий шаг, последующий шаг, тип "and/or"). То есть шаг 1 может перейти либо в шаг 2, либо в шаг 3, а по окончании шага 2 начинаются одновременно шаги 4, 5 и 6. 5.(?) Условия для начала шага - находятся в отношении N:1 к Шагам. (вот тут надо анализировать, возможно, можно обойтись без условий, одними только заданиями. Потому что иначе возникают вопросы типа "все задания предыдущего шага исполнены, условия для текущего не выполнены. Кто виноват?". Нужны ли условия - это, по уму, вопрос к Вашим бизнес-аналитикам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 13:27 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЯ бы делал что-нибудь в таком духе а я бы делал в цепочке объект - воздействие - исполнитель и объект - родительский объект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 14:32 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЯ бы делал что-нибудь в таком духе 1. сущность "Шаг" 2. Сущность "Исполнитель" 3. Сущность "Задание" А можно чуть подробнее - какой смысл вкладывается в понятие Шаг. P.s. Я думаю что "это" должно быть очень похоже на конечный автомат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 14:36 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
proposed amendment объект - воздействие - исполнитель Имхо так можно описывать лишь произошедшие обработки, а не правила обработок. Как, скажем, планируется описать необходимость параллельных воздействий? Циклическую обработку? ССылку в Шаге на рабочий обьект сделать можно, это верно (хотя и зависит от того, ак описаны в системе эти самые рабочие обьекты). Хотя... Вот, скажем, граф процесса "Пускание мыльных пузырей" - какой обьект тут будет рабочим (родительским)? Дмитрий16 А можно чуть подробнее - какой смысл вкладывается в понятие Шаг Шаг - это некая последовательность действий, в результате который описываемый процесс переходит в принципиально другое состояние - где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 16:07 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Подумал еще - да, условия все-таки необходимы, причем отношение 1:N у них будет не с Шагами, а с Переходами между Шагами- то есть к каждому Переходу может быть привязано n условий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 16:29 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинПодумал еще - да, условия все-таки необходимы, причем отношение 1:N у них будет не с Шагами, а с Переходами между Шагами- то есть к каждому Переходу может быть привязано n условий. Итого. Для описания данной кнструкции требуется выделить сущности (по сути конечного автомата) 1. состояние 2. переход из одного состояния в другое с некой абстрактной характеристикой % выполнения и условием (ссылкой на другое состояние) процента выполнения некоторого предыдущего шага при котором возможен переход в дальнейшее состояние. На рисунке: Изготовление дизайна возможно только после получения 100% фото и 100% текста Сдача заказчику возможна после изготовления минимум 50% продукции Шаг корректура предполагает ветвление с нулевым процентом выполнения (на доработку) Есть замечания к схеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 08:09 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Я пока не вижу смысла в выделении отдельной сущности "состояние" - для чего она Вам необходима? Далее - имхо условия могут быть шире, чем "ссылка на предыдущее состояние с процентом выполнения", и зависеть от совершенно внешних от процесса вещей. Вот, скажем, уже упоминавшийся процесс "Выдувание мыльных пузырей" :) в моей схеме он будет состоять из 2-х шагов А. "Подготовка" (с кучей заданий "приготовление раствора", "добывание трубочки", etc). Если выяснится, что задания зависят друг от друга - нужно будет его разбить на подшаги. Б. "Выдувание пузыря" (по-видимому, с одним заданием "выдувание пузыря", хотя это зависит от требуемой детализации) и 2-х переходов 1. из А в Б, безусловный (или с псевдоусловем "выполнение всех заданий предыдущего шага" ) 2. Из Б в Б, с условием "нам еще не надоело?" :) Как это будет выглядеть в Вашей схеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 11:17 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЯ пока не вижу смысла в выделении отдельной сущности "состояние" Я выделил состояние для того, чтобы в любой момент времени можно было отследить в каком состонии сейчас находится система. А так как процессов может быть много и происходить они могут параллельно то и состояний много. Про пузыри - думаю так: 1. Подготовка оборудования и расходников :-) 2. Выдувание опытного экземпляра 3. Выдувание всех P.S. Может быть я ввел немного в заблуждение обозначением % в левой части блока состояния. Под этим процентом понимается текущее выполнение данного пункта графа. Т.е. на картине - мы уже почти набрали мыло (а именно 50 %) и воду (тоже 50 %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 11:55 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
В Вашей схеме нет цикличности, каковая присутствует в процессе - это имхо нехорошо. И "всех пузырей" - это как? Мы изначально не знаем, сколько пузырей нам нужно, мы должны их делать, пока не случится специальное событие "нам надоело". Я про это и говорил - не все условия можно выразить через предыдущие шаги. Это не такой уж высосанный из пальца пример, условия "от забора до обеда" в реальной практике встречаются нередко. Навскидку - работа городского транспорта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 12:14 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинВ Вашей схеме нет цикличности, каковая присутствует в процессе - это имхо нехорошо. И "всех пузырей" - это как? Мы изначально не знаем, сколько пузырей нам нужно, мы должны их делать, пока не случится специальное событие "нам надоело". Я про это и говорил - не все условия можно выразить через предыдущие шаги. Ааа. понял. Я предполагаю что исполнитель шага. должен каким то образом регистрировать свой шаг в системе и если у какогото процесса/состояния есть несколько исходящих стрелочек то чистоинтерфейсно можно запрашивать пользователя - куда идти? и, соостветсвенно, отрабатывать шаг. То есть в примере с пузырями можно регистрировать шаг - пузырь и копить данные по кол-ву выдуных пузырей. преходя из состояния надувание в него же. И по окончании асходников - перейти в состояние окончание надувания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 12:39 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Дмитрий16 Кот МатроскинВ Вашей схеме нет цикличности, каковая присутствует в процессе - это имхо нехорошо. И "всех пузырей" - это как? Мы изначально не знаем, сколько пузырей нам нужно, мы должны их делать, пока не случится специальное событие "нам надоело". Я про это и говорил - не все условия можно выразить через предыдущие шаги. Ааа. понял. Я предполагаю что исполнитель шага. должен каким то образом регистрировать свой шаг в системе и если у какогото процесса/состояния есть несколько исходящих стрелочек то чистоинтерфейсно можно запрашивать пользователя - куда идти? и, соостветсвенно, отрабатывать шаг. То есть в примере с пузырями можно регистрировать шаг - пузырь и копить данные по кол-ву выдуных пузырей. преходя из состояния надувание в него же. И по окончании асходников - перейти в состояние окончание надувания. Хе-хе. Потом надо будет подумать о параллелизме, синхронизации и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 12:47 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Хе-хе. Потом надо будет подумать о параллелизме, синхронизации и т.д. Дык с этого пример и начинался - фотки и статья - параллельно а дизайнер ждет - синхронизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 12:50 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
автор Я предполагаю что исполнитель шага. должен каким то образом регистрировать свой шаг в системе и если у какогото процесса/состояния есть несколько исходящих стрелочек то чистоинтерфейсно можно запрашивать пользователя - куда идти? и, соостветсвенно, отрабатывать шаг. Это имхо безобразие - какое же это описание процесса, если оно неоднозначно и требует решений пользователя? Процесс может требовать решений пользователя и в зависимости от них идти по тому или иному пути, но описание процесса имхо от решений пользователя зависеть не должно - т.е. в описании должны быть условия или задания, оописывающие принятие решений пользователем и выводы из них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 12:58 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинт.е. в описании должны быть условия или задания, оописывающие принятие решений пользователем и выводы из них. А мы разьве не об одном и том же? В описании говориться о нескольких возможных путях. А пользователь выбирает - куда именно... Например, корректура текста - только пользователь может принять решение.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 13:21 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
А почему не воспользоваться WWF - Windows Workflow Foundation http://wf.netfx3.com/ Там на полдня работы, всё готово, продуманно и бесплатно В Vista обещали уже в операционку зашить, правда, не знаю последних новостей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 13:36 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Guennadi VanineА почему не воспользоваться WWF - Windows Workflow Foundation WWF - не подразумевает хранения состояния в удобоваримом виде в том числе и между перезапусками системы.. (AFAIK) так что красиво, очень похоже на то, что надо не не совсем то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 11:16 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Дмитрий16 WWF - не подразумевает хранения состояния в удобоваримом виде в том числе и между перезапусками системы.. (AFAIK) так что красиво, очень похоже на то, что надо не не совсем то. Что имеется в виду удобоваримом? Имеется пересистенция состояния of active workflows in a persistence medium such as XML files or SQL Server using the SqlWorkflowPersistenceService Если в в текстовом редакторе не сохраните текст, то он у вас тоже не сохранится между перезапусками системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 14:49 |
|
||
|
Производственные графы? Где копать?
|
|||
|---|---|---|---|
|
#18+
Guennadi VanineИмеется пересистенция состояния <Censored> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1544243]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 420ms |

| 0 / 0 |
