حالة الاستخدام

في كلٍ من هندسة البرمجيات وهندسة النظم ، تُعرَّف حالة الاستخدام بأنها وصف مُنظَّم لسلوك النظام أثناء استجابته لطلبات من جهات خارجية، بهدف تحقيق غاية مُحدَّدة. ويُستخدم المصطلح أيضاً خارج نطاق هندسة البرمجيات/النظم لوصف كيفية استخدام شيء ما. [ 1 ]
في هندسة البرمجيات (والأنظمة القائمة على البرمجيات)، تُستخدم حالات الاستخدام لتحديد المتطلبات الوظيفية والتحقق من صحتها. [ 2 ] حالة الاستخدام هي قائمة من الإجراءات أو خطوات الأحداث التي تُحدد عادةً التفاعلات بين دور (يُعرف في لغة النمذجة الموحدة (UML) باسم "الفاعل ") ونظام لتحقيق هدف ما. قد يكون الفاعل إنسانًا أو نظامًا خارجيًا آخر. في هندسة النظم، تُستخدم حالات الاستخدام على مستوى أعلى من هندسة البرمجيات ، وغالبًا ما تُمثل مهامًا أو أهدافًا لأصحاب المصلحة . بعد ذلك، يمكن توثيق المتطلبات التفصيلية في لغة نمذجة النظم (SysML) أو كبيانات تعاقدية.
الاختلافات بين حالات استخدام هندسة النظم وهندسة البرمجيات
في هندسة البرمجيات، تحدد حالة الاستخدام سيناريوهات محتملة للبرنامج استجابةً لطلب خارجي (مثل مدخلات المستخدم). أما في هندسة النظم، فتُمثل حالة الاستخدام نموذجًا للسلوك الوظيفي عالي المستوى عبر المكونات التقنية والبشرية.
تعريف
في هندسة البرمجيات والأنظمة ، تُعتبر عبارة "حالة الاستخدام" عبارة متعددة المعاني ولها معنيان :
- سيناريو استخدام لبرنامج ما؛ وغالبًا ما يستخدم بصيغة الجمع للإشارة إلى المواقف التي قد يكون فيها البرنامج مفيدًا.
- سيناريو محتمل يتلقى فيه النظام طلبًا خارجيًا (مثل إدخال المستخدم) ويستجيب له.
تتناول هذه المقالة المعنى الأخير. (للمزيد حول المعنى الآخر، انظر: الشخصية (تجربة المستخدم) ).
تاريخ
في عام ١٩٨٧، قدّم إيفار جاكوبسون أول مقال حول حالات الاستخدام في مؤتمر OOPSLA '87. [ ٣ ] وصف كيف استُخدمت هذه التقنية في شركة إريكسون لتحديد متطلبات النظام وتصنيفها باستخدام تقنيات النمذجة النصية والهيكلية والمرئية لتوجيه التحليل والتصميم الموجه للكائنات. [ ٤ ] في البداية، استخدم مصطلحي " سيناريوهات الاستخدام" و "حالة الاستخدام" - وهي ترجمة مباشرة لمصطلحه السويدي användningsfall - لكنه وجد أن أياً من هذين المصطلحين لا يبدو طبيعياً في اللغة الإنجليزية، واستقر في النهاية على مصطلح "حالة الاستخدام" . [ ٥ ]
في عام 1992، شارك في تأليف كتاب " هندسة البرمجيات الموجهة للكائنات - منهج قائم على حالات الاستخدام" [ 6 ] ، الذي وضع أسس منهجية هندسة أنظمة OOSE وساهم في نشر استخدام حالات الاستخدام لتحديد المتطلبات الوظيفية ، لا سيما في تطوير البرمجيات . وفي عام 1994، نشر كتابًا حول حالات الاستخدام وتقنيات البرمجة الموجهة للكائنات المطبقة على نماذج الأعمال وإعادة هندسة عمليات الأعمال [ 7 ] .
في الوقت نفسه، عمل جرادي بوتش وجيمس رامبو على توحيد أساليب التحليل والتصميم الموجهة للكائنات ، وهما أسلوب بوتش وتقنية نمذجة الكائنات (OMT) على التوالي. في عام 1995، انضم إليهم إيفار جاكوبسون، وابتكروا معًا لغة النمذجة الموحدة (UML) ، التي تتضمن نمذجة حالات الاستخدام. وقد اعتمدت مجموعة إدارة الكائنات (OMG) لغة UML كمعيار في عام 1997. [ 8 ] كما عمل جاكوبسون وبوتش ورامبو على تحسين عملية تطوير البرمجيات Objectory . ونُشرت العملية الموحدة الناتجة في عام 1999، والتي روجت لنهج قائم على حالات الاستخدام. [ 9 ]
منذ ذلك الحين، ساهم العديد من المؤلفين في تطوير هذه التقنية، ومن أبرزهم: لاري كونستانتين الذي طور عام 1995، في سياق التصميم المرتكز على الاستخدام ، ما يُسمى "حالات الاستخدام الأساسية" التي تهدف إلى وصف نوايا المستخدم بدلاً من تسلسل الإجراءات أو السيناريوهات التي قد تُقيّد أو تُؤثر على تصميم واجهة المستخدم؛ [ 10 ] أليستير كوكبيرن الذي نشر عام 2000 ممارسة لحالات الاستخدام موجهة نحو الهدف، تعتمد على السرد النصي والمواصفات الجدولية؛ [ 11 ] كورت بيتنر وإيان سبنس اللذان طورا عام 2002 ممارسات متقدمة لتحليل المتطلبات الوظيفية باستخدام حالات الاستخدام؛ [ 12 ] دين ليفينغويل ودون ويدريغ اللذان اقترحا تطبيق حالات الاستخدام على إدارة التغيير وأنشطة التواصل مع أصحاب المصلحة؛ [ 13 ] غونار أوفيرغارد الذي اقترح عام 2004 توسيع مبادئ أنماط التصميم لتشمل حالات الاستخدام. [ 14 ]
في عام 2011، نشر جاكوبسون بالاشتراك مع إيان سبنس وكورت بيتنر كتابًا إلكترونيًا بعنوان " حالات الاستخدام 2.0 " لتكييف هذه التقنية مع سياق منهجية أجايل، وإثرائها بشرائح حالات استخدام تدريجية، والترويج لاستخدامها في جميع مراحل دورة التطوير [ 15 ] بعد أن قدموا هذا النهج المُجدد في المؤتمر السنوي للمعهد الدولي لتحليل الأعمال (IIBA) . [ 16 ] [ 17 ]
المبدأ العام
حالات الاستخدام هي أسلوب لتحديد متطلبات النظام ونمذجتها وتوصيفها. [ 12 ] تمثل حالة الاستخدام مجموعة من السلوكيات التي قد يؤديها النظام عند تفاعله مع الجهات الفاعلة فيه، والتي تُنتج نتيجة ملموسة تُسهم في تحقيق أهدافه. تمثل الجهات الفاعلة الدور الذي يلعبه المستخدمون البشريون أو الأنظمة الأخرى في هذا التفاعل.
في تحليل المتطلبات ، عند تحديد حالة الاستخدام، تُسمى الحالة وفقًا لهدف المستخدم المحدد الذي تمثله للمستخدم الرئيسي. وتُفصّل الحالة بوصف نصي أو بنماذج بيانية إضافية توضح التسلسل العام للأنشطة والأحداث، بالإضافة إلى المتغيرات مثل الشروط الخاصة والاستثناءات وحالات الخطأ.
وفقًا لدليل هندسة البرمجيات (SWEBOK) ، [ 18 ] تنتمي حالات الاستخدام إلى تقنيات استخلاص المتطلبات القائمة على السيناريوهات ، بالإضافة إلى تقنيات التحليل القائمة على النماذج . كما تدعم حالات الاستخدام أيضًا جمع المتطلبات القائم على السرد، واكتساب المتطلبات التدريجي، وتوثيق النظام، واختبار القبول. [ 3 ]
الاختلافات
توجد أنواع مختلفة من حالات الاستخدام واختلافات في هذه التقنية:
- تحدد حالات استخدام النظام متطلبات النظام المراد تطويره. [ 4 ] وهي تُحدد في وصفها التفصيلي ليس فقط التفاعلات مع الجهات الفاعلة، بل أيضًا الكيانات المشاركة في المعالجة. وتُعد هذه الحالات نقطة انطلاق لنماذج التحليل وأنشطة التصميم اللاحقة.
- تركز حالات الاستخدام في مجال الأعمال على مؤسسة تجارية بدلاً من نظام برمجي. وتُستخدم لتحديد نماذج الأعمال ومتطلبات عمليات الأعمال في سياق مبادرات إعادة هندسة عمليات الأعمال. [ 7 ]
- تصف حالات الاستخدام الأساسية، والتي تُسمى أيضًا حالات الاستخدام المجردة، النوايا المحتملة للمستخدمين وكيفية تعامل النظام معها، دون تحديد أي تسلسل أو وصف سيناريو معين. [ 10 ] وقد طُوّرت هذه الممارسة بهدف دعم التصميم الذي يركز على المستخدم وتجنب إحداث تحيز بشأن واجهة المستخدم في المراحل المبكرة من مواصفات النظام. [ 9 ]
- تم تطوير حالة الاستخدام 2.0 لتكييف هذه التقنية مع سياق منهجيات التطوير الرشيقة. [ 3 ] تُثري هذه التقنية عملية جمع المتطلبات بدعمها لسرديات قصص المستخدم. كما توفر "شرائح" حالات الاستخدام لتسهيل استخلاص المتطلبات تدريجيًا وتمكين التنفيذ التدريجي.
نِطَاق
يمكن تحديد نطاق حالة الاستخدام من خلال موضوع وأهداف:
- يحدد الموضوع النظام أو النظام الفرعي أو المكون الذي سيوفر التفاعلات. [ 19 ]
- يمكن هيكلة الأهداف بشكل هرمي، مع مراعاة المستوى التنظيمي المهتم بالهدف (مثل الشركة، القسم، المستخدم)، وتقسيم هدف المستخدم إلى أهداف فرعية. [ 11 ] يتم تقسيم الهدف من وجهة نظر المستخدمين، وبشكل مستقل عن النظام، وهو ما يختلف عن التقسيم الوظيفي التقليدي. [ 12 ]
الاستخدام
من المعروف أن حالات الاستخدام تُطبق في السياقات التالية:
- هندسة البرمجيات الموجهة للكائنات (OOSE) كعنصر دافع؛ [ 6 ]
- لغة النمذجة الموحدة (UML)، كأداة لنمذجة السلوك؛ [ 19 ]
- عملية تطوير البرمجيات الموحدة (UP) وسلفها، عملية IBM Rational الموحدة (RUP) ؛ [ 9 ]
- توثيق مسبق لمواصفات متطلبات البرمجيات (SRS)، كهيكل بديل للمتطلبات الوظيفية؛ [ 20 ]
- استخلاص التصميم من المتطلبات باستخدام نهج الكيان-التحكم-الحدود ؛ [ 9 ]
- والتطوير الرشيق . [ 3 ] [ 21 ]
القوالب
تتعدد طرق كتابة حالات الاستخدام في النصوص، بدءًا من الموجزات البسيطة والواضحة ، مرورًا بالمخططات التفصيلية ، وصولًا إلى النصوص الكاملة ، وذلك باستخدام قوالب متنوعة. وتُعدّ كتابة حالات الاستخدام باستخدام قوالب مُصممة من قِبل موردين أو خبراء ممارسة شائعة في هذا المجال لضمان الحصول على متطلبات نظام وظيفية عالية الجودة.
أسلوب كوكبيرن
يُعدّ النموذج الذي حدده أليستير كوكبيرن في كتابه " كتابة حالات الاستخدام الفعالة" أحد أكثر أساليب كتابة حالات الاستخدام استخدامًا على نطاق واسع.
نطاقات التصميم
يقترح كوكبيرن إضافة رمز إلى كل حالة استخدام لتوضيح "نطاق التصميم"، والذي قد يكون صندوقًا أسود (التفاصيل الداخلية مخفية) أو صندوقًا أبيض (التفاصيل الداخلية ظاهرة). تتوفر خمسة رموز: [ 22 ]
| نِطَاق | رمز | رمز |
|---|---|---|
| التنظيم (الصندوق الأسود) | البيت الممتلئ | |
| التنظيم (الصندوق الأبيض) | بيت غير مأهول | |
| النظام (الصندوق الأسود) | صندوق ممتلئ | |
| النظام (الصندوق الأبيض) | صندوق فارغ | |
| عنصر | برغي أو مسمار |
يُطلق بعض المؤلفين أحيانًا على حالات الاستخدام على مستوى المؤسسة اسم "حالات استخدام الأعمال". [ 23 ]
مستويات الأهداف

يقترح كوكبيرن وضع رمز لكل حالة استخدام لإظهار "مستوى الهدف"؛ [ 24 ] المستوى المفضل هو "هدف المستخدم" (أو بالعامية "مستوى سطح البحر" [ 25 ] : 101 ).
| مستوى الهدف | رمز | رمز النص | رمز |
|---|---|---|---|
| ملخص عالي جداً | سحاب | ++ | |
| ملخص | طائرة ورقية محلقة | + | |
| هدف المستخدم | أمواج في البحر | ! | |
| الوظيفة الفرعية | سمكة | - | |
| منخفض جداً | صدفة المحار في قاع البحر | -- |
في بعض الأحيان، عند كتابة النصوص، يكون اسم حالة الاستخدام متبوعًا برمز نص بديل (! +، -، إلخ) طريقة أكثر إيجازًا وملاءمة للدلالة على المستويات، على سبيل المثال: قم بتقديم طلب!، تسجيل الدخول- .
بكامل ملابسه
يصف كوكبيرن هيكلاً أكثر تفصيلاً لحالة الاستخدام، ولكنه يسمح بتبسيطه عند الحاجة إلى تفاصيل أقل. يتضمن نموذج حالة الاستخدام الكامل الخاص به الحقول التالية: [ 26 ]
- العنوان: "عبارة هدف فعلية تحدد هدف الفاعل الرئيسي" [ 27 ]
- الممثل الرئيسي
- الهدف في السياق
- نِطَاق
- مستوى
- أصحاب المصلحة والمصالح
- شرط مسبق
- الحد الأدنى من الضمانات
- ضمانات النجاح
- مشغل
- سيناريو النجاح الرئيسي
- الإضافات
- قائمة اختلافات التكنولوجيا والبيانات
بالإضافة إلى ذلك، يقترح كوكبيرن استخدام وسيلتين للإشارة إلى طبيعة كل حالة استخدام: أيقونات لنطاق التصميم ومستوى الهدف.
لقد أثر نهج كوكبيرن على مؤلفين آخرين؛ على سبيل المثال، قام ألكسندر وبيوس دوكيتش بتعميم نموذج كوكبيرن "حالة الاستخدام المجهزة بالكامل" من البرامج إلى الأنظمة من جميع الأنواع، مع اختلاف المجالات التالية عن كوكبيرن: [ 28 ]
- سيناريوهات التباين "(ربما التفرع من السيناريو الرئيسي وربما العودة إليه)"
- الاستثناءات "أي أحداث الاستثناء وسيناريوهات معالجة الاستثناءات الخاصة بها"
غير رسمي
يُقرّ كوكبيرن بأن المشاريع قد لا تحتاج دائمًا إلى حالات استخدام مفصلة وكاملة. ويصف حالة استخدام عادية تتضمن الحقول التالية: [ 26 ]
- العنوان (الهدف)
- الممثل الرئيسي
- نِطَاق
- مستوى
- (القصة): يتكون نص حالة الاستخدام ببساطة من فقرة أو فقرتين من النص، يصفان بشكل غير رسمي ما يحدث.
أسلوب فاولر
يذكر مارتن فاولر أنه "لا توجد طريقة قياسية لكتابة محتوى حالة الاستخدام، وتختلف التنسيقات المناسبة باختلاف الحالات." [ 25 ] : 100 ويصف "أسلوبًا شائعًا للاستخدام" على النحو التالي: [ 25 ] : 101
- العنوان: "الهدف الذي تحاول حالة الاستخدام تحقيقه" [ 25 ] : 101
- سيناريو النجاح الرئيسي: قائمة مرقمة من الخطوات [ 25 ] : 101
- الخطوة: "بيان بسيط للتفاعل بين الفاعل والنظام" [ 25 ] : 101
- الإضافات: قوائم مرقمة بشكل منفصل، قائمة واحدة لكل إضافة [ 25 ] : 101
- الامتداد: "شرط ينتج عنه تفاعلات مختلفة عن سيناريو النجاح الرئيسي". يُرمز إلى الامتداد من الخطوة الرئيسية 3 بالرقم 3أ، وهكذا. [ 25 ] : 101
يمكن اعتبار أسلوب فاولر أيضاً نسخة مبسطة من قالب كوكبيرن. وتُسمى هذه النسخة قصة المستخدم .
صرح أليستير كوكبيرن بما يلي: [ 29 ]
تخيل قصة المستخدم كحالة استخدام بدقة بتّين. يحدد البت الأول هدف حالة الاستخدام، ويضيف البت الثاني السيناريو الرئيسي. يضيف البت الثالث شروط الفشل، ويضيف البت الرابع إجراءات الفشل. يضيف البت الخامس وصفًا للبيانات الواردة والصادرة. أضع برنامج Catalysis عند البت السادس من الدقة، لأنه يتضمن نموذجًا لمتلقي الرسالة. في عائلة CrystalMethodology، تستخدم المشاريع ذات الأسس المختلفة حالات استخدام بمستويات دقة متفاوتة. يستخدم المشروع ذو المنهجية البسيطة قصص المستخدم، بينما يستخدم المشروع ذو المنهجية الأكثر تعقيدًا حالات الاستخدام بدقة تصل إلى أربعة بتات، ويستخدم برنامج Catalysis دقة تصل إلى ستة بتات.
صرح مارتن فاولر بما يلي: [ 29 ]
الأمر كله يتعلق بكيفية استخدام الأشخاص للحالات. لقد رأيت الكثيرين يستخدمونها بطريقة رسمية للغاية. أما كينت، فيستخدم قصص المستخدم بطريقة أكثر سهولة ويسرًا. أنا شخصيًا أستخدم الحالات بنفس طريقة كينت في قصص المستخدم. أسميها حالات استخدام لتحسين التواصل مع المطورين الآخرين، ولتشجيعهم على استخدام أسلوب أبسط وأكثر فعالية.
الممثلون
تُحدد حالة الاستخدام التفاعلات بين الجهات الخارجية والنظام قيد الدراسة لتحقيق هدف معين. يجب أن تكون الجهات قادرة على اتخاذ القرارات، ولكن ليس بالضرورة أن تكون بشرية: "قد تكون الجهة شخصًا، أو شركة، أو مؤسسة، أو برنامج حاسوبي، أو نظام حاسوبي - سواء كان جهازًا أو برنامجًا أو كليهما." [ 30 ] تُعد الجهات دائمًا من أصحاب المصلحة ، ولكن ليس كل أصحاب المصلحة جهات فاعلة، إذ قد "لا يتفاعلون أبدًا بشكل مباشر مع النظام، على الرغم من حقهم في الاهتمام بكيفية عمل النظام." [ 30 ] على سبيل المثال، "قد يكون مالكو النظام، ومجلس إدارة الشركة، والهيئات التنظيمية مثل مصلحة الضرائب ودائرة التأمين" من أصحاب المصلحة، ولكن من غير المرجح أن يكونوا جهات فاعلة. [ 30 ]
وبالمثل، قد يُصوَّر الشخص الذي يستخدم النظام كفاعل مختلف بسبب قيامه بأدوار مختلفة. على سبيل المثال، قد يقوم المستخدم "جو" بدور العميل عند استخدام جهاز الصراف الآلي لسحب النقود من حسابه، أو بدور موظف البنك عند استخدام النظام لإعادة تعبئة درج النقود نيابةً عن البنك.
غالبًا ما يعمل المستخدمون نيابةً عن جهة أخرى. يكتب كوكبيرن: "أستخدم هذه الأيام عبارات مثل 'مندوب مبيعات للعميل' أو 'موظف لقسم التسويق' للإشارة إلى أن مستخدم النظام يعمل نيابةً عن جهة أخرى". هذا يُوضح للمشروع أن "واجهة المستخدم والتصاريح الأمنية" يجب تصميمها لمندوب المبيعات والموظف، بينما العميل وقسم التسويق هما الجهتان المعنيتان بالنتائج. [ 31 ]
قد يلعب صاحب المصلحة دورًا فعالًا أو غير فعال: على سبيل المثال، المستهلك هو "مشتري السوق الشامل" (لا يتفاعل مع النظام) ومستخدم (فاعل يتفاعل بنشاط مع المنتج الذي اشتراه). [ 32 ] في المقابل، المستخدم هو "مشغل عادي" (فاعل يستخدم النظام للغرض المقصود منه) و"مستفيد وظيفي" (صاحب مصلحة يستفيد من استخدام النظام). [ 32 ] على سبيل المثال، عندما يسحب المستخدم "جو" نقودًا من حسابه، فإنه يستخدم جهاز الصراف الآلي ويحصل على نتيجة لصالحه.
ينصح كوكبيرن بالبحث عن الجهات الفاعلة بين أصحاب المصلحة في النظام، والجهات الفاعلة الأساسية والداعمة (الثانوية) لحالة الاستخدام، والنظام قيد التصميم نفسه، وأخيراً بين "الجهات الفاعلة الداخلية"، أي مكونات النظام قيد التصميم. [ 30 ]
حالة استخدام الأعمال
كما يصف نموذج حالة الاستخدام سلسلة من الأحداث والتفاعلات بين المستخدم (أو أي نوع آخر من الجهات الفاعلة) والنظام، بهدف تحقيق نتيجة ذات قيمة (هدف)، يصف نموذج حالة الاستخدام التجاري التفاعل الأكثر عمومية بين نظام الأعمال ومستخدميه/جهاته الفاعلة لتحقيق نتائج تجارية ذات قيمة. ويكمن الاختلاف الرئيسي في أن النظام الذي يُنظر فيه في نموذج حالة الاستخدام التجاري قد يحتوي على أفراد بالإضافة إلى الأنظمة التقنية. يُطلق على هؤلاء "الأفراد في النظام" اسم العاملين في مجال الأعمال. في مثال المطعم، يجب اتخاذ قرار بشأن ما إذا كان ينبغي التعامل مع كل شخص كجهة فاعلة (وبالتالي خارج النظام) أو كعامل في مجال الأعمال (داخل النظام). إذا اعتُبر النادل جهة فاعلة، كما هو موضح في المثال أدناه، فإن نظام المطعم لا يشمل النادل، ويكشف النموذج عن التفاعل بين النادل والمطعم. أما البديل فهو اعتبار النادل جزءًا من نظام المطعم (عامل في مجال الأعمال) مع اعتبار العميل خارج النظام (جهة فاعلة). [ 33 ]

النمذجة المرئية
لا تقتصر حالات الاستخدام على النصوص فحسب، بل تشمل أيضًا المخططات عند الحاجة. في لغة النمذجة الموحدة (UML )، تُمثَّل العلاقات بين حالات الاستخدام والجهات الفاعلة في مخططات حالات الاستخدام، والتي استندت في الأصل إلى تدوين الكائنات لإيفار جاكوبسون . وتستخدم لغة SysML نفس التدوين على مستوى كتلة النظام.
بالإضافة إلى ذلك، يمكن استخدام مخططات UML السلوكية الأخرى، مثل مخططات النشاط ، ومخططات التسلسل ، ومخططات الاتصال ، ومخططات آلة الحالة ، لتصوير حالات الاستخدام وفقًا لذلك. وعلى وجه التحديد، يُعد مخطط تسلسل النظام (SSD) مخطط تسلسل يُستخدم غالبًا لإظهار التفاعلات بين الجهات الفاعلة الخارجية والنظام قيد التصميم (SuD)، وعادةً ما يُستخدم لتصوير سيناريو معين لحالة استخدام.
تبدأ عملية تحليل حالات الاستخدام عادةً برسم مخططات حالات الاستخدام. في تطوير البرمجيات الرشيقة، يُعد نموذج المتطلبات الذي يتألف من العديد من مخططات UML التي تُصوّر حالات الاستخدام، بالإضافة إلى بعض الأوصاف النصية أو الملاحظات أو ملخصات حالات الاستخدام ، نموذجًا بسيطًا ومناسبًا تمامًا للمشاريع الصغيرة أو البسيطة. تُكمّل المخططات المرئية لحالات الاستخدام النصوصَ بشكل جيد، كما تُعدّ أدوات فعّالة لتسهيل فهم متطلبات سلوك النظام المعقدة، والتواصل بشأنها، وتصميمها.
أمثلة
فيما يلي مثال على حالة استخدام مكتوبة باستخدام نسخة معدلة قليلاً من قالب كوكرن. لاحظ أنه لا توجد أزرار أو عناصر تحكم أو نماذج أو أي عناصر أو عمليات أخرى لواجهة المستخدم في وصف حالة الاستخدام الأساسية، حيث يتم التعبير فقط عن أهداف المستخدم وأهدافه الفرعية ونواياه في كل خطوة من خطوات التدفق الأساسي أو التوسعات. هذه الممارسة تجعل مواصفات المتطلبات أكثر وضوحًا وتزيد من مرونة التصميم والتنفيذ.

حالة الاستخدام : تحرير مقال
الفاعل الرئيسي : عضو (مستخدم مسجل)
النطاق : نظام ويكي
المستوى : ! (هدف المستخدم أو مستوى سطح البحر)
موجز : (يعادل قصة المستخدم أو الملحمة)
- يُمكن للعضو تعديل أي جزء (المقال بأكمله أو قسم منه فقط) من المقال الذي يقرأه. ويُسمح بمعاينة التغييرات ومقارنتها أثناء التعديل.
المالكون
...
الشروط اللاحقة
- الحد الأدنى من الضمانات :
- ضمانات النجاح :
- تم حفظ المقالة وعرض نسخة محدثة منها.
- يقوم النظام بإنشاء سجل تعديل للمقال، حتى يتمكن مراقبو المقال من الاطلاع على التحديث لاحقًا.
الشروط المسبقة :
- يتم عرض المقالة مع تمكين التحرير على العضو.
المحفزات :
- يقوم العضو باستدعاء طلب تعديل (للمقالة بأكملها أو لقسم واحد فقط) على المقالة.
التدفق الأساسي :
- يُوفّر النظام منطقة/مربع تحرير جديدًا يحتوي على جميع محتويات المقالة ذات الصلة، بالإضافة إلى ملخص تحريري مُفيد ليتمكن العضو من تعديله. إذا أراد العضو تعديل قسمٍ مُحدد من التقرير، فسيتم عرض المحتوى الأصلي لهذا القسم فقط، مع ملء عنوان القسم تلقائيًا في ملخص التحرير.
- يقوم العضو بتعديل محتوى المقالة حتى يرضى عنها.
- يقوم العضو بتعبئة ملخص التعديل، ويخبر النظام ما إذا كان يريد مشاهدة هذه المقالة، ثم يرسل التعديل.
- يقوم النظام بحفظ المقالة، وتسجيل حدث التحرير، وإنهاء أي معالجة لاحقة ضرورية.
- يعرض النظام النسخة المحدثة من المقالة للعضو.
الإضافات :
2-3.
- أ. عرض المعاينة:
- يختار العضو خيار "عرض المعاينة" الذي يقوم بدوره بإرسال المحتوى المعدل.
- يعيد النظام تشغيل الخطوة 1 مع إضافة المحتوى المحدث المعروض للمعاينة، ويُبلغ العضو بأن تعديلاته لم يتم حفظها بعد، ثم يتابع.
- ب. إظهار التغييرات:
- يختار العضو خيار "إظهار التغييرات" الذي يقوم بدوره بإرسال المحتوى المعدل.
- يعيد النظام تشغيل الخطوة 1 مع إضافة عرض نتائج مقارنة الاختلافات بين التعديلات الحالية التي أجراها العضو وأحدث نسخة محفوظة من المقالة، ثم يتابع.
- ج. إلغاء التعديل:
- يختار العضو "إلغاء" .
- يتجاهل النظام أي تغيير أجراه العضو، ثم ينتقل إلى الخطوة 5.
4أ. مهلة زمنية:
...
المزايا
منذ ظهور حركة أجايل، اكتسبت تقنية قصص المستخدم من البرمجة المتطرفة شعبية واسعة لدرجة أن الكثيرين يعتقدون أنها الحل الأمثل والوحيد لتلبية متطلبات أجايل في جميع المشاريع. ويذكر أليستير كوكبيرن خمسة أسباب تجعله لا يزال يستخدم حالات الاستخدام في تطوير أجايل . [ 34 ]
- تُقدّم قائمة أسماء الأهداف ملخصًا موجزًا لما سيُوفّره النظام (حتى في هذه الحالة، قصص المستخدم). كما تُوفّر هيكلًا أساسيًا لتخطيط المشروع، يُستخدم لتحديد الأولويات الأولية، والتقديرات، وتوزيع الفريق، والجدول الزمني.
- يُتيح سيناريو النجاح الرئيسي لكل حالة استخدام لجميع الأطراف المعنية اتفاقًا حول ما سيفعله النظام بشكل أساسي وما لن يفعله. كما يُوفر سياقًا لكل متطلب محدد (مثل قصص المستخدم التفصيلية)، وهو سياق يصعب الحصول عليه من أي مكان آخر.
- توفر شروط التوسعة لكل حالة استخدام إطارًا للتحقيق في جميع التفاصيل الصغيرة والمزعجة التي تستنزف 80% من وقت التطوير وميزانيته. كما توفر آلية استباقية تمكّن أصحاب المصلحة من رصد المشكلات التي يُحتمل أن تستغرق وقتًا طويلاً لإيجاد حلول لها. ويمكن، بل ينبغي، وضع هذه المشكلات في مقدمة الجدول الزمني حتى تكون الحلول جاهزة عندما يبدأ فريق التطوير العمل عليها.
- تُقدّم أجزاء سيناريوهات توسيع حالات الاستخدام إجاباتٍ للعديد من الأسئلة التجارية المُفصّلة، والتي غالبًا ما تكون مُعقّدة ومُهملة: "ماذا يُفترض بنا أن نفعل في هذه الحالة؟". إنه إطار عمل للتفكير والتوثيق يُطابق عبارة "إذا...ثم...وإلا"، ويُساعد المُبرمجين على التفكير مليًا في المشكلات. إلا أنه يتم ذلك أثناء مرحلة التحقيق، وليس أثناء مرحلة البرمجة.
- تُظهر مجموعة حالات الاستخدام الكاملة أن المحققين قد فكروا ملياً في احتياجات كل مستخدم، وكل هدف لديهم فيما يتعلق بالنظام، وكل متغير تجاري ذي صلة.
باختصار، فإن تحديد متطلبات النظام في حالات الاستخدام له هذه الفوائد الواضحة مقارنة بالأساليب التقليدية أو غيرها:
يركز على المستخدم
تُشكّل حالات الاستخدام أداةً فعّالةً ومُركّزةً على المستخدم في عملية تحديد متطلبات البرمجيات. [ 35 ] يبدأ نمذجة حالات الاستخدام عادةً بتحديد أدوار أصحاب المصلحة الرئيسيين ( الجهات الفاعلة ) المتفاعلة مع النظام، وأهدافهم التي يجب أن يُحققها النظام (من منظور خارجي). تُصبح أهداف المستخدم هذه بعد ذلك المُرشّحة المثالية لأسماء أو عناوين حالات الاستخدام التي تُمثّل الميزات أو الخدمات الوظيفية المطلوبة التي يُقدّمها النظام. يضمن هذا النهج المُركّز على المستخدم تطوير ما له قيمة تجارية حقيقية وما يريده المستخدم فعلاً، وليس تلك الوظائف الثانوية المُتكهّن بها من منظور المُطوّر أو النظام (من الداخل).
يُعد تأليف حالات الاستخدام أداة تحليل في مجال التصميم المتمحور حول المستخدم (UCD) .
تواصل أفضل
غالبًا ما تُكتب حالات الاستخدام بلغات طبيعية باستخدام قوالب منظمة. يُعزز هذا الشكل النصي السردي (قصص المتطلبات الواضحة) المدعوم بمخططات UML المرئية، التواصل الفعال والعميق بين جميع الأطراف المعنية، بما في ذلك العملاء والمستخدمين النهائيين والمطورين والمختبرين والمديرين. ويؤدي تحسين التواصل إلى متطلبات عالية الجودة، وبالتالي أنظمة عالية الجودة.
متطلبات الجودة من خلال الاستكشاف المنظم
يكمن أحد جوانب حالات الاستخدام في تنسيقات قوالبها ، لا سيما سيناريو النجاح الرئيسي (التدفق الأساسي) وأجزاء سيناريو التوسيع (التوسعات، والتدفقات الاستثنائية، والبديلة). يُعد تحليل حالة الاستخدام خطوة بخطوة، بدءًا من الشروط المسبقة وصولًا إلى الشروط اللاحقة، واستكشاف كل خطوة من خطوات تدفقات حالة الاستخدام والتحقق منها، من الأساسي إلى التوسعات، لتحديد تلك المتطلبات المعقدة، والمخفية عادةً، والتي غالبًا ما يتم تجاهلها، والتي تبدو بسيطة ولكنها في الواقع مكلفة (كما ذكر كوكبيرن أعلاه)، طريقةً منظمةً ومفيدةً للحصول على متطلبات واضحة ومستقرة وعالية الجودة بشكل منهجي.
يساهم تقليل وتحسين خطوات العمل في حالة الاستخدام لتحقيق هدف المستخدم أيضًا في تصميم تفاعل أفضل وتجربة مستخدم أفضل للنظام.
تسهيل عملية الاختبار وتوثيق المستخدم
باستخدام محتوى قائم على بنية تدفق الإجراءات أو الأحداث، يُعدّ نموذج حالات الاستخدام المكتوبة جيدًا بمثابة أساس وإرشادات لتصميم حالات الاختبار وأدلة المستخدم للنظام أو المنتج. توجد روابط بين مسارات تدفق حالة الاستخدام وحالات اختبارها. ويُعدّ استخلاص حالات اختبار وظيفية من حالة استخدام من خلال سيناريوها (تشغيل حالات حالة الاستخدام) أمرًا مباشرًا. [ 36 ]
القيود
تشمل قيود حالات الاستخدام ما يلي:
- لا تُعدّ حالات الاستخدام مناسبةً لتحديد متطلبات النظام غير القائمة على التفاعل (مثل متطلبات الخوارزميات أو المتطلبات الرياضية) أو المتطلبات غير الوظيفية (مثل متطلبات المنصة، أو الأداء، أو التوقيت، أو الجوانب بالغة الأهمية للسلامة). من الأفضل تحديد هذه المتطلبات بشكلٍ تصريحي في مكانٍ آخر.
- نظراً لعدم وجود تعريفات قياسية كاملة لحالات الاستخدام، يجب على كل مشروع أن يشكل تفسيره الخاص.
- بعض علاقات حالات الاستخدام، مثل extends ، غامضة في تفسيرها ويمكن أن يكون من الصعب على أصحاب المصلحة فهمها كما أشار كوكبيرن (المشكلة رقم 6) [ 37 ].
- يجد مطورو حالات الاستخدام صعوبةً في تحديد مستوى اعتماد واجهة المستخدم على حالة الاستخدام. فبينما تشير نظرية حالات الاستخدام إلى عدم تضمين واجهة المستخدم فيها، قد يكون من الصعب تجريد هذا الجانب من التصميم، إذ يُصعّب ذلك تصور حالات الاستخدام. في هندسة البرمجيات، تُحل هذه الصعوبة بتطبيق تتبع المتطلبات ، باستخدام مصفوفة التتبع على سبيل المثال . وهناك طريقة أخرى لربط عناصر واجهة المستخدم بحالات الاستخدام، وهي إرفاق تصميم واجهة المستخدم بكل خطوة في حالة الاستخدام، وهو ما يُعرف بلوحة قصة حالة الاستخدام.
- قد يُبالغ في التركيز على حالات الاستخدام. يناقش برتراند ماير قضايا مثل توجيه تصميم النظام حرفيًا جدًا من حالات الاستخدام، واستخدام حالات الاستخدام على حساب تقنيات تحليل المتطلبات الأخرى التي قد تكون قيّمة. [ 38 ]
- تُعدّ حالات الاستخدام نقطة انطلاق لتصميم الاختبار، [ 39 ] ولكن بما أن كل اختبار يحتاج إلى معايير نجاح خاصة به، فقد يلزم تعديل حالات الاستخدام لتوفير شروط لاحقة منفصلة لكل مسار. [ 40 ]
- على الرغم من أن حالات الاستخدام تتضمن الأهداف والسياقات، فإن ما إذا كانت هذه الأهداف والدوافع الكامنة وراء الأهداف (مخاوف أصحاب المصلحة وتقييماتهم بما في ذلك عدم التفاعل) تتعارض أو تؤثر سلبًا/إيجابًا على أهداف النظام الأخرى هو موضوع تقنيات نمذجة المتطلبات الموجهة نحو الأهداف (مثل BMM و I* و KAOS و ArchiMate ARMOR).
المفاهيم الخاطئة
من المفاهيم الخاطئة الشائعة حول حالات الاستخدام ما يلي:
قصص المستخدمين مرنة؛ أما حالات الاستخدام فليست كذلك.
تعتبر منهجيات أجايل وسكروم محايدة فيما يتعلق بتقنيات تحديد المتطلبات. وكما ورد في كتاب سكروم التمهيدي [ 41 ] ،
تُصاغ عناصر قائمة مهام المنتج بأي طريقة واضحة ومستدامة. وخلافًا للاعتقاد الشائع، لا تحتوي قائمة مهام المنتج على "قصص المستخدم"، بل تحتوي فقط على عناصر. يمكن التعبير عن هذه العناصر كقصص مستخدم، أو حالات استخدام، أو أي منهجية أخرى لتحديد المتطلبات يراها الفريق مناسبة. ولكن أيًا كانت المنهجية، ينبغي أن تركز معظم العناصر على تقديم قيمة مضافة للعملاء.
لقد تطورت تقنيات حالات الاستخدام لتأخذ في الاعتبار مناهج Agile من خلال استخدام شرائح حالات الاستخدام لإثراء حالة الاستخدام بشكل تدريجي. [ 15 ]
حالات الاستخدام عبارة عن مخططات بشكل أساسي.
يؤكد كريج لارمان أن "حالات الاستخدام ليست رسومًا بيانية، بل هي نصوص". [ 42 ]
تحتوي حالات الاستخدام على الكثير من المحتوى المتعلق بواجهة المستخدم.
كما يقول البعض،
غالباً ما تحتوي حالات الاستخدام على مستوى من التفاصيل (مثل تسمية التسميات والأزرار) مما يجعلها غير مناسبة لالتقاط متطلبات نظام جديد من الصفر.
سوء فهم المبتدئين. يجب أن تُقدّم كل خطوة من خطوات حالة الاستخدام المكتوبة جيدًا أهداف أو نوايا الفاعل (جوهر المتطلبات الوظيفية)، وعادةً لا ينبغي أن تحتوي على أي تفاصيل خاصة بواجهة المستخدم، مثل تسمية التسميات والأزرار، وعمليات واجهة المستخدم، وما إلى ذلك، فهذه ممارسة سيئة وستؤدي إلى تعقيد كتابة حالة الاستخدام بشكل غير ضروري والحد من تنفيذها.
أما بالنسبة لتحديد متطلبات نظام جديد من الصفر، فغالباً ما تُستخدم مخططات حالات الاستخدام بالإضافة إلى ملخصات حالات الاستخدام كأدوات مفيدة وقيمة، على الأقل بنفس خفة قصص المستخدم.
كتابة حالات الاستخدام للأنظمة الكبيرة أمر ممل ومضيعة للوقت.
كما يقول البعض،
يُصعّب تنسيق حالة الاستخدام وصف نظام كبير (مثل نظام إدارة علاقات العملاء) في أقل من بضع مئات من الصفحات. فهو يستغرق وقتًا طويلاً، وستجد نفسك تُهدر وقتًا في إعادة صياغة غير ضرورية.
إن قضاء وقت طويل في كتابة حالات استخدام مملة لا تضيف قيمة تُذكر وتؤدي إلى إعادة عمل كثيرة يُعد مؤشراً سلبياً يدل على أن الكتّاب ليسوا على قدر كافٍ من المهارة والمعرفة بكيفية كتابة حالات استخدام عالية الجودة بكفاءة وفعالية. ينبغي كتابة حالات الاستخدام بطريقة تكرارية وتراكمية وتطورية ( مرنة ). لا يعني تطبيق قوالب حالات الاستخدام ضرورة استخدام جميع حقول القالب وتعبئتها بشكل شامل منذ البداية أو خلال مرحلة مخصصة، مثل مرحلة المتطلبات في نموذج التطوير التقليدي (النموذج التتابعي ).
في الواقع، أثبتت نماذج حالات الاستخدام المُصاغة باستخدام قوالب شائعة ، مثل قالب RUP وقالب Cockburn (المعتمد أيضًا في منهجية OUM )، فعاليتها في جمع وتحليل وتوثيق المتطلبات المعقدة للأنظمة الكبيرة. ولا ينبغي الحكم على جودة توثيق حالات الاستخدام ( النموذج ) بناءً على حجمه فقط. فمن الممكن أن يصل نموذج حالات استخدام شامل وعالي الجودة لنظام كبير إلى مئات الصفحات، ويعود ذلك أساسًا إلى تعقيد المشكلة المطروحة ، وليس إلى ضعف مهارات الكتابة لدى مُعدّيه.
أدوات
تُستخدم برامج تحرير النصوص و/أو معالجات الكلمات التي تدعم القوالب غالبًا لكتابة حالات الاستخدام. أما بالنسبة لمتطلبات الأنظمة الكبيرة والمعقدة، فإن أدوات حالات الاستخدام المتخصصة تُعدّ مفيدة.
تتضمن بعض أدوات حالات الاستخدام المعروفة ما يلي:
- CaseComplete
- مهندس معماري للمؤسسات
- ماجيك درو
- RequisitePro من شركة Rational Software - أحد الأدوات المبكرة والمعروفة لإدارة حالات الاستخدام والمتطلبات في التسعينيات.
- برنامج تصميم الأفكار
- برامج ويكي – أدوات جيدة للفرق لإنشاء وإدارة حالات الاستخدام بشكل تعاوني.
تدعم معظم أدوات UML كلاً من كتابة النصوص والنمذجة المرئية لحالات الاستخدام.
انظر أيضاً
مراجع
- ↑ "حالة استخدام" . قاموس كامبريدج . تم الاطلاع عليه بتاريخ 12 يوليو 2025 .
- ↑ سوراب، تيواري؛ أتول، غوبتا (2015). "مراجعة منهجية للأدبيات المتعلقة بأبحاث مواصفات حالات الاستخدام" . تكنولوجيا المعلومات والبرمجيات . 67 : 128-158 . تاريخ الاسترجاع: 28 مايو 2025 .
- ١ ٢ ٣ ٤ د. إيفار جاكوبسون؛ إيان سبنس؛ كورت بيتنر (ديسمبر ٢٠١١). "كتاب إلكتروني حول حالات الاستخدام ٢.٠" . إيفار جاكوبسون إنترناشونال . ص ٤. تاريخ الاطلاع: ٩ أغسطس ٢٠٢٠ .
- 1 2 جاكوبسون، إيفار (1 ديسمبر 1987). "التطوير الموجه للكائنات في بيئة صناعية" . إشعارات ACM SIGPLAN . 22 (12): 183-191 . doi : 10.1145/38807.38824 .
- ↑ كوكبيرن، أليستير (مارس 2002). "حالات الاستخدام، بعد عشر سنوات" . Alistair.cockburn.us . أليستير كوكبيرن. مؤرشف من الأصل في 15 سبتمبر 2008. تم الاطلاع عليه في 17 أبريل 2013 .
- 1 2 جاكوبسون، إيفار؛ كريسترسون، ماغنوس. جونسون، باتريك؛ أوفيرجارد، جونار (1992). هندسة البرمجيات الموجهة للكائنات: نهج يعتمد على حالة الاستخدام مطبعة ايه سي ام. رقم ISBN 0-201-54435-0. OCLC 26132801 .
- 1 2 جاكوبسون، إيفار؛ إريكسون، ماريا؛ جاكوبسون، أغنيتا (1995). ميزة الكائن : إعادة هندسة عمليات الأعمال باستخدام تقنية الكائن . أديسون-ويسلي. ISBN 0-201-42289-1. OCLC 32276135 .
- ↑ "حول مواصفات لغة النمذجة الموحدة، الإصدار 2.5.1" . www.omg.org . تاريخ الاطلاع: 9 أغسطس 2020 .
- 1 2 3 4 جاكوبسون، إيفار؛ بوتش، غرادي؛ رامبو، جيم (1999). عملية تطوير البرمجيات الموحدة . ريدينغ، ماساتشوستس: أديسون-ويسلي. ISBN 0-201-57169-2. OCLC 636807532 .
- 1 2 كونستانتين، لاري ل. (1 أبريل 1995). "النمذجة الأساسية: حالات استخدام واجهات المستخدم" . التفاعلات . 2 (2): 34-46 . doi : 10.1145/205350.205356 . S2CID 17209049 .
- 1 2 كوكبيرن، أليستير. (2001). كتابة حالات الاستخدام الفعالة . أديسون-ويسلي. ISBN 0-201-70225-8. OCLC 44046973 .
- 1 2 3 بيتنر، كورت (2003). نمذجة حالات الاستخدام . سبنس، إيان. أديسون ويسلي. ISBN 0-201-70913-9. OCLC 50041546 .
- ↑ ليفينغويل، دين. (2003). إدارة متطلبات البرمجيات : منهج دراسة الحالة . ويدريغ، دون. ( الطبعة الثانية). أديسون-ويسلي. ISBN 0-321-12247-X. OCLC 51653240 .
- ^ أوفيرجارد، جونار؛ بالمكفيست، كارين (2005). حالات الاستخدام : الأنماط والمخططات . إنديانابوليس، إنديانا: أديسون ويسلي. رقم ISBN 0-13-145134-0. OCLC 59554401 .
- 1 2 جاكوبسون، إيفار ؛ سبنس، إيان ؛ بيتنر، كورت (ديسمبر 2011). "حالات الاستخدام 2.0: دليل النجاح في استخدام حالات الاستخدام" . إيفار جاكوبسون إنترناشونال . تم الاطلاع عليه في 5 مايو 2014 .
- ↑ "مؤتمر تحليل الأعمال في أوروبا 2011 - 26-28 سبتمبر 2011، لندن، المملكة المتحدة" . Irmuk.co.uk. مؤرشف من الأصل في 17 يونيو 2013. تم الاطلاع عليه في 17 أبريل 2013 .
- ↑ "عرض حالة الاستخدام 2.0" . إيفار جاكوبسون إنترناشونال . 27 سبتمبر 2011. مؤرشف من الأصل في 23 سبتمبر 2020. تم الاطلاع عليه في 9 أغسطس 2020 .
- ↑ بورك، بيير؛ فيرلي، ر. إي. (ريتشارد إي.) (2014). SWEBOK: دليل إلى مجموعة معارف هندسة البرمجيات (الإصدار 3.0 ). جمعية مهندسي الكهرباء والإلكترونيات (IEEE). الصفحات من 1-6 إلى 1-8. ISBN 978-0-7695-5166-1. OCLC 880350861 .
- 1 2 مجموعة إدارة الكائنات (2017). "مواصفات لغة النمذجة الموحدة، الإصدار 2.5.1" . www.omg.org . تاريخ الاسترجاع: 16 أغسطس 2020 .
- ↑ ويغرز، كارل يوجين (2010). المزيد حول متطلبات البرمجيات: قضايا شائكة ونصائح عملية . مطبعة مايكروسوفت. ص. الفصل 11. ISBN 978-0-7356-2267-8. OCLC 73814167 .
- ↑ أمبلر، سكوت (2004). "حالات استخدام النظام: مقدمة في منهجية أجايل" . agilemodeling.com . تم الاطلاع عليه بتاريخ 16 أغسطس 2020 .
- ↑ كوكبيرن، 2001. الغلاف الأمامي الداخلي. أيقونات "نطاق التصميم".
- ↑ سوزان روبرتسون. سيناريوهات في اكتشاف المتطلبات . الفصل 3 في ألكسندر ومايدن، 2004، ص 39-59.
- ↑ كوكرن، 2001. الغلاف الداخلي الأمامي. أيقونات "مستوى الهدف".
- 1 2 3 4 5 6 7 8 فاولر، 2004.
- 1 2 كوكيرن، 2001، ص. 120.
- ↑ كوكبيرن، 2001. الغلاف الخلفي الداخلي. حقل "عنوان حالة الاستخدام".
- ^ ألكسندر وبيوس دوكيتش، 2009، ص. 121.
- 1 2 "مقارنة قصص المستخدمين وحالات الاستخدام" . تم الاطلاع عليه بتاريخ 19 يناير 2024 .
- 1 2 3 4 كوكبيرن، 2001، ص 53.
- ↑ كوكبيرن، 2001، ص 55.
- 1 2 ألكسندر وبيوس دوكيتش، 2009، ص. 39.
- ↑ إريكسون ، هانز-إريك (2000). نمذجة الأعمال باستخدام لغة النمذجة الموحدة (UML ). نيويورك: دار نشر وايلي للكمبيوتر. ص 52. ISBN 0-471-29551-5.
- ↑ كوكبيرن، أليستير (9 يناير 2008). "لماذا ما زلت أستخدم حالات الأحرف؟" . alistair.cockburn.us . مؤرشف من الأصل في 16 يونيو 2017. تم الاطلاع عليه في 26 يوليو 2013 .
- ↑ كارل ويغرز (مارس 1997). "الاستماع إلى صوت العميل" . تأثير العملية . تطوير البرمجيات.
- ↑ بيتر زيلتشينسكي (مايو 2006). "إمكانية التتبع من حالات الاستخدام إلى حالات الاختبار" . IBM developerWorks.
- ↑ "Alistair.Cockburn.us – هيكلة حالات الاستخدام مع الأهداف" . alistair.cockburn.us . مؤرشف من الأصل في 20 يونيو 2017. تم الاطلاع عليه في 16 مارس 2018 .
- ↑ ماير، 2000.
- ↑ أرمور وميلر، 2000. (الصفحة مطلوبة)
- ↑ ديني، 2005. (الصفحة مطلوبة)
- ^ ديمر ، بيت. بينفيلد، غابرييل. لارمان، كريج. فودي ، باس (17 ديسمبر 2012). "كتاب Scrum التمهيدي: دليل خفيف الوزن لنظرية وممارسة Scrum (الإصدار 2.0)" . معلوماتك.
- ↑ لارمان، كريج (2005). تطبيق لغة النمذجة الموحدة (UML) والأنماط . برنتيس هول. ص 63-64 . ISBN 0-13-148906-2.
للمزيد من القراءة
- ألكسندر، إيان وبيوس-دوكيتش، ليركا. اكتشاف المتطلبات: كيفية تحديد المنتجات والخدمات . وايلي، 2009.
- ألكسندر، إيان ومايدن، نيل. سيناريوهات، قصص، حالات استخدام . وايلي 2004.
- أرمور، فرانك، وغرانفيل ميلر. نمذجة حالات الاستخدام المتقدمة: أنظمة البرمجيات . أديسون-ويسلي، 2000.
- كورت بيتنر، إيان سبنس، نمذجة حالات الاستخدام ، أديسون-ويسلي بروفيشنال، 20 أغسطس 2002.
- كوكبيرن، أليستير. كتابة حالات الاستخدام الفعالة. أديسون-ويسلي، 2001.
- لاري كونستانتين، لوسي لوكوود، البرمجيات للاستخدام: دليل عملي للنماذج والأساليب الأساسية للتصميم المرتكز على الاستخدام ، أديسون ويسلي، 1999.
- ديني، ريتشارد. النجاح باستخدام حالات الاستخدام: العمل بذكاء لتقديم الجودة . أديسون-ويسلي، 2005.
- فاولر، مارتن. UML Distilled (الطبعة الثالثة) . أديسون-ويسلي، 2004.
- Jacobson, Ivar; Christerson, M.; Jonsson, P.; Övergaard, G., هندسة البرمجيات الموجهة للكائنات - نهج قائم على حالات الاستخدام ، Addison-Wesley، 1992.
- Jacobson, Ivar; Spence, I.; Bittner, K., Use Case 2.0: The Guide to Succeeding with Use Cases , IJI SA, 2011.
- دين ليفينغويل، دون ويدريغ، إدارة متطلبات البرمجيات: نهج حالة الاستخدام ، أديسون-ويسلي بروفيشنال. 7 ديسمبر 2012.
- كولاك، داريل، وإيمون غيني. حالات الاستخدام: المتطلبات في سياقها. أديسون-ويسلي، 2012.
- ماير، برتراند. بناء البرمجيات الموجهة للكائنات . (الطبعة الثانية). برنتيس هول، 2000.
- شنايدر، جيري ووينترز، جيسون ب. تطبيق حالات الاستخدام، الطبعة الثانية: دليل عملي . أديسون-ويسلي، 2001.
- وازلاويك، راؤول س. التحليل والتصميم الموجه للكائنات لأنظمة المعلومات: النمذجة باستخدام UML وOCL وIFML . مورغان كوفمان، 2014.
روابط خارجية
- عمود حالات الاستخدام . مؤرشف بتاريخ ٢٧ يناير ٢٠١٦ في أرشيف الإنترنت (Wayback Machine) . وقالب حالات الاستخدام الأساسي . مؤرشف بتاريخ ١٣ سبتمبر ٢٠٠٨ في أرشيف الإنترنت (Wayback Machine) بواسطة أليستير كوكبيرن.
- حالات الاستخدام على موقع Usability.gov التابع لإدارة الخدمات العامة
- تطبيق حالات الاستخدام لتحليل أصحاب المصلحة "مشروع إيكاروس" على موقع Academia.edu
- ابحث عن "حالة الاستخدام" في IBM Developer
- إدارة مشاريع البرمجيات
- متطلبات البرامج
- لغة النمذجة الموحدة
- لغة نمذجة الأنظمة
- 1986 منشأة في السويد
- 1986 في مجال الحوسبة
- الاختراعات السويدية
- تطوير البرمجيات الرشيقة
- مصطلحات جديدة عام 1986









