نمذجة العمليات: المخططات الانسيابية ومخططات تدفق البيانات

الأخطاء الشائعة في مخططات تدفق البيانات

18 دقيقة الدرس 8 من 10

الأخطاء الشائعة في مخططات تدفق البيانات

حتى المحللون ذوو الخبرة يقعون في فخاخ متكررة عند رسم مخططات تدفق البيانات. أربعة أخطاء تفسر الغالبية العظمى من مخططات DFD غير الصحيحة التي تُنتج في الممارسة العملية: الثقوب السوداء، والمعجزات، والتدفقات المتقاطعة، وأخطاء التسمية. كل خطأ يشير إلى ثغرة في فهمك للنظام — أو ثغرة في تواصلك مع أصحاب المصلحة. يعلمك هذا الدرس كيفية التعرف على هذه الأخطاء فوراً، وفهم سبب خطئها المنطقي، وتصحيحها قبل أن يُضلل نموذجك فريق التطوير.

لماذا تهم الدقة: مخطط DFD هو عقد بين المحلل والمطور. أي خطأ في المخطط — مخرج مفقود، مدخل مخترع، تسمية غامضة — يُترجم مباشرةً إلى كود مفقود، أو افتراضات خاطئة، أو اجتماعات مضيّعة. اكتشاف الأخطاء في مرحلة النمذجة يستغرق دقائق؛ اكتشافها في الاختبار يستغرق أياماً.

الخطأ الأول: الثقوب السوداء (Black Holes)

الثقب الأسود هو عملية تستهلك المدخلات لكنها لا تنتج أي مخرجات. مثل الثقب الفلكي، تدخل البيانات ولا تخرج أبداً. يعني هذا في الغالب إما (أ) نسي المحلل رسم التدفقات الصادرة، أو (ب) لا يوجد للعملية غرض تجاري حقيقي ويجب حذفها.

تخيل نظام مواعيد عيادة. العملية التحقق من هوية المريض تستقبل معرف المريض من كيان المريض. إذا نسيت رسم المخرج — نتيجة التحقق المُرسَلة إلى عملية جدولة الموعد — فلديك ثقب أسود. نتيجة التحقق موجودة في الواقع؛ المخطط فقط فشل في التقاطها.

Black Hole vs Corrected DFD Wrong — Black Hole Patient Patient ID 1.0 Validate Patient ID No output! ✗ ! Correct — Output Added Patient Patient ID 1.0 Validate Patient ID Valid/Invalid 2.0 Schedule Appointment
يسار: ثقب أسود — عملية التحقق من هوية المريض تستقبل بيانات لكنها لا تُصدر شيئاً. يمين: التصحيح بإضافة تدفق "صالح/غير صالح" الصادر.
اختبار سريع: لكل فقاعة عملية على مخطط DFD الخاص بك، اسأل "ما الذي تنتجه هذه العملية؟" إذا لم تستطع تسمية تدفق بيانات صادر واحد على الأقل، فلديك ثقب أسود.

الخطأ الثاني: المعجزات (Miracles)

المعجزة هي المشكلة المعاكسة: عملية تنتج مخرجات دون استقبال أي مدخلات. إنها "تولّد" بيانات من لا شيء — كخدعة سحرية. في الممارسة العملية يعني هذا أن المحلل نسي رسم مصدر البيانات، أو حذف تدفق مدخل عن طريق الخطأ.

في نظام متجر إلكتروني، عملية إنشاء الفاتورة يجب أن تنتج فاتورة — لكنها لا تستطيع ذلك إلا إذا استقبلت تفاصيل الطلب. إذا لم يُرسم أي تدفق مدخل إلى إنشاء الفاتورة، يوحي المخطط بأن الفاتورة تظهر من فراغ. الحل هو تتبع كل مخرج إلى مصدر بياناته الحقيقي وإضافة تدفق المدخل المفقود.

سبب شائع: تظهر المعجزات كثيراً عندما يُجزئ المحللون مخطط المستوى 0 وينسون تمرير التدفق الأصلي إلى العمليات الفرعية. تحقق دائماً من أن العمليات المُجزأة ترث مدخلات عمليتها الأم.
Miracle vs Corrected DFD Wrong — Miracle 3.0 Generate Invoice Invoice Customer No input! ✗ ? Correct — Input Added D1 Orders Order Details 3.0 Generate Invoice Invoice Customer
يسار: معجزة — عملية إنشاء الفاتورة تنتج فاتورة دون أي بيانات واردة. يمين: التصحيح بإضافة "تفاصيل الطلب" من مخزن الطلبات.

الخطأ الثالث: التدفقات المتقاطعة

تحدث التدفقات المتقاطعة عندما يتقاطع سهمان لتدفق البيانات جسدياً على المخطط، مما يجعل تتبع التدفق الذي يذهب إلى أين أمراً صعباً. لا تُعدّ خطأً منطقياً — فالنظام الأساسي قد يكون صحيحاً تماماً — لكنها تجعل المخطط غير قابل للقراءة وتزيد احتمال سوء التفسير.

الحل القياسي هو تكرار الكيان الخارجي أو مخزن البيانات على المخطط. تسمح علامات Gane-Sarson صراحةً برسم نفس الكيان أو المخزن أكثر من مرة (عادةً مع شريط قطري صغير أو علامة نجمية في الزاوية للإشارة إلى النسخة المكررة)، مما يُوجّه الأسهم بشكل نظيف دون تقاطع.

في نظام مكتبة، قد تحتاج كل من عملية إصدار الكتاب وعملية إعادة الكتاب إلى القراءة من مخزن الأعضاء. إذا رسمت مخزن أعضاء واحداً في المنتصف، تتمدد الأسهم وتتداخل. بوضع نسخة ثانية من الأعضاء بالقرب من كل عملية، يتجه كلا مجموعتي الأسهم في اتجاه واحد نظيف.

قاعدة إعادة الرسم: إذا ظهرت تدفقات متقاطعة حتى بعد إعادة ترتيب العناصر، كرر الكيان الخارجي أو مخزن البيانات بدلاً من ترك الأسهم متشابكة. الوضوح هو سمة جودة من الدرجة الأولى في مخططات DFD.

الخطأ الرابع: أخطاء التسمية

الأسماء الضعيفة أو غير الصحيحة هي الأخطاء الأكثر انتشاراً في مخططات DFD لأنها تجتاز التفتيش البصري لكنها تفشل في اللحظة التي يقرأها مطور. هناك ثلاثة أنواع فرعية:

  • أسماء العمليات الغامضة: أسماء مثل "معالجة البيانات"، "التعامل مع الطلب"، أو "عمل ما" لا تخبر القارئ بشيء. يجب أن يكون اسم كل عملية عبارة فعل-مفعول تُبيّن التحويل الذي يحدث: "التحقق من طلب الحجز"، "تحديث سجل العضو"، "حساب تكلفة الشحن".
  • أسماء العمليات التي تعتمد الاسم فقط: عملية تُسمى "فاتورة" هي اسم — تبدو كمخزن بيانات. يجب تسمية العمليات بأفعال نشطة: "إنشاء الفاتورة".
  • تدفقات البيانات غير المسماة أو المسماة بشكل غامض: سهم بلا تسمية، أو مُسمى "بيانات"، "معلومات"، أو "رسالة" يحجب غرض مخطط DFD بالكامل. يجب أن يحمل كل تدفق اسماً محدداً يصف المعلومات التي يحملها: "تأكيد الموعد"، "إشعار الدفع المرفوض"، "حالة توفر الكتاب".
Naming Errors vs Correct Names Wrong — Poor Names User Data ✗ 1.0 Process Request ✗ (no label) ✗ D1 Info ✗ اسم اسمي فقط = غامض تدفقات غير مسماة اسم مخزن مبهم Correct — Specific Names Member Loan Request 1.0 Validate Loan Request Validated Loan D2 Loans أسماء فعل-مفعول مُسمّى باسم محدد مخزن وصفي
يسار: أسماء ضعيفة — تسمية عملية غامضة، بلا تسمية للتدفق، مخزن مبهم. يمين: التصحيح بأسماء عمليات فعل-مفعول وتسميات محددة على كل سهم.

قائمة مراجعة منهجية

قبل الانتهاء من أي مستوى DFD، مر على هذه الخمس نقاط:

  1. لا ثقوب سوداء. لكل عملية تدفق بيانات صادر واحد على الأقل.
  2. لا معجزات. لكل عملية تدفق بيانات وارد واحد على الأقل.
  3. لا تدفقات متشابكة. لا يتقاطع سهمان؛ إذا حدث ذلك، كرر الكيان أو المخزن.
  4. تسميات تدفق محددة. كل سهم يحمل اسماً دقيقاً — ليس "بيانات"، وليس فارغاً.
  5. أسماء عمليات بنمط فعل-مفعول. كل فقاعة عملية تستخدم فعل نشط مع مفعول محدد.
نصيحة المراجعة بين الزملاء: سلّم مخطط DFD الخاص بك لزميل لم يكن في اجتماعات المتطلبات. اطلب منه قراءته بصوت عالٍ: "العملية X تستقبل Y وتنتج Z." إذا لم يستطع إكمال تلك الجملة لكل عملية، فلديك خطأ لتصحيحه.

مثال واقعي: تدقيق نظام مواعيد العيادة

لنفترض أن محللاً مبتدئاً يرسم مخطط DFD لنظام مواعيد عيادة بأربع عمليات: استقبال الطلب، فحص، حجز، وإرسال التأكيد. تكشف المراجعة السريعة:

  • استقبال الطلب لا يملك مخرجاً — ثقب أسود. الحل: إضافة تدفق "طلب الحجز" إلى عملية التحقق من التوفر.
  • فحص — اسم غامض — خطأ تسمية. الحل: إعادة التسمية إلى "التحقق من توفر الجدول الزمني".
  • حجز لا يملك مدخلاً — معجزة. الحل: إضافة تدفق وارد "المنفذ المتاح" من مخزن الجداول الزمنية.
  • التدفقات من حجز إلى كيان المريض وإلى مخزن المواعيد تتقاطع — تدفقات متقاطعة. الحل: تكرار مخزن المواعيد على الجانب الأيمن من المخطط.

أربعة أخطاء في مخطط صغير واحد. هذا ليس غير معتاد في المسودة الأولى؛ المهم هو معرفة ما تبحث عنه.

الملخص

في هذا الدرس تعلمت كيفية تحديد وتصحيح أكثر أخطاء DFD الأربعة شيوعاً:

  • الثقب الأسود: عملية بمدخلات ولا مخرجات — أضف التدفق الصادر المفقود.
  • المعجزة: عملية بمخرجات ولا مدخلات — تتبع مصدر البيانات وأضف التدفق الوارد المفقود.
  • التدفقات المتقاطعة: أسهم متشابكة — أعد ترتيب العناصر أو كرر الكيانات/المخازن.
  • أخطاء التسمية: عمليات غامضة، أسماء اسمية فقط، أو تدفقات غير مسماة — استخدم أسماء عمليات بنمط فعل-مفعول وأسماء محددة على كل سهم.
الدرس التالي: الدرس التاسع يقارن مخططات التدفق ومخططات DFD ونماذج أخرى جنباً إلى جنب — لمساعدتك على اختيار الأداة المناسبة لكل موقف تحليلي.