Skip to content

4.2 المتطلبات غير الوظيفية

جدول المحتويات

4.2.1 الأداء


NFR-1.1: وقت الاستجابة

  • تحميل الصفحة الرئيسية: ثانيتان (3G أو أفضل)
  • تهيئة محرر Monaco: 3 ثوان
  • نتائج تنفيذ الكود: 5 ثوان (التمارين القياسية)
  • استجابات API: ثانية واحدة (تسجيل الدخول والحفظ والإرسال)
  • البحث/التصفية: ثانيتان

NFR-1.2: الإنتاجية

  • المستخدمون المتزامنون: 1000+ بدون تدهور الأداء
  • عمليات تنفيذ الكود المتزامنة: 500+
  • قمة الإرسالات: 10000/ساعة

NFR-1.3: استخدام الموارد

  • ذاكرة العميل: ≤ 500 ميجابايت
  • محرر Monaco: ≤ 200 ميجابايت
  • استعلامات قاعدة البيانات: 100 ميلي ثانية (95% من العمليات)
  • معدل إصابة ذاكرة التخزين المؤقت CDN: 90%+

NFR-1.4: أداء العرض

  • استجابة العناصر التفاعلية: 100 ميلي ثانية
  • معدل إطارات الرسوم المتحركة: 60 FPS
  • عرض خريطة الطريق (100 عقدة): 1.5 ثانية

4.2.2 التوفر


NFR-2.1: وقت التشغيل

  • وقت التشغيل السنوي: 99.5% (~43.8 ساعة توقف)
  • نوافذ الصيانة: ≤ 4 ساعات/شهر (فترات الاستخدام المنخفضة)

NFR-2.2: توفر الخدمة

  • الميزات الأساسية: توفر 24/7
  • تلميحات الذكاء الاصطناعي: وقت تشغيل 95%
  • لوحات الترتيب: وقت تشغيل 98%

NFR-2.3: التوفر الجغرافي

  • إمكانية الوصول العالمية مع التركيز على المناطق الناطقة بالعربية

NFR-2.4: التدهور الرشيق

  • عدم توفر الذكاء الاصطناعي → تلميحات معدة مسبقًا متاحة
  • خدمة التنفيذ معطلة → الدروس والمحتوى متاح

4.2.3 التوسع


NFR-3.1: قابلية التوسع الأفقي

  • بنية عديمة الحالة لموازنة الحمل السلسة
  • تجميع الاتصالات لإدارة الموارد بكفاءة

NFR-3.2: نمو المستخدمين

  • السنة الأولى: 50000 مستخدم
  • السنة الثالثة: 200000 مستخدم (بدون تغييرات رئيسية)

NFR-3.3: قابلية توسع المحتوى

  • الإطلاق: 500 درس، 5000 تمرين
  • المستقبل: 2000 درس، 20000 تمرين
  • دعم لغات جديدة بدون إعادة هندسة

NFR-3.4: قابلية توسع قاعدة البيانات

  • PostgreSQL مع نسخ مكررة للقراءة
  • استعراضات خطة الاستعلام ربع سنوية

4.2.4 الموثوقية


NFR-4.1: معدل الأخطاء

  • معدل خطأ النظام: < 0.5%
  • أخطاء تنفيذ الكود: < 1% (أخطاء النظام فقط)

NFR-4.2: تكامل البيانات

  • الامتثال ACID لبيانات التقدم (الذرية والاتساق والعزل والديمومة)
  • نسخ احتياطية يومية مع استرجاع في الوقت المناسب لمدة 30 يومًا

NFR-4.3: تحمل الأخطاء

  • لا توجد نقطة فشل واحدة
  • الإخفاق التلقائي لقاعدة البيانات: 60 ثانية

NFR-4.4: اتساق البيانات

  • لوحات الترتيب: الاتساق النهائي خلال 5 دقائق
  • ملفات تعريف المستخدمين: اتساق فوري
  • إبطال ذاكرة التخزين المؤقت: 30 ثانية

4.2.5 التشغيل البيني


NFR-5.1: معايير API

  • التصميم RESTful مع طرق HTTP القياسية
  • استجابات JSON بهيكل متسق
  • توثيق OpenAPI/Swagger

NFR-5.2: التكامل مع الجهات الخارجية

  • OAuth 2.0 (Google، GitHub)
  • دعم Webhook برسائل JSON

NFR-5.3: تبادل البيانات

  • تنسيقات التصدير: JSON، CSV
  • تخزين متوافق مع التحكم في الإصدارات

NFR-5.4: توافق المتصفح

  • Chrome وFirefox وSafari وEdge (الإصدارات الأحدث)
  • المتصفحات الصادرة خلال سنتين

NFR-5.5: توافق الجوال

  • متجاوب: 320px–2560px
  • إشعارات أصلية (FCM/APNs)

4.2.6 سهولة الاستخدام


NFR-6.1: سهولة التعلم

  • إعداد الحساب → أول درس: 5 دقائق
  • البرنامج التعليمي التفاعلي: < 10 دقائق

NFR-6.2: تصميم واجهة المستخدم

  • مبادئ Material Design
  • دعم العربية (RTL) والإنجليزية (LTR)
  • 3 خيارات لحجم الخط

NFR-6.3: إمكانية الوصول

  • التنقل باستخدام لوحة المفاتيح (Tab والأسهم وEnter)
  • تسميات ARIA وHTML الدلالية
  • أوضاع عمى الألوان مع مؤشرات بديلة

NFR-6.4: معالجة الأخطاء

  • رسائل سهلة الاستخدام (عربي/إنجليزي)
  • تلميحات مساعدة سياقية
  • مركز مساعدة قابل للبحث يمكن الوصول إليه من جميع الصفحات

NFR-6.5: التوطين

  • التوطين الكامل للعربية/الإنجليزية
  • تبديل اللغة دون فقدان التقدم
  • صيغة إقليمية للتاريخ والوقت والأرقام

NFR-6.6: الاستجابة

  • ردود بصرية فورية
  • مؤشرات التقدم للعمليات > ثانية واحدة

4.2.7 قابلية الصيانة


NFR-7.1: جودة الكود

  • تغطية الاختبار: ≥ 80% (المكونات الحرجة)
  • المراجعة من قبل الأقران مطلوبة قبل الدمج

NFR-7.2: التوثيق

  • توثيق API مع أمثلة وأنماط
  • رسوم تخطيطية للبنية الأساسية (النظام وقاعدة البيانات وتدفق البيانات)
  • تعليقات الكود للمنطق المعقد

NFR-7.3: المعيارية

  • مكونات قابلة لإعادة الاستخدام وقابلة للاختبار بشكل مستقل
  • نصوص الهجرة المصدرية

NFR-7.4: تسجيل المراقبة

  • سجلات مركزية مع 90 يومًا الاحتفاظ
  • تنبيهات آلية للأخطاء الحرجة

NFR-7.5: النشر

  • خطوط أنابيب CI/CD آلية
  • إمكانية الاسترجاع: 10 دقائق

4.2.8 الاسترجاع


NFR-8.1: النسخ الاحتياطية والاسترجاع

  • النسخ الاحتياطية الكاملة اليومية + الزيادات كل 6 ساعات
  • استرجاع في الوقت المناسب لمدة 30 يومًا
  • التحقق الأسبوعي من التكامل

NFR-8.2: استرجاع الكوارث

  • الاختبار نصف السنوي
  • RTO: 4 ساعات
  • RPO: ≤ فقدان 1 ساعة من البيانات

NFR-8.3: كشف الأعطال

  • تنبيه خلال دقيقتين من الخطأ الحرج

NFR-8.4: استرجاع البيانات

  • استعادة الحساب الفردي
  • التحقق من Checksum مع الاسترجاع التلقائي

NFR-8.5: استرجاع الخدمة

  • السيرة الذاتية بعد الصيانة: 5 دقائق
  • استعادة الجلسة التلقائية
  • رسائل الحادث الواضحة

NFR-8.6: استرجاع المعاملات

  • الإكمال التلقائي أو المراجعة اليدوية
  • صيانة سجل المعاملات