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

متطلبات البرمجيات [ 1 ] لنظام ما هي وصف لما يجب أن يفعله النظام، والخدمة أو الخدمات التي يقدمها، والقيود المفروضة على تشغيله. يُعرّف معجم مصطلحات هندسة البرمجيات القياسي التابع لمعهد مهندسي الكهرباء والإلكترونيات (IEEE) المتطلبات على النحو التالي: [ 2 ]

  1. شرط أو قدرة يحتاجها المستخدم لحل مشكلة أو تحقيق هدف
  2. شرط أو قدرة يجب أن يستوفيها أو يمتلكها نظام أو أحد مكونات النظام للوفاء بعقد أو معيار أو مواصفات أو أي وثيقة أخرى مفروضة رسميًا
  3. تمثيل موثق لحالة أو قدرة كما في 1 أو 2

يمكن تقسيم الأنشطة المتعلقة بالعمل مع متطلبات البرمجيات بشكل عام إلى استخلاص وتحليل وتحديد وإدارة . [ 3 ]

تجدر الإشارة إلى أن عبارة " متطلبات البرمجيات" تُستخدم أيضًا في ملاحظات إصدار البرمجيات لتوضيح المتطلبات اللازمة لبناء/تثبيت/استخدام برنامج معين، وذلك حسب حزمة البرمجيات . [ 1 ]

الاستنباط

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

تحليل

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

تُعدّ عملية فرز المتطلبات أو تحديد أولوياتها نشاطًا آخر يتبع التحليل غالبًا. [ 5 ] يرتبط هذا بتطوير البرمجيات الرشيقة في مرحلة التخطيط، على سبيل المثال باستخدام أسلوب "بوكر التخطيط" ، إلا أنه قد يختلف باختلاف سياق وطبيعة المشروع ومتطلباته أو المنتج/الخدمة قيد التطوير.

مواصفة

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

تصديق

تتضمن عملية التحقق تقنيات للتأكد من تحديد مجموعة المتطلبات الصحيحة لبناء حل يلبي أهداف العمل للمشروع، واكتشاف الأخطاء في المتطلبات وتصحيحها قبل التنفيذ. [ 6 ]

إدارة

تتغير المتطلبات أثناء المشاريع، وغالبًا ما تكون كثيرة. [ 7 ] وتصبح إدارة هذا التغيير أمرًا بالغ الأهمية لضمان بناء البرمجيات المناسبة لأصحاب المصلحة.

دعم الأدوات لهندسة المتطلبات

أدوات لاستخلاص المتطلبات وتحليلها والتحقق من صحتها

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

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

أدوات تحديد المتطلبات

يمكن إنشاء وثيقة مواصفات متطلبات البرمجيات ( SRS) باستخدام برامج عامة مثل معالج النصوص، أو باستخدام إحدى الأدوات المتخصصة. تتيح بعض هذه الأدوات استيراد وثائق SRS وتعديلها وتصديرها ونشرها. وقد يكون من المفيد إنشاء وثائق SRS باتباع هيكل ومنهجية موحدة، مثل ISO/IEC/IEEE 29148:2018. وبالمثل، قد تستخدم البرامج معيارًا لاستيراد المتطلبات أو تصديرها (مثل ReqIF )، أو قد لا تسمح بذلك إطلاقًا.

أدوات التحقق من وثائق المتطلبات

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

أدوات مقارنة المتطلبات

تقارن الأدوات من هذا النوع مجموعتين من المتطلبات وفقًا لهيكل ومعيار مستند متوقعين.

أدوات لدمج وتحديث المتطلبات

تتيح هذه الأدوات دمج وتحديث مستندات المتطلبات.

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

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

أدوات هندسة متطلبات البرمجيات أو الأنظمة القائمة على النماذج

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

يعتمد مستوى الرسمية والتعقيد على المنهجية الأساسية المستخدمة (على سبيل المثال، i* أكثر رسمية بكثير من SysML ، وأكثر رسمية من UML ).

أدوات هندسة المتطلبات العامة

قد توفر الأدوات في هذه الفئة مزيجًا من الإمكانيات المذكورة سابقًا، بالإضافة إلى إمكانيات أخرى مثل إدارة تكوين المتطلبات والتعاون. وتختلف الميزات المُطبقة فعليًا ومدى الالتزام بالمعايير من منتج لآخر.

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

انظر أيضاً

مراجع

  1. 1 2 "إصدار نواة لينكس 5.x - وثائق نواة لينكس" . www.kernel.org . تاريخ الاسترجاع: 25 مارس 2021 .
  2. جمعية مهندسي الكهرباء والإلكترونيات (IEEE) (1990). "مسرد مصطلحات هندسة البرمجيات القياسي من IEEE" . معيار IEEE . مؤرشف من الأصل بتاريخ 15 يونيو 2018. تم الاطلاع عليه بتاريخ 11 يناير 2013 .
  3. "دليل مجموعة معارف هندسة البرمجيات" . جمعية مهندسي الكهرباء والإلكترونيات (IEEE). مؤرشف من الأصل في 7 ديسمبر 2014. تم الاطلاع عليه في 11 يناير 2013 .
  4. دار، حفصة؛ لالي، محمد إكرام الله؛ أشرف، حميرا؛ رمضان، محمد؛ أمجد، تهمينة؛ شهزاد، باسط (2018). "دراسة منهجية حول تقنيات استخلاص متطلبات البرمجيات وتحدياتها في تطوير تطبيقات الهاتف المحمول" . IEEE Access . 6 : 63859-63867 . Bibcode : 2018IEEEA...663859D . doi : 10.1109/access.2018.2874981 . ISSN 2169-3536 . 
  5. ديفيس، آلان مارك. (2005). إدارة المتطلبات الكافية : حيث يلتقي تطوير البرمجيات بالتسويق . نيويورك: دار نشر دورست هاوس. ISBN  0-932633-64-1. OCLC 57211148 . 
  6. عطوم، عيسى؛ بكليزي، محمود خالد؛ السمادي، عزت؛ عطوم، أحمد علي؛ الحرش، طه؛ أبابنة، جعفر؛ المالكي، جميل؛ الشهراني، سعيد مسعود (2021). "تحديات ضمان جودة متطلبات البرمجيات والتحقق منها: مراجعة منهجية للأدبيات" . IEEE Access . 9 : 137613-137634 . ​​Bibcode : 2021IEEEA...9m7613A . doi : 10.1109/ACCESS.2021.3117989 .
  7. ديفيس، آلان م.؛ نورمولياني، نور؛ بارك، سويونغ؛ زوغي، ديدار (2008). "تغيير المتطلبات: ما البديل؟". المؤتمر الدولي السنوي الثاني والثلاثون لبرمجيات وتطبيقات الحاسوب التابع لمعهد مهندسي الكهرباء والإلكترونيات (IEEE) . الصفحات 635-638 . Bibcode : 2008cmps.conf..134D . doi : 10.1109/COMPSAC.2008.216 . hdl : 10453/10742 . ISBN  978-0-7695-3262-2.
  8. "7 أدوات لجمع متطلبات برمجية أفضل" . 22 يوليو 2015.
  9. لابلانت، فيليب أ. (2009). "هندسة المتطلبات للبرمجيات والأنظمة". مطبعة سي آر سي.{{cite web}}: مفقود أو فارغ |url=( مساعدة )

للمزيد من القراءة