مواصفات متطلبات البرمجيات

مواصفات متطلبات البرمجيات ( SRS ) هي وصف لنظام برمجي قيد التطوير . وهي مصممة على غرار مواصفات متطلبات الأعمال (CONOPS) . تحدد مواصفات متطلبات البرمجيات المتطلبات الوظيفية وغير الوظيفية ، وقد تتضمن مجموعة من حالات الاستخدام التي تصف تفاعلات المستخدم التي يجب أن يوفرها البرنامج للمستخدم لضمان تجربة استخدام مثالية.

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

قد يكون SRS أحد أوصاف عناصر البيانات القابلة للتسليم في العقد [ 3 ] أو قد يحتوي على أشكال أخرى من المحتوى الذي تفرضه المنظمة.

عادةً ما يتم كتابة وثيقة متطلبات النظام (SRS) بواسطة كاتب تقني ، أو مهندس أنظمة ، أو مبرمج برامج . [ 4 ]

تاريخ

تُستخدم مواصفات متطلبات البرمجيات بالفعل في عمليات تطوير البرمجيات منذ عام 1975. [ 5 ]

تمّ وضع الغرض من مواصفات متطلبات البرمجيات ومحتواها بشكل رسمي عام 1983 من قِبل معهد مهندسي الكهرباء والإلكترونيات (IEEE) . نُشر المعيار عام 1984 تحت اسم IEEE-830-1984، وحصل على موافقة المعهد الوطني الأمريكي للمعايير (ANSI) . [ 6 ] نُقّح المعيار عامي 1993 و1998، قبل أن يُستبدل بمعيار دولي. [ 7 ] [ 8 ] هدف هذا المعيار إلى توفير معايير لمواصفات متطلبات برمجيات جيدة، وتوصيات بشأن محتواها. كما أقرّ بفوائد النماذج الأولية في هندسة المتطلبات، واقترح مثالاً على هيكلها وعدة نماذج مختلفة.

حلّ معيار ISO /IEC/IEEE 29148 "هندسة النظم والبرمجيات - عمليات دورة الحياة - هندسة المتطلبات" محلّ معيار IEEE 830 في عام 2011. [ 8 ] ويعود تاريخ المراجعة الحالية إلى عام 2018. يُعدّ هذا المعيار أوسع نطاقًا، إذ يشمل أيضًا معايير جودة المتطلبات، وعمليات إدارة المتطلبات، ومواصفات متطلبات الأعمال (BRS)، بالإضافة إلى مواصفات متطلبات أصحاب المصلحة (StRS). [ 9 ] ويقترح هيكلًا نموذجيًا مُعدّلًا بعض الشيء.

بناء

فيما يلي مثال على تنظيم نظام متطلبات النظام: [ 10 ]

  1. غاية
    1. التعريفات
    2. خلفية
    3. نظرة عامة على النظام
    4. مراجع
  2. وصف عام
    1. منظور المنتج
      1. واجهات النظام
      2. واجهات المستخدم
      3. واجهات الأجهزة
      4. واجهات البرامج
      5. واجهات الاتصال
      6. قيود الذاكرة
    2. قيود التصميم
      1. العمليات
      2. متطلبات تكييف الموقع
    3. وظائف المنتج
    4. خصائص المستخدم
    5. القيود والافتراضات والتبعيات
  3. متطلبات محددة
    1. متطلبات الواجهة الخارجية
    2. متطلبات الأداء
    3. متطلبات قاعدة البيانات المنطقية
    4. سمات نظام البرمجيات
      1. مصداقية
      2. التوافر
      3. حماية
      4. قابلية الصيانة
      5. سهولة الحمل
    5. المتطلبات الوظيفية
      1. التقسيم الوظيفي
      2. الوصف الوظيفي
      3. وصف عنصر التحكم
    6. خصائص البيئة
      1. الأجهزة
      2. الأجهزة الطرفية
      3. المستخدمون
    7. آخر

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

جودة المتطلبات

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

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

انظر أيضاً

مراجع

  1. بورك، ب.؛ فيرلي، ر. إي. (2014). "دليل هيئة معارف هندسة البرمجيات (SWEBOK)" . جمعية مهندسي الكهرباء والإلكترونيات (IEEE). مؤرشف من الأصل في 28 ديسمبر 2014. تم الاطلاع عليه في 17 يوليو 2014 .
  2. بريسمان، روجر (2010). هندسة البرمجيات: منهج عملي . بوسطن: ماكجرو هيل. ص 123. ISBN  9780073375977.
  3. "DI-IPSC-81433A، وصف عنصر البيانات، مواصفات متطلبات البرمجيات (SRS)" . everyspec.com. 15-12-1999 . تم الاطلاع عليه بتاريخ 04-04-2013 .
  4. دون لي في الابن "كتابة مواصفات متطلبات البرمجيات (SRS)" . 2010.
  5. رامامورثي، سي في؛ هو، إس إف (1975-04-01). "اختبار البرمجيات الكبيرة باستخدام أنظمة تقييم البرمجيات الآلية" . إشعارات ACM SIGPLAN . 10 (6): 382-394 . doi : 10.1145/390016.808461 . ISSN 0362-1340 . 
  6. "جمعية معايير IEEE - IEE-830-1984" . جمعية معايير IEEE . تم الاطلاع عليه بتاريخ 30-12-2024 .
  7. "جمعية معايير IEEE - IEEE 839-1993" . جمعية معايير IEEE . تم الاطلاع عليه بتاريخ 30-12-2024 .
  8. 1 2 "معيار IEEE 830-1998 الصادر عن جمعية معايير IEEE" . جمعية معايير IEEE . تاريخ الاسترجاع: 30 ديسمبر 2024 .
  9. 1 2 3 4 "ISO/IEC/IEEE 29148:2018" . المنظمة الدولية للمقاييس . تم الاطلاع عليه بتاريخ 30-12-2024 .
  10. ستيلمان، أندرو وغرين، جينيفر (2005). إدارة مشاريع البرمجيات التطبيقية . دار نشر أورايلي ميديا، ص 308. ISBN  978-0596009489.
  11. 1 2 فيمر، هينينغ؛ مينديز فرنانديز، دانيال؛ فاغنر، ستيفان؛ إيدر، سيباستيان (2017). "ضمان الجودة السريع باستخدام مؤشرات متطلبات البرمجيات". مجلة الأنظمة والبرمجيات . 123 : 190-213 . arXiv : 1611.08847 . doi : 10.1016/j.jss.2016.02.047 . S2CID 9602750 . 
  • دليل معهد مهندسي الكهرباء والإلكترونيات (IEEE) لمواصفات متطلبات البرمجيات . 1984. doi : 10.1109/IEEESTD.1984.119205 . ISBN 978-0-7381-4418-4.
  • الممارسات الموصى بها من قِبل معهد مهندسي الكهرباء والإلكترونيات (IEEE) لمواصفات متطلبات البرمجيات . 1994. doi : 10.1109/IEEESTD.1994.121431 . ISBN 978-0-7381-4723-9.
  • الممارسات الموصى بها من قِبل معهد مهندسي الكهرباء والإلكترونيات (IEEE) لمواصفات متطلبات البرمجيات . 1998. doi : 10.1109/IEEESTD.1998.88286 . ISBN 978-0-7381-0332-7. S2CID 8674647 . 
  • هندسة النظم والبرمجيات - عمليات دورة الحياة - هندسة المتطلبات . ISO/IEC/IEEE 29148:2018(E). 2018. ص 1-94 . doi : 10.1109/IEEESTD.2011.6146379 . ISBN  978-0-7381-6591-2.(يحل هذا المعيار محل معايير IEEE 830-1998 وIEEE 1233-1998 وIEEE 1362-1998 -")
  • ليفينغويل، دين؛ ويدريغ، دون (2003). إدارة متطلبات البرمجيات: منهج دراسة الحالة (  الطبعة الثانية). أديسون-ويسلي. ISBN 978-0321122476.
  • غوتسدينر، إيلين (2009). مُنشِّط ذاكرة متطلبات البرمجيات: دليل مكتبي لمساعدة فرق العمل التجارية والتقنية على تطوير المتطلبات وإدارتها . أديسون-ويسلي. ISBN 978-1576811146.
  • ويغرز، كارل؛ بيتي، جوي (2013). متطلبات البرمجيات، الطبعة الثالثة . مطبعة مايكروسوفت. ISBN 9780735679665.
  • "نموذج IEEE SRS - rick4470/IEEE-SRS-Tempate" . GitHub . تم الاطلاع عليه بتاريخ 27 ديسمبر 2017 .
  • كيفية كتابة مواصفات متطلبات البرمجيات لتوفير التكاليف؟

[ 1 ]

  1. تافي، إد. "السيد" . ذا بريدجر . تم الاسترجاع في 2019-02-02 .