تحليل متطلبات البرمجيات مع المثال

⚡ ملخص ذكي

يقوم تحليل متطلبات البرمجيات بتقسيم احتياجات أصحاب المصلحة إلى عبارات وظيفية وغير وظيفية، ويصنفها على مستويات الأعمال والهندسة المعمارية والنظام، ثم يتحقق من كل منها مقابل سمات الجودة لضمان قابلية الاختبار. tracمواصفات قابلة للتطبيق وذات أولوية.

  • 📐 أنواع المتطلبات: تشكل متطلبات الأعمال والهندسة المعمارية والتصميم والنظام والتكامل المستويات الثلاثة التي تُشكل هيكل كل مواصفات برمجية.
  • 🔀 وظيفي مقابل غير وظيفي: تصف العبارات الوظيفية ما يجب أن يفعله النظام، بينما تحدد العبارات غير الوظيفية أهدافًا قابلة للقياس للأداء والأمان وسهولة الاستخدام.
  • 📚 مصادر بديلة: يمكن للزملاء والإصدارات السابقة ووثائق المتطلبات القديمة وتقارير الأخطاء وأدلة التثبيت توفير المتطلبات عندما تكون الملخصات الرسمية مفقودة.
  • علامات الجودة: Atomic، مُعرَّف بشكل فريد، كامل، متسق، tracقابل للتطبيق، ومُعطى الأولوية، وقابل للاختبار هي السمات السبع التي يجب أن تستوفيها كل متطلبات.
  • 🔗 نهاية إلى نهاية Tracالقدرة: يتم ربط متطلبات العمل بالتصميم، والتصميم بالبرمجة، والبرمجة بحالات الاختبار، بحيث يظل النطاق والتغطية واضحين طوال المشروع.
  • 🎯 صياغة قابلة للاختبار: استبدل المصطلحات الغامضة مثل "كل صفحة" و "الوقت المقبول" بصفحات محددة وأهداف قابلة للقياس مثل 5 ثوانٍ.

تحليل متطلبات البرمجيات

متطلبات البرمجيات هي احتياجات وظيفية أو غير وظيفية يجب تلبيتها في النظام. وتعني الاحتياجات الوظيفية توفير خدمة معينة للمستخدم.

على سبيل المثال، في سياق تطبيق مصرفي، فإن المتطلب الوظيفي هو أنه عندما يختار العميل "عرض الرصيد"، يجب أن يكون قادراً على عرض أحدث رصيد لحسابه.

قد يكون متطلب البرنامج غير وظيفي، مثل متطلب الأداء. على سبيل المثال، قد ينص متطلب غير وظيفي على أن يتم تحميل كل صفحة من صفحات النظام للمستخدمين في غضون 5 ثوانٍ.

إذن ، في الأساس متطلبات البرنامج هي أ

  • وظيفي أو
  • غير وظيفية

حاجة التي يجب تنفيذها في النظام. عادةً ما يتم التعبير عن متطلبات البرامج على شكل عبارات.

أنواع المتطلبات

متطلبات العملهذه متطلبات عامة مستقاة من دراسة جدوى المشروع. على سبيل المثال، يوفر نظام الخدمات المصرفية عبر الهاتف المحمول خدمات مصرفية لجنوب شرق آسيا. المتطلب التجاري المحدد للهند هو ملخص الحساب وتحويل الأموال، بينما هو للصين ملخص الحساب ودفع الفواتير.

الدولة الشركة التي تقدم الوظائف أو الخدمات المصرفية
الهند ملخص الحساب وتحويل الأموال
الصين ملخص الحساب و Bill الدفع

Archiالمتطلبات الفنية والتصميميةهذه المتطلبات أكثر تفصيلاً من متطلبات العمل، وهي التي توجه بنية الحل. فهي تحدد التصميم العام اللازم لتنفيذ متطلبات العمل. بالنسبة للمؤسسات التعليمية، تشمل حالات الاستخدام النموذجية في البنية والتصميم تسجيل الدخول، وتفاصيل المقرر الدراسي، والتسجيل. ويكون المتطلب كما هو موضح أدناه.

حالة الاستخدام المصرفي متطلبات
Bill الدفع تصف حالة الاستخدام هذه كيف يمكن للعميل تسجيل الدخول إلى شبكة الخدمات المصرفية واستخدام Bill نظام الدفع. يمكن للعميل الاطلاع على لوحة تحكم تعرض الفواتير المستحقة للجهات المسجلة. كما يمكنه إضافة بيانات جهة إصدار الفاتورة أو تعديلها أو حذفها. ويمكنه أيضًا ضبط تنبيهات الرسائل النصية القصيرة والبريد الإلكتروني لمختلف إجراءات الفوترة، بالإضافة إلى استعراض سجل الفواتير المدفوعة سابقًا. يبدأ استخدام هذا النظام عادةً عملاء البنك أو موظفي الدعم.

متطلبات النظام والتكاملعلى أدنى مستوى، لدينا متطلبات النظام والتكامل. وهي توفر وصفًا تفصيليًا لكل متطلب. ويمكن صياغتها على شكل قصص مستخدم مكتوبة بلغة الأعمال اليومية. تحتوي المتطلبات على تفاصيل وافية تُمكّن المطورين من البدء في البرمجة. Bill يوضح المثال التالي لوحدة الدفع متطلبات إضافة جهة إصدار الفواتير.

Bill الدفع متطلبات الدراسة
إضافة Billالمتطلبات البيئية اسم مزود الخدمة، رقم العميل، الدفع التلقائي - نعم/لا، دفع المبلغ بالكامل Bill - نعم/لا، حد الدفع التلقائي - لا تدفع إذا Bill يتجاوز المبلغ المحدد

قد لا تتلقى أحيانًا أي متطلبات أو وثائق لمشروع ما. مع ذلك، توجد مصادر أخرى لمعلومات المتطلبات يمكنك الاعتماد عليها لتصميم برنامجك أو اختباره. فيما يلي قائمة بهذه المصادر.

مصادر أخرى للمتطلبات

  • نقل المعرفة من الزملاء أو الموظفين الذين يعملون بالفعل في هذا المشروع
  • ناقش المشروع مع محلل الأعمال ومدير المنتج وقائد المشروع والمطورين
  • قم بتحليل الإصدار السابق من النظام الذي تم تنفيذه بالفعل
  • تحليل وثائق المتطلبات القديمة للمشروع
  • Revاطلع على تقارير الأخطاء السابقة؛ يتم تحويل بعض تقارير الأخطاء إلى طلبات تحسين قد يتم تنفيذها في الإصدار الحالي
  • راجع دليل التثبيت، إن وجد، لمعرفة عمليات التثبيت المطلوبة.
  • قم بتحليل المعرفة بالمجال أو الصناعة التي يحاول الفريق تطبيقها

أياً كان مصدر المتطلبات الذي تستخدمه، قم بتوثيقها بتنسيق مشترك واطلب من أعضاء الفريق ذوي الخبرة مراجعتها.

كيفية تحليل المتطلبات

لنأخذ مثالاً على نظام برمجيات تعليمية حيث يمكن للطالب التسجيل في دورات مختلفة.

دعونا ندرس كيفية تحليل المتطلبات. يجب أن يحافظ كل متطلب على مجموعة من سمات الجودة القياسية، والتي تشمل ما يلي:

  • Atomic
  • تم تحديدها بشكل فريد
  • اكتملت
  • متسقة ولا لبس فيها
  • Tracداهية
  • الأولوية
  • قابل للاختبار

تحليل المتطلبات

يوضح الجدول التالي كل سمة بثلاثة أعمدة:

  1. يشير العمود الأول إلى "جودة المتطلبات"
  2. يشير العمود الثاني إلى "متطلبات سيئة مع بعض المشاكل"
  3. يُظهر العمود الثالث نفس المتطلب "مُحوّلاً إلى متطلب جيد".
جودة المتطلبات مثال على الشرط السيئ مثال على الشرط الجيد
Atomic سيكون الطلاب قادرين على التسجيل في دورات البكالوريوس والدراسات العليا سيتمكن الطلاب من التسجيل في برامج البكالوريوس. سيتمكن الطلاب من التسجيل في برامج الدراسات العليا.
تم تحديدها بشكل فريد 1- سيتمكن الطلاب من التسجيل في برامج البكالوريوس. 1- سيتمكن الطلاب من التسجيل في برامج الدراسات العليا. التسجيل في المقررات الدراسية. سيتمكن الطلاب من التسجيل في مقررات البكالوريوس. سيتمكن الطلاب من التسجيل في مقررات الدراسات العليا.
اكتملت سيقوم المستخدم الأستاذ بتسجيل الدخول إلى النظام من خلال تقديم اسم المستخدم وكلمة المرور والمعلومات الأخرى ذات الصلة يقوم الأستاذ المستخدم بتسجيل الدخول إلى النظام من خلال إدخال اسم المستخدم وكلمة المرور ورمز القسم الخاص به
متسقة ولا لبس فيها سيكون للطالب إما دورات جامعية أو دورات دراسات عليا ولكن ليس كليهما. ستكون بعض الدورات مفتوحة لكل من طلاب المرحلة الجامعية والدراسات العليا سيكون لدى الطالب إما خريجون جامعيون أو خريجون بعد التخرج ولكن ليس كلاهما
Tracداهية هل تريد الحفاظ على معلومات الطالب المعينة لـ BRD req.ID؟ الحفاظ على معلومات الطالب - المعينة لمعرف طلب BRD 4.1
الأولوية الطالب المسجل - الأولوية 1. الحفاظ على معلومات المستخدم - الأولوية 1. التسجيل في المقررات الدراسية - الأولوية 1. عرض بطاقة التقرير - الأولوية 1 تسجيل الطالب - الأولوية 1. صيانة معلومات المستخدم - الأولوية 2. التسجيل في المقررات الدراسية - الأولوية 1. عرض بطاقة التقرير - الأولوية 3
قابل للاختبار سيتم تحميل كل صفحة من صفحات النظام في إطار زمني مقبول سيتم تحميل صفحات تسجيل الطلاب والتسجيل في النظام خلال 5 ثواني

دعونا نفهم كل سمة من هذه السمات بمزيد من التفصيل، بدءًا من Atomجيم.

Atomic

Atomic

ينبغي أن يكون كل متطلب ذريًا، أي أن يكون على أدنى مستوى من التفصيل ولا يمكن تقسيمه إلى مكونات فرعية. تقارن الأمثلة التالية بين المتطلبات الذرية وغير الذرية.

استكمالاً لمثال نظام مجال التعليم: الشرط غير المناسب هنا هو "سيتمكن الطلاب من التسجيل في برامج البكالوريوس والدراسات العليا". هذا الشرط غير مناسب لأنه غير مُجزأ، إذ يخلط بين كيانين مختلفين، برامج البكالوريوس والدراسات العليا. أما الشرط المناسب المقابل فيفصله إلى شرطين: أحدهما يغطي التسجيل في برامج البكالوريوس، والآخر يغطي التسجيل في برامج الدراسات العليا.

تم تحديدها بشكل فريد

تم تحديدها بشكل فريد

السمة النوعية التالية هي التحديد الفريد. في المثال السيئ، يشترك متطلبان منفصلان في نفس المعرّف (ID#1). إذا أشار فريق إلى متطلب باستخدام معرّفه، يصبح من غير الواضح أيّهما المقصود. أما المتطلب الجيد فيجمعهما تحت القسم 1 - التسجيل في المقررات الدراسية، مع المتطلبات الفرعية 1.1 (التسجيل في مقررات البكالوريوس) و1.2 (التسجيل في مقررات الدراسات العليا).

اكتملت

اكتملت

ينبغي أن تكون جميع المتطلبات كاملة. على سبيل المثال، ينصّ المتطلب غير المناسب هنا على أن "يسجّل الأستاذ دخوله إلى النظام بإدخال اسم المستخدم وكلمة المرور ومعلومات أخرى ذات صلة". عبارة "معلومات أخرى ذات صلة" مبهمة. أما المتطلب الكامل فيُحدّد بدقة الحقول المطلوبة، مثل رمز القسم، التي يجب على الأستاذ إدخالها.

متسقة لا لبس فيها

متسقة لا لبس فيها

ينبغي أن تكون جميع المتطلبات متسقة وواضحة. في المثال السيئ، ينص أحد المتطلبات على أن "الطالب سيدرس إما مقررات البكالوريوس أو مقررات الدراسات العليا، وليس كليهما"، بينما ينص متطلب آخر على أن "بعض المقررات ستكون متاحة لطلاب البكالوريوس وطلاب الدراسات العليا على حد سواء".

يشير الشرط الأول إلى تقسيم الدورات إلى فئتين حصريتين، لكن الشرط الثاني يتناقض مع ذلك من خلال فتح بعض الدورات لكلا المجموعتين.

يحل الشرط الجيد هذا التعارض من خلال النص بوضوح على أن كل دورة مصنفة إما على أنها دورة جامعية أو دورة دراسات عليا، ولا يمكن للطالب التسجيل إلا في دورات من فئة واحدة.

Tracداهية

Tracداهية

يجب أن يكون كل شرط tracممكن لأن المتطلبات موجودة على مستويات متعددة: الأعمال، والهندسة المعمارية والتصميم، والنظام والتكامل.

عندما تقوم بتحويل متطلبات العمل إلى متطلبات معمارية وتصميمية، أو المتطلبات المعمارية والتصميمية إلى متطلبات النظام والتكامل، tracيجب الحفاظ على المرونة. ينبغي أن يرتبط كل متطلب من متطلبات العمل بواحد أو أكثر من متطلبات التصميم المعماري. في المثال غير الصحيح "الاحتفاظ بمعلومات الطلاب - هل يرتبط بمعرف متطلب BRD؟"، فإن معرف المتطلب مفقود.

يسجل الشرط الجيد نفس البيان ولكنه يرتبط صراحةً بمعرف شرط BRD رقم 4.1. يجب أن يحمل كل شرط ما يلي: tracخريطة القدرةpingينبغي أن تتوافق متطلبات النظام والتكامل أيضًا مع التعليمات البرمجية التي تنفذها ومع حالات الاختبار التي تتحقق منها.

Tracوبالتالي، فإن الكفاءة تمتد من البداية إلى النهاية عبر المشروع بأكمله.

الأولوية

يجب تحديد أولويات كل متطلب لكي يعرف الفريق ما يجب تنفيذه أولاً وما يمكن تأجيله. في المثال السيئ، تم تعيين كل من تسجيل الطلاب، وتحديث بيانات المستخدمين، وتسجيل المقررات، وعرض بطاقة التقرير كأولوية 1. لا يمكن أن تكون جميع المتطلبات ذات أولوية 1، لذا يجب ترتيبها بشكل واقعي. في المثال الجيد، تم منح تسجيل الطلاب وتسجيل المقررات أعلى أولوية (1)، وتحديث بيانات المستخدمين أولوية 2، وعرض بطاقة التقرير أولوية 3.

قابل للاختبار

ينبغي أن يكون كل متطلب قابلاً للاختبار. المثال السيئ، "سيتم تحميل كل صفحة من النظام في إطار زمني مقبول"، غير قابل للاختبار لسببين. أولاً، قد تعني عبارة "كل صفحة" عشرات الصفحات، مما يزيد من جهد الاختبار بشكل كبير. ثانياً، "الإطار الزمني المقبول" غير محدد - مقبول لمن، وما هو المعيار الذي يُقاس عليه؟ المتطلب الجيد يحل هاتين المشكلتين من خلال تسمية الصفحات المحددة ("صفحات تسجيل الطلاب وتسجيل المقررات") وتحديد هدف قابل للقياس وهو 5 ثوانٍ.

الأسئلة الشائعة

تُصنّف أدوات الذكاء الاصطناعي ملاحظات أصحاب المصلحة، وتُشير إلى اللغة الغامضة، وتكشف المتطلبات المكررة أو المفقودة عبر خطوط الأساس الكبيرة. ومع ذلك، لا يزال محللو الأعمال يتحققون من كل اقتراح مقابل سجل الاستخلاص قبل إدراجه في مجموعة المتطلبات المعتمدة.

يقوم كل من GitHub Copilot وGPT بصياغة قصص المستخدمين ومعايير القبول وقواعد العمل بناءً على طلبات قصيرة. ويقوم محلل أعمال بمراجعة كل مخرج وفقًا لخصائص الجودة مثل التكامل، وقابلية الاختبار، و tracيمكن تطبيقه قبل أن يصبح شرطًا معتمدًا.

مواصفات متطلبات البرمجيات هي وثيقة رسمية تُدرج المتطلبات الوظيفية وغير الوظيفية، والواجهات، والقيود الخاصة بالنظام. وتُعدّ معايير IEEE 830 وISO 29148 من المعايير التي تتبعها معظم الفرق عند كتابة مواصفات متطلبات البرمجيات.

تجمع عملية جمع المتطلبات، أو استخلاصها، الاحتياجات الأولية من أصحاب المصلحة. ثم يقوم تحليل المتطلبات بتنظيم هذه الاحتياجات وصقلها والتحقق منها وفقًا لخصائص الجودة السبعة، بحيث يتلقى فريق التنفيذ بيانات واضحة وقابلة للاختبار.

استخدم تقنيات مثل MoSCoW (الضروري، والمستحب، والممكن، والمحتمل)، وتحليل كانو، والتقييم المرجح، أو تكلفة التأخير. اجمع بين القيمة التجارية وجهد التسليم والمخاطر، ثم اتفق على الطلب مع الراعي ومالك المنتج قبل بدء التطوير.

المتطلبات أ Tracتربط مصفوفة الإمكانية كل متطلب بعنصر التصميم الخاص به، ومكون الكود، وحالة الاختبار. وهي توفر إمكانية الوصول الأمامي والخلفي وثنائي الاتجاه. tracالقدرة على ضمان عدم إغفال أي شيء، أو المبالغة في تصميمه، أو شحنه دون إجراء اختبار مطابق.

صياغة غامضة، وتراكمات غير مُرتبة حسب الأولوية، ومفقود tracإن المرونة، وخلط أفكار الحلول مع احتياجات العمل، وتجميد النطاق دون التحكم في التغيير هي الأخطاء التي تسبب معظم إعادة العمل، وتأخر الجدول الزمني، والعيوب في الإنتاج.

تشمل الأدوات الشائعة Jama Connect، IBM الأبواب، Modern Requirements لـ Azure DevOps، Jira مع Xrayمتطلبات Visure ALM و Blueprint. تختار الفرق منصة بناءً على الاحتياجات التنظيمية وحجم الفريق وعمق tracالقدرة مطلوبة.

تلخيص هذه التدوينة بـ: