İçeriğe atla

Veri Akış Diyagramı Örnekleri: Bağlam Diyagramı, Seviye 0 ve Seviye 1

Bir çevrimiçi mağaza için adım adım veri akış diyagramı örnekleri: iki gösterimde DFD sembolleri, bağlam diyagramı, seviye 0 ve 1, dengeleme ve sık hatalar.

· Kurucu ve geliştirici

Yayımlandı:

Ortada Customer, Payment provider ve Warehouse kutuları durur. Solda bağlam diyagramı çerçevesindeki tek süreç, Online store, onlarla adlandırılmış akışlar alışverişi yapar. Sağda seviye 0 çerçevesinde Orders ve Products veri depolarıyla Take order, Process payment ve Fulfil order var.

Veri akış diyagramı (DFD), bilginin bir sistemde nasıl hareket ettiğini gösterir: nereden geldiğini, onu neyin dönüştürdüğünü, nerede saklandığını ve nereye gittiğini. Zamanlama, döngüler ya da hangi sunucunun neyi çalıştırdığı hakkında hiçbir şey söylemez; gücü de buradan gelir. DFD, bir sistemin hangi verileri işlediği konusunda anlaşmanın en hızlı yoludur. Bu yüzden gereksinim çalışmalarında, gizlilik incelemelerinde ve tehdit modellemede karşınıza çıkar.

Bu yazı önce iki klasik gösterimde DFD sembollerini ele alıyor, ardından tek bir örneği, bir çevrimiçi mağazayı, üç seviyede işliyor: bağlam diyagramı, seviye 0 ve seviye 1. Ayrıca “seviye 0” etrafındaki adlandırma karmaşasını, seviyeleri tutarlı tutan dengeleme kuralını ve inceleyenlerin aradığı hataları açıklıyor.

DFD sembolleri

DFD'ler dört öğe kullanır. İki gösterim öne çıkar ve ikisi de 1970'lerin sonundaki yapısal analiz kitaplarından gelir: Yourdon ve DeMarco ile Gane ve Sarson.

Öğe Nedir Yourdon ve DeMarco Gane ve Sarson
Dış varlık Sınırın dışında veri gönderen ya da alan bir kişi, kuruluş veya sistem Dikdörtgen Kare, çoğu zaman gölgeli
Süreç Veriyi dönüştüren iş Daire ya da kabarcık Kimlik bandı olan yuvarlak köşeli dikdörtgen
Veri deposu Durağan veri: bir tablo, dosya ya da kuyruk İki paralel çizgi Bir tarafı açık, D1 gibi bir kimliği olan dikdörtgen
Veri akışı Hareket hâlindeki veri, bir isimle adlandırılır Ok Ok

Gösterimler eşdeğerdir; birini seçin ve onda kalın. Pek çok modern araç veri depolarını silindir olarak çizer ve okuyucular bunu hemen tanır. Hangisini seçerseniz seçin, bir gösterge ekleyin.

Bir DFD'yi geçerli kılan kurallar

  1. Her sürecin en az bir girdisi ve bir çıktısı vardır. Yalnızca girdisi olan süreç bir kara deliktir; yalnızca çıktısı olan ise bir mucize.
  2. Veri yalnızca süreçler üzerinden hareket eder. Hiçbir akış bir dış varlıktan doğrudan bir veri deposuna, bir depodan diğerine ya da iki dış varlık arasında gitmez.
  3. Akışlar veriyi tanımlayan adlar taşır; örneğin “sipariş bilgileri” ya da “ödeme sonucu”. “Gönder” ya da “kontrol et” gibi eylemler değil.
  4. Süreçler fiil ve nesneyle adlandırılır: “Sipariş al”, “Siparişi karşıla”.
  5. Her süreç numaralandırılır ve ayrıştırıldığında numarası tekrarlanır: süreç 1, 1.1, 1.2 ve 1.3 olur.

Seviyeler ve seviye 0 karmaşası

DFD yukarıdan aşağıya, ayrıntısı giderek artan seviyelerle çizilir:

  • Bağlam diyagramı tüm sistemi tek bir süreç olarak, her dış varlık ve aralarındaki akışlarla çevrili gösterir. Sınırı tanımlar.
  • Bir sonraki seviye bu tek süreci ana süreçlerine açar, veri depolarını ekler ve aynı dış akışları korur.
  • Daha alt seviyeler tek tek süreçleri, ihtiyaç duyulduğu kadar açar.

Karmaşa şurada: Bazı ders kitapları ve araçlar bağlam diyagramına “seviye 0”, ilk ayrıştırmasına “seviye 1” der. Eski yapısal analiz pratiğini izleyen diğerleri ise bağlam diyagramını kendi başına bir seviye sayar ve ilk ayrıştırmaya “diyagram 0” ya da “seviye 0” der. İkisi de yanlış değil. Bu yazı ikinci kuralı kullanıyor: bağlam diyagramı, ardından seviye 0, ardından seviye 1. Hangisini kullanırsanız kullanın, diyagramın üzerine yazın.

Örnek: bir çevrimiçi mağaza

Bir çevrimiçi mağaza müşterilerden sipariş alır, ödemeyi bir ödeme sağlayıcısı üzerinden tahsil eder ve ürünleri kargolayan bir depoya toplama listeleri gönderir.

Bağlam diyagramı

Tek bir süreç, “0 Online store”, ve üç dış varlık:

Akış Kaynak Hedef
Order details Customer Online store
Order confirmation Online store Customer
Payment request Online store Payment provider
Payment result Payment provider Online store
Pick list Online store Warehouse
Shipment status Warehouse Online store

Sistemin dışarıdan görünüşü bundan ibaret. Herkes bir dakikada inceleyebilir ve diyagram şimdiden önemli sorulara cevap verir: müşteri verisini hangi kuruluşlar alıyor ve hangi sistemlere bağımlıyız.

Seviye 0

Çevrimiçi mağazayı üç sürece ve iki veri deposuna açın:

  1. Take order müşteriden sipariş bilgilerini alır, fiyatları D2 Products'tan okur, siparişi D1 Orders'a yazar ve ödeme isteğini süreç 2'ye iletir.
  2. Process payment ödeme isteğini ödeme sağlayıcısına gönderir, ödeme sonucunu alır, D1 Orders'taki siparişi günceller ve ödenmiş siparişleri süreç 3'e aktarır.
  3. Fulfil order ödenmiş siparişleri okur, toplama listesini depoya gönderir, kargo durumunu alır ve sipariş onayını müşteriye gönderir.

Bağlam diyagramındaki her dış akış seviye 0'da yeniden, aynı varlıklara bağlı olarak görünür. Dengeleme budur ve aşağıdaki diyagram bunu görünür kılar.

Seviye 1

Her seviye 0 süreci daha da açılabilir. Süreç 1, Take order, seviye 1'de:

Süreç Girdiler Çıktılar
1.1 Sepeti doğrula Customer'dan Order details Geçerli sepet
1.2 Siparişi fiyatla Geçerli sepet, D2 Products'tan ürün fiyatları Fiyatlanmış sipariş
1.3 Siparişi kaydet Fiyatlanmış sipariş D1 Orders'a yeni sipariş, süreç 2'ye ödeme isteği

1.1 ile 1.3 arasındaki süreçlerin girdi ve çıktıları birlikte ele alındığında, seviye 0'daki süreç 1'in girdi ve çıktılarıyla eşleşmelidir. Her seviye 1 açılımını, başlığında üst sürecin numarası olan ayrı bir diyagram olarak çizin.

Dengeleme: inceleyenlerin ilk baktığı kural

Bir alt diyagram, ona giren ve ondan çıkan veri akışları üst sürecine giren ve ondan çıkan akışlara eşit olduğunda dengelidir. Seviye 0, bağlam diyagramında olmayan bir “iade talebi” akışı gösteriyorsa ikisinden biri yanlıştır: ya sistemde kimsenin üzerinde anlaşmadığı bir arayüz vardır ya da bağlam diyagramı eksiktir. Dengeleme, DFD seviyelerini bir bütün olarak güvenilir kılan şeydir ve her seviyenin dış akışlarını yan yana listeleyerek kolayca kontrol edilir.

Sık yapılan hatalar

  • Akış şeması çizmek. Kararlar, döngüler ve “sonra” okları bir akış şemasına ya da BPMN diyagramına aittir. DFD kontrolü değil, veriyi gösterir.
  • Adsız akışlar. Etiketsiz bir ok inceleyene hiçbir şey anlatmaz; taşıdığı veriyi adlandırın.
  • Diyagram başına çok fazla süreç. Tek bir seviyede yaklaşık yedi ila dokuzdan fazla süreç zor okunur. Onları gruplayın ve grupları bir sonraki seviyede açın.
  • Yalnızca veri alan veri depoları. Bir depodan hiçbir şey okunmuyorsa neden var? Ona hiçbir şey yazılmıyorsa verisi nereden geliyor?
  • Seviyeleri karıştırmak. Ayrıntılı alt süreçleri aynı diyagramda üst düzey süreçlerin yanında göstermek hiyerarşiyi bozar.

DFD'ler, akış şemaları ve mimari diyagramlar

Veri akış diyagramı Akış şeması Mimari diyagram
Gösterdiği Veri, kaynakları, dönüşümleri ve saklanması Adımlar, kararlar ve sıra Bileşenler, dağıtım ve bağlantılar
Zaman ve sıra Hayır Evet Nadiren
En uygun olduğu iş Gereksinimler, gizlilik incelemeleri, tehdit modelleri Prosedürler ve algoritmalar Tasarım ve operasyon

DFD'ler tehdit modellemenin standart girdisidir: Bir seviye 0 diyagramına güven sınırları eklediğinizde bir STRIDE incelemesinin temelini elde edersiniz; tehdit modelleme veri akış diyagramı yazısı bunu gösteriyor. Gizlilik çalışmalarında da aynı ölçüde işe yararlar: GDPR veri haritalama diyagramı kişisel veriyi aynı türden akışlar üzerinden izler.

DFD seviyeleri diyagramı

Ortada Customer, Payment provider ve Warehouse kutuları durur. Solda bağlam diyagramı çerçevesindeki tek süreç, Online store, onlarla adlandırılmış akışlar alışverişi yapar. Sağda seviye 0 çerçevesinde Orders ve Products veri depolarıyla Take order, Process payment ve Fulfil order var.

12 bileşen · 17 bağlantı

Archboard'da aç
Diyagram içeriği
  • Context diagram
  • 0 Online store
  • Customer
  • Payment provider
  • Warehouse
  • Level 0
  • 1 Take order
  • 2 Process payment
  • 3 Fulfil order
  • D2 Products
  • D1 Orders
  • order details
  • order confirmation
  • payment request
  • payment result
  • pick list
  • shipment status
  • order to pay
  • paid order
  • prices
  • new order
  • payment status
Bir çevrimiçi mağaza için aynı veri akış diyagramının iki seviyesi. Bağlam diyagramı tüm sistemi tek bir süreç olarak gösterir; seviye 0 onu üç sürece ve iki veri deposuna açar, aynı dış varlıklara aynı akışları korur. Seviyeleri dengeli tutan da budur.

Nasıl okunur:

  • Dış varlıklar ortada durur: Customer, Payment provider ve Warehouse. İki diyagram da onlara bağlanır.
  • Soldaki çerçeve bağlam diyagramıdır: tek bir süreç, 0 Online store, varlıklara giden altı adlandırılmış akışla birlikte.
  • Sağdaki çerçeve seviye 0'dır: Orders ve Products veri depolarıyla birlikte Take order, Process payment ve Fulfil order.
  • Dengeleme görünür: Soldaki her dış akış sağda yeniden belirir, bu kez onu işleyen sürece bağlı olarak.
  • Markdown bloğu gösterge ve numaralandırma kuralıdır.

İncelemeden geçen DFD'ler çizmek

  • Her akışı bir isimle adlandırın. DFD'lere gelen inceleme yorumlarının çoğu etiketsiz ya da belirsiz etiketli oklarla ilgilidir.
  • Süreçleri seviyeler boyunca tutarlı numaralandırın, böylece okuyucu 1.2'yi 1'e kadar izleyebilir.
  • Dış varlıkları her seviyede aynı konumda tutun; bu, dengelemeyi görmeyi kolaylaştırır.
  • Gösteriminiz için bir gösterge ekleyin, özellikle klasik sembolleri veri depoları için silindirlerle karıştırıyorsanız.

Diğer diyagram türlerinin gösterimi için akış şeması tarzındaki olay müdahale örneğine ve BPMN diyagram örneğine bakın.

Archboard'da oluşturun

  1. Google ya da GitHub ile giriş yapın ve bir diyagram oluşturun.
  2. Customer, Payment provider ve Warehouse için ortadaki bir sütuna Temel paketinden üç Kutu düğümü ekleyin.
  3. Sola Context diagram adlı bir Temel Çerçeve ekleyin; içine 0 Online store için Temel paketinden Elips varyantında bir şekil koyun.
  4. Sağa Level 0 adlı ikinci bir Temel Çerçeve ekleyin; içine süreçler için üç Elips şekli, D1 Orders ve D2 Products için de Silindir varyantında iki şekil koyun.
  5. Akışları etiketli kenarlar olarak çizin; varlıkların iki yanında aynı etiketleri kullanın.
  6. Gösterge ve numaralandırma kuralıyla Temel paketinden bir Markdown bloğu ekleyin.

Örnek 12 diyagram düğümü kullanıyor ve Free planın sınırları içinde kalıyor.

SSS

Bir veri akış diyagramının dört sembolü nedir? Dış varlıklar, süreçler, veri depoları ve veri akışları. Yourdon ve DeMarco süreçleri daire, depoları paralel çizgi olarak çizer; Gane ve Sarson yuvarlak köşeli dikdörtgenler ve bir ucu açık dikdörtgenler kullanır.

Bağlam diyagramı ile seviye 0 DFD arasındaki fark nedir? Bağlam diyagramı tüm sistemi dış varlıklarıyla birlikte tek bir süreç olarak gösterir. Bir sonraki seviye bu süreci ana alt süreçlere ve veri depolarına açar. Bazı kaynaklar bağlam diyagramına seviye 0 der; bu yüzden kullandığınız kuralı belirtin.

DFD'de dengeleme ne demektir? Bir alt diyagrama giren ve ondan çıkan veri akışları, üst sürecin akışlarıyla eşleşmelidir. Bu, seviyelerin aynı sistemi anlatmasını sağlar.

DFD akış şemasından nasıl ayrılır? DFD hangi verinin nereye gittiğini ve nasıl dönüştürüldüğünü, sıra ya da karar olmadan gösterir. Akış şeması adımların sırasını ve aralarındaki kararları gösterir.

Bir DFD'nin kaç seviyesi olmalı? Okuyucuların ihtiyaç duyduğu kadar. Çoğu sistem bir bağlam diyagramı ve seviye 0 ile iyi anlatılır; seviye 1 diyagramları yalnızca karmaşık ya da hassas süreçler için gerekir.

Ücretsiz başlayın — tek kullanıcı, kredi kartı gerekmez.

İlgili yazılar

← Blog'a dön

Bir dakikada canvas açın

Google veya GitHub ile giriş yapın. Tek koltuk ücretsiz; ekip katılınca planı yükseltin.