مخطط السياق (مخطط تدفق البيانات - المستوى 0)
مخطط السياق (مخطط تدفق البيانات - المستوى 0)
قبل أن تتمكن من تفصيل كيفية عمل النظام، يجب عليك أولاً تحديد ماهيته — أين يبدأ وأين ينتهي. يُجيب مخطط السياق، المعروف أيضاً بـمخطط تدفق البيانات - المستوى 0، على هذا السؤال في صورة واحدة. يُصوِّر النظامَ بأكمله باعتباره عمليةً واحدة، محاطةً بالكيانات الخارجية التي تتبادل البيانات معه. لا تفاصيل داخلية، ولا عمليات فرعية، ولا مخازن بيانات — فقط حدود النظام والتدفقات التي تعبرها.
بالنسبة للمحلل، يكون مخطط السياق عادةً أول مخطط يُنتَج بعد جمع المتطلبات. فهو يُلزم باتخاذ قرار صريح بشأن النطاق: ما الذي يقع داخل النظام وما الذي يقع خارجه؟ الخطأ في تحديد هذه الحدود — اتساعاً أو ضيقاً أو غموضاً — يُفضي إلى متطلبات مغفلة وتمدد في النطاق. عرض مخطط السياق على أصحاب المصلحة مبكراً يُنشئ نموذجاً ذهنياً مشتركاً قبل البدء في أي عمل تفصيلي.
العناصر الثلاثة لمخطط السياق
يحتوي مخطط السياق على ثلاثة أنواع من العناصر فقط:
- العملية الواحدة — تمثل النظام بأكمله. في تدوين Gane-Sarson تُرسم كـمستطيل ذي زوايا دائرية (يُسمى أيضاً "فقاعة")، مُرقَّم بـ
0، وعليه اسم النظام. توجد عملية واحدة فقط عند المستوى 0. - الكيانات الخارجية — أشخاص أو مؤسسات أو أنظمة أخرى تقع خارج الحدود لكنها تتبادل البيانات مع النظام. تُرسم كـمستطيلات عادية. أمثلة شائعة: العميل، المورد، البنك، الجهة الحكومية، أو واجهة برمجية خارجية.
- تدفقات البيانات — أسهم مُسمَّاة تُوضح البيانات المتنقلة بين الكيانات الخارجية والعملية. يُسمي الملصقُ البياناتِ (مثل "طلب الحجز"، "تأكيد الدفع")، لا النشاطَ. لكل تدفق اتجاه. لا تظهر مخازن البيانات عند المستوى 0 — فهي داخلية في النظام.
مخطط السياق: نظام حجز العيادة
لنفكر في نظام حجز العيادة الذي يُبنى لعيادة طبية صغيرة. حدَّد المحلل ثلاثة كيانات خارجية: المريض (يحجز المواعيد ويلغيها، يتلقى التأكيدات)، الطبيب (يطّلع على الجدول اليومي، يُحدّث توافره)، وهيئة الصحة (تتلقى التقارير الإحصائية الإلزامية). يلتقط مخطط السياق كل ذلك في صفحة واحدة:
كيفية قراءة هذا المخطط
قراءة مخطط السياق سهلة بمجرد إتقان التدوين. ابدأ من العملية المركزية وتتبع كل سهم:
- يُرسل المريض طلب حجز إلى النظام، الذي يُعيد إليه تأكيداً / تذكيراً. هذا يُخبرنا أن النظام يجب أن يقبل الحجوزات من المرضى ويُبلغهم.
- يُرسل الطبيب تحديث التوافر (بتحديد الأوقات المشغولة أو المفتوحة) ويتلقى الجدول اليومي. يجب أن يُدير النظام التوافر ويُنتج الجداول.
- تتلقى هيئة الصحة تقريراً إحصائياً من النظام. لا يوجد تدفق بيانات في الاتجاه المعاكس، ما يعني أن الهيئة تستهلك البيانات فقط.
يمكن تتبع كل ما يفعله النظام من خلال أحد هذه التدفقات الستة. إذا طلب أحد أصحاب المصلحة لاحقاً ميزةً لا تتصل بأي من هذه التدفقات — أو تُدخل كياناً خارجياً جديداً — وجب تغيير النطاق رسمياً.
خطوات رسم مخطط السياق
- سمِّ النظام بوضوح. يجب أن يكون ملصق العملية عبارةً اسمية، لا فعلية (مثلاً: "نظام الطلبات عبر الإنترنت"، لا "معالجة الطلبات").
- حدِّد جميع الكيانات الخارجية. اسأل: من أو ما الذي يُرسل بيانات إلى النظام؟ من أو ما الذي يتلقى بيانات منه؟ راجع وثائق المتطلبات وقوائم أصحاب المصلحة.
- أدرج تدفقات البيانات لكل كيان. لكل كيان، أدرج ما يُرسله وما يتوقع تلقيه. سمِّ البيانات لا النشاط (مثلاً: "فاتورة" لا "إرسال فاتورة").
- ارسم وتحقق. ضع العملية المركزية في المنتصف. رتّب الكيانات حولها. ارسم الأسهم وسمِّها. ثم راجع مع أصحاب المصلحة: هل الحدود صحيحة؟ هل يوجد كيان مفقود؟ هل هناك تدفق بدون اسم أو اسمه غير دقيق؟
مثال ثانٍ: نظام الطلبات عبر الإنترنت
لتعزيز النمط، إليك مخطط سياق لـنظام الطلبات عبر الإنترنت البسيط. الكيانات الخارجية: العميل (يُقدِّم الطلبات، يتلقى تحديثات الشحن)، المورد (يتلقى أوامر الشراء، يُرسل تأكيدات المخزون)، بوابة الدفع (تُخوِّل المدفوعات).
أخطاء شائعة يجب تجنبها
- إظهار العمليات الداخلية. المستوى 0 عملية واحدة فقط. لا تقسم الفقاعة المركزية أبداً إلى عمليات فرعية — هذا ما يُخصَّص له المستوى 1.
- تدفقات بدون أسماء أو بأسماء مبهمة. "بيانات" أو "معلومات" لا يُخبر أحداً بشيء. سمِّ التدفقات بعناصر البيانات المحددة: "فاتورة"، "بريد إعادة تعيين كلمة المرور"، "تحديث المخزون".
- كيانات مفقودة. راجع قائمة متطلباتك. إذا أرسل النظام تقريراً شهرياً للإدارة، فإن "الإدارة" كيان خارجي — أدرجه.
- ربط الكيانات ببعضها مباشرةً. في مخططات تدفق البيانات، لا تتواصل الكيانات الخارجية مع بعضها مباشرةً — كل تدفقات البيانات تمر عبر عملية. الأسهم المباشرة بين الكيانات خطأ في التدوين.
- إدراج مخازن البيانات. قواعد البيانات والملفات داخلية؛ لا تظهر عند المستوى 0.
مخطط السياق كعقد لتحديد النطاق
بمجرد مراجعة أصحاب المصلحة للمخطط والموافقة عليه، يُصبح بمثابة اتفاقية نطاق خفيفة الوزن. أي متطلب لا يمكن تتبعه وصولاً إلى تدفق بيانات يعبر الحدود يقع خارج النطاق. وأي كيان خارجي جديد يُكتشف لاحقاً يُطلق نقاشاً رسمياً لتغيير النطاق. هذا الانضباط هو ما يُميّز المشاريع المُدارة جيداً عن تلك التي تنمو إلى ما لا نهاية عبر إضافات غير رسمية.
في الدرس القادم ستُفكك العملية الواحدة عند المستوى 0 إلى عملياتها الفرعية المكوِّنة، لتُنتج مخطط تدفق البيانات - المستوى 1 الذي يكشف المنطق الداخلي — وستكتشف أن تدفقات البيانات الواردة والصادرة في المستوى 1 يجب أن تتطابق تماماً مع تلك المُعرَّفة في المستوى 0. هذا القيد، المعروف بـالتوازن، هو ما يُبقي النموذج متسقاً داخلياً.