0. raiml 670 28.06.17 15:39 Сейчас в теме

IDEF0. Знакомство с нотацией и пример использования

Зачастую в моей работе возникает необходимость не просто изучить и решить определенную проблему, но выявить ее местонахождение в общей модели работы компании. Мало понимать, что определенное подразделение работает неправильно, важно понимать, каким образом оно взаимодействует с другими. Иначе невозможно выявить все существующие проблемы и выбрать оптимальный метод решения поставленной задачи. А для этого требуется изучить работу компании и составить ее функциональную модель.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. SkrAn 1 29.06.17 06:17 Сейчас в теме
Можно еще один пример для наглядности. Какой нибудь сферический БП в организации, в вакууме. Допустим кадровая докладная - согласование, регистрация, рассмотрение.
2. boln 995 29.06.17 11:34 Сейчас в теме
Имеется классическая книга по теме:
"Дэвид А. Марка и Клемент МакГоуэн. МЕТОДОЛОГИЯ СТРУКТУРНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ SADT"

Но, по имеющейся информации, методология SADT (IDEF0) не получила почему-то широкого распространения.
3. Сурикат 205 29.06.17 11:39 Сейчас в теме
А про DFD статью не напишите или про сравнение нотаций? Почему вы используете IDEF0?

И часто ли вы используете иерархические схемы (когда вложение процессов используется)?
4. raiml 670 29.06.17 12:06 Сейчас в теме
(3) Сравнение нотаций семейства IDEF0 не имеет смысла, так как цели их использования различны.

И часто ли вы используете иерархические схемы (когда вложение процессов используется)?

Почти всегда. В общим картину понимают все, заказчиков интересуют детали, читайте декомпозиция.

Имеется классическая книга по теме:
"Дэвид А. Марка и Клемент МакГоуэн. МЕТОДОЛОГИЯ СТРУКТУРНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ SADT"

Классическая ?

Но, по имеющейся информации, методология SADT (IDEF0) не получила почему-то широкого распространения.

У кого имеется и откуда взялась?
5. boln 995 29.06.17 12:35 Сейчас в теме
(4)
Классическая ?
По глубине изложения материала вполне может претендовать. Если у Вас есть на примете другая книга под это определение, пожалуйста, предложите.

У кого имеется и откуда взялась?
Из литературы. Я занимался моделированием около 10 лет назад, изучал разные источники. Очень мало было отсылок к SADT. Хотя мне самому эта методология очень нравится - строгость и простота.
6. raiml 670 29.06.17 12:42 Сейчас в теме
(5)
По глубине изложения материала вполне может претендовать. Если у Вас есть на примете другая книга под это определение, пожалуйста, предложите.

Мне формулировка не нравится. Это не музыка и не художественная литература, поэтому считаю данную формулировка не корректной.

У кого имеется и откуда взялась?
Из литературы. Я занимался моделированием около 10 лет назад, изучал разные источники. Очень мало было отсылок к SADT. Хотя мне самому эта методология очень нравится - строгость и простота.

10 лет назад...
Изучал самые разные источники...
Очень мало было отсылок к SADT....
Предоставьте пожалуйста аналитику и пруфы.
7. boln 995 29.06.17 12:44 Сейчас в теме
(6) Здесь не научная конференция. Я высказал субъективное мнение. Не настаиваю, чтобы со мной соглашались.
8. raiml 670 29.06.17 12:47 Сейчас в теме
(7) Вы не делайте таких спорных утверждений и никто не будет вас спрашивать о пруфах. Я вас за язык не тянул.
9. boln 995 29.06.17 13:11 Сейчас в теме
(8)
Вы не делайте таких спорных утверждений и никто не будет вас спрашивать о пруфах. Я вас за язык не тянул.
Вот, например, точка зрения, с доводами об ограниченной применимости SADT:
http://www.interface.ru/fset.asp?Url=/case/defs92.htm
10. raiml 670 29.06.17 13:22 Сейчас в теме
(9) И что вы этим хотели сказать?
35. ksnik 315 16.03.18 11:49 Сейчас в теме
(3) сравнение различных нотаций есть в Конспекте лекций по курсу «Автоматизированные информационные системы» https://infostart.ru/public/139095/ на этом сайте
11. pm74 124 29.06.17 14:56 Сейчас в теме
12. HAMMER_59 167 30.06.17 07:52 Сейчас в теме
Очень странный подход к описанию стандарта IDEF0, как уже было написано в одном из комментариев, у стандарта есть другое название SADT - методология структурного анализа и проектирования.
Мягко говоря очень странное утверждение, что при использовании SADT получится не 400 страниц техзадания, а компактное графическое представление.
При использование методологии SADT получится не 400 страниц техзадания, а 500, т.к. методология SADT это не только и не столько графическое представление.

SADT можно сравнить с объектно ориентированным программированием, новички наивно предполагают, что кода получится меньше, а кода получается не меньше а больше.
Даже при линейном программировании многие считают, что функции создают, исключительно чтобы повторно использовать код, а если видят что функция вызывается однократно, искренне негодуют.

Очень странно что в статье нет ничего про особенностью человеческого мышления, в особенности про краткосрочную память, а ведь именно на этом и построена вся методология SADT. 15 умножить на 17 многие ведь смогут в уме, а 15 на 173, уже ошибки пойдут, а 158 на 173 - а в чем проблема операция то ведь одна и та же, умножай да складывай простая ведь задача?"

Отдельно мне понравились комментарий что SADT не прижилась, за унифицированным языком моделирования UML будущее, мне вот интересно сами то пробовали применить RUP на практике? Очень интересно как у вас это получится применить язык созданный для ООП, к среде разработке которая не является ООП.
13. HAMMER_59 167 30.06.17 08:11 Сейчас в теме
(12)Правильная ведь мысль была в статье, что вот было 400 страниц, и с этим невозможно работать.
Но примеры в статье мне напомнили сдачу дипломных работ.
У всех простейшие блок-схемы. И зачем эти схемы если у вас всего 4 действия и 6 входных данных?
Смысл то как раз в том, когда на входе 50 входных данных, и 30 действий, вот тогда нужно применять синтез.
Кроме того у всех на дипломной, такой замечательный и линейный процесс, ну как в книжках, из этого блока в этот.
Такого в реальной жизни, в принципе не бывает, всегда есть различные варианты.

Если не изменяет память, в книгах у Вендрова, есть более жизненные примеры, вот там кадр дня (все документы, действия), из него получается очень не маленькая табличка, и самих табличек получается не мало и вот с этим надо уже надо работать, вот и попробуйте туда свой UML прицепить.
14. boln 995 30.06.17 09:18 Сейчас в теме
(12) Согласен, только Вы смешали посты разных авторов.
Отдельно мне понравились комментарий что SADT не прижилась, за унифицированным языком моделирования UML будущее, мне вот интересно сами то пробовали применить RUP на практике? Очень интересно как у вас это получится применить язык созданный для ООП, к среде разработке которая не является ООП.
Про SADT и UML говорили разные люди. И я не вижу, чтобы кто-то здесь говорил про UML как альтернативу SADT.
15. HAMMER_59 167 30.06.17 10:50 Сейчас в теме
(14) Почитал конкретно ту статью, которую вы выложили.
Вкратце, диаграммы потоков данных лучше чем SADT, потому что потому.
Никогда не видел, чтобы DFD где-то применялись, слабо себе представляю практическое применение, разве что как нижний уровень в SADT моделях.

Может, дадите ссылки на какую-нибудь более детальную информацию по DFD.
16. boln 995 30.06.17 11:19 Сейчас в теме
(15)
Почитал конкретно ту статью, которую вы выложили.
Вкратце, диаграммы потоков данных лучше чем SADT, потому что потому.
Не согласен, там есть вполне конкретные тезисы. Например, такие:
Методология SADT успешно работает только для реорганизации хорошо специфицированных и стандартизованных западных бизнес-процессов, поэтому она и принята на Западе в качестве типовой. Например, в Министерстве Обороны США десятки лет существуют четкие должностные инструкции и методики, которые жестко регламентируют деятельность, делают ее высокотехнологичной и ориентированной на бизнес-процесс. В российской действительности с ее слабой типизацией бизнес-процессов, их стихийным появлением и развитием, разумнее ориентироваться на методологию организации и/или реорганизации потоков информации и отношений: для таких задач методологии, основанные на потоковых диаграммах, не просто допустимы, а являются единственно возможными.

SADT-диаграммы значительно менее выразительны и удобны для моделирования систем обработки информации (сравните рис. 9.1 и 9.4). Так, дуги в SADT жестко типизированы (вход, выход, управление, механизм). В то же время применительно к системам обработки информации стирается смысловое различие между входами-выходами, с одной стороны, и управлениями и механизмами, с другой: входы, выходы и управления являются потоками данных и/или управления и правилами их трансформации. Анализ системы при помощи потоков данных и процессов, их преобразующих, является более прозрачным и недвусмысленным.

Более того, в SADT вообще отсутствуют выразительные средства для моделирования особенностей систем обработки информации. DFD с самого начала создавались как средство проектирования информационных систем (тогда как SADT - как средство проектирования систем вообще) и имеют более богатый набор элементов, адекватно отражающих специфику таких систем (например, хранилища данных являются прообразами файлов или баз данных, внешние сущности отражают взаимодействие моделируемой системы с внешним миром).
По крайней мере, если Вы с этим не согласны, здесь есть конкретно чему можно возразить, а не просто "потому что потому". Это книга Г. Калянова "Консалтинг при автоматизации предприятий", у меня есть бумажное издание. Хотя мне самому субъективно ближе SADT, но мне его доводы кажутся весомыми. Вероятно, как Вы сказали, SADT - на верхнем уровне, DFD - на нижнем. И думаю, SADT можно вытащить в ТЗ, заказчик поймет, а вот DFD - больше для внутреннего применения разработчиков.
HAMMER_59; +1 Ответить
17. boln 995 30.06.17 11:29 Сейчас в теме
(15) Вот, выкопал ссылку на начало книги, там до нее трудно добраться :)
http://www.interface.ru/fset.asp?Url=/case/defs0.htm

Упомянутая Вами книга Вендрова мне нравится, но, по моим ощущениям, она больше учебное, чем практическое пособие. Могу ошибаться, спорить не буду.
HAMMER_59; +1 Ответить
18. HAMMER_59 167 30.06.17 11:31 Сейчас в теме
(17) Спасибо за ссылку на книгу.
У Вендрова есть разные книги, есть и учебные пособия, есть и практика.
19. boln 995 30.06.17 11:32 Сейчас в теме
(18) Да, видимо, мне как раз учебник тогда попался.
20. HAMMER_59 167 30.06.17 12:20 Сейчас в теме
Попробую собрать свой поток мыслей, и изложить.
Методологию я предпочитаю назвать SADT - методология структурного анализа и проектирования - это изначальное название, потом уже когда включили в ISO методологии дали аббревиатуру IDEF0.

Какую проблему помогает решать SADT. SADT помогает решать сложные задачи, т.е. все эти простые примеры они бессмысленны, точно также как примеры по ООП.

Что же такое сложная задача?
Рассмотрим всем понятный пример (хотя, я не уверен, что это статья для 1С специалистов). Например, нам нужно написать обработку проведения документа.
Если алгоритм проведения простой, к примеру, необходимо сделать записи в регистр накопления, мы все это реализуем в одной функции.
Но чем будет сложнее алгоритм проведения, тем мы больше будем стремится к декомпозиции, а также объединению переменных, например в списки значений. Есть, конечно, любители писать процедуры в которых тысячи строк (ещё и гордятся этим), хорошо если такой код будет работать без ошибок, но самое страшное настанет, когда придется вносить какие-либо изменения в алгоритм, спустя длительный промежуток времени. Разобрать такой код, как правило не может, даже сам автор, проще заново переписать.
В чем же проблема больших функций?
Краткосрочная память человека сильно ограничена, пишут про магическое число 7, иногда указывает диапазон 5-8, например, в методологии SADT , всего столько ячеек памяти. А чем больше процедура тем больше в ней переменных и непосредственно самого кода.
Опять вспомнил сдачу диплома, на каждой второй схеме десятки входных данных в какой-либо блок, проверяют научные работник и отличные отметки ставят, главное ведь на .NET (а если на SAP, тем сразу почёт и уважение) пишут да ещё интернет решение, а 1С-ков всех жестко валят.

С бизнес-процессами на предприятии ситуация обстоит примерно также. Пока бизнес-процессы небольшие - никаких проблем, но как только попадается большой бизнес-процесс для которого написаны десятки регламентов, в котором участвуют различные отделы, вот с этого момента и начинаются настоящие проблемы. Т.к. каждый видит только свою узкую область, а охватить всю задачу целиком, становится крайне сложно.
По следующим причинам:
- Очень много параметров, что осложняет переключение контекста;
- Очень много процессов. Часто в примерах изображают линейный бизнес-процесс, взяли гайку, взяли болтик, прикрутили получилась гайка с болтиком (I have a pen Ihave an aple, ooop I have panaple....). Но в реальности все не так.

Что же делать со всей этой кучей регламентов?
На мой взгляд, все-таки основная работа это не анализ (декомпозиция), а как раз наоборот синтез.

Удивляет меня простота, о которой пишет автор публикации. Пришел, нарисовал, всем понятно, все счастливы.
Типичная работа.
Указание фин. директора: "Разберись с отрицательными остатками по партиям, а также с нулевыми остатками по количеству, но при этом не нулевыми остатками по стоимости"
Какие 400 листов ТЗ? Одна простая фраза.
Начинаем разбираться, смотрим сколько документов работает с партиями - уже не кисло.
Приход, Распределение расходов, Расход - вроде не так все сложно.
Пока не доходит дело до редактирования документов задним числом.
При этом фин. директор стоит на том, что быть такого не может, чтобы что-либо редактировали задним числом.
Ловим за руку (и это не так быстро как звучит), получаем ответ, того же фин. директора: "Ну нам ведь надо". Все врут (Доктор Хаус)
И вот у нас уже схема многократно разрастается, в которой уже никто и ничего понять не может, а главное не хочет.

Ведь так приятно и просто звучит: "Избавься от нулей и отрицательных остатков в партиях". Зачем же всё усложнять?
shyne; vardeg; user597616_i.d.kravchenko; +3 Ответить
21. leobrn 178 03.07.17 12:07 Сейчас в теме
Скажите, пожалуйста, какие инструменты используете для моделирования BPMN и IDEF0?
24. raiml 670 05.07.17 23:44 Сейчас в теме
(21) BPMN.IO и ERwin
(22) И каким же требованиям времени она не соответствует
(23) UML нельзя сравнивать с IDEF0
26. user597616_i.d.kravchenko 06.07.17 11:19 Сейчас в теме
(24) Я говорю о том, что целесообразно использовать объектные методологии проектирования. В качестве аналога IDF0 - use case. На мой взгляд можно более детально описать бизнес - процесс ... Есть возможность представить различные отношения между кейсами. Опять же в вариантах использования можно более наглядно декомпозировать конкретный процесс.

Коллеги, не в оправдание, но я просто хочу сказать, что мне более удобно использовать нотацию UML. Если кто - то до сих пор использует структурную методологию для проектирования - почему бы и нет =)

"UML нельзя сравнивать с IDEF0" - согласен. Скорее стоит все таки сравнивать в общем структурный подход и объектный. Цель обоих нотаций - наглядное описание бизнес - процесса, разве нет?
28. boln 995 06.07.17 12:42 Сейчас в теме
(26)
Я говорю о том, что целесообразно использовать объектные методологии проектирования. В качестве аналога IDF0 - use case. На мой взгляд можно более детально описать бизнес - процесс ... Есть возможность представить различные отношения между кейсами. Опять же в вариантах использования можно более наглядно декомпозировать конкретный процесс.
Я полагаю, что диаграмма usecase - это скорее некая альтернатива DFD, чем SADT. И она, как мне представляется, элемент языка разработчиков, но не элемент техзадания, которое должен понимать также и заказчик.

Как Вы полагаете, целесообразно ли включать диаграммы прецедентов (вариантов использования) в ТЗ? Не покажутся ли они заказчику детскими картинками, и, главное, желает ли заказчик знать, что, например, такое "актант" и что такое отношение "расширяет"? Он бизнесмен, эти понятия не его сфера, деловые люди "грузиться" не любят. У заказчика может возникнуть подозрение, что ему морочат голову, а на этапе согласования ТЗ это крайне опасно для исполнителя.

А если показать заказчику диаграмму SADT, то, скорее всего, он больше заинтересуется и поймет. Эта диаграмма очень проста и строга. Вход, Выход, Управление, Механизм - что это такое, человек въезжает сразу, с полоборота, это интуитивно понятные термины. И, как я считаю, вести разговор в контексте схемы SADT с заказчиком будет намного проще и свободнее. Заказчик сможет оценить, правильно ли разработчик понял схемы бизнес-процессов предприятия и внести соответствующие коррективы.

А после согласования ТЗ с использованием SADT можно уже начинать проектирование - с составления диаграммы вариантов использования. А можно перед этим на бумажках нарисовать себе и DFD - если это сделает картину более прозрачной, а потом уже определять usecase'ы. Ну, а от них далее, к концептуальной модели - тут уже начинается "объектная" стадия проектирования...

Кстати, ведь диаграммы вариантов использования - это "дообъектная" стадия проекта, там еще никаких сущностей не выявляется. Только прецеденты. Так что со "структурными" диаграммами их совместить можно :)
29. user597616_i.d.kravchenko 06.07.17 13:18 Сейчас в теме
(28)

Николай, не холивара ради ... не везде могу с вами согласится =)

Попробую конкретизировать.


Я полагаю, что диаграмма usecase - это скорее некая альтернатива DFD, чем SADT.

Опять же не соглашусь. В качестве аналога DFD я бы представил диаграмму деятельности (activity diagram).

"Как Вы полагаете, целесообразно ли включать диаграммы прецедентов (вариантов использования) в ТЗ?"

Все зависит от того, знаком - ли заказчик с нотацией. В моей практике бывали случаи, когда от заказчика поступало "ТЗ", где описание было представлено в usecase. Не обязательно представлять сложные отношения между кейсами для поверхностного описания бизнес - процесса.


"А если показать заказчику диаграмму SADT, то, скорее всего, он больше заинтересуется и поймет. Эта диаграмма очень проста и строга. Вход, Выход, Управление, Механизм - что это такое, человек въезжает сразу, с полоборота, это интуитивно понятные термины."

Знаете, вполне может быть. Та же IDF3 выглядит интуитивно понятно. Хотя я сейчас я редко встречаю практическое применение ....

"Кстати, ведь диаграммы вариантов использования - это "дообъектная" стадия проекта, там еще никаких сущностей не выявляется. "

Не выявляется ... не вижу противоречий сказанному=) Сущности обычно выявляются уже к описанию концептуальной модели данных ... на тех же диаграммах класса удобней моделировать.

Поймите правильно, не хочется спорить ради спорта. Если есть успешная практика применения структурного подхода, в частности SADT- это хорошо. Меня просто удивило то, что сейчас вообще данную нотацию (если хотите "методологию") вообще вспомнили=) Я с ней последний раз очень давно сталкивался.
30. boln 995 06.07.17 13:48 Сейчас в теме
(29) Да нет, Иван, я тоже не имею желания развязывать холивар. Я прочитал Ваши возражения и тоже подумаю над ними.

Холивар "объектное - структурное", на мой взгляд, не имеет под собой основания. Я полагаю, эти подходы можно "подружить" - в том смысле, что на верхнем уровне, на этапе согласования ТЗ, может пригодиться структурный подход. Я исхожу из пессимистического варианта - заказчик не знаком с UML, не владеет его понятийным аппаратом. Если владеет - это вообще подарок... Но, если у него экономическое образование, то это ему ни к чему. Т. е. для "непосвященных" считаю более понятными модели SADT.

Поэтому я и сказал "теплое с мягким": UML и SADT - они о разном, и второе может помогать первому.

А на этапе разработки с SADT можно только сверяться, чтобы сильно не уйти от согласованного с заказчиком бизнес-процесса.

Мне очень нравятся книги Крэга Лармана по UML-разработке. Ну, и классика - книга "трех друзей" на эту тему.
user597616_i.d.kravchenko; +1 Ответить
31. ofshadows 07.07.17 11:58 Сейчас в теме
(21) у предшественников хватило ума купить Business Studio. За неимением лучшего в ней и работаем.
Должен сказать, что производит впечатление сырой восьмерки (1с8), но для бизнес- процессов.
22. dima1c 25 03.07.17 17:44 Сейчас в теме
мне кажется это все уже устарело.
сейчас другой мир уже..
user597616_i.d.kravchenko; +1 Ответить
23. user597616_i.d.kravchenko 05.07.17 10:22 Сейчас в теме
Наистарейшая нотация. Не могу представить, где в современном мире моделируют на IDF или DFD и пр. Инструментов - то нету толком уже ....

Коллеги, курите UML нотацию)
25. boln 995 06.07.17 06:26 Сейчас в теме
(23)
Наистарейшая нотация. Не могу представить, где в современном мире моделируют на IDF или DFD и пр. Инструментов - то нету толком уже ....

Коллеги, курите UML нотацию)
А курить-то надо бросать ;)
Тогда, может, и не будем сравнивать тёплое с мягким.
27. user597616_i.d.kravchenko 06.07.17 11:30 Сейчас в теме
(25)
А курить-то надо бросать ;)
Николай, я лишь хотел сказать, что для описания бизнес - процесса при разработки (например) программных средств наиболее удобно, с моей точки зрения использовать вместо структурного подхода объектно - ориентированный. В частности я предложил использовать нотацию UML. На мой взгляд у объектного подхода есть все таки преимущества в описании.
32. Nehc 18 26.07.17 11:34 Сейчас в теме
Интересно, только у меня картинки не открываются, или у всех так? ;)

Отдельный вид мазохизма - читать статью по IDEF0, без иллюстраций!
33. Nehc 18 26.07.17 11:38 Сейчас в теме
34. boln 995 26.07.17 11:44 Сейчас в теме
(32) Да, картинки в статье почему-то перестали грузиться. Раньше нормально было.
36. DarkAn 813 29.03.18 16:06 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижневартовск
зарплата от 60 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день