RE Lecture 21
مقدمة حول استنباط المتطلبات
التعريف بالموضوع
- السلام عليكم ورحمة الله وبركاته، اليوم سنبدأ في موضوع مختلف عن السابق. سنتحدث عن كيفية استنباط واستكشاف المتطلبات من خلال مجموعة من الموارد.
- تم تناول مفهوم تطوير المتطلبات وكيفية جمعها وتوثيقها بشكل فعال.
مثال على نظام إدارة الفنادق
- تم تقديم مثال يتعلق بنظام إدارة الفنادق، حيث تم تحديد متطلبات وظيفية وغير وظيفية تتعلق بعمليات الحجز.
- تمت الإشارة إلى أن هناك طرق متعددة لعملية الحجز، وكل طريقة تعتبر متطلبًا مختلفًا.
منهجيات تطوير البرمجيات
المنهج التقليدي
- تم توضيح أن المنهج التقليدي (Waterfall) يتضمن مراحل محددة: تحليل المتطلبات، التصميم، التنفيذ، الاختبار والنشر.
- يتم تسليم وثائق المتطلبات (SRS) إلى مرحلة التصميم بعد الانتهاء من تحليل المتطلبات.
اختلاف المناهج
- ليس كل البرمجيات تتبع نفس الطريقة؛ هناك منهجيات أخرى مثل Agile وScrum وXP التي تؤثر على صياغة المتطلبات.
- في Agile، لا تكون جميع المتطلبات واضحة منذ البداية وقد تتغير مع تقدم المشروع.
أهمية المرونة في Agile
التكيف مع التغييرات
- في حالات معينة، قد نحتاج لتطوير النظام باستخدام Agile بسبب عدم وضوح جميع المتطلبات في الوقت الحالي.
- يتم تحديد نطاق العمل بشكل مرن ويشمل مجموعة من المتطلبات التي يمكن تعديلها حسب الحاجة أثناء عملية التطوير.
الأولويات والتسليمات
- عند استخدام Agile، يتم أخذ أولويات معينة من قائمة طويلة من المتطلبات وإدخالها في عملية التطوير لإصدار النسخة الأولى للبرنامج بسرعة أكبر.
التعامل مع متطلبات جديدة
ظهور متطلبات جديدة
- ميزة Agile هي القدرة على إضافة متطلبات جديدة لم تكن موجودة عند بدء المشروع دون التأثير الكبير على الجدول الزمني للتطوير.
- إذا ظهرت ميزات جديدة لدى المنافسين، يمكن إعادة ترتيب أولويات العمل لإدخال هذه الميزات الجديدة بسرعة أكبر ضمن عملية التطوير القادمة.
دور المستخدمين في تطوير البرمجيات
مشاركة المستخدمين
- يعتبر تفاعل المستخدمين جزءًا أساسيًا لتحقيق النجاح في المشاريع البرمجية؛ يجب أن يكون لديهم دور فعال ومؤثر خلال عملية تطوير المنتج النهائي.
تقنيات الاستطلاع والمشاركة
- تشمل تقنيات الاستطلاع الفعالة مثل المقابلات والملاحظة المباشرة للمستخدمين لفهم احتياجاتهم ومتطلباتهم بشكل أفضل مما يسهل عملية التحليل والتطوير لاحقاً.
صياغة وتوثيق المتطلبات
كتابة قصص المستخدمين
- تعتمد منهجية Agile على كتابة "قصص المستخدم" كوسيلة لتوثيق وتحليل متطلبات النظام بطريقة مرنة وسهلة الفهم لجميع الأطراف المعنية بالمشروع.(ت 1692س).
- يتم تقسيم القصص إلى ميزات أصغر يمكن إدارتها بسهولة وتسهيل التواصل بين أعضاء الفريق.(ت 1625س).