Ibrahim Shaher Saeed
Ibrahim Shaher Saeed

@SoftDevIbrahim

34 تغريدة 4 قراءة Sep 17, 2024
في هاذي السلسلة بنشرح عن User Case.
فيما يلي بعض الأسئلة التي تم طرحها بشكل متكرر في عالم UMLما هو مخطط حالة الاستخدام؟
لماذا استخدام مخطط الحالة؟
أو ببساطة لماذا استخدام الحالات ؟
بعض الناس لا يعرفون ما هي حالة الاستخدام ، في حين أن البقية قللوا من تقدير فائدة حالات الاستخدام في تطوير منتج برمجي جيد. هل استخدام مخطط حالة الاستخفاف؟
أتمنى أن تجد الإجابة عند الانتهاء من قراءة هذا المقال. إذن ما هو مخطط حالة الاستخدام؟
مخطط حالة استخدام UML هو الشكل الأساسي لمتطلبات النظام / البرنامج لبرنامج جديد غير مطور. تحدد حالات الاستخدام السلوك المتوقع (ماذا) ، وليس الطريقة الدقيقة لتحقيق ذلك (كيف). يمكن الإشارة إلى حالات الاستخدام المحددة مرة واحدة على حد سواء التمثيل النصي والمرئي أي استخدام مخطط الحالة
يتمثل أحد المفاهيم الأساسية لنمذجة حالة الاستخدام في أنها تساعدنا في تصميم نظام من منظور المستخدم النهائي. إنها تقنية فعالة لتوصيل سلوك النظام وفقًا لشروط المستخدم من خلال تحديد جميع سلوك النظام المرئي خارجيًا.
عادة يكون مخطط حالة الاستخدام بسيطًا
. لا تظهر تفاصيل حالات الاستخدام: إنه يلخص فقط بعض العلاقات بين حالات الاستخدام والجهات الفاعلة والأنظمة.
لا يعرض الترتيب الذي يتم تنفيذ الخطوات به لتحقيق أهداف كل حالة استخدام.
كما قيل ، يجب أن يكون مخطط حالة الاستخدام بسيطًا ويحتوي فقط على أشكال قليلة.
إذا كانت حالتك تحتوي على أكثر من 20 حالة استخدام ، فمن المحتمل أنك تسيء استخدام مخطط حالة الاستخدام.
الغرض من مخطط حالة الاستخدام.
يتم تطوير مخططات حالة الاستخدام عادةً في المرحلة الأولى من التطوير ،
وغالبًا ما يطبق الأشخاص نماذج حالة الاستخدام للأغراض التالية:
يتم تطوير مخططات حالة الاستخدام عادةً في المرحلة الأولى من التطوير ،
وغالبًا ما يطبق الأشخاص نماذج حالة الاستخدام للأغراض التالية:
•حدد سياق النظام
•احصل على متطلبات النظام
•تحقق من صحة بنية الأنظمة
•تنفيذ محرك الأقراص وإنشاء حالات الاختبار
•تم تطويره بواسطة محللين مع خبراء المجال
استخدم مخطط الحالة ؟
يتم تعريف النموذج القياسي لمخطط حالة الاستخدام في لغة النمذجة الموحدة كما هو موضح في مثال الرسم التخطيطي لحالة الاستخدام أدناه:
اولأ نقوم بشرح أنواع الكائنات المستخدمة في هذا المخطط
أ. Actor (الممثل)
من هو Actor ؟ هو أي انسان يستخدم النظام سواء مستخدم عادي او مدير مستخدم له صلاحيات اعلى في النظام ويمكن تلخيصه بالتالي
يتفاعل شخص ما مع حالة الاستخدام (وظيفة النظام).
اسمه بالاسم.
يلعب الممثل دورًا في العمل
يشبه مفهوم المستخدم ، ولكن يمكن للمستخدم أن يلعب أدوارًا مختلفة
فمثلاً :
• يمكن أن يكون مدربًا وباحثًا أيضًا.
• يلعب دورين بنظامين
حالة (حالات) استخدام مشغلات الفاعل.
الفاعل مسؤول تجاه النظام (المدخلات) ، والممثل لديه توقعات من النظام (المخرجات).
ب. Use Case (حالة الاستخدام)
هي عبارة عن أي وظيفة في النظام (Function) (عملية - آلية أو يدوية) ولنفترض تطبيق الفيسبوك كم لديه وظائف او عمليات في النظام ؟ يوجد لديه آلاف الوظائف وانذكر بعض منها .
وظيفة تسجيل الدخول
وظيفة انشاء حساب
وظيفة تسجيل الخروج
وظيفة تعديل بيانات الحساب
وظيفة تعديل المنشور
وظيفة حذف الحساب
وظيفة حذف منشور
وظيفة السماح بتخصيص المنشورات
وظيفة اضافة منشور
وظيفة عرض المنشور
وظيفة التحقق من الرقم ........... الخ.
فهاذي جزاء من الوظائف او الموجودة في الفيسبوك وتعبر كلها ب Use Case (حالة الاستخدام).
مسمى بواسطة الفعل + الاسم (أو العبارة الاسمية).
أي افعل شيئًا يجب ربط كل فاعل بحالة استخدام ،
بينما قد لا يتم ربط بعض حالات الاستخدام بالجهات الفاعلة.
ج . Communication Link (خط الاتصال )
هو عبارة عن خط يتصل بين الممثل (Actor) و حالة الاستخدام (User Case) ليمثل انه يوجد علاقة بين المستخدم وهاذي الوظيفة ولنفترض نريد تصميم نظام شبيه الفيسبوك ولن نتطرق لجميع العمليات ولاكن سنذكر بعض العمليات وسنشرحه بالأسفل بعد التعرف على كل مكونات المخطط .
Boundary of system (حدود النظام)
العديد من الأنظمة ، مثل شبكات التلفزيون والمنظمات الاجتماعية ، ليس لها حدود هندسية. ومن ثم ، إذا أردنا استخدام مفهوم شامل لحدود النظام ، فعلينا أن ننتقل إلى مفهوم غير هندسي.
تمكّننا الطوبولوجيا من تحديد مفهوم مناسب لحدود النظام عبر مفهوم الجوار لمكون النظام. في المقابل ، يتم تعريف هذا الحي على أنه مجموعة من الأشياء التي ترتبط ارتباطًا مباشرًا بالمكون المحدد.
يتم بعد ذلك تعريف المكون الحدودي للنظام على أنه مكون يحتوي كل حي منه على مكون نظام واحد على الأقل وشيء واحد على الأقل في بيئة المكون. يتم تعريف حدود النظام على أنها مجموعة من جميع مكونات حدوده. لكن أنواع الروابط المختلفة تؤدي إلى أحياء مختلفة ،
وبالتالي حدود مختلفة. من المفترض أن كل نظام ملموس ، باستثناء الكون ككل ، له حد واحد على الأقل. الحدود الهندسية ، أي الخطوط الملساء أو الأسطح التي تحيط بالأنظمة ، هي الاستثناء وليست القاعدة.
•هيكلة مخطط حالة الاستخدام مع العلاقات (Structuring Use Case Diagram with Relationships)
oExtends (تمديد)
الامتداد (Extend)هو عباره عن خط متقطع كما بالصورة اعلى ويستخدم لربط بين اكثر من user case كل واحده تعتمد على الأخرى ولنفترض في الفيسبوك عملية التحقق من كلمة المرور ان كان خاطاء او عملية ارسال مساعدة بأنشاء الحساب او تسجل الدخول نوضح اكثر برسم المخطط .
تعتبر حالة الاستخدام الممتد ذات مغزى في حد ذاتها ، فهي مستقلة عن حالة الاستخدام الموسعة. تحدد حالة الاستخدام الموسعة عادةً السلوك الاختياري الذي لا يكون بالضرورة ذا معنى بحد ذاته. علاقة الامتداد مملوكة لحالة الاستخدام الموسعة.
يمكن أن تمتد نفس حالة الاستخدام الموسعة إلى أكثر من حالة استخدام واحدة ، ويمكن تمديد حالة الاستخدام نفسها.
يحدث الامتداد عند نقطة امتداد واحدة أو أكثر محددة في حالة الاستخدام الموسعة.
يتم عرض علاقة التمديد كخط متقطع برأس سهم مفتوح موجه من حالة الاستخدام الممتدة إلى حالة الاستخدام الموسعة (الأساسية). السهم يسمى بالكلمة الأساسية «Extend».
oInclude (تضمين)
تضمين (Include)هو عباره عن خط متقطع كما بالصورة اعلى ويستخدم لربط بين اكثر من user case كل واحده تعتمد على الأخرى ولنفترض في الفيسبوك عملية التحقق من الحساب ان كان موجود البريد الألكتروني بحساب اخر تعود الك رسالة انه يوجد في هذا البريد ايميل سابق فهنا
user case انشاء الحساب اعتمدت على User Case التحقق من الايميل ولنقم بمثل اخر . في الفيسبوك نفسه لأجل اكثر الناس تفهم فيه وهو اكثر شيء ممكن ان يفهمه القارئ بسهولة المثال الاخر اثناء عملية انشاء حساب او تغير رقم التلفون العملية الأولى او user case الأولى هي انشاء حساب ثم
يقوم بأرسال رساله الى الرقم الذي قمت بتسجيله اثناء انشاء الحساب وهاذي هي العملية الثانية نوضح اكثر برسم المخطط . ولاحظ الفرق بينه وبين Extend انه النظام يرسل لدالة تسجيل الدخول المساعدة وهي تعرض للمستخدم بينما هنا عملية انشاء الحساب هي من تطلب التحقق .
oGeneralization (تعميم)
في سياق نمذجة حالة الاستخدام ، يشير تعميم حالة الاستخدام إلى العلاقة التي يمكن أن توجد بين حالتي استخدام والتي توضح أن حالة الاستخدام (الطفل) ترث الهيكل والسلوك والعلاقات الخاصة بممثل آخر (أحد الوالدين).
يُشار أيضًا إلى حالة استخدام الطفل إلى حالة الاستخدام الأكثر تخصصًا بينما يُشار إلى الوالد أيضًا على أنه حالة الاستخدام الأكثر تجريدًا للعلاقة. لمن هم على دراية بالمفاهيم الموجهة للكائنات:
حالات الاستخدام في UML هي فئات والتعميم هو ببساطة علاقة الوراثة بين حالتي استخدام حيث ترث حالة استخدام واحدة جميع الخصائص والعلاقات لحالة استخدام أخرى. يمكنك استخدام علاقة التعميم عندما تجد حالتين أو أكثر من حالات الاستخدام التي لها سلوك / منطق مشترك.
في هذه الحالة ، يمكنك وصف الأجزاء المشتركة في حالة استخدام منفصلة (الأم) والتي يتم تخصصها بعد ذلك في حالتين أو أكثر من حالات استخدام الأطفال المتخصصة. مثال: إذا كنت تقوم بإنشاء نظام دفع يسمح لطلاب مقدم خدمات التدريب بالدفع مقابل الدورات التدريبية عبر الإنترنت والهاتف ،
فهناك العديد من الأشياء المشتركة بين السيناريوهين: تحديد المعلومات الشخصية ، وتحديد معلومات الدفع ، وما إلى ذلك. ستكون أيضًا الاختلافات بين الاثنين. لذلك ، فإن أفضل طريقة لتحقيق ذلك هي إنشاء حالة استخدام واحدة (الأم) والتي تحتوي على السلوك الشائع ثم إنشاء حالتين متخصصتين لاستخدام
الأطفال ترثان من الوالد وتحتويان على الاختلافات الخاصة بالتسجيل عبر الإنترنت مقابل. هاتف.
علاقة التعميم هي علاقة الوالدين والطفل بين حالات الاستخدام.
حالة استخدام الطفل هي تحسين لحالة استخدام الوالدين.
يظهر التعميم كسهم موجه برأس سهم مثلث.
حالة استخدام الطفل متصلة بقاعدة السهم. رأس السهم متصل بحالة استخدام الوالدين.
•انتهينا من شرح المكونات والان نقوم بإعطائكم مثال عن نظام مصغر لنظام الفيسبوك.

جاري تحميل الاقتراحات...