🧪 التدريبات
كل تمرين «جرّب بنفسك» في مكان واحد: اقرأ المطلوب، ثم اكتب الحل وشغّله داخل صفحة الدرس.
الوحدة 1: تحديد مواعيد الاجتماع مع العميل وتنظيمها
رسالة طلب الاجتماع الأولتمهيدي · الدرس 1: التواصل مع العميل وتحديد موعد الاجتماع
اكتب رسالة البريد الإلكتروني التي سترسلها إلى أ. فهد لتطلب اجتماع الانطلاق لمشروع «دورات». املأ الحقول الآتية كما ستظهر في رسالتك.←خطة اجتماعات المشروعتمهيدي · الدرس 2: تنظيم جدول الاجتماعات وأدوات إدارة الوقت
ابنِ خطة اجتماعات جمع المتطلبات لنظام «دورات» بمخطط جانت. البداية فيها اجتماع الانطلاق؛ أكمل الخطة.←
اكتب رسالة البريد الإلكتروني التي سترسلها إلى أ. فهد لتطلب اجتماع الانطلاق لمشروع «دورات». املأ الحقول الآتية كما ستظهر في رسالتك.←خطة اجتماعات المشروعتمهيدي · الدرس 2: تنظيم جدول الاجتماعات وأدوات إدارة الوقت
ابنِ خطة اجتماعات جمع المتطلبات لنظام «دورات» بمخطط جانت. البداية فيها اجتماع الانطلاق؛ أكمل الخطة.←
الوحدة 2: دراسة متطلبات العميل وتحويلها إلى مواصفات دقيقة ومفصلة
خريطة متطلبات «دورات»تمهيدي · الدرس 3: اجتماعات الاستماع وجمع المتطلبات
هذه ملاحظاتك من اجتماعات الأسبوع: المتدرب يريد أن يبحث عن دورة ويسجّل من الجوال ويدفع إلكترونيًّا. موظفة التسجيل تعتمد الطلبات وترسل رسالة للمتدرب. المدرب يريد رؤية قائمة المسجلين وتسجيل الحضور. المدير يريد تقرير الإيرادات ونسبة الامتلاء. نظّمها في خريطة ذهنية.←قصص مستخدمي «دورات» وأولوياتهامتوسط · الدرس 4: توثيق المتطلبات وترتيب أولوياتها
من خريطة متطلبات الدرس السابق، اكتب قصص المستخدمين ومعايير قبول أهمها، ثم صنّفها بـ MoSCoW.←
هذه ملاحظاتك من اجتماعات الأسبوع: المتدرب يريد أن يبحث عن دورة ويسجّل من الجوال ويدفع إلكترونيًّا. موظفة التسجيل تعتمد الطلبات وترسل رسالة للمتدرب. المدرب يريد رؤية قائمة المسجلين وتسجيل الحضور. المدير يريد تقرير الإيرادات ونسبة الامتلاء. نظّمها في خريطة ذهنية.←قصص مستخدمي «دورات» وأولوياتهامتوسط · الدرس 4: توثيق المتطلبات وترتيب أولوياتها
من خريطة متطلبات الدرس السابق، اكتب قصص المستخدمين ومعايير قبول أهمها، ثم صنّفها بـ MoSCoW.←
الوحدة 3: التحويل من متطلبات العميل إلى مواصفات دقيقة
أعد صياغة متطلبات «دورات»متوسط · الدرس 5: المتطلبات الوظيفية وغير الوظيفية
وصلتك هذه الملاحظات من الاجتماعات: «النظام يكون سريع وسهل»، «المتدرب يسجل ويدفع ويشوف شهادته»، «البيانات لازم تكون محمية»، «يشتغل على الجوال»، «الموظفة تعتمد وترفض». حوّلها إلى متطلبات دقيقة.←مخطط حالات استخدام «دورات»متوسط · الدرس 6: حالات الاستخدام: المخطط والوصف
أكمل مخطط حالات الاستخدام لنظام «دورات» بالاتفاق المستخدم في الدرس.←DFD المستوى الأول: الحضور والتقاريرمتقدم · الدرس 7: تحليل النظم: مخططات تدفق البيانات DFD
وسّع مخطط تدفق البيانات بعمليتين جديدتين: «إعداد الحضور» للمدرب، و«تقرير الإيرادات» للمدير، مع الالتزام بكل قواعد المخطط الصحيح.←
وصلتك هذه الملاحظات من الاجتماعات: «النظام يكون سريع وسهل»، «المتدرب يسجل ويدفع ويشوف شهادته»، «البيانات لازم تكون محمية»، «يشتغل على الجوال»، «الموظفة تعتمد وترفض». حوّلها إلى متطلبات دقيقة.←مخطط حالات استخدام «دورات»متوسط · الدرس 6: حالات الاستخدام: المخطط والوصف
أكمل مخطط حالات الاستخدام لنظام «دورات» بالاتفاق المستخدم في الدرس.←DFD المستوى الأول: الحضور والتقاريرمتقدم · الدرس 7: تحليل النظم: مخططات تدفق البيانات DFD
وسّع مخطط تدفق البيانات بعمليتين جديدتين: «إعداد الحضور» للمدرب، و«تقرير الإيرادات» للمدير، مع الالتزام بكل قواعد المخطط الصحيح.←
الوحدة 4: تحويل المواصفات الوظيفية إلى مواصفات تقنية
نموذج نطاق «دورات»متوسط · الدرس 8: من الوظيفة إلى التصميم: مخطط الأصناف
وسّع مخطط الأصناف ليغطي المتطلبات: الدورة لها سعة ويُحسب منها عدد المقاعد المتاحة، والمتدرب له كلمة مرور مُجزّأة سرية، وطلب التسجيل له حالة ويُعتمد، والمدرب له اسم وتخصص.←قاعدة بيانات «دورات»متقدم · الدرس 9: العلاقات ومخطط الكيانات ERD
أكمل مخطط الكيانات لنظام «دورات»: المدرب يقدّم دورات كثيرة، والمتدرب يسجّل في دورات كثيرة عبر جدول ENROLLMENT، ولكل تسجيل دفعة واحدة أو لا شيء.←تسلسل اعتماد الطلبمتقدم · الدرس 10: مخطط التسلسل وتصميم واجهة API
ارسم مخطط تسلسل لاعتماد موظفة التسجيل طلبًا، من ضغطة الزر حتى رسالة النتيجة، مع المسار البديل.←
وسّع مخطط الأصناف ليغطي المتطلبات: الدورة لها سعة ويُحسب منها عدد المقاعد المتاحة، والمتدرب له كلمة مرور مُجزّأة سرية، وطلب التسجيل له حالة ويُعتمد، والمدرب له اسم وتخصص.←قاعدة بيانات «دورات»متقدم · الدرس 9: العلاقات ومخطط الكيانات ERD
أكمل مخطط الكيانات لنظام «دورات»: المدرب يقدّم دورات كثيرة، والمتدرب يسجّل في دورات كثيرة عبر جدول ENROLLMENT، ولكل تسجيل دفعة واحدة أو لا شيء.←تسلسل اعتماد الطلبمتقدم · الدرس 10: مخطط التسلسل وتصميم واجهة API
ارسم مخطط تسلسل لاعتماد موظفة التسجيل طلبًا، من ضغطة الزر حتى رسالة النتيجة، مع المسار البديل.←
الوحدة 5: تحديد الأدوات واللغات المناسبة
مقترح التقنيات لـ «دورات»متوسط · الدرس 11: مشهد التقنيات: اللغات والأطر وقواعد البيانات
اكتب مقترح التقنيات لنظام «دورات». معطيات: الفريق درس PHP و MySQL و React، والميزانية محدودة، ويتوقع المركز 300 مستخدم متزامن يوم فتح التسجيل
اكتب سجل قرار ADR لاختيار قاعدة بيانات «دورات» بين MySQL و PostgreSQL و MongoDB. استعمل مصفوفة القرار في الدرس (يمكنك تعديلها) لتحصل على الأرقام.←
اكتب مقترح التقنيات لنظام «دورات». معطيات: الفريق درس PHP و MySQL و React، والميزانية محدودة، ويتوقع المركز 300 مستخدم متزامن يوم فتح التسجيل
(NFR-01)، وقد يُطلب تطبيق جوال في المرحلة الثانية.←سجل قرار: قاعدة البياناتمتوسط · الدرس 12: المقارنة والاختيار: مصفوفة القراراكتب سجل قرار ADR لاختيار قاعدة بيانات «دورات» بين MySQL و PostgreSQL و MongoDB. استعمل مصفوفة القرار في الدرس (يمكنك تعديلها) لتحصل على الأرقام.←
الوحدة 6: تحديد هيكلية البرمجيات والمعمارية
أكمل المتحكممتوسط · الدرس 13: معمارية تطبيقات الويب: الطبقات و MVC
تطبيق «دورات» مقسّم بنمط MVC، لكن دالة
أكمل مخطط الحاويات لنظام «دورات» بحيث يصلح لمستند المواصفات التقنية.←
تطبيق «دورات» مقسّم بنمط MVC، لكن دالة
show في المتحكم لم تُكتب بعد. أكملها دون أن تكسر فصل المسؤوليات.←مخطط حاويات «دورات»متوسط · الدرس 14: الأنماط المعمارية وتوثيق المعماريةأكمل مخطط الحاويات لنظام «دورات» بحيث يصلح لمستند المواصفات التقنية.←
الوحدة 7: تصميم صلاحيات المستخدمين وتنظيمها بشكل فعّال
تحليل أدوار «دورات»متوسط · الدرس 15: لماذا الصلاحيات؟ المستخدمون والأدوار
اكتب تحليل الأدوار لنظام «دورات»: الأدوار ومهامها، والبيانات الحساسة ومن يحتاجها، والممنوعات الصريحة التي تطبق مبدأ أقل صلاحية.←جداول RBACمتقدم · الدرس 16: نماذج التحكم بالوصول ومصفوفة الصلاحيات
صمّم مخطط الكيانات الذي يحفظ المستخدمين وأدوارهم وصلاحيات كل دور، بحيث يستطيع المدير تعديلها دون تغيير الكود.←
اكتب تحليل الأدوار لنظام «دورات»: الأدوار ومهامها، والبيانات الحساسة ومن يحتاجها، والممنوعات الصريحة التي تطبق مبدأ أقل صلاحية.←جداول RBACمتقدم · الدرس 16: نماذج التحكم بالوصول ومصفوفة الصلاحيات
صمّم مخطط الكيانات الذي يحفظ المستخدمين وأدوارهم وصلاحيات كل دور، بحيث يستطيع المدير تعديلها دون تغيير الكود.←
الوحدة 8: تنفيذ تصميم صلاحيات المستخدمين في تطبيقات الويب
نفّذ مصفوفة الصلاحياتمتوسط · الدرس 17: تنفيذ الأدوار والصلاحيات في الخادم
خادم «دورات» يصادق المستخدمين لكنه لا يتحقق من صلاحياتهم: كل من دخل يرى كل الطلبات ويعتمدها ويرى التقرير المالي. طبّق مصفوفة الصلاحيات.←سدّ الثغرات الثلاثمتقدم · الدرس 18: طبقات حماية إضافية واختبار الصلاحيات
هذا الخادم يصادق المستخدمين، لكن فيه ثلاث ثغرات: IDOR في عرض التسجيل، وإسناد جماعي في الإنشاء، وتغيير الحالة بلا تفويض ولا تحقق. أصلحها.←
خادم «دورات» يصادق المستخدمين لكنه لا يتحقق من صلاحياتهم: كل من دخل يرى كل الطلبات ويعتمدها ويرى التقرير المالي. طبّق مصفوفة الصلاحيات.←سدّ الثغرات الثلاثمتقدم · الدرس 18: طبقات حماية إضافية واختبار الصلاحيات
هذا الخادم يصادق المستخدمين، لكن فيه ثلاث ثغرات: IDOR في عرض التسجيل، وإسناد جماعي في الإنشاء، وتغيير الحالة بلا تفويض ولا تحقق. أصلحها.←
الوحدة 9: تقييم وتحسين تصميم صلاحيات المستخدمين
أصلح ما وجدته المراجعةمتقدم · الدرس 19: مراجعة تصميم الصلاحيات: الثغرات الشائعة
هذا هو الخادم الذي كُتب عنه تقرير المراجعة في الدرس. أصلح الملاحظات الثلاث الأولى.←سجل تدقيق للاعتمادمتوسط · الدرس 20: تحسين الصلاحيات من التهديدات وملاحظات المستخدمين
أضف سجل تدقيق لعملية اعتماد الطلبات: كل اعتماد يُسجَّل، والسجل يقرؤه من يملك
المواصفة: «تسترد موظفة التسجيل المبالغ حتى 500 ريال، وما زاد يسترده المدير. ولا يسترد أحد مبلغ طلب اعتمده بنفسه». السياسة الحالية تسمح لكل من يملك صلاحية استرداد بأي مبلغ. أكمل
هذا هو الخادم الذي كُتب عنه تقرير المراجعة في الدرس. أصلح الملاحظات الثلاث الأولى.←سجل تدقيق للاعتمادمتوسط · الدرس 20: تحسين الصلاحيات من التهديدات وملاحظات المستخدمين
أضف سجل تدقيق لعملية اعتماد الطلبات: كل اعتماد يُسجَّل، والسجل يقرؤه من يملك
audit:read فقط.←سياسة الاستردادمتقدم · الدرس 21: مبادئ متقدمة: الأذونات المشروطة والمصادقة متعددة العواملالمواصفة: «تسترد موظفة التسجيل المبالغ حتى 500 ريال، وما زاد يسترده المدير. ولا يسترد أحد مبلغ طلب اعتمده بنفسه». السياسة الحالية تسمح لكل من يملك صلاحية استرداد بأي مبلغ. أكمل
canRefund.←الوحدة 10: إنشاء مستندات دقيقة للمواصفات الوظيفية والتقنية
مقدمة مستند المتطلباتمتوسط · الدرس 22: مستند المواصفات SRS: الأهمية والمكونات
اكتب القسم الأول من مستند SRS لنظام «دورات» والقسم الخاص بفئات المستخدمين، مستفيدًا مما صنعته في الدروس السابقة.←قسم «اعتماد الطلبات» في SRSمتقدم · الدرس 23: كتابة مستند المواصفات الوظيفية
اكتب قسم الميزة 3.3 «اعتماد طلبات التسجيل» في مستند المتطلبات بقالب الدرس. المعطيات: موظفة التسجيل تعتمد أو ترفض مع سبب، ويُرسل للمتدرب إشعار، ولا تعتمد الموظفة طلبًا قدّمته لنفسها، ولا يُعتمد طلب لدورة مكتملة.←مقاطع من المستند التقنيمتقدم · الدرس 24: مستند المواصفات التقنية
اكتب ثلاثة مقاطع من المستند التقني لنظام «دورات»: نقاط نهاية API للتسجيل والاعتماد والاسترداد، وجداول نموذج البيانات، وربط ثلاثة متطلبات غير وظيفية بقرارات التصميم.←
اكتب القسم الأول من مستند SRS لنظام «دورات» والقسم الخاص بفئات المستخدمين، مستفيدًا مما صنعته في الدروس السابقة.←قسم «اعتماد الطلبات» في SRSمتقدم · الدرس 23: كتابة مستند المواصفات الوظيفية
اكتب قسم الميزة 3.3 «اعتماد طلبات التسجيل» في مستند المتطلبات بقالب الدرس. المعطيات: موظفة التسجيل تعتمد أو ترفض مع سبب، ويُرسل للمتدرب إشعار، ولا تعتمد الموظفة طلبًا قدّمته لنفسها، ولا يُعتمد طلب لدورة مكتملة.←مقاطع من المستند التقنيمتقدم · الدرس 24: مستند المواصفات التقنية
اكتب ثلاثة مقاطع من المستند التقني لنظام «دورات»: نقاط نهاية API للتسجيل والاعتماد والاسترداد، وجداول نموذج البيانات، وربط ثلاثة متطلبات غير وظيفية بقرارات التصميم.←
الوحدة 11: تقديم المستندات للعميل للمراجعة والاعتماد
حزمة العرض على أ. فهدمتوسط · الدرس 25: تقديم المستندات للعميل بوضوح
جهّز ما ستقدمه في اجتماع عرض مواصفات «دورات»: ملخصًا تنفيذيًّا قصيرًا، وجدول أعمال الاجتماع، وترجمة ثلاثة مصطلحات تقنية إلى لغة أثرها على المركز.←الرد على ملاحظات العميلمتقدم · الدرس 26: المراجعة والاعتماد وإدارة الملاحظات
وصلت ملاحظات أ. فهد على المسودة
جهّز ما ستقدمه في اجتماع عرض مواصفات «دورات»: ملخصًا تنفيذيًّا قصيرًا، وجدول أعمال الاجتماع، وترجمة ثلاثة مصطلحات تقنية إلى لغة أثرها على المركز.←الرد على ملاحظات العميلمتقدم · الدرس 26: المراجعة والاعتماد وإدارة الملاحظات
وصلت ملاحظات أ. فهد على المسودة
0.9: (C-1) «أريد أن يرى المدربون جوالات المتدربين»، (C-2) «اجعلوا رسالة الاعتماد تصل خلال 5 دقائق بدل دقيقة»، (C-3) «ما معنى خط الأساس؟»، (C-4) «نريد تطبيق جوال في الإصدار الأول». اكتب الردود وسجل المراجعات.←الوحدة 12: استخدام مستندات المواصفات في التطوير والتنفيذ
نفّذ قائمة الانتظار من مواصفتهامتقدم · الدرس 27: من المستند إلى التنفيذ: مصفوفة التتبع
المواصفة المعتمدة (الإصدار 1.1): FR-15.1 عندما تكون الدورة مكتملة، يجب أن يضيف النظام المتدرب إلى قائمة الانتظار ويرد بالرمز 202 وترتيبه. FR-15.2 عندما يُلغى تسجيل، يجب أن ينقل النظام أول منتظر إلى المسجلين. BR-06 لا يُسجّل المتدرب ولا ينتظر مرتين
طلب المركز إعادة ميزة «تذكير قبل الدورة برسالة نصية» التي أُجّلت، لأن نسبة الغياب في اليوم الأول عالية. اكتب طلب التغيير وتحليل أثره وتحديث سجل التغييرات للإصدار الحالي 1.2.←
المواصفة المعتمدة (الإصدار 1.1): FR-15.1 عندما تكون الدورة مكتملة، يجب أن يضيف النظام المتدرب إلى قائمة الانتظار ويرد بالرمز 202 وترتيبه. FR-15.2 عندما يُلغى تسجيل، يجب أن ينقل النظام أول منتظر إلى المسجلين. BR-06 لا يُسجّل المتدرب ولا ينتظر مرتين
(409).←طلب تغيير: تذكير قبل الدورةمتقدم · الدرس 28: إدارة التغيير وتحديث المستنداتطلب المركز إعادة ميزة «تذكير قبل الدورة برسالة نصية» التي أُجّلت، لأن نسبة الغياب في اليوم الأول عالية. اكتب طلب التغيير وتحليل أثره وتحديث سجل التغييرات للإصدار الحالي 1.2.←