فكر برمجي
441 subscribers
355 photos
2 videos
67 files
189 links
#فكر_برمجي
Think_Programmatically
قناة تقنية متخصصة في البرمجة وتطوير المهارات. نوفر شروحات مبسطة، موارد مفيدة، وأفكار ملهمة لتحويل شغفك بالتقنية إلى إبداع.
Download Telegram
#009 — Use Case vs User Story

من أكثر الأمور التي تسبب التباسًا عند بداية تعلم هندسة البرمجيات:
ما الفرق بين User Story و Use Case؟ وهل أحتاج إلى الاثنين؟
كلاهما يساعدنا على فهم ما يحتاجه المستخدم، لكن الفرق الأساسي هو مستوى التفاصيل والغرض من الاستخدام.
الـ User Story تصف الحاجة من منظور المستخدم بطريقة مختصرة، وغالبًا تجيب عن ثلاثة أسئلة:
WHO — من؟
WHAT — ماذا يريد؟
WHY — لماذا يريده؟

مثال:

As a Customer,
I want to track my order,
So that I know when it will arrive.

هنا عرفنا المستخدم، وما الذي يريده، والقيمة التي سيحصل عليها، دون الدخول في تفاصيل التنفيذ.
أما الـ Use Case فتأخذنا إلى مستوى أعمق، وتصف كيف يتفاعل الـActor مع النظام للوصول إلى هدف معين.

فنبدأ بالنظر إلى:

Actor → Preconditions → Main Flow → Alternative Flow → Result

على سبيل المثال، في عملية تسجيل الدخول لا يكفي أن نعرف أن المستخدم يريد الوصول إلى حسابه، بل قد نحتاج إلى تحليل السيناريو:
ماذا يحدث عند إدخال البيانات الصحيحة؟
ماذا يحدث إذا كانت كلمة المرور خاطئة؟
ما الشروط المطلوبة قبل بدء العملية؟
وما النتيجة النهائية؟

وهنا تظهر قيمة الـUse Case.
لذلك يمكن تبسيط الفرق بهذه العبارة:

User Story = الحاجة والقيمة.
Use Case = التفاعل والسيناريو.

لكن الأهم: لا تتعامل معهما وكأن أحدهما بديل مطلق للآخر.
في بعض المشاريع قد تكون User Stories كافية للتخطيط والتواصل داخل الفريق، خصوصًا في بيئات Agile.
وفي سيناريوهات أكثر تعقيدًا، مثل الدفع الإلكتروني أو الحجز أو التحويل المالي، قد تحتاج إلى Use Cases لفهم المسارات الأساسية والبديلة بشكل أوضح.
بل يمكن استخدامهما معًا:

User Story → Acceptance Criteria → Use Case → Design → Development → Testing

الفكرة ليست أن تسأل:
أيهما أفضل؟
بل أن تسأل:
ما الذي أحاول فهمه الآن، وما مستوى التفاصيل الذي يحتاجه المشروع والفريق؟
هذه إحدى المهارات المهمة في تحليل الأنظمة:
لا تستخدم أداة لأنها مشهورة، استخدمها لأنها تحل مشكلة فعلية في مرحلة معينة من المشروع.

سؤال للنقاش:
لو كنت تحلل عملية تحويل أموال في تطبيق بنكي، هل ستبدأ بـ User Story أم Use Case؟ ولماذا؟

م. طارق العمري
Software Engineer | Backend Developer

#SoftwareEngineering #UseCase #UserStory #RequirementsEngineering #SystemAnalysis #BusinessAnalysis #UML #Agile #AcceptanceCriteria #SoftwareDevelopment #SystemDesign #BackendDevelopment #SoftwareEngineer #هندسة_البرمجيات #تحليل_النظم #تطوير_البرمجيات
قريبًا… نصل إلى اللحظة التي انتظرناها طويلًا. 🎓
سنوات من الدراسة، السهر، المشاريع، الاختبارات، التحديات، والمحاولات… في يوم واحد يحمل معنى كبيرًا لنا.
حفل تخرج دفعة الظل التقني — 2026
ليست نهاية مرحلة ، بل بداية طريق جديد نحمل فيه ما تعلمناه ونحوّله إلى إنجازات حقيقية في عالم التقنية.

📅 7 / 9 / 2026
📍 قاعة قصر غمدان
موعدنا مع لحظة لن تُنسى بإذن الله.

COMING SOON…
GRADUATION 2026

#الظل_التقني #حفل_التخرج #تخرج_2026 #تقنية_المعلومات #InformationTechnology #Graduation2026 #IT #دفعة_الظل_التقني
#الدفعة_السادسة