Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ DFD (Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…)

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ этоВ коммСнтариях ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… статСй, посвящСнной IDEF0, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ высказал ΠΏΡ€ΠΎΡΡŒΠ±Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ DFD. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ это нСсколько Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°ΡŽΡ‚ вопросы ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ стандартах построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ DFD.

DFD β€” общСпринятоС сокращСниС ΠΎΡ‚ Π°Π½Π³Π». data flow diagrams β€” Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ называСтся мСтодология графичСского структурного Π°Π½Π°Π»ΠΈΠ·Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ внСшниС ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ систСмС источники ΠΈ адрСсаты Π΄Π°Π½Π½Ρ‹Ρ…, логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся доступ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (data flow diagram, DFD) β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· основных инструмСнтов структурного Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ проСктирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΡ… Π΄ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния UML. ВикипСдия

По ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· русскоязычной Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, излишнС слоТно для понимания. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π»ΠΈΡ‡Π½ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ DFD ΠΈ UML β€” это Ρ€Π°Π·Π½Ρ‹Π΅ инструмСнты, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ DFD β€” это просто ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ UML.

Для сСбя я Π²Ρ‹Π²Π΅Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ:

DFD – это нотация, прСдназначСнная для модСлирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ систСм с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния хранСния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° нотация DFD?

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ синтаксис этой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ примСняСтся Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… β€” Π™ΠΎΡ€Π΄Π°Π½Π° (Yourdon) ΠΈ Π“Π΅ΠΉΠ½Π°-Барсона (Gane-Sarson). Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ – Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅:

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ этоБам я ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΏΠΎ Π“Π΅ΠΉΠ½Ρƒ ΠΈ Барсону. Но ΠΊΠΎΠ³Π΄Π° я ΠΈΠ·ΡƒΡ‡Π°Π» ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠ΅Ρ€Π΅Π΄ написаниСм этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, я ΡƒΠ²ΠΈΠ΄Π΅Π» эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ сравнСния. Π‘Ρ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Π°ΠΆΠ½Π° Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° синтаксиса, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ, скорСС ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для создания Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈ Π²Π°ΡˆΠΈΡ… Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ, сколько ΠΊΠ°ΠΊ наглядная ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π² DFD Π½Π΅Ρ‚ ТСсткого синтаксиса, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² BPMN. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ понятны Π²Π°ΠΌ ΠΈ вашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. Нотации DFD β€” ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для создания Π½Π΅Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ быстро ΠΈ с максимумом свободы.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ этот Π²ΠΈΠ΄ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² случаС, ΠΊΠΎΠ³Π΄Π° трСбуСтся описаниС систСмы ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’.Π΅. нотация Π΄ΠΎΠ»ΠΆΠ½Π° наглядно ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопросы:

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ DFD

Π”Π°Π²Π°ΠΉΡ‚Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ. Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ заявку Ρ‡Π΅Ρ€Π΅Π· сайт ΠΈΠ»ΠΈ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ. Π•ΡΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСгистрируСт эту заявку. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² систСмС ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ – ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ Π΅Π³ΠΎ Π·Π°ΠΊΠ°Π·. Π Π°Π±ΠΎΡ‚Π½ΠΈΠΊ склада Π΄ΠΎΠ»ΠΆΠ΅Π½ это ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ произвСсти ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‚ΠΎΠ²Π°Ρ€Π° с ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ получаСтся такая:

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния DFD Ρƒ нас ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ:

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

И дСкомпозиция основного элСмСнта нашСй Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹:

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ DFD Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ

DFD-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€ΠΈ этом:

НапримСр, для выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°, дублирования Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ элСктронных Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ – описаниС бизнСс-процСсса, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊ Π½Π΅ΠΌΡƒ – DFD-Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ. Π›ΠΈΠ±ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для понимания основ Ρ€Π°Π±ΠΎΡ‚Ρ‹ бизнСса ΠΈ особСнностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° создаСтся DFD-нотация. Она ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, отсутствиС Π² систСмС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ (Π½Π° Π±ΡƒΠΌΠ°Π³Π΅), Π½ΠΎ Π² систСмС Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ. А ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ строится ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ бизнСс-процСсс с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ выявлСнных нюансов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°.

DFD Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ – это просто!

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ DFD Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ – это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ это каТСтся Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ограничСния построСния этого Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (отсутствиС условий, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚.Π΄.) ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ окаТСтся ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ собствСнныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ примСнСния DFD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π²Ρ‹ΡˆΠ΅ Π½Π΅ описал. Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π§Ρ‚ΠΎ Π² DFD-нотациях особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ, здСсь Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ строгих ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ синтаксиса, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² BPMN. Π­Ρ‚ΠΈ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ исполнимыми, ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для понимания особСнностСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°, структуры ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ссли ваша Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° понятна ΠΈ Π²Π°ΠΌ, ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ отступлСния ΠΎΡ‚ стандартов DFD Π²ΠΏΠΎΠ»Π½Π΅ допустимы.

Π ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ DFD ΠΌΠΎΠΆΠ½ΠΎ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ, Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ систСму Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ «рисовалки» (Visio, Paint ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅) придСтся Π·Π°Π±Ρ‹Ρ‚ΡŒ. Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ спСциализированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для модСлирования.

Π›ΠΈΡ‡Π½ΠΎ я ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ERwin ΠΈ всСм Π΅Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ. Одна ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠ΅Π³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° – это особСнности Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π’ ERwin, ΠΊΠ°ΠΊ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дСкомпозирования DFD-процСссов Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ IDEF3, Ρ‚.Π΅. основная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DFD, ΠΈ Π½Π° самом ΠΎΠ±Ρ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ основныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Β«ΡƒΠ·Π»Ρ‹Β» ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. А ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ процСссный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСм ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ подраздСлСниями бизнСса.

Вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ DFD ΠΈ UML?

БущСствуСт язык создания Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ UML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ сСбя ΠΊΠ°ΠΊ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, основанныС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Но ΠΏΡ€ΠΈ этом UML β€” это ΡƒΠΆΠ΅ язык программирования, здСсь Π΅ΡΡ‚ΡŒ ТСсткий синтаксис, трСбования, Π½ΠΎ ΠΈ возмоТностСй для описания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ большС. DFD β€” это Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ свободно, подходят, скорСС, для планирования, изучСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, обсуТдСния с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ‚.Π΄.

Если Π²Ρ‹ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈ Π·Π½Π°Π΅Ρ‚Π΅ UML, Π²ΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² этой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. А для бизнСс-ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚Π° DFD всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π² качСствС инструмСнта, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ бизнСс-ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚Ρƒ Π½Π΅ трСбуСтся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, это β€” Π·Π°Π΄Π°Ρ‡Π° тСхничСских спСциалистов. Π—Π°Ρ‚ΠΎ врСмя ΠΈ силы DFD Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ экономит.

ΠŸΡ€ΠΈ этом Π½Π΅ стоит Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ DFD ΠΊΠ°ΠΊ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ UML. НС смотря Π½Π° ΡΡ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, это β€” Ρ€Π°Π·Π½Ρ‹Π΅ инструмСнты, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ.

КакоС количСство элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² DFD?

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ систСм с ТСстким синтаксисом ΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Π² DFD Π½Π΅Ρ‚ ограничСния ΠΏΠΎ количСству элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅. Для сравнСния: Π² IDEF0 количСство Ρ‚Π°ΠΊΠΈΡ… элСмСнтов, дальшС β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСтализация (дСкомпозиция) ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.
Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, это большой плюс, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ отсутствиС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π΄Π°Π΅Ρ‚ максимум свободы ΠΈ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΈ составлСнии Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, этой свободой Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π½Π΅ рСкомСндуСтся. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ΠΌ большС элСмСнтов Ρƒ вас Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, Ρ‚Π΅ΠΌ слоТнСС Π΅Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ DFD для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ?

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ это Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… количСствах ΠΊΠ°ΠΊ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ вашим пояснСниям Ρ‚Π°ΠΊΠΈΠ΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ прСкрасно ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡƒΡ‚ ΠΈ ΠΏΡ€ΠΈ обсуТдСнии особСнностСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Но всС ΠΆΠ΅, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слабо Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² вопросах Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, структурС хранСния Π΄Π°Π½Π½Ρ‹Ρ…, возмоТностях ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΎ всС находится Π² ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². А Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ DFD строятся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ особСнностСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ я всС ΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… прСимущСствСнно ΠΏΡ€ΠΈ обсуТдСнии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° спСциалистами, ΠΏΡ€ΠΈ создании тСхничСского описания ΠΈ задания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ понимания ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ сути ΠΈ особСнностСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НСподготовлСнному Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ особСнности DFD-Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РСализация Unidirectional Data Flow Π² супСраппС. Π§Π°ΡΡ‚ΡŒ I

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, я Антон, iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² inDriver. К ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ я присоСдинился Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄, став ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Ρ…, стоят Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π° Π½Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ. ΠœΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ основныС направлСния: созданиС ΠΎΠ±Ρ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ стандартов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ остановимся Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ, с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ я столкнулся Π² процСссС Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ошибки допустил ΠΈ ΠΊΠ°ΠΊ исправил. Обо всСм ΠΏΠΎ порядку.

UPD: тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассказаны Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части.

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

Для Π½Π°Ρ‡Π°Π»Π° расскаТу ΠΎΠ± iOS-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ inDriver Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. inDriver β€” ride-hailing стартап, созданный Π² 2013 Π³ΠΎΠ΄Ρƒ Π² Π―ΠΊΡƒΡ‚ΠΈΠΈ. Π—Π° 8 Π»Π΅Ρ‚ сущСствования компания быстро росла: Π·Π°ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π² Π½ΠΎΠ²Ρ‹Ρ… странах, Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»ΠΈΡΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ β€” ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΡ… Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ inDriver ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π² супСрапп, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ просто Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠ·ΠΎΠ²ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, такси ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ Π·Π° Π³ΠΎΡ€ΠΎΠ΄, Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π° ΠΈΠ»ΠΈ Π½Π°ΠΉΡ‚ΠΈ спСциалиста для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ сСрвисов повлияло Π½Π° ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написанный Π½Π° Objective-C, ΠΎΠ½ Π»Π°Π²ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ»ΡΡ, Π° ΠΏΠΎΡ‚ΠΎΠΌ стал ΠΎΠ±Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Swift. Π’Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° тСсты ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ β€” Ρ‡Π΅ΠΌ большС становился ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚Π΅ΠΌ слоТнСС Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСртикалями ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли какая-Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° создавала ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ»ΠΈ UI, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для своСй Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ вСртикалям ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π΄Π°ΠΆΠ΅ Ссли Π΅Π³ΠΎ ΡƒΠΆΠ΅ написали Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Код ΠΈΠΌΠ΅Π» классичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ быстрорастущСго стартапа ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ слоТнСС.

ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ…Π²Π°Ρ‚ΠΈΡ‚ это Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ, ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½Π° общая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° для прилоТСния. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ написания ΠΎΠ±Ρ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ всСх вСртикалях. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это упростило Π±Ρ‹ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ вСртикалями ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ. ΠœΡ‹ сформулировали трСбования для ΠΎΠ±Ρ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹:

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° модуляризации. ΠœΡ‹ Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° нСбольшиС части с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, UI ΠΈ Ρ„ΠΈΡ‡. ΠœΠΎΠ΄ΡƒΠ»ΡΡ€ΠΈΠ·Π°Ρ†ΠΈΡ позволяСт ΠΎΡ‚Π²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π΅ΠΉ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π§Π΅ΠΌ мСньшС ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ влияСт Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Ρ‚Π΅ΠΌ мСньшС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Π±Π°Π³. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, модуляризация позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΡ… Π² Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ вСртикалях. Благодаря этому ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ мСньшС ΠΊΠΎΠ΄Π° ΠΈ ускоряСтся процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

БыстроС ΠΈ эффСктивноС тСстированиС ΠΊΠΎΠ΄Π°. Π›ΡŽΠ±ΠΎΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ внимания со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ становится лСгаси-ΠΊΠΎΠ΄ΠΎΠΌ. Код Π² inDriver Π½Π΅ стал ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. БогласСн с Майклом ЀизСрсом, Ρ‡Ρ‚ΠΎ лСгаси-ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ тСстами. НС знаю Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ способа ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² лСгаси, ΠΊΡ€ΠΎΠΌΠ΅ покрытия тСстами (Ссли Π·Π½Π°Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π² коммСнтариях). Но с тСстами Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΈΡ… Π±Ρ‹Π²Π°Π΅Ρ‚ слоТно ΠΈ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ тСстов, оправдывая это Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ бизнСс Π½Π΅ Π΄Π°Π΅Ρ‚ Π½Π° Π½ΠΈΡ… врСмя. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ΄ Π½Π΅ΠΌΠΈΠ½ΡƒΠ΅ΠΌΠΎ прСвращаСтся Π² лСгаси. Наша Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π»Π΅Π³ΠΊΠΎ ΠΈ быстро Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° SwiftUI. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Objective-C ΠΌΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Π° ΠΊΠΎΠ΄ устарСваСт. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° этом языкС программирования сСйчас являСтся ΠΎΠ±ΡƒΠ·ΠΎΠΉ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ Π² Swift, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ для Objective-C. Π”Π° ΠΈ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Objective-C становится слоТнСС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ усилия ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Swift.

ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ такая ΠΆΠ΅ ΡΡƒΠ΄ΡŒΠ±Π° ΠΆΠ΄Π΅Ρ‚ ΠΈ UIKit. Apple всС Π°ΠΊΡ‚ΠΈΠ²Π½Π΅Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ SwiftUI. НС хочСтся ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ с Objective-C ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ SwiftUI. ΠœΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ SwiftUI Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅, Π½ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΡ‡Π΅ΡΡ‚ΡŒ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° ΠΊΠ°ΠΊ UIKit, Ρ‚Π°ΠΊ ΠΈ SwiftUI. ΠŸΡ€ΠΈ нСобходимости ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° SwiftUI, ΠΌΡ‹ Π±Ρ‹ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ смогли это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, пСрСписав UI-слой, Π½ΠΎ Π½Π΅ трогая бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ старый ΠΊΠΎΠ΄ ΠΌΡ‹ посмотрСли, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Помимо MVC (Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Massive) Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Ρ‹Π» Clean Swift ΠΈ рСализация Redux Π² Π²ΠΈΠ΄Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Unicore. На Π½Π΅ΠΌ Π±Ρ‹Π»Π° написана ΠΎΠ΄Π½Π° Ρ„ΠΈΡ‡Π° ΠΈ самая свСТая Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒ. Π”ΠΎ этого с Redux ΠΌΡ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ. Π‘Ρ‹Π» ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с RxSwift ΠΈ RxFeedback, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΠΈΠ· Redux оказались Π·Π½Π°ΠΊΠΎΠΌΡ‹.

ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Redux, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠΆΠ΅ Π±Ρ‹Π» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ успСли с Π½ΠΈΠΌ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Redux β€” ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ JS-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая создана для Π²Π΅Π±Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² связкС с React. Помимо Redux, Π² Π²Π΅Π±Π΅ мноТСство схоТих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π΄Π°ΠΆΠ΅ Ρ†Π΅Π»Ρ‹Π΅ языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Elm. Π”Π° ΠΈ Π½Π° Swift ΡƒΠΆΠ΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ReSwift, TCA, RxFeedback. Π˜Ρ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ использованиС шаблона Unidirectional Data Flow (UDF). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² большС ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Ρ€Π°Π·Π±Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ собой прСдставляСт Unidirectional Data Flow.

Основная идСя Unidirectional Data Flow Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ двигались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ: ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ прилоТСния ΠΊ UI, Π½ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Если Π² UI Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΎΠ½ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ пытаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти события. ВсС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ UDF β€” отправляСт события Π² модСль, которая Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ состояниС систСмы.

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

Π’ Ρ‚Π°ΠΊΠΎΠΉ схСмС ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ добиваСмся Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² UI, Π±Ρ‹Π»ΠΈ ΠΈΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. UI ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡ…, Π° Ссли Π½Π°Π΄ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, UI отправляСт событиС (Action) Π² модСль ΠΈ ΠΆΠ΄Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΊ Π½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ ΡƒΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π Π°Π·Π½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ модСль прилоТСния. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ Π² Π½ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠ΅ части. ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ названия ΠΈΠ· Redux, Π² скобках β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ имСнования:

State (Model) β€” состояниС систСмы. Π­Ρ‚ΠΎ нСизмСняСмыС value-Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС прилоТСния.

Action (Event/Message) β€” события Π² систСмС. ΠŸΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΈΠ· UI ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ ΠΎΠ± этом модСль.

Store (Core) β€” Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ. Π₯Ρ€Π°Π½ΠΈΡ‚ Π² сСбС State ΠΈ запускаСт Reducer. Π’ качСствС интСрфСйса прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Action ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ State. Π§Π°Ρ‰Π΅ всСго ΠΎΠ΄ΠΈΠ½ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ВмСстС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

    Π’ UI ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС, ΠΈ ΠΎΠ½ отправляСт Π² Store Action.

    Store Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Reducer ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ State ΠΈ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠΉ Action. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ β€” Π½ΠΎΠ²Ρ‹ΠΉ State, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сохраняСтся Π² Store вмСсто старого.

    Store ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ UI ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅ΠΌΡƒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ State.

    ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π°Π»Π΅ΠΊ ΠΎΡ‚ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΠΈ для iOS, Π½ΠΈ для Android. На самом Π΄Π΅Π»Π΅ ΠΈ Apple, ΠΈ Google ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Unidirectional Data Flow Π² своих Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…. Если Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ ΠΊ схСмС Ρ€Π°Π±ΠΎΡ‚Ρ‹ SwiftUI, ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ сходств с нашСй схСмой. Google ΠΆΠ΅ прямым тСкстом ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Unidirectional Data Flow Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Jetpack Compose.

    Рассмотрим ΠΏΠ»ΡŽΡΡ‹ Unidirectional Data Flow:

    Π§Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ сайд-эффСктов. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ (чистыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠ½Π°Π΄Ρ‹) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (CQRS). Однако Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π½Π΅ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ модСль прилоТСния, ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° часто просачиваСтся Π² Controller / Presenter / Interactor ΠΈΠ»ΠΈ View. UDF Π΄Π°Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ инструкции, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΉ слой прилоТСния ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ модСль.

    Π›Π΅Π³ΠΊΠΎΠ΅ написаниС тСстов. Π’Π°ΠΊ ΠΊΠ°ΠΊ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² чистых функциях, ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ просто. UI зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ занимаСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ΠΎΠΌ. Π’Π°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ UI Ρ‡Π΅Ρ€Π΅Π· snapshot-тСсты. Достаточно ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ State ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ UI ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π΅Π³ΠΎ.

    Но Π΅ΡΡ‚ΡŒ ΠΈ ряд минусов:

    1. БлоТности с модуляризациСй. Π’ нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Вся бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Π±Ρ‹Π»Π° собрана Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Core ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΠΈΡ‡Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сСбС:

    Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π΄Π°Ρ‚Π° Ρ„Π»ΠΎΡƒ Ρ‡Ρ‚ΠΎ это

    Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ позволяло ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ модСль прилоТСния ΠΎΡ‚ UI. C Π΄Ρ€ΡƒΠ³ΠΎΠΉ, модСль ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΉ ΠΈ слоТной. НС Π±Ρ‹Π»ΠΎ возмоТности ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. КаТдая Ρ„ΠΈΡ‡Π° Π·Π½Π°Π»Π° ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ всСго прилоТСния, Π°, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΈΡ‡Π°Ρ…. Π‘ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ дальнСйшСС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° лишь усугубило Π±Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

    2. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ UDF-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Store. Π­Ρ‚ΠΎ позволяСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ источник ΠΏΡ€Π°Π²Π΄Ρ‹ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ State Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС. Но Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² Store приходят Action со всСго прилоТСния, обновлСния AppState ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ часто. Π­Ρ‚ΠΎ создаСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π° Reducer, Ρ‚Π°ΠΊ ΠΈ Π½Π° UI.

    Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Redux соотвСтствовал 2 ΠΈΠ· 3 Π½Π°ΡˆΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ покрываСтся тСстами, ΠΊΠ°ΠΊ со стороны ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‚Π°ΠΊ ΠΈ UI. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, State, Action ΠΈ Reducer Π½Π΅ зависят ΠΎΡ‚ UIKit, ΠΈ вся модСль прилоТСния Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ SwiftUI. Π‘Π°ΠΌΠΎΠΉ большой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ оказалась модуляризация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ расскаТу, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ с модуляризациСй Unidirectional Data Flow ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ· этого Π²Ρ‹ΡˆΠ»ΠΎ.

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    data flow

    Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «data flow» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

    data flow β€” noun (computing) An approach to the organization of complex algorithms and machines, in which operations are triggered by the arrival of data β€’ β€’ β€’ Main Entry: ↑data … Useful english dictionary

    Data Flow β€” [engl.], Datenfluss … Universal-Lexikon

    data flow β€” informacijos srautas statusas T sritis automatika atitikmenys: angl. data flow; information flow vok. Datenfluß, m; Datenstrom, m; Informationsfluß, m rus. ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, m; ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, m pranc. flux d informations, m … Automatikos terminΕ³ ΕΎodynas

    data flow β€” noun a) The route between origin, via nodes, to a destination taken by a packet of data b) The transfer of data between the components of a computer … Wiktionary

    Data-flow analysis β€” is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program s control flow graph (CFG) is used to determine those parts of a program to which a particular value assigned… … Wikipedia

    Data flow diagram β€” example.[1] A data flow diagram (DFD) is a graphical representation of the flow of data through an information system, modelling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be… … Wikipedia

    data flow diagram β€” UK US noun [C] (ABBREVIATION DFD) β–Ί a drawing, often produced by a computer, that shows how and in what order information is dealt with in a system: Β»Use a data flow diagram to show the relationships between the business processes within an… … Financial and business terms

    data flow chart β€” data flow diagram A chart that illustrates the way in which specified data is handled by a computer program. Its purpose is to specify the data, to show where it is used or changed, where it is stored, and which reports use it … Accounting dictionary

    data flow chart β€” data flow diagram A chart that illustrates the way in which specified data is handled by a computer program. Its purpose is to specify the data, to show where it is used or changed, where it is stored, and which reports use it … Big dictionary of business and management

    data flow diagram β€” data flow chart … Accounting dictionary

    data flow diagram β€” noun A type of flow chart; a description of data and the manual and machine processing performed on the data as it moves and changes from one stage to the next. It also includes the locations where the data are placed in permanent storage (disk,… … Wiktionary

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    Π‘Π΅Ρ€Ρ€ΠΈΠΌΠΎΡ€, Ρ‚Ρ‹ потСрял Ρ€Π΅Ρ†Π΅ΠΏΡ‚ овсянки? НС Π±Π΅Π΄Π°, Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ DFD!

    β€” Π­Ρ‚ΠΎ что… мясо, ΠΏΠΎ-Π²Π°ΡˆΠ΅ΠΌΡƒ?

    β€” Овсянка, сэр… МалСнькая птица… отряда Π²ΠΎΡ€ΠΎΠ±ΡŒΠΈΠ½Ρ‹Ρ….

    ВступлСниС

    ΠœΡ‹ познакомились с двумя нотациями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования:

    А сСйчас рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ описания бизнСс-процСссов – DFD (Data Flow Diagram), Π²Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π² состав Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для модСлирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ систСм с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния хранСния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Ρ‚Ρƒ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. А Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Π΄Π²Π΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ описании ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ DFD:

    Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

    Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ DFD (Data Flow Diagram) – это мСтодология графичСского структурного Π°Π½Π°Π»ΠΈΠ·Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ внСшниС ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ систСмС источники ΠΈ адрСсаты Π΄Π°Π½Π½Ρ‹Ρ…, логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся доступ.

    ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ DFD ΠΏΠΎ ΠΏΡ€Π°Π²Ρƒ считаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных инструмСнтов структурного Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ проСктирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ΅ΡŽ Π΄ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния ΠΈ примСнСния ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка модСлирования создания абстрактных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ систСм UML (Unified Modeling Language).

    ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ построСнная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ DFD даст ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ вопросы ΠΊΠ°ΠΊ:

    НСмного истории

    Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… извСстны ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°Π²Π½ΠΎ ΠΈ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π›Π°Ρ€ΠΈ ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ΠΎΠΌ Π² 70-Π΅ Π³Π³. Π₯Π₯ Π²Π΅ΠΊΠ°. Однако, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅Π΅ ΠΈΡ… ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅, относящССся ΠΊ 1920-ΠΌ Π³Π³. Π’Π°ΠΊ, Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ упоминаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ использования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ пространства Π² офисС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ»Π΅Ρ€ΠΊΠΎΠ². ΠŸΡ€ΠΈ осущСствлСнии Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ спСциалист ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ» ΠΊΡ€ΡƒΠΆΠΊΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»Π΅Ρ€ΠΊΠ°, Π° стрСлкой – ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Нарисовав Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» схСму ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»Π΅Ρ€ΠΊΠΈ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π±Ρ‹Π»ΠΈ посаТСны рядом, Π° ΠΊΠ»Π΅Ρ€ΠΊΠΈ с нСбольшим взаимодСйствиСм – Π½Π° большом расстоянии.

    Основная Ρ†Π΅Π»ΡŒ построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ: визуализация процСсса ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ) ΠΌΠ΅ΠΆΠ΄Ρƒ участниками этого процСсса, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ – дСмонстрация Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ свои Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ выявлСниС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ этими процСссами. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° наглядно дСмонстрируСт ΠΏΡƒΡ‚ΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ†ΠΈΡ€ΠΊΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡƒΡ‚ΠΈ слСдования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ внСшним ΠΌΠΈΡ€ΠΎΠΌ.

    Π’ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ (КовалСв Π‘. ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ бизнСс-процСссов ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ структуры) ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ – Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ОбоснованиС достаточно Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅: ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ стрСлками Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² процСссС ΠΈΡ… пСрСдвиТСния ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дСйствия (подпроцСсса) ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

    РазрабатываСмая Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ†ΠΈΡ€ΠΊΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ Π² систСмС (ΠΈ Π½Π΅ стоит Π΅Π΅ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с классичСской Π±Π»ΠΎΠΊ-схСмой), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ DFD состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΠΉ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ строгоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

    ЛогичСская ΠΈ физичСская DFD

    Π›ΡŽΠ±ΠΎΠΉ DFD начинаСтся с ΠΎΠ±Π·ΠΎΡ€Π½ΠΎΠ³ΠΎ DFD, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ описываСтся проСктируСмая систСма – Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ контСкстный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (вСрхнСуровнСвая контСкстная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°).

    ЛогичСская Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, сосрСдоточСна Π½Π° бизнСсС ΠΈ рассказываСт ΠΎ событиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходят Π² бизнСсС, ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ события.

    Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ физичСская Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… прСдставляСт Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² систСмС.

    БовмСстно логичСская ΠΈ физичСская Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ (ΠΈ ΠΈΠ½ΠΎΠΉ) систСмы ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ состояниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

    На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСно использованиС DFD для прСдставлСния логичСского ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Однако мСтодологичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ послС Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ физичСского DFD Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ логичСский DFD. НапримСр, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ логичСски ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ всСх Π»ΠΈΡ† Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ всСми этими людьми.

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, любая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (DFD) ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для процСсса ΠΈΠ»ΠΈ систСмы, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ логичСская Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт Β«Ρ‡Ρ‚ΠΎΒ» происходит, Π° физичСская – Β«ΠΊΠ°ΠΊΒ» это происходит. Π­Ρ‚ΠΎ Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ уточнСния систСмы.

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, визуализация Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ DFD ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…:

    Рассмотрим ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

    ЛогичСская DFD – ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹Ρ… для функционирования ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Ρ†Π΅Π½Ρ‚Ρ€Π΅ внимания Ρ‚Π°ΠΊΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ β€” сам бизнСс ΠΈ нСобходимая Π΅ΠΌΡƒ информация, Π° Π½Π΅ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ систСма. Ѐокус логичСский DFD – бизнСс ΠΈ дСловая Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ логичСских DFD состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Β«Π½Π΅ спСциалистами». Π’Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ – это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ инструмСнт ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

    ЀизичСская DFD – ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΈ физичСских сущностСй (Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ Ρ‚.Π΄.). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ логичСских DFD, физичСскиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ DFD ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ устройство систСмы. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² логичСской Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ DFD Π² качСствС процСссов Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ коммСрчСской Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π² физичСской β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

    ЀизичСская DFD смотрит Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° систСма.

    ИспользованиС DFD

    ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ DFD ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎ:

    ЛогичСский DFD Β«as isΒ» фиксируСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для процСсса. ЛогичСский DFD Β«to beΒ» ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ дСйствий ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

    ЀизичСский DFD Β«as isΒ» ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ людСй для выполнСния дСйствий, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ физичСский DFD Β«to beΒ» ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ систСмы.

    ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ исходный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

    Π’ области Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΈ логичСскиС, Ρ‚Π°ΠΊ ΠΈ физичСскиС DFD.

    ЛогичСский DFD ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ бизнСс-трСбования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π»Π΅ΠΊΠ»ΠΎ Π±Ρ‹ пСрСсмотр ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ срыву ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½Ρ‹Ρ… сроков исполнСния. МодСль, прСдставлСнная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ DFD, наглядно продСмонстрируСт ΠΈ «нСтСхничСским» спСциалистам ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста Π² Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’.Π΅. станСт Π½Π΅ΠΊΠΈΠΌ инструмСнтом ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π΅ Π² доступным всСм заинтСрСсованным Π»ΠΈΡ†Π°ΠΌ языкС.

    Π”Π°Π»Π΅Π΅ построСниС физичСского DFD ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Β«ΠΊΠ°ΠΊΒ» ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ трСбованиями.

    DFD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ модСлирования процСссов

    DFD-ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ модСлям, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, совмСстно с Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ IDEF0 для Π±ΠΎΠ»Π΅Π΅ наглядного отобраТСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСмах ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

    Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты модСлирования (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹) ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ совмСстного использования Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ERwin, позволяСт дСкомпозирования DFD-модСль Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня ΡƒΠΆΠ΅ Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ IDEF3. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, контСкстная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DFD, Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ процСссы ΡƒΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ IDEF3. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ – это основныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Β«ΡƒΠ·Π»Ρ‹Β» ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. А ниТСстоящиС – это Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ процСссы. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСм ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ подраздСлСниями бизнСса.

    ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ DFD Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ТСстким Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ синтаксисом. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅Ρ‚ ограничСния ΠΏΠΎ количСству элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚.

    Нотации ΠΈ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ DFD-ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

    Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… стали извСстны ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ с ΠΊΠΎΠ½Ρ†Π° 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ² благодаря ΠΊΠ½ΠΈΠ³Π΅ Β«Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠ² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π­Π΄Π° Π™ΠΎΡ€Π΄Π°Π½Π° ΠΈ Π›Π°Ρ€Ρ€ΠΈ ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½Π° (Β«Structured DesignΒ» Yourdon & Constantine, 1974).

    НаиболСС распространСнныС Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ (систСмы символов):

    ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (DFD) состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… элСмСнтов: Π²Π½Π΅ΡˆΠ½ΠΈΡ… сущностСй, процСссов, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Однако, элСмСнты ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π² логичСских DFD ΠΈ Π² физичСских DFD, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² нотациях.

    Π˜Ρ‚Π°ΠΊ, Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ графичСскоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² элСмСнтов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ. Однако Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ понятиями Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ 4 элСмСнта:

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *