تخطي إلى المحتوى
دليل المعماري · OOA&D

دورة حياة تطوير البرمجيات

إطار بصري معرفي للمفكرين النظاميين — يحوّل نظرية SDLC إلى نموذج ذهني تفاعلي للتحليل والتصميم كائني التوجه.

٦ مراحل · الأدوار في لمحة

لكل مرحلة أصحاب مصلحة ومدخلات ومخرجات مميزة. الدورة تكرارية — وليست خطية بشكل صارم.
01التحليل
  • مالك المنتج
  • مدير المشروع
  • محلل الأعمال
  • المدير التقني
02التصميم
  • مهندس الأنظمة
  • مصمم UX/UI
03التطوير
  • مطور الواجهة الأمامية
  • مطور الخلفية
04الاختبار
  • مهندس الحلول
  • مهندس جودة
  • مختبِر
  • DevOps
05النشر والإطلاق
  • مدير قاعدة البيانات
  • DevOps
06الصيانة والتطوير
  • المستخدمون
  • المختبِرون
  • الدعم الفني

01 — التحليل

الفهم الدقيق للمشكلة قبل الشروع في حلها
ما هي هذه المرحلة؟

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

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

02 — التصميم

ترجمة المتطلبات إلى مخططات هندسية معمارية
ما هي هذه المرحلة؟

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

المخرج الأساسي
مخطط البنية المعمارية ومخططات UML
أنشطة التصميم
  • نطاق المشكلةرسم الحدود الدقيقة للنظام
  • حالات الاستخدام المحوريةالمسارات الأساسية لتحقيق غاية النظام
  • حالات استخدام النظامجميع التفاعلات الممكنة للمستخدمين مع النظام
  • الأطراف الفاعلةمن وما يتفاعل مع النظام (Actors)
  • التقسيم المعماريالطبقات الوظيفية، الوحدات البرمجية، وواجهات الاتصال
نقاط التحقق والقرارات
  • هل رُسمت حدود نطاق النظام بوضوح لتجنب التزحف (Scope Creep)؟
  • هل حُدِّدت جميع الأطراف الفاعلة (البشرية والبرمجية)؟
  • هل تغطي حالات الاستخدام كافة أهداف المستخدمين؟
  • هل البنية المعمارية قابلة للتوسع لاستيعاب المتطلبات المستقبلية؟
  • هل عُرِّفت الواجهات الخارجية (APIs) بدقة؟
الأدوار
مهندس الأنظمة · مصمم تجربة وواجهة المستخدم
السؤال المحوري
كيف ستُهيكَل بنية النظام تقنياً؟
محفّز المرحلة التالية
مراجعة البنية المعمارية واعتمادها من قبل الفريق التقني
مخاطر التجاوز
بناء نظام هش غير قابل للتطوير منذ اليوم الأول

03 — التطوير

تحويل التصاميم المعمارية إلى كود برمجي فعّال ومُختبَر
ما هي هذه المرحلة؟

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

المخرج الأساسي
شيفرة مصدرية تعمل بكفاءة واختبارات الوحدة (Unit Tests)
أنشطة البناء والتطوير
  • الكيانات (نموذج البيانات)تصميم الهياكل البيانية
  • مخططات التدفقبرمجة وتشكيل مسارات المنطق التشغيلي للتطبيق
  • الكود الزائف (Pseudocode)صياغة المنطق برمجياً قبل كتابته
  • مخططات التسلسلتنظيم التدرج الزمني لتفاعلات الكائنات
  • الواجهة الأمامية والخلفيةواجهات المستخدم، الـ APIs، منطق الأعمال، وقواعد البيانات
نقاط التحقق والقرارات
  • هل يتطابق الكود المكتوب مع البنية المعمارية المعتمدة؟
  • هل تُطبّق المعايير القياسية عبر المراجعة الدورية للكود (Code Review)؟
  • هل عُولجت حالات الحافة (Edge Cases) والقيم الفارغة؟
  • هل نسبة تغطية اختبارات الوحدة كافية؟
  • هل اُعتمدت صياغة الكود الزائف قبل الشروع الفعلي في البرمجة؟
الأدوار
مطور الواجهة الأمامية · مطور الواجهة الخلفية
السؤال المحوري
هل يجسّد الكود التصميم المعماري بصورة دقيقة؟
محفّز المرحلة التالية
الانتهاء من تطوير المزايا واجتياز مراجعات الكود التقنية
مخاطر التجاوز
تراكم الديون التقنية بمتوالية هندسية

04 — الاختبار

التحقق الصارم من استيفاء كل سلوك لمتطلباته المقررة
ما هي هذه المرحلة؟

الفحص المنهجي للتأكد من استجابة النظام لكل المتطلبات، واكتشاف العيوب ومعالجتها قبل وصول النظام للمستخدمين الفعليين في بيئة الإنتاج.

المخرج الأساسي
تقارير الاختبار الشاملة ونسخة إصدار مرشحة خالية من الأخطاء
أنواع الاختبارات
  • اختبار الوحدة (Unit Testing)ضمان صحة عمل المكونات فرادى
  • اختبار التكامل (Integration Testing)التثبت من عمل الوحدات المدمجة معاً
  • اختبار النظام (System Testing)دورات تدفق كاملة من البداية للنهاية
  • اختبار القبول (UAT)التقييم والمصادقة من قبل المستخدم النهائي
  • اختبار الأداء (Performance Testing)فحص أحمال النظام، الإجهاد، وقابلية التوسع
نقاط التحقق والقرارات
  • هل تغطي سيناريوهات الاختبار كافة حالات الاستخدام فعلياً؟
  • هل تم فحص وتأكيد المتطلبات غير الوظيفية؟
  • هل بالإمكان تتبع حالات الاختبار وربطها بالمتطلبات الأساسية؟
  • هل اختبارات الانحدار (Regression Tests) مؤتمتة بالكامل؟
  • هل صادق مالك المنتج رسمياً على اختبار القبول (UAT)؟
الأدوار
مهندس الحلول · مهندس ضمان الجودة · المختبِر · مهندس DevOps
السؤال المحوري
هل يقدم النظام ما التزمنا به بدقة؟
محفّز المرحلة التالية
حل كافة الأخطاء الحرجة وبلوغ النسبة المطلوبة من التغطية الاختبارية
مخاطر التجاوز
أعطال في بيئة الإنتاج وانهيار جسور الثقة مع المستخدم

05 — النشر والإطلاق

نقل النظام إلى بيئة الإنتاج الحية بأمان وموثوقية
ما هي هذه المرحلة؟

ترحيل النظام المُختبَر إلى بيئة الإنتاج، والذي يقتضي تهيئة البنية التحتية، تنفيذ الترحيلات، تفعيل أدوات المراقبة، وتطبيق خطة الإطلاق.

المخرج الأساسي
نظام حي يعمل ووثائق نشر تقنية معتمدة
أنشطة النشر
  • تهيئة البيئةتجهيز الخوادم، ضبط الإعدادات، وتأمين المفاتيح السرية
  • ترحيل قاعدة البياناتتطبيق المخططات (Schema) وحقن البيانات الأولية
  • مسار التوصيل المستمر (CI/CD)أتمتة عمليات بناء ونشر الإصدارات
  • اختبار الدخان (Smoke Testing)التأكد السريع للصحة التشغيلية عقب النشر
  • خطة التراجع (Rollback Plan)منهجية الرجوع للإصدار السابق عند الفشل
نقاط التحقق والقرارات
  • هل خُطِّطت استراتيجية التراجع بوضوح وموثوقية؟
  • هل لوحات المراقبة وتنبيهات الأخطاء مُفعّلة وتعمل بكفاءة؟
  • هل أُبلغت الأطراف المعنية بنطاق توقيت النشر المتوقع؟
  • هل أُحكم تأمين المفاتيح السرية (Secrets) ومرتكزات الإعداد؟
  • هل عملية ترحيل البيانات قابلة للعكس بأمان؟
الأدوار
مسؤول قاعدة البيانات · مهندس DevOps
السؤال المحوري
هل النظام جاهز وآمن لاستخدام الأطراف النهائية؟
محفّز المرحلة التالية
استقرار النظام في الإنتاج، وبدء استقبال واحتضان المستخدمين
مخاطر التجاوز
فقدان البيانات، توقف الخدمة، وانكشاف الثغرات الأمنية

06 — الصيانة والتطوير

استدامة النظام، ترقيته، وتحسينه المستمر
ما هي هذه المرحلة؟

المراقبة المستمرة لصحة النظام، التجاوب مع مقترحات المستخدمين، ترقيع الثغرات الإنتاجية، وتغذية الدروس المستقاة للدورة التطويرية القادمة.

المخرج الأساسي
ترقيعات لأخطاء النظام، توثيقات محدّثة، ومدخلات للدورة التالية
أنواع الصيانة
  • صيانة تقويميةإصلاح أخطاء بيئة الإنتاج المُبلّغ عنها وتشخيصها
  • صيانة تكيّفيةالمواءمة وتأقلم النظام مع المتغيرات البيئية الجديدة
  • صيانة تحسينيةرفع مستوى الأداء وترقية الكفاءة وسرعة الاستجابة
  • صيانة وقائيةإعادة الهيكلة والتنقيح، وتقليص الديون التقنية
نقاط التحقق والقرارات
  • هل ترصد أنظمة المراقبة المشاكل الحقيقية مبكراً وبصورة استباقية؟
  • هل تُحوّل ملاحظات المستخدمين دورياً إلى قائمة الأعمال المتراكمة (Backlog)؟
  • هل تخضع عمليات تدارك الأخطاء العاجلة (Hotfixes) لمسار جودة صحيح؟
  • متى سيتم الشروع في الدورة التطويرية (SDLC) التالية؟
الأدوار
المستخدمون · فريق الدعم الفني · المختبِرون
السؤال المحوري
هل مازال النظام يلبي تطلعات واحتياجات المستخدمين الفعلية؟
محفّز المرحلة التالية
استنباط واعتماد متطلبات ورؤى مستحدثة ومؤثرة
مخاطر التجاوز
تقادم وضعف النظام، ونفور المستخدمين التدريجي
خط أنابيب OOA&D

سير عمل التحليل والتصميم

خط الأنابيب المنظّم من المتطلبات الخام إلى البنية المنشورة — كل مرحلة تنتج مخرجات ملموسة تغذي المرحلة التالية.
1المتطلبات
  • الرؤية
  • المتطلبات الوظيفية
  • المتطلبات غير الوظيفية
  • القيود
  • الافتراضات
2نطاق المشكلة
  • تعريف حدود النظام
  • تحديد الكيانات الأساسية
  • رسم العلاقات
  • تحديد حدود النطاق
3حالات الاستخدام
  • حالات الاستخدام المحورية
  • حالات استخدام النظام
  • قائمة جميع الأطراف الفاعلة
  • مخططات النشاط
4تعريف البنية
  • تحليل البنية
  • تعريف المكونات
  • ربط الواجهات
  • اختيار الأنماط
5النشر
  • إعداد البنية التحتية
  • خط CI/CD
  • ضبط البيئة
  • خطة الإطلاق

نظام تدفق القرارات

المنطق الشرطي الذي يطبّقه المعماري عندما يكون هناك خطأ أو نقص أو غموض — وكيفية التعافي.
إذا كان المتطلب غير واضح

→ العودة إلى التحليل. إعادة إشراك أصحاب المصلحة. توضيح الرؤية والتوقعات الوظيفية قبل أي عمل تصميمي.

إذا كانت البنية غير مستقرة

→ مراجعة التصميم. تفكيك أعمق. التحقق من البنية مقابل المتطلبات مرة أخرى قبل استئناف التطوير.

إذا كانت حالة الاستخدام ناقصة

→ العودة إلى التصميم. إضافة الأطراف الفاعلة أو التدفقات أو الحالات الحدية المفقودة. إعادة النمذجة قبل كتابة أي كود.

إذا فشل اختبار

→ العودة إلى التطوير. إصلاح السبب الجذري — وليس العرَض. إعادة تشغيل مجموعة اختبارات الانحدار الكاملة قبل إعادة التقديم.

إذا فشل النشر

→ تنفيذ خطة التراجع. التحقيق في السبب الجذري. الإصلاح في التطوير ← إعادة الاختبار ← إعادة النشر بثقة.

إذا اجتازت جميع نقاط التحقق

→ المتابعة إلى المرحلة التالية. توثيق القرارات والمبررات. إخطار أصحاب المصلحة وتحديث تتبع التقدم.

Diagrams

📐

UML

🔧

Component Diagrams

👥

Use-case Diagram

🔄

Activity Diagram

🧩

Class Diagram

📨

Sequence Diagram

⚙️

State Machine Diagram

🖥️

Deployment Diagram