You are on page 1of 10

‫الجامعة العربية الخاصة للعلوم والتكنولوجيا‬

‫كلية الهندسة المعلوماتية‬


‫قسم تقانة المعلومات‬
‫السنة الثالثة‬

‫هندسة البرمجيات (‪)1‬‬


‫المحاضرة الرابعة‬

‫م‪ .‬ابراهيم أيوب‬


‫م‪ .‬اسماء الحداد‬

‫‪27/11/2023‬‬

‫‪1‬‬
‫‪Example 1‬‬
‫نرغب ببناء موقع ويب (مكتبة الكترونية) يتيح الموقع للزبائن انشاء حساب وتسجيل‬
‫الدخول ‪ ،‬كما يتيح للمستخدم إمكانية تصفح الكتب المتوفرة‪ ،‬عندها يمكنه البحث عن‬
‫كتاب معين إما من خالل عنوان الكتاب أو اسم المؤلف‪ ،‬ويمكن للمستخدم إضافة الكتب‬
‫التي يريد شراؤها إلى سلة الشراء‪ .‬كما يمكن للمستخدم من مراجعة حالة طلبه لكتاب‬
‫عندها يمكنه إلغاء الطلب‪ .‬عندما يقوم الزبون بإجراء عملية الدفع يطلب النظام منه إعادة‬
‫تسجيل الدخول ضمن الموقع‪.‬‬

‫❖ ارسم مخطط حاالت االستخدام للسياق السابق‪.‬‬

‫‪2‬‬
Example 1

3
‫‪Example 2‬‬
‫نريد بناء تطبيق لمتجر الكتروني يحوي العديد من التطبيقات والبرامج‪ ،‬حيث يتم تخزين‬
‫بيانات عن هذه البرامج متل اسم البرنامج‪ ،‬حجمه‪ ،‬البيئة التي يعمل عليها‪ ،‬عدد مرات‬
‫التحميل‪ ..‬الخ‪.‬‬
‫يتمتع مستخدمي التطبيق ‪ Users‬بحسابات ‪ ،Accounts‬حيث يوجد لكل مستخدم‬
‫حساب فريد يمكنه من تسجيل الدخول إلى التطبيق عن طريق البريد االلكتروني وكلمة‬
‫المرور الخاصة به‪ ،‬حيث يمكنه هذا الحساب من البحث عن اي برنامج ‪،Search‬‬
‫تحميل برنامج جديد ‪ ،Download‬تحديث برنامج موجود سابقا ‪ ،Update‬رفع‬
‫برنامج معين يختاره المستخدم ‪ ،Upload‬حيث ال يمكن للمستخدم رفع أو تحديث أي‬
‫برنامج إال بعد موافقة مدير التطبيق ‪ ،Admin‬عندها يقوم مدير التطبيق بمراجعة طلب‬
‫الرفع أو التعديل ويقوم إما بالموافقة أو الرفض‪ .‬وأيضا يتيح التطبيق للمدير إزالة برنامج‬
‫موجود‪.‬‬

‫❖ ارسم مخطط حاالت االستخدام للسياق السابق‪.‬‬

‫‪4‬‬
Example 2

5
‫‪template for detailed descriptions of use cases‬‬

‫وهو الرقم المميز للـ ‪ use case‬ويميز حالة استخدام عن‬ ‫‪Use case ID‬‬
‫الحالة األخرى ‪.‬‬
‫وهو اسم الـ ‪ use case‬وهو الشكل البيضوي الذي يتم فيه‬ ‫‪Use case name‬‬
‫تحديد المهام ‪.‬‬
‫وهم المتفاعل مع حالة االستخدام (‪)primary+secondary‬‬ ‫‪Actors‬‬
‫وهو وصف مختصر لحالة االستخدام‬ ‫‪Description‬‬
‫هي الحدث المحرض لبدء حالة االستخدام‬ ‫‪Trigger‬‬
‫الشروط الواجب توفرها قبل استخدام حالة االستخدام (قبل‬ ‫‪Preconditions‬‬
‫حدوث حالة استخدام ما) وهي الحاالت التي يجب على الـ‬
‫‪ user‬تفعيلها قبل استخدام الـ ‪usecase‬‬
‫مثال‪ :‬قبل توفر إمكانية البحث في كتاب يجب ان يوجد شرط‬
‫استباقي يبين فيما إذا كان الكتاب موجود أم ال‬
‫وهي الشروط التي يجب أن تتم بعد إتمام الوظيفة (حالة‬ ‫‪Postconditions‬‬
‫االستخدام )‬
‫مجموعة الخطوات التي ستتم لتحقيق الوظيفة المحددة للوصول‬ ‫‪Work Flow/Basic‬‬
‫إلى النتيجة المطلوبة‬ ‫‪flow‬‬
‫أي هو السيناريو الذي يتم لتحقيق ال ‪( use case‬بشكل‬
‫مفصل)‬

‫‪6‬‬
‫‪template for detailed descriptions of use cases‬‬

‫مجموعة الخطوات البديلة للـ ‪ normal flow‬فهو سيناريو‬ ‫‪Alternative flow‬‬


‫يحقق الوظيفة أيضا ولكن بطريقة مختلفة عن ال ‪normal‬‬
‫‪flow‬‬
‫األحداث التي تؤدي إلى عدم تحقق الوظيفة وبالتالي الخروج‬ ‫‪Exception‬‬
‫من النظام أو تلغي مهمة ‪.‬‬
‫مثال‪ :‬انتهاء صالحية بطاقة االئتمان ال يمكنني استخدامها‬
‫حاالت االستخدام التي ترتبط معهم حالة االستخدام الحالية‬ ‫‪Includes‬‬
‫بعالقة ‪include‬‬
‫مثال‪Include UC ID2 :‬‬

‫‪7‬‬
‫مثال‪ :‬سحب نقود من الصراف اآللي ‪ATM‬‬

‫‪UC 01‬‬ ‫‪Use case ID‬‬


‫سحب نقود‬ ‫‪Use case name‬‬
‫الزبون ‪ ،‬البنك‬ ‫‪Actors‬‬
‫سحب مبلغ نقدية من الصراف اآللي باستخدام بطاقة صراف‬ ‫‪Description‬‬
‫آلي‬
‫الضغط على زر سحب مبلغ‪.‬‬ ‫‪Trigger‬‬
‫✓ الزبون يملك حساب لدى البنك بحيث يستطيع استخدام‬ ‫‪Preconditions‬‬
‫ميزة بطاقة الصرف اآللي‬
‫✓ الزبون يملك بطاقة صراف آلي فعالة‬
‫✓ الزبون يحصل على نقود ‪.‬‬ ‫‪Postconditions‬‬
‫✓ حساب الزبون في البنك ينقص بمقدار المبلغ المسحوب‬
‫وتكلفة إجراء العملية ‪.‬‬
‫الزبون يدخل بطاقة الصراف‪.‬‬ ‫‪.1‬‬ ‫‪Work Flow/Basic‬‬
‫يختار الزبون اللغة العربية‪.‬‬ ‫‪.2‬‬ ‫‪flow‬‬
‫الزبون يدخل الرقم السري ‪.‬‬ ‫‪.3‬‬
‫يتحقق النظام من صحة المعلومات المدخلة من قبل‬ ‫‪.4‬‬
‫الزبون ‪.‬‬
‫يطلب النظام من الزبون اختيار نوع العملية ‪.‬‬ ‫‪.5‬‬
‫يختار الزبون سحب المبلغ ‪.‬‬ ‫‪.6‬‬
‫‪8‬‬
‫مثال‪ :‬سحب نقود من الصراف اآللي ‪ATM‬‬

‫‪ .7‬يحدد الزبون المبلغ ‪.‬‬ ‫‪Work Flow/Basic‬‬


‫‪ .8‬يرسل النظام إلى البنك ليتأكد من توفر المبلغ ‪.‬‬ ‫‪flow‬‬
‫‪ .9‬يؤكد البنك توفر المبلغ ‪.‬‬
‫‪ .10‬يخرج النظام البطاقة ‪.‬‬
‫‪ .11‬يخرج النظام المبلغ النقدي ويطبع الوصل ‪.‬‬
‫✓ يحدد المستخدم اللغة اإلنكليزية بدال من العربية ‪.‬‬ ‫‪Alternative flow‬‬
‫✓ يختار المستخدم مبلغ من ضمن الخيارات الموضوعة‪.‬‬
‫✓ كلمة السر خاطئة ‪.‬‬ ‫‪Exception‬‬
‫✓ بطاقة الصراف منتهية الصالحية‪.‬‬
‫ــــــــــــــــــ‬ ‫‪Includes‬‬

‫‪9‬‬
‫مثال‪ :‬حذف كتاب من النظام‬

‫‪UC 12‬‬ ‫‪Use case ID‬‬


‫حذف كتاب‬ ‫‪Use case name‬‬
‫المدير‬ ‫‪Actors‬‬
‫حذف كتاب متوفر على النظام من قبل المدير‪.‬‬ ‫‪Description‬‬
‫الضغط على أيقونة الحذف‬ ‫‪Trigger‬‬
‫االنتقال لصفحة إدارة الكتب بعد تسجيل الدخول للنظام‪.‬‬ ‫‪Preconditions‬‬
‫تتم إزالة الكتاب من قاعدة البيانات‬ ‫‪Postconditions‬‬
‫يعرض النظام قائمة مرتبة أبجديا بالكتب المتوفرة‪.‬‬ ‫‪.1‬‬ ‫‪Work Flow/Basic‬‬
‫يختار المدير كتاب معين‪.‬‬ ‫‪.2‬‬ ‫‪flow‬‬
‫يعرض الموقع تفاصيل الكتاب‪.‬‬ ‫‪.3‬‬
‫يقوم المدير بالضغط على أيقونة الحذف‪.‬‬ ‫‪.4‬‬
‫يؤكد المدير عملية الحذف‪.‬‬ ‫‪.5‬‬
‫ـــــــــــــــ‬ ‫‪Alternative flow‬‬
‫الخروج من النظام بسبب مشكلة في الشبكة قد يؤدي إلى عدم‬ ‫‪Exception‬‬
‫إتمام عملية الحذف‪.‬‬
‫ـــــــــــــــ‬ ‫‪Includes‬‬

‫‪10‬‬

You might also like