أريد أن أنشيء تطبيق للمنتجات الصحية، وأريد أن أكتب حالات الاستخدام Use Cases الممكنة لتفاعل العملاء مع التطبيق ونتائجها، لذا أريد أن أناقش معكم من خلال خبراتكم، كيف أنشيء حالات الاستخدام بطريقة سهلة، وما هي عناصر حالات الاستخدام Use Cases لأتمكن من الوصف الدقيق لكل حالة استخدام، وما هي أنواعه؟
ما هي مراحل إنشاء حالات الاستخدام Use Cases؟
كيف أنشيء حالات الاستخدام بطريقة سهلة، وما هي عناصر حالات الاستخدام Use Cases لأتمكن من الوصف الدقيق لكل حالة استخدام، وما هي أنواعه؟
حالة الاستخدام هي وصف لكيفية تفاعل المستخدم مع النظام أو المنتج لتحقيق هدف معين، فهي تساعد على تحديد المتطلبات والنطاق والمخاطر والمزايا المتعلقة بالمشروع. كما تساعد على التواصل بين أصحاب المصلحة وفريق التطوير.
لكتابة حالة استخدام بطريقة سهلة، يمكننا اتباع الخطوات التالية:
- تحديد الهدف من حالة الاستخدام والجمهور المستهدف.
- اختيار اسم موجز وواضح لحالة الاستخدام يحتوي على فعل نشط واسم، مثل "شراء منتج صحي" أو "إلغاء اشتراك"
- تحديد الممثلين أو الأطراف المعنية في حالة الاستخدام، مثل العميل أو البائع أو المسؤول
- تحديد الأهداف أو النتائج المتوقعة من حالة الاستخدام، مثل إتمام عملية الشراء أو تأكيد إلغاء الاشتراك
- تحديد الشروط السابقة أو المسبقة التي يجب تحقيقها قبل بدء حالة الاستخدام، مثل تسجيل الدخول إلى التطبيق أو إضافة منتج إلى سلة التسوق
- وصف المسار الأساسي لحالة الاستخدام، وهو سلسلة من الخطوات التي يتبعها المستخدم لتحقيق هدفه.
- وصف المسارات البديلة لحالة الاستخدام، وهي سلسلة من الخطوات التي تحدث عندما يكون هناك شذوذ أو استثناء في التدفق الأساسي.
بعض عناصر حالة الاستخدام هي:
- اسم: يحدد هوية حالة الاستخدام
- ممثل: يحدد دور المستخدم في حالة الاستخدام
- هدف: يحدد نتيجة حالة الاستخدام
- شرط سابق: يحدد شرط يجب تحقيقه قبل بدء حالة الاستخدام
- تدفق أساسي: يحدد المسار الأساسي لحالة الاستخدام
- تدفق بديل: يحدد المسار البديل لحالة الاستخدام
- ملاحظات: تحدد أي معلومات إضافية عن حالة الاستخدام
بعض أنواع حالات الاستخدام هي:
- حالة استخدام وظيفية: تحدد وظائف أو مهام يمكن للمستخدم تنفيذها مع النظام
- حالة استخدام غير وظيفية: تحدد خصائص أو متطلبات غير مرتبطة بالوظائف، مثل الأمان أو الأداء
- حالة استخدام تجريبية: تحدد سيناريوهات اختبار للتحقق من صحة حالات الاستخدام الأخرى
يمكنك أيضا الاعتماد على طريقة أسهل وهي قصص المستخدمين user stories، في قالب محدد وليكن
نوع المستخدم وأريد أن أفعل كذا من أجل الهدف المحدد هذا، يمكن تحديد المواصفات التقنية والميزات التي يتوقع لها سيناريو معين وتقسيمه لقصص مستخدمين، على سبيل المثال بتطبيقك الخاص بالمنتجات الصحية أن يكون هناك ميزة لاحتساب الكالوري لكل وجبة هذه الميزة الأكبر، يتم تقسيمها لقصص مستخدمين أكثر، كأن يتمكن المستخدم من فلترة الوجبات وفقا للمكونات ليحصل المستخدم على الوجبة التي يريدها وفقا للمكونات الصحية وهكذا تسجل باقي الميزات في نفس السيناريو لقصص المستخدمين، وتقديمها للمطورين ليتمكنوا من فهمها بشكل يساعدهم على وضع الميزات بطريقة فاعلة.
السلام عليكم
من أهم الخطوات في هندسة البرمجيات هي استخدام UML diagrams و يمكنك القيام به بمفردك اذا كان لديك معرفة سابقة أو يمكنك الاستعانة بأحد المستقلين .
بخصوص مراحل إنشاءه يمكنك اتباع الخطوات التالية :
- حدد من هم المستخدمون الذين سيستخدمون التطبيق. هؤلاء سيكونون الأفراد أو الجهات التي تؤدي سلوكاً مع النظام، وتسمى Actors.
- اختر أحد هؤلاء المستخدمين، وحدد ماذا يريد أن يفعل على التطبيق. كل شيء يفعله المستخدم على التطبيق يصبح حالة استخدام Use Case.
- لكل حالة استخدام، قرر ما هو المسار الطبيعي للأحداث عندما يستخدم المستخدم التطبيق. اصف المسار الأساسي Basic Flow في الوصف لحالة الاستخدام. اصفه من حيث ما يفعله المستخدم وما يفعله النظام رداً على ذلك، والذي يجب أن يكون ملاحظاً للمستخدم.
- عندما تصف المسار الأساسي، ضع في اعتبارك المسارات البديلة Alternative Flows وأضفها لتوسع حالة الاستخدام. هذه الحالات هي ما يحدث عندما تحصل أشياء خاطئة على مستوى النظام.
- ابحث عن التشابهات بين حالات الاستخدام. استخرج هذه التشابهات وسجلها كحالات استخدام شائعة Common Use Cases.
- كرر الخطوات من 2 إلى 6 لجميع المستخدمين الآخرين.
علاوة على ذلك، يجب أن تضم حالة الاستخدام بعض العناصر الأساسية، مثل:
- اسم حالة الاستخدام: اسم موجز وواضح يصف هدف المستخدم.
- Actor: المستخدم أو الجهة التي تتفاعل مع النظام.
- Stakeholder: شخص أو جهة لديه مصلحة في سلوك النظام.
- Primary Actor: Stakeholder يبادر التفاعل مع النظام لتحقيق هدف.
- Preconditions: ما يجب أن يكون صحيحاً أو يحصل قبل وبعد تشغيل حالة الاستخدام.
- Triggers: هذه هي الحالة التي تؤدي إلى بدء حالة الاستخدام.
- Postconditions: ما يجب أن يكون صحيحاً أو يحصل بعد انتهاء حالة الاستخدام.
- Basic Flow: مسار حالة الاستخدام الذي لا يحدث فيه شيء خاطئ.
- Alternative Flows: مسارات حالة الاستخدام التي تحدث فيها أشياء خاطئة أو مختلفة عن المسار الأساسي.
أتمنى أن يكون شرحي قد أوضح لك مفهوم حالات الاستخدام وكيفية إنشائها.
من أهم الخطوات في هندسة البرمجيات هي استخدام UML diagrams و يمكنك القيام به بمفردك اذا كان لديك معرفة سابقة أو يمكنك الاستعانة بأحد المستقلين .
بحثت عن هذا الإطار، ووجدت أنه له أنواع أحداهم السلوكي Behavioral UML Diagram والذي يندرج أسفله Use Case Diagram ومن صورته كحالة استخدام لنظام إدارة المخزون. أجد أنه يمكننا استبداله بأدوات مثل jira، أو أداة أنا
في رأي الشخصي، لا يمكن الاستغناء عن استخدام use case diagram، لأنه يعتبر مرحلة أساسية في إنشاء أي برنامج أو تطبيق. التخلّي عن هذا الترتيب القياسي يمكن أن يعقّد المهمة ويؤثر على جودة النتائج في المستقبل. عادة، أنا أفضل توجيه نفسي نحو الطرق الصحيحة، حتى وإن كانت تحتاج إلى جهد إضافي، لأن اتباع الطرق الصحيحة يمهد الطريق لتحقيق النجاح والاستفادة القصوى.
في مثل هذه الحالات، يمكن استخدام برامج ومواقع مثل drawio لمساعدتك في إنشاء use case diagram.
عمومًا، من وجهة نظري، يجب أن يتم الالتزام بالخطوات الصحيحة حتى يتسنى لنا تحقيق أفضل النتائج في النهاية.
كيف أنشيء حالات الاستخدام بطريقة سهلة، وما هي عناصر حالات الاستخدام Use Cases لأتمكن من الوصف الدقيق لكل حالة استخدام، وما هي أنواعه؟
لإنشاء حالات الاستخدام بطريقة سهلة، يمكنك اتباع الخطوات التالية:
- حدد الممثلين. الممثل هو أي شخص أو نظام يتفاعل مع النظام.
- حدد حالات الاستخدام. حالة الاستخدام هي مجموعة خطوات يقوم بها الممثل لتحقيق هدف معين.
- وصف كل حالة استخدام بالتفصيل. يجب أن يتضمن وصف حالة الاستخدام ما يلي:
- هدف حالة الاستخدام
- الخطوات التي يقوم بها الممثل
- المدخلات والمخرجات لكل خطوة
- أي افتراضات أو قيود تنطبق على حالة الاستخدام
قم بتسمية حالات الاستخدام بشكل دقيق. يجب أن تكون أسماء حالات الاستخدام قصيرة وواضحة وسهلة الفهم.
قم بتصنيف حالات الاستخدام. يمكن تصنيف حالات الاستخدام حسب وظيفتها أو حسب الممثل الذي يقوم بها.
فيما يلي عناصر حالات الاستخدام:
- اسم حالة الاستخدام. يحدد اسم حالة الاستخدام هدف حالة الاستخدام.
- الممثل. هو الشخص أو النظام الذي يتفاعل مع النظام.
- الخطوات. هي مجموعة الخطوات التي يقوم بها الممثل لتحقيق هدف حالة الاستخدام.
- المدخلات والمخرجات. هي البيانات التي يتم إدخالها إلى النظام والبيانات التي يتم إرجاعها من النظام.
- الافتراضات والقيود. هي أي افتراضات أو قيود تنطبق على حالة الاستخدام.
يمكن تقسيم حالات الاستخدام إلى ثلاثة أنواع رئيسية:
- حالات الاستخدام الأساسية. هي حالات الاستخدام التي يجب أن يقوم بها النظام من أجل الوفاء بمتطلبات المستخدم.
- حالات الاستخدام الاختيارية. هي حالات الاستخدام التي يمكن للمستخدم اختيار القيام بها.
- حالات الاستخدام غير المدعومة. هي حالات الاستخدام التي لا يمكن للنظام تنفيذها.
Use Cases أو حالات الإستخدام هو مصطلح يعبر عن تعريف واستيضاح وتنظيم متطلبات النظام، يقوم على انشاء سلسلة من التفاعلات المحتملة بين المستخدمين والنظام في بيئة محددة، ويكون تجهيزه من مسؤوليات محللي الأعمال، ويتكون من ثلاث عناصر رئيسية وهي:
الممثل (Actor): هو مستخدم النظام، قد يكون فرد أو مجموعة من الأفراد.
الهدف (The goal): المخرجات الأخيرة التي تكمل العملية.
النظام (The system): العملية والخطوات المتبعة في النظام لتحقيق الهدف النهائي.
ويوجد نوعان من حالات الاستخدام، نوع مخصص للأعمال، ونوع خاص بالأنظمة.
بالنسبة لحالات الاستخدام التجارية أو الخاصة للأعمال، فهي عبارة عن وصف تجريدي، وتشير للعملية المتبعة في العمل والأفراد أو الممثلين المشاركين في النشاط، وتقوم بتحديد مجموعة الأنشطة التي يحتاجها العمل لتحقيق الأهداف النهائية للمستخدم النهائي.
أما في حالة النوع الثاني من حالات الاستخدام المرتبط بالأنظمة، فتكون هنا عملية الوصف أكثر تفصيلاً ن طريق التطرق للعمليات المحددة في النظام حتى الوصول للهدف النهائي.
من أجل إنشاء وكتابة حالات الإستخدام، لابد من مراعاة حدود العملية (boundaries) وتحديد العناصر التي تقع ضمنها وخارجها، وإضافة إلى العناصر الثلاث الرئيسية التي سبق وأن ذكرتها يوجد عناصر أخرى إضافية ينبغي أن تراعى عند كتابة حالات الإستخدام مثل : أصحاب المصلحة (Stakeholders)، الشروط المسبقة (Preconditions)، المحفزات (Triggers)، الشروط اللاحقة (Post-conditions).
كما ينبغي تحديد كل المستخدمين للنظام وإنشاء ملف لكل واحد منهم، قم بتحديد أي مستخدم فيهم وعرّف أهدافه، قم بتوصيف النشاط أو المسار المتبع في النظام لتحقيق هذا الهدف، ضع في الاعتبار كل مسار حدث بديل وحالات الاستخدام الممتدة، قم بتحديد كل القواسم المشتركة في رحلة المستخدم وقم بصنع مسار حالات استخدام مشترك، وقم بتطبيق هذه الخطوات على كل المستخدمين في النظام.
تطوير حالات الاستخدام (Use Cases) هو خطوة مهمة في عملية تصميم التطبيق. يساعدك تعريف حالات الاستخدام على فهم تفاعل المستخدمين المحتملين مع التطبيق ومتطلباتهم الوظيفية. فيما يلي بعض الخطوات التي يمكنك اتباعها لإنشاء حالات استخدام بطريقة سهلة:
1. تعريف الأهداف: ابدأ بتحديد أهدافك الرئيسية للتطبيق وما ترغب في تحقيقه. ما هو الغرض من التطبيق وما الفوائد التي يمكن أن يحققها للمستخدمين؟
2. تحديد الممثلين: حدد الممثلين الرئيسيين الذين سيتفاعلون مع التطبيق. قد يشمل ذلك المستخدمين العاديين، والمديرين، والمسؤولين، وأي أطراف أخرى ذات صلة.
3. تحديد حالات الاستخدام الرئيسية: قم بتحديد السيناريوهات الرئيسية التي سيواجهها المستخدمون أثناء استخدام التطبيق. فكر في ما يمكن للمستخدمين القيام به مع التطبيق وكيف سيستفيدون منه.
4. كتابة حالات الاستخدام: لكل حالة استخدام رئيسية، قم بكتابة وصف مفصل يشمل المعلومات التالية:
- عنوان الحالة: قم بتعريف الحالة بشكل واضح وموجز.
- الممثلين المعنيين: حدد الممثلين الذين سيتفاعلون في هذه الحالة ودور كل ممثل.
- وصف الحالة: اشرح بالتفصيل ما يقوم به المستخدمون في هذه الحالة وما يتوقعون تحقيقه من خلال التطبيق.
- الخطوات: قم بتحديد الخطوات التي يقوم بها المستخدمون في هذه الحالة بتفصيل. يمكنك استخدام قائمة مرقمة لتوضيح الخطوات.
- النتائج المتوقعة: حدد النتائج المتوقعة لكل حالة استخدام. ما الذي سيحدث بعد اتمام المستخدم للخطوات المحددة؟
5. مراجعة وتحديث: قم بمراجعة حالات الاستخدام وتأكد من وجودها جميعًا وأنها تغطي مجموعة واسعة من سيناريوهات الاستخدام المحتملة. قم بتحديثها وتعديلها حسب الحاجة.
يمكن تصنيف حالات الاستخدام إلى الأنواع التالية:
- حالات الاستخدام الأساسية (Primary Use Cases): تشير إلى السيناريوهات الرئيسية والأساسية التي يقوم بها المستخدمون في التطبيق. تركز هذه الحالات على المهام الأساسية والوظائف الأساسية التي يتوقع أن يستخدمها المستخدمون بشكل متكرر.
- حالات الاستخدام البديلة (Alternative Use Cases): تشير إلى سيناريوهات يستخدم فيها المستخدمون مسارًا بديلًا أو بديلاً لتحقيق نفس الهدف أو النتيجة. ويمكن أن تكون حالات الاستخدام البديلة نتيجة لاختيار المستخدم أو ظروف خاصة تؤثر على سيناريو الاستخدام الأساسي.
- حالات الاستخدام الاستثنائية (Exceptional Use Cases): تشير إلى سيناريوهات نادرة أو استثنائية يمكن أن يواجهها المستخدمون. تتعامل حالات الاستخدام الاستثنائية مع الحالات التي تحدث نتيجة لأخطاء أو مشكلات تقنية أو ظروف غير متوقعة.
- حالات الاستخدام الواقعية (Real-World Use Cases): تشير إلى سيناريوهات استخدام تتطلب تفاعل التطبيق مع عناصر وظروف خارجية في العالم الحقيقي. على سبيل المثال، يمكن أن يتطلب تطبيق للمنتجات الصحية التفاعل مع معلومات المستخدم الصحية الحالية أو أجهزة القياس الخارجية.
هذه الأنواع تساعدك على تصنيف وتنظيم حالات الاستخدام وتغطية مجموعة متنوعة من السيناريوهات والتفاعلات المحتملة بين المستخدمين والتطبيق الخاص بك.
تمثّل الاستراتيجيّة التي أشارت إليها الصديقة الحسوبيّة في التعليقات مسارًا مناسبًا بالتأكيد. لكنّي من أنصار الاحترافيّة والتخصّص. لذلك أرى أنك في حاجة إلى الاستعانة بمصمّم محترف في هذا المجال. يعرف هذا المصمّم باسم مصمّم UI/UX، وهو المصمّم الذي يعمل في مجال التصميم البرمجي على واجهة المستخدم User Interface (UI) وتجربة المستخدم User Experience (UX). بالإضافة إلى أن كاتب المحتوى المتخصّص أيضًا يعزّز التجربة من خلال كتابة محتوى إخراجي مناسب للمستخدمين فيما يتعلّق بهذه الواجهات والمسارات.
تستطيع الاستعانة بمثل هذه الفئة من المحترفين في مجال العمل الحر من خلال منصّات مثل مستقل للمشروعات الكاملة، ومنصّة خمسات لشراء الخدمات المصغّرة:
وأريد أن أكتب حالات الاستخدام Use Cases الممكنة لتفاعل العملاء مع التطبيق ونتائجها
إن حالات الاستخدام أمر مهم حيث إنها وصف لخطوات أو اجراءات بين المستخدم ونظام البرمجيات الذي يقود المستخدم إلى شيء مفيد.
كيف أنشيء حالات الاستخدام بطريقة سهلة
ويتكون حالات الاستخدام من ثلاثة عناصر رئيسية:
- الممثل: هو مستخدم النظام.
- الهدف: المخرجات الأخيرة التي تكمل العملية.
- النظام: الخطوات المتبعة في النظام لتحقيق الهدف النهائي.
يمكن إنشاء حالات الاستخدام من خلال ثلاث اتباع الخطوات الآتية:
- تحديد الجهات الفاعلة لديك.
- تحديد حالات الاستخدام.
- تحديد الوظائف المشتركة.
- تحديد التعميمات.
يجب أن البدء برأيي من المستخدم في تحديد هذه الأمور، من هو مستخدم تطبيقك؟ ما هي احتياجاته وأهدافه؟ بمجرد فهم المستخدم يمكنك البدء فوراً في تحديد حالات الاستخدام التي ستلبي احتياجاته والأهم تحديد السيناريوهات المختلفة، كيف سيتفاعل المستخدم مع تطبيقك؟ ما هي الأشياء المختلفة التي يريدون القيام بها؟ بمجرد تحديد السيناريوهات المختلفة يمكنك البدء في كتابة حالات الاستخدام.
أهم ما يمكن أن نفعله أثناء قيامنا بهذا الأمر هو أن نكون واضحين ومختصرين، يجب أن تكون حالات الاستخدام واضحة وموجزة، سهلة القراءة والفهم، هذا أساسي في هذه العملية، وبالتالي أنصح بكل تأكيد العمل على استخدام القوالب المستخدمة سابقاً، هناك العديد من القوالب لحالات الاستخدام متاحة على الإنترنت، يمكن أن يساعدك استخدام القالب جاهزاً في التأكد من أنك تقوم بعمل كامل فعلاً وغير منقوص.
لا أميل إلى تعقيد العملية للصراحة بالتركيز على أنواع حالات الاستخدام بقدر التركيز على المستخدم والمستخدم فقط، لذلك أميل إلى القوالب الجاهزة في أداء هذه الأعمال.
وما هي عناصر حالات الاستخدام Use Cases لأتمكن من الوصف الدقيق لكل حالة استخدام،
إضافة لما تم التطرّق إليه في التعليقات فإنّ عناصر حالات الإستخدام تتحدّد وفق ثلاث عناصر أساسية وهي:
- الطرف أو الأطراف الفاعلة Actor(s): هم المستخدمون الذين يتعاملون مع النظام، سواء كانوا أشخاصًا أو أنظمة أخرى أو عوامل زمنية.
- الهدف Goal: هو النتيجة المرغوبة من تفاعل المستخدمين مع النظام، ويجب أن يكون واحدًا ومحددًا وقابلاً للقياس.
- التدفق Flow: هو سلسلة من الخطوات أو الإجراءات التي يتبعها المستخدمون لتحقيق هدفهم، ويجب أن يشمل كل الحالات الممكنة والشروط والاستثناءات.
وما هي أنواعه؟
أما بالنسبة لأنواع حالات الاستخدام، فهناك عدة تصنيفات مختلفة، ولكن إحدى التصنيفات الشائعة هي:
- حالات استخدام موجزة Brief Use Cases: هي حالات استخدام قصيرة وبسيطة تحتوي على جملة واحدة تصف الهدف من منظور المستخدم. مثلاً: "العميل يشتري منتجًا من الموقع".
- حالات استخدام غير رسمية Informal Use Cases: هي حالات استخدام أكثر تفصيلاً من الحالات الموجزة، وتحتوي على عدة جمل تصف التدفق الأساسي والبديل لتحقيق الهدف. مثلاً: "العميل يبحث عن المنتج المطلوب، ثم يضيفه إلى سلة التسوق، ثم يضغط على زر الشراء، ثم يدخل بيانات بطاقته الائتمانية، ثم يتأكد من صحة الطلب، ثم يتلقى رسالة تأكيد. إذا لم يكن المنتج متوفرًا في المخزون، يظهر رسالة تحذير للعميل".
- حالات استخدام رسمية Formal Use Cases: هي حالات استخدام مكتوبة بشكل منظم وموحد، وتحتوي على كافة التفاصيل المهمة مثل اسم حالة الاستخدام، والطرف الفاعل، والهدف، والشروط المسبقة، والشروط اللاحقة، والأولوية، والترابطات مع حالات استخدام أخرى، والتدفق الأساسي والبديل والاستثنائي.
كيف أنشيء حالات الاستخدام بطريقة سهلة، وما هي عناصر حالات الاستخدام Use Cases
حالات الاستخدام (Use Cases): هي مصطلح مستخدم في مجاليْ هندسة النظم وهندسة البرمجيات، وهو نوع من مخططات النمذجة الموحدة يكون عبارة عن وصف مدوَّن لسيناريوهات تفاعل النظام مع جميع الطلبات المحتمل تلقيها من الجهات الفاعلة.
يعرض مخطط حالة الاستخدام “Use Case Diagram“ العلاقة بين الجهات الفاعلة “actors” وحالات الاستخدام”use cases”. فالمكونان الرئيسيان لمخطط حالة الاستخدام هما حالات استخدام "use cases" والجهات الفاعلة "actors"..
وتلك الجهة الفاعلة "actor" يمكن أن تكون المستخدم أو نظام آخر الذي سيتفاعل مع النظام الذي قمت بنمذجته.
وتعبر حالة الاستخدام "use case" عن رؤية خارجية للنظام بحيث تستعرض بعض الإجراءات التي يمكن ان يقوم بها المستخدم لإكمال المهمة، وبالتالي كلما تقدم المشروع قد تظهر حالات استخدام جديدة.
يمكن أيضًا استخدام مخططات حالة الاستخدام لتوثيق وظائف النظام الحالي وتحديد المستخدمين المسموح لهم باستخدام الوظائف بأثر رجعي.
ويحدد مخطط حالة الاستخدام من خلال:
- النظام
- الأطراف المعنية (الذين يتفاعلون مع النظام)
- حالات الاستخدام (ما يمكن للأطراف المعنية القيام به)
التعليقات