هندسة المتطلبات
في نموذج الشلال ، [ 1 ] تُقدَّم هندسة المتطلبات على أنها المرحلة الأولى من عملية تطوير البرمجيات. أما أساليب التطوير اللاحقة، بما في ذلك عملية التطوير الموحدة العقلانية (RUP) للبرمجيات، فتفترض أن هندسة المتطلبات تستمر طوال دورة حياة النظام.
إدارة المتطلبات ، وهي وظيفة فرعية من ممارسات هندسة النظم، مدرجة أيضًا في كتيبات المجلس الدولي لهندسة النظم (INCOSE).
أنشطة
تتنوع الأنشطة التي ينطوي عليها هندسة المتطلبات بشكل كبير، وذلك تبعًا لنوع النظام الذي يتم تطويره والممارسات المحددة للمنظمة المعنية. [ 2 ] وقد تشمل هذه الأنشطة ما يلي:
- بدء تحديد المتطلبات أو استخلاص المتطلبات - يجتمع المطورون وأصحاب المصلحة؛ ويتم الاستفسار من هؤلاء الأخيرين عن احتياجاتهم ورغباتهم فيما يتعلق بمنتج البرمجيات.
- تحليل المتطلبات والتفاوض بشأنها - يتم تحديد المتطلبات (بما في ذلك المتطلبات الجديدة في حال كان التطوير تكراريًا)، ويتم حل أي تعارضات مع أصحاب المصلحة. تُستخدم الأدوات الكتابية والرسومية (تُستخدم الأخيرة عادةً في مرحلة التصميم، ولكن يجدها البعض مفيدة في هذه المرحلة أيضًا) بنجاح كأدوات مساعدة. أمثلة على أدوات التحليل الكتابية: حالات الاستخدام وقصص المستخدم . أمثلة على الأدوات الرسومية: لغة النمذجة الموحدة ( UML) ولغة نمذجة دورة الحياة (LML).
- نمذجة الأنظمة – تتطلب بعض المجالات الهندسية (أو حالات محددة) تصميم المنتج ونمذجته بالكامل قبل البدء في بنائه أو تصنيعه. لذا، يجب تنفيذ مرحلة التصميم مسبقًا. على سبيل المثال، يجب إعداد مخططات المبنى قبل الموافقة على أي عقد وتوقيعه. قد تستخدم العديد من المجالات لغة النمذجة الخطية (LML) لاستخلاص نماذج النظام ، بينما قد تستخدم مجالات أخرى لغة النمذجة الموحدة (UML ). ملاحظة: في العديد من المجالات، مثل هندسة البرمجيات، تُصنف معظم أنشطة النمذجة ضمن أنشطة التصميم وليس ضمن أنشطة هندسة المتطلبات.
- مواصفات المتطلبات – تُوثَّق المتطلبات في وثيقة رسمية تُسمى مواصفات المتطلبات (RS)، والتي لا تُصبح رسمية إلا بعد التحقق من صحتها. يمكن أن تحتوي مواصفات المتطلبات على معلومات مكتوبة ورسومية (نماذج) عند الضرورة. مثال: مواصفات متطلبات البرمجيات (SRS).
- التحقق من صحة المتطلبات – التأكد من اتساق المتطلبات والنماذج الموثقة وتلبيتها لاحتياجات أصحاب المصلحة. لا تصبح وثيقة المتطلبات رسمية إلا بعد اجتياز المسودة النهائية لعملية التحقق.
- إدارة المتطلبات - إدارة جميع الأنشطة المتعلقة بالمتطلبات منذ البداية، والإشراف عليها أثناء تطوير النظام، وحتى بعد استخدامه (على سبيل المثال، التغييرات، والتوسعات، وما إلى ذلك).
يتم عرض هذه الأنشطة أحيانًا على أنها مراحل زمنية، على الرغم من أنه في الواقع العملي يوجد تداخل كبير بين هذه الأنشطة.
لقد ثبت بوضوح أن هندسة المتطلبات تساهم في نجاح مشاريع البرمجيات. [ 4 ]
مشاكل
عرضت دراسة محدودة في ألمانيا المشكلات المحتملة في تطبيق هندسة المتطلبات، وسألت المشاركين عما إذا كانوا يوافقون على أنها مشكلات حقيقية. لم تُعرض النتائج على أنها قابلة للتعميم، لكنها أشارت إلى أن المشكلات الرئيسية التي تم رصدها هي عدم اكتمال المتطلبات، وتغير الأهداف باستمرار، وضيق الوقت، بينما كانت المشكلات الأقل أهمية هي قصور التواصل، ونقص إمكانية التتبع، والمشكلات المصطلحية، وعدم وضوح المسؤوليات. [ 5 ]
نقد
يُعتقد أن هيكلة المشكلة، وهي جانب أساسي من هندسة المتطلبات، قد تُقلل من أداء التصميم. [ 6 ] تشير بعض الأبحاث إلى أنه في حال وجود قصور في عملية هندسة المتطلبات، مما يؤدي إلى حالة لا توجد فيها متطلبات، فقد يتم إنشاء متطلبات برمجية بشكل وهمي، مما يُشوّه قرارات التصميم على أنها متطلبات. [ 7 ]
انظر أيضاً
- قائمة أدوات هندسة المتطلبات
- تحليل المتطلبات ، وهندسة المتطلبات مع التركيز على هندسة البرمجيات.
- مجموعة أخصائيي هندسة المتطلبات (RESG)
- مجلس هندسة المتطلبات الدولية (IREB)
- المجلس الدولي لهندسة النظم (INCOSE)
- IEEE 12207 "هندسة النظم والبرمجيات - عمليات دورة حياة البرمجيات"
- TOGAF (الفصل 17)
- مفهوم العمليات (ConOps)
- إدارة العمليات
- متطلبات البرامج
- مواصفات متطلبات البرمجيات
- مجموعة معارف هندسة البرمجيات (SWEBOK)
- مواصفات التصميم
- المواصفات (المعيار الفني)
- المواصفات الرسمية
- جودة البرمجيات
- إدارة الجودة
- إدارة النطاق
مراجع
- ↑ رويس، دبليو دبليو (1970). إدارة تطوير أنظمة البرمجيات الكبيرة: المفاهيم والتقنيات (ملف PDF) . المؤتمر الدولي لهندسة البرمجيات (ICSE) '87. وقائع المؤتمر الدولي التاسع لهندسة البرمجيات . الصفحات 1-9 .
- ↑ سومرفيل، إيان (2009). هندسة البرمجيات ( الطبعة التاسعة). أديسون-ويسلي . ISBN 978-0-13-703515-1.
- ↑ "الكشف عن المتطلبات باستخدام مخططات فئات UML الجزء 1" . tynerblain.com . 7 مارس 2008. تم الاطلاع عليه في 14 مارس 2018 .
- ↑ هوفمان، إتش إف؛ لينر، إف. (2001). "هندسة المتطلبات كعامل نجاح في مشاريع البرمجيات". مجلة IEEE للبرمجيات . 18 (4): 58-66 . رمز Bibcode : 2001ISoft..18d..58H . doi : 10.1109/MS.2001.936219 . ISSN 0740-7459 .
- ↑ مينديز فرنانديز، دانيال؛ فاغنر، ستيفان (2015). "تحديد المشكلة في هندسة المتطلبات: تصميم لمجموعة عالمية من الدراسات الاستقصائية والنتائج الأولية من ألمانيا". تكنولوجيا المعلومات والبرمجيات . 57 : 616-643 . arXiv : 1611.04976 . doi : 10.1016/j.infsof.2014.05.008 . S2CID 1924926 .
- ↑ رالف، بول؛ موهاناني، راهول (مايو 2015). "هل هندسة المتطلبات بطبيعتها غير منتجة؟" . IEEE. doi : 10.13140/2.1.3831.6321 .
{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal= - ↑ رالف، ب . (سبتمبر 2013). "وهم المتطلبات في تطوير البرمجيات". هندسة المتطلبات . 18 (3): 293-296 . arXiv : 1304.0116 . Bibcode : 2013AIPC.1516..293R . doi : 10.1007/s00766-012-0161-4 . S2CID 11499083 .
روابط خارجية
- هندسة النظم والبرمجيات - عمليات دورة الحياة - هندسة المتطلبات . 2011. ص 1-94 . doi : 10.1109/IEEESTD.2011.6146379 . ISBN 978-0-7381-6591-2.(يحل هذا المعيار محل IEEE 830–1998 وIEEE 1233–1998 وIEEE 1362-1998 - https://standards.ieee.org/ieee/29148/5289/ ")
- مجموعة معارف هندسة النظم
- دليل إدارة هندسة المتطلبات الصادر عن إدارة الطيران الفيدرالية
- مجلس هندسة المتطلبات الدولية (IREB)
- مكتبة موارد IBM Rational من IEEE Spectrum
- هندسة النظم
- متطلبات البرامج
- معايير IEEE
- معايير ISO/IEC
