متطلب غير وظيفي
في هندسة الأنظمة وهندسة المتطلبات ، المتطلب غير الوظيفي ( NFR ) هو متطلب يحدد المعايير التي يمكن استخدامها للحكم على تشغيل النظام، بدلاً من السلوكيات المحددة. يتم مقارنتها بالمتطلبات الوظيفية التي تحدد سلوكًا أو وظائف محددة. يتم تفصيل خطة تنفيذ المتطلبات الوظيفية في تصميم النظام . يتم تفصيل خطة تنفيذ المتطلبات غير الوظيفية في بنية النظام ، لأنها عادةً ما تكون متطلبات ذات أهمية معمارية . [1]
في هندسة البرمجيات ، تُعرف المتطلبات غير الوظيفية باسم "الخصائص المعمارية". لاحظ أن الاتصال المتزامن بين مكونات هندسة البرمجيات يتشابك بينها ويجب أن تشترك في نفس الخصائص المعمارية. [2]
تعريف
بشكل عام، تحدد المتطلبات الوظيفية ما يفترض أن يفعله النظام ، وتحدد المتطلبات غير الوظيفية كيف يفترض أن يكون النظام . تكون المتطلبات الوظيفية عادةً في شكل "يجب أن يقوم النظام بـ <المتطلب>"، وهو إجراء فردي أو جزء من النظام، ربما صراحةً بمعنى دالة رياضية أو نموذج وظيفي لوصف الصندوق الأسود للإدخال والإخراج والعملية والتحكم أو نموذج الاكتتاب العام الأولي . على النقيض من ذلك، تكون المتطلبات غير الوظيفية في شكل "يجب أن يكون النظام <المتطلب>"، وهي خاصية إجمالية للنظام ككل أو لجانب معين وليس وظيفة محددة. عادةً ما تحدد خصائص النظام الإجمالية الفرق بين نجاح مشروع التطوير أو فشله.
غالبًا ما يُطلق على المتطلبات غير الوظيفية اسم " سمات الجودة " للنظام. ومن المصطلحات الأخرى للمتطلبات غير الوظيفية "الصفات" أو "أهداف الجودة" أو "متطلبات جودة الخدمة" أو "القيود" أو "المتطلبات غير السلوكية" [3] أو "المتطلبات الفنية". [4] وبشكل غير رسمي، يُطلق عليها أحيانًا اسم "الخصائص"، من سمات مثل الاستقرار والقدرة على النقل. يمكن تقسيم الصفات - أي المتطلبات غير الوظيفية - إلى فئتين رئيسيتين:
- صفات التنفيذ، مثل السلامة والأمن وقابلية الاستخدام، والتي يمكن ملاحظتها أثناء التشغيل (في وقت التشغيل).
- صفات التطور، مثل القدرة على الاختبار ، والقدرة على الصيانة، والقدرة على التوسع، والقدرة على التوسع، والتي تتجسد في البنية الثابتة للنظام. [5] [6]
من المهم تحديد المتطلبات غير الوظيفية بطريقة محددة وقابلة للقياس. [7] [8]
أمثلة
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( فبراير 2023 ) |
قد يكون مطلوبًا من النظام أن يعرض للمستخدم عرضًا لعدد السجلات في قاعدة البيانات. وهذا متطلب وظيفي. أما مدى حداثة هذا العدد فهو متطلب غير وظيفي. إذا كان من الضروري تحديث العدد في الوقت الفعلي ، فيجب على مهندسي النظام التأكد من أن النظام قادر على عرض عدد السجلات في فترة زمنية قصيرة مقبولة من عدد السجلات المتغيرة.
قد يكون عرض النطاق الترددي الكافي للشبكة متطلبًا غير وظيفي للنظام. تشمل الأمثلة الأخرى ما يلي:
- إمكانية الوصول
- القدرة على التكيف
- قابلية التدقيق والرقابة
- التوفر (انظر اتفاقية مستوى الخدمة )
- النسخ الاحتياطي
- وقت التمهيد
- القدرة الحالية والمتوقعة
- شهادة
- امتثال
- إدارة التكوين
- التوافق
- التكلفة والتكلفة الأولية وتكلفة دورة الحياة
- سلامة البيانات
- الاحتفاظ بالبيانات
- الاعتماد على الأطراف الأخرى
- النشر
- بيئة التطوير
- التعافي من الكوارث
- التوثيق
- متانة
- الكفاءة (استهلاك الموارد للحمل المحدد)
- الفعالية (الأداء الناتج مقارنة بالجهد المبذول)
- مرونة
- العوامل العاطفية (مثل المتعة أو الاستيعاب أو عامل "الدهشة")
- حماية البيئة
- الضمان
- أخلاق مهنية
- قابلية الاستغلال
- إمكانية التوسعة (إضافة ميزات، ونقل التخصيصات إلى الإصدار الرئيسي التالي)
- إدارة الفشل
- تحمل الأخطاء (على سبيل المثال مراقبة النظام التشغيلي وقياسه وإدارته)
- المرونة (على سبيل المثال، للتعامل مع التغييرات المستقبلية في المتطلبات)
- تقليل المساحة - تقليل حجم ملفات exe
- القدرة على التكامل (على سبيل المثال القدرة على دمج المكونات)
- التدويل والتوطين
- التوافق التشغيلي
- القضايا القانونية والترخيصية أو إمكانية تجنب انتهاك براءة الاختراع
- إمكانية الصيانة (على سبيل المثال متوسط الوقت اللازم للإصلاح - MTTR)
- إدارة
- تحسين الذاكرة
- قابلية التعديل
- طوبولوجيا الشبكة
- المصدر المفتوح
- قابلية التشغيل
- الأداء / زمن الاستجابة ( هندسة الأداء )
- التوافق مع المنصة
- الخصوصية (الامتثال لقوانين الخصوصية )
- قابلية النقل
- الجودة (على سبيل المثال، الأخطاء المكتشفة، الأخطاء التي تم تسليمها، فعالية إزالة الأخطاء )
- قابلية القراءة
- الموثوقية (على سبيل المثال متوسط الوقت بين الأعطال/إلى حدوثها – MTBF/MTTF)
- التقارير
- صمود
- قيود الموارد (سرعة المعالج، والذاكرة، ومساحة القرص، ونطاق الشبكة، وما إلى ذلك)
- وقت الاستجابة
- إمكانية إعادة الاستخدام
- المتانة
- السلامة أو عامل الأمان
- قابلية التوسع (أفقيًا، رأسيًا)
- الأمن (السيبرانى والمادى)
- البرامج والأدوات والمعايير وما إلى ذلك. التوافق
- استقرار
- قابلية الدعم
- قابلية الاختبار
- معدل الإنتاج
- الشفافية
- قابلية الاستخدام (العوامل البشرية) حسب مجتمع المستخدمين المستهدف
- اختبار الحجم
انظر أيضا
- ايزو/اي اي سي 25010 :2011
- اتحاد جودة برمجيات تكنولوجيا المعلومات
- ايزو/اي اي سي 9126
- فرو
- تحليل المتطلبات
- متطلبات قابلية الاستخدام
- إطار عمل المتطلبات غير الوظيفية
- المتطلبات ذات الأهمية المعمارية
- نقاط SNAP
مراجع
- ^ تشن، ليان بينج؛ علي بابار، محمد؛ نسيبة، بشار (2013). "توصيف المتطلبات ذات الأهمية المعمارية". IEEE Software . 30 (2): 38–45. doi :10.1109/MS.2012.174. hdl : 10344/3061 . S2CID 17399565.
- ^ أساسيات هندسة البرمجيات: نهج هندسي . 2020. ISBN 978-1492043454.
- ^ ستيلمان، أندرو؛ جرين، جينيفر (2005). إدارة مشروعات البرمجيات التطبيقية. أوريلي ميديا . ص. 113. رقم ISBN 978-0-596-00948-9. تم أرشفة النسخة الأصلية في 2015-02-09.
- ^ أمبلر، سكوت. "المتطلبات التقنية (غير الوظيفية): مقدمة عن Agile". Agile Modelling . Ambysoft Inc. تم الاسترجاع في 5 أكتوبر 2018 .
- ^ Wiegers, Karl; Beatty, Joy (2013). Software Requirements, Third Edition . Microsoft Press. ISBN 978-0-7356-7966-5.
- ^ يونغ، رالف ر. (2001). ممارسات المتطلبات الفعالة . أديسون ويسلي. ISBN 978-0-201-70912-4.
- ^ زيمرمان، أولاف؛ ستوكر، ميركو (2021). مستودع ممارسات التصميم. LeanPub.
- ^ جلينز، مارتن (2008). "نهج قائم على المخاطر وموجه نحو القيمة لمتطلبات الجودة" (ملف PDF) . IEEE Software . 25 (2): 34–41. doi :10.1109/MS.2008.31. S2CID 19015424.
روابط خارجية
- بيتر إل إتش إيدي (2005). "القياس الكمي وإمكانية تتبع المتطلبات". CiteSeerX 10.1.1.95.6464 .
- دالبي، جون. "المتطلبات غير الوظيفية". Csc.calpoly.edu . تم الاسترجاع في 3 أكتوبر 2017 .
- "نمذجة الجوانب غير الوظيفية في الهندسة المعمارية الموجهة نحو الخدمة" (PDF) . Cs.umb.edu . مؤرشف من الأصل (PDF) في 24 يوليو 2011 . تم الاسترجاع 3 أكتوبر 2017 .
- "المتطلبات غير الوظيفية: هل تساعد قصص المستخدم حقًا؟". Methodsandtools.com . تم الاسترجاع في 3 أكتوبر 2017 .
- "المتطلبات غير الوظيفية موجودة هنا - CISQ - اتحاد جودة برمجيات تكنولوجيا المعلومات". it-cisq.org . تم الاسترجاع في 3 أكتوبر 2017 .
- "هل تلبي هياكل البرمجيات المتطلبات الوظيفية الإضافية أو غير الوظيفية؟". 19 نوفمبر 2020.
