متطلبات

في الهندسة ، يُعرَّف الشرط بأنه مجموعة من المتطلبات التي يجب استيفاؤها ليكون ناتج العمل مقبولاً. وهو وصف صريح وموضوعي وواضح، وغالباً ما يكون كمياً، لشرط يجب أن تستوفيه مادة أو تصميم أو منتج أو خدمة. [ 1 ]

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

في التطوير التكراري والتراكمي، كما هو الحال في تطوير البرمجيات الرشيقة ، تُحدد المتطلبات بالتوازي مع التصميم والتنفيذ. أما في نموذج الشلال ، فتُحدد المتطلبات قبل بدء التصميم أو التنفيذ.

تُستخدم المتطلبات في العديد من المجالات الهندسية بما في ذلك التصميم الهندسي ، وهندسة النظم ، وهندسة البرمجيات ، وهندسة المؤسسات ، وتطوير المنتجات ، وتحسين العمليات.

المتطلبات هي مفهوم واسع نسبياً يمكنه وصف أي وظيفة أو سمة أو قدرة أو خاصية أو جودة ضرورية أو مرغوبة لنظام ما لكي يكون له قيمة وفائدة للعميل أو المنظمة أو المستخدم أو أي صاحب مصلحة آخر.

أصول المصطلح

يُستخدم مصطلح " المتطلبات" في مجتمع هندسة البرمجيات منذ الستينيات على الأقل. [ 2 ]

وفقًا لدليل هيئة معارف تحليل الأعمال® الإصدار 2 من IIBA (BABOK)، [ 3 ] فإن أحد المتطلبات هو:

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

يستند هذا التعريف إلى معيار IEEE 610.12-1990: مسرد مصطلحات هندسة البرمجيات القياسي الصادر عن معهد مهندسي الكهرباء والإلكترونيات. [ 4 ]

متطلبات المنتج مقابل متطلبات العملية

يمكن القول إن المتطلبات تتعلق بمجالين:

  • تحدد متطلبات المنتج خصائص النظام أو المنتج.
  • تحدد متطلبات العملية الأنشطة التي يتعين على المنظمة النامية القيام بها. على سبيل المثال، يمكن أن تحدد متطلبات العملية المنهجيات التي يجب اتباعها، والقيود التي يجب على المنظمة الالتزام بها.

ترتبط متطلبات المنتج والعملية ارتباطًا وثيقًا؛ إذ يُمكن القول إن متطلبات المنتج تُحدد الأتمتة اللازمة لدعم متطلبات العملية، بينما تُحدد متطلبات العملية الأنشطة اللازمة لدعم متطلبات المنتج. على سبيل المثال، قد يُفرض شرط الحد الأقصى لتكلفة التطوير (أحد متطلبات العملية) للمساعدة في تحقيق شرط الحد الأقصى لسعر البيع (أحد متطلبات المنتج)؛ وغالبًا ما يُلبى شرط قابلية المنتج للصيانة (أحد متطلبات المنتج) من خلال فرض متطلبات لاتباع أساليب تطوير محددة (مثل البرمجة كائنية التوجه )، أو أدلة الأسلوب، أو عملية مراجعة/فحص (متطلبات العملية).

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

تُصنَّف المتطلبات عادةً إلى أنواع تُنتَج في مراحل مختلفة من عملية التطوير، ويعتمد هذا التصنيف على النموذج العام المُستخدَم. على سبيل المثال، وضع المعهد الدولي لتحليل الأعمال المخطط التالي في دليل معارف تحليل الأعمال [ 5 ] (انظر أيضًا FURPS وأنواع المتطلبات ).

المتطلبات المعمارية
توضح المتطلبات المعمارية ما يجب القيام به من خلال تحديد التكامل الضروري بين بنية النظام وسلوك النظام ، أي بنية النظام .
في هندسة البرمجيات ، تُسمى هذه المتطلبات بالمتطلبات ذات الأهمية المعمارية ، والتي تُعرف بأنها تلك المتطلبات التي لها تأثير قابل للقياس على بنية نظام البرمجيات . [ 6 ]
متطلبات العمل
بيانات رفيعة المستوى تُحدد أهداف المنظمة وغاياتها واحتياجاتها. وعادةً ما تصف الفرص التي تسعى المنظمة إلى تحقيقها أو المشكلات التي ترغب في حلها. وغالبًا ما تُذكر هذه البيانات في دراسة جدوى .
متطلبات المستخدم (أصحاب المصلحة)
بيانات متوسطة المستوى تُعبّر عن احتياجات جهة معنية محددة أو مجموعة من الجهات المعنية. وهي عادةً ما تصف كيفية تفاعل الشخص مع الحل المُقترح. وغالبًا ما تُمثّل نقطة وصل بين متطلبات العمل العامة ومتطلبات الحل الأكثر تفصيلًا.
المتطلبات الوظيفية (للحل)
عادةً ما تتضمن هذه البيانات وصفًا تفصيليًا للوظائف أو القدرات، والسلوك، والمعلومات التي سيؤديها الحل. ومن الأمثلة على ذلك تنسيق النصوص، وحساب الأرقام، وتعديل الإشارات. وتُعرف هذه البيانات أحيانًا باسم القدرات .
متطلبات جودة الخدمة (غير الوظيفية)
عادةً ما تتضمن هذه البيانات تفاصيل دقيقة حول الشروط التي يجب أن يظل الحل فعالاً في ظلها، والخصائص التي يجب أن يتمتع بها، أو القيود التي يجب أن يعمل ضمنها. [ 7 ] ومن الأمثلة على ذلك: الموثوقية، وقابلية الاختبار، وقابلية الصيانة، والتوافر. وتُعرف هذه البيانات أيضاً بالخصائص أو القيود أو الميزات .
متطلبات التنفيذ (الانتقال)
عادةً، لا تُطلب البيانات التفصيلية للقدرات أو السلوكيات إلا لتمكين الانتقال من الوضع الحالي للمؤسسة إلى الوضع المستقبلي المنشود، ولكن لن تكون هناك حاجة إليها بعد ذلك. ومن الأمثلة على ذلك التوظيف، وتغيير الأدوار، والتعليم، ونقل البيانات من نظام إلى آخر.
المتطلبات التنظيمية
المتطلبات المحددة بموجب القوانين (الفيدرالية، أو الولائية، أو البلدية، أو الإقليمية)، أو العقود (الشروط والأحكام)، أو السياسات (على مستوى الشركة، أو الإدارة، أو المشروع).

خصائص المتطلبات الجيدة

تختلف خصائص المتطلبات الجيدة في تعريفها من كاتب لآخر، حيث يركز كل كاتب عمومًا على الخصائص الأنسب لمناقشته العامة أو مجال التكنولوجيا المحدد الذي يتناوله. ومع ذلك، تُعتبر الخصائص التالية مُسلّمًا بها بشكل عام. [ 8 ] [ 9 ]

السمةتوضيح
موحد (متماسك)هذا الشرط يعالج أمراً واحداً فقط.
مكتملتم ذكر المتطلبات بالكامل في مكان واحد دون أي معلومات ناقصة.
ثابتلا يتعارض هذا الشرط مع أي شرط آخر، وهو متوافق تماماً مع جميع الوثائق الخارجية المعتمدة.
غير مترافق ( ذري )الشرط ذري ، أي أنه لا يحتوي على روابط. على سبيل المثال، يجب كتابة عبارة "يجب أن يكون حقل الرمز البريدي صالحًا للرموز البريدية الأمريكية والكندية " كشرطين منفصلين: (1) "يجب أن يكون حقل الرمز البريدي صالحًا للرموز البريدية الأمريكية" و(2) "يجب أن يكون حقل الرمز البريدي صالحًا للرموز البريدية الكندية".
قابلة للتتبعيلبي هذا الشرط كل أو جزء من احتياجات العمل كما ذكر أصحاب المصلحة وتم توثيقه بشكل موثوق.
حاضِرلم يصبح هذا الشرط متقادمًا بمرور الزمن.
لا لبس فيهيُصاغ الشرط بإيجاز دون اللجوء إلى المصطلحات التقنية أو الاختصارات (إلا إذا عُرّفت في موضع آخر من وثيقة المتطلبات) أو أي عبارات مبهمة أخرى. وهو يعبّر عن حقائق موضوعية، لا آراء شخصية. ويخضع لتفسير واحد لا غير. ويُتجنب استخدام الفاعل والصفة وحروف الجر والأفعال والعبارات الذاتية المبهمة. كما يُتجنب استخدام العبارات المنفية والعبارات المركبة.
حدد الأهميةتمثل العديد من المتطلبات سمة محددة من قبل أصحاب المصلحة، وسيؤدي غيابها إلى قصور كبير أو حتى كارثي. بينما تمثل متطلبات أخرى ميزات يمكن تنفيذها إذا سمح الوقت والميزانية بذلك. ويجب أن يحدد المتطلب مستوى أهميته.
قابل للتحققيمكن تحديد تنفيذ المتطلبات من خلال الطرق الأساسية الممكنة: الفحص، والعرض التوضيحي، والاختبار (باستخدام الأجهزة) أو التحليل (بما في ذلك النمذجة والمحاكاة المعتمدة).

هناك العديد من السمات الأخرى التي يجب مراعاتها والتي تُسهم في جودة المتطلبات. فإذا كانت المتطلبات خاضعة لقواعد سلامة البيانات (على سبيل المثال)، فإن الدقة/الصحة والصحة/التفويض تُعدّان أيضاً من السمات المهمة. وتؤكد إمكانية التتبع أن مجموعة المتطلبات تُلبي الحاجة (لا أكثر ولا أقل مما هو مطلوب).

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

تَحَقّق

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

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

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

الأنشطة التي تؤدي إلى استخلاص متطلبات النظام أو البرمجيات. قد تشمل هندسة المتطلبات دراسة جدوى أو مرحلة تحليل مفاهيمي للمشروع، واستخلاص المتطلبات (جمع وفهم ومراجعة وتوضيح احتياجات أصحاب المصلحة ) ، وتحليل المتطلبات ، [ 10 ] والتحقق من اتساقها واكتمالها، وتحديدها (توثيقها)، والتحقق من صحتها (التأكد من صحة المتطلبات المحددة). [ 11 ] [ 12 ]

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

هناك مفاضلة هندسية يجب مراعاتها بين المتطلبات الغامضة للغاية، وتلك المفصلة لدرجة أنها

  • يستغرق إنتاجها وقتاً طويلاً - أحياناً لدرجة أنها تصبح قديمة بمجرد اكتمالها
  • تقييد خيارات التنفيذ المتاحة
  • إنتاجها مكلف

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

متطلبات التوثيق

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

تغييرات في المتطلبات

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

مشاكل

المعايير المتنافسة

توجد آراء متضاربة حول ماهية المتطلبات وكيفية إدارتها واستخدامها. ومن أبرز الهيئات في هذا المجال معهد مهندسي الكهرباء والإلكترونيات (IEEE) والمعهد الدولي لتحليل الأعمال (IIBA). ولكلتا الهيئتين تعريفات مختلفة ولكنها متشابهة لماهية المتطلبات.

النزاعات المتعلقة بضرورة وآثار متطلبات البرمجيات

لقد نجحت العديد من المشاريع مع وجود اتفاق ضئيل أو معدوم على المتطلبات. [ 13 ] وتشير بعض الأدلة أيضًا إلى أن تحديد المتطلبات قد يقلل من الإبداع وأداء التصميم. [ 14 ] تعيق المتطلبات الإبداع والتصميم لأن المصممين ينشغلون بشكل مفرط بالمعلومات المُقدمة. [ 15 ] [ 16 ] [ 17 ] وبشكل عام، تشير بعض الأبحاث إلى أن متطلبات البرمجيات ما هي إلا وهم ناتج عن تحريف قرارات التصميم على أنها متطلبات في حالات لا توجد فيها متطلبات حقيقية واضحة. [ 18 ]

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

تزايد متطلبات المتطلبات

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

تصنيفات المتطلبات المتعددة

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

فساد العمليات

إن أي عملية يديرها البشر عرضةٌ للعيوب البشرية في الحوكمة، حيث قد تؤدي المصالح الشخصية أو الرغبات أو الاعتبارات السياسية إلى استثناءات أو حتى تقويض العملية بشكل صريح، وانحرافات عن المسار الصحيح الذي من المفترض أن تسير عليه. ومن الأمثلة على ذلك:

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

في إطار عملية وزارة الدفاع الأمريكية، تتضمن بعض الأمثلة التاريخية لمشاكل المتطلبات ما يلي:

  • قضايا مركبة إم-2 برادلي المتعلقة بحركة المتطلبات غير الرسمية التي تم تصويرها في حروب البنتاغون ؛
  • إن تطور طائرة إف-16 من مفهوم المقاتلة الخفيفة لمافيا المقاتلات ، والذي يُعزى إلى برنامج إف-15 الذي يحاول تخريب المنافسة أو المكاتب الفردية التي تضع رغبات محلية تقوض مفهوم كونها خفيفة الوزن ومنخفضة التكلفة.
  • أدى الحماس الذي ظهر في عام 1998 تقريبًا لمفهوم "الجاهزية للشبكة" إلى تفويضه كمعيار أداء رئيسي من مكتب "الجاهزية للشبكة"، خارج نطاق عملية تحديد المتطلبات في المكتب، وهو أمر لا يتوافق مع العملية المحددة مسبقًا لهذا المكتب، أو تعريفهم لماهية معيار الأداء الرئيسي، أو أن بعض الجهود قد لا تكون مناسبة أو قادرة على تحديد ما يشكل "الجاهزية للشبكة".

انظر أيضاً

مراجع

  1. شكل وأسلوب المعايير، الكتاب الأزرق لـ ASTM (ملف PDF) . ASTM International . 2012. مؤرشف من الأصل (ملف PDF) في 6 نوفمبر 2015. تم الاطلاع عليه في 5 يناير 2013 .
  2. بوهم، باري (2006). "نظرة على هندسة البرمجيات في القرنين العشرين والحادي والعشرين" . وقائع المؤتمر الدولي الثامن والعشرين لهندسة البرمجيات (ICSE '06) . جامعة جنوب كاليفورنيا، حرم جامعة بارك، لوس أنجلوس، كاليفورنيا: رابطة آلات الحوسبة، ACM نيويورك، نيويورك، الولايات المتحدة الأمريكية. الصفحات 12-29 . ISBN  1-59593-375-1تم الاطلاع عليه بتاريخ 2 يناير 2013 .
  3. "1.3 المفاهيم الأساسية - المعهد الدولي لتحليل الأعمال (IIBA)" . www.iiba.org . تاريخ الاسترجاع: 25-09-2016 .
  4. "IEEE SA - 610.12-1990 - معجم مصطلحات هندسة البرمجيات القياسي لمعهد مهندسي الكهرباء والإلكترونيات" . مؤرشف من الأصل في 10 يناير 2011.
  5. دليل إلى مجموعة معارف تحليل الأعمال® (دليل BABOK®) الإصدار 2.0 . 2009. ISBN 978-0-9811292-1-1.
  6. تشين، ليان بينغ؛ علي بابار، محمد؛ نسيبة، بشار (2013). "توصيف المتطلبات ذات الأهمية المعمارية". مجلة IEEE للبرمجيات . 30 (2): 38-45 . doi : 10.1109/MS.2012.174 . hdl : 10344/3061 . S2CID 17399565 . 
  7. رالف، ب.، وواند، ي. اقتراح لتعريف رسمي لمفهوم التصميم. في: ليتينين، ك.، ولوكوبولوس، ب.، وميلوبولوس، ج. ، وروبنسون، و. (محررون)، هندسة متطلبات التصميم: منظور عشر سنوات: سبرينغر-فيرلاغ، 2009، ص 103-136
  8. ديفيس، آلان م. (1993). متطلبات البرمجيات: الكائنات، والوظائف، والحالات، الطبعة الثانية . برنتيس هول. ISBN 978-0-13-805763-3.
  9. جمعية الحاسبات التابعة لمعهد مهندسي الكهرباء والإلكترونيات (1998). الممارسات الموصى بها من معهد مهندسي الكهرباء والإلكترونيات لمواصفات متطلبات البرمجيات . معهد مهندسي الكهرباء والإلكترونيات، رقم ISBN 978-0-7381-0332-7.
  10. ستيلمان، أندرو؛ غرين، جينيفر (2005). إدارة مشاريع البرمجيات التطبيقية . دار نشر أورايلي. ص 98. ISBN  978-0-596-00948-9تمت أرشفة النسخة الأصلية بتاريخ 2015-02-09.
  11. ويغرز، كارل إي. (2003). متطلبات البرمجيات، الطبعة الثانية . مطبعة مايكروسوفت. ISBN 978-0-7356-1879-4.
  12. يونغ، رالف ر. (2001). ممارسات المتطلبات الفعالة . أديسون-ويسلي. ISBN 978-0-201-70912-4.
  13. تشيكلاند، بيتر (1999). التفكير النظمي، الممارسة النظمية . تشيتشستر: وايلي.
  14. رالف، بول؛ موهاناني، راهول (مايو 2015). "هل هندسة المتطلبات بطبيعتها غير منتجة؟" . وقائع ورشة العمل الدولية الخامسة حول قمتي المتطلبات والهندسة المعمارية . فلورنسا، إيطاليا: IEEE. ص 20-23 . 
  15. جانسون، د.؛ سميث، س. (1991). "التثبيت التصميمي". دراسات التصميم . 12 (1): 3-11 . doi : 10.1016/0142-694X(91)90003-F .
  16. بورسل، أ.؛ جيرو، ج. (1996). "التصميم وأنواع التثبيت الأخرى". دراسات التصميم . 17 (4): 363-383 . doi : 10.1016/S0142-694X(96)00023-3 .
  17. موهاناني، راهول؛ رالف، بول؛ شريف، بن (مايو 2014). "تثبيت المتطلبات" . وقائع المؤتمر الدولي لهندسة البرمجيات . حيدر أباد، الهند: IEEE. ص 895-906 . 
  18. رالف، بول (2012). "وهم المتطلبات في تطوير البرمجيات". هندسة المتطلبات . 18 (3): 293-296 . arXiv : 1304.0116 . doi : 10.1007/s00766-012-0161-4 . S2CID 11499083 .