SDLC - Design

✅ 3. Design – مرحلة التصميم

🎯 الهدف من المرحلة دي:

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



📌 التصميم بيكون على مستويين:

🧱 1. High-Level Design (التصميم العام)

يعني الهيكل العام للنظام (نظرة من فوق):

  • يتكوّن من كام جزء؟

  • هيشتغل من خلال أي طبقات (Layers)؟

  • هنعمل قاعدة بيانات؟

  • فيه API؟ ولا تطبيق واحد؟

💡 مثال:

فيه Frontend – Backend – Database – Auth Service – Payment Gateway


⚙️ 2. Low-Level Design (التصميم التفصيلي)

بندخل في تفاصيل أكتر:

  • كل كلاس (Class) هيعمل إيه؟

  • الجداول في قاعدة البيانات هتكون إزاي؟

  • شكل الشاشات وواجهات المستخدم (UI Mockups)



📄 أدوات بتساعد في مرحلة التصميم:

  • UML diagrams (زي Class Diagram وSequence Diagram)

  • ERD – Entity Relationship Diagram (لرسم قاعدة البيانات)

  • Wireframes / Mockups (لرسم شكل الصفحات للمستخدم)



🧠 إيه اللي المفروض تعرفه من المرحلة دي؟

  • تفهم الفرق بين التصميم العام والتفصيلي

  • تعرف ترسم مخطط يوضح علاقة الكلاسات ببعض

  • تقدر توصل المتطلبات اللي كانت بالكلام إلى رسومات أو هيكل تقني

  • التصميم الكويس بيقلل المشاكل وقت البرمجة



🔄 مثال تطبيقي:

نكمل على تطبيق البيع أونلاين:

  • High-Level Design:

    • Web App فيه Frontend (بلغة Blazor مثلًا)

    • Backend API (ASP.NET Core)

    • SQL Server Database

    • Auth Service لتسجيل الدخول

    • Stripe API للدفع

  • Low-Level Design:

    • جدول Users – جدول Products – جدول Orders

    • Class باسم ProductService فيها دوال لإضافة المنتج وحذفه وتحديثه

    • رسم للشاشة الرئيسية: صورة المنتج – اسمه – السعر – زر "إضافة للسلة"


تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

1.1 SQL Introduction