تطوير البرمجيات SMC-S-012
يهدف معيار "SMC-S-012 لتطوير البرمجيات"، الصادر عن مركز أنظمة الفضاء والصواريخ التابع لقيادة الفضاء في القوات الجوية الأمريكية، إلى تحديد متطلبات موحدة لأنشطة تطوير البرمجيات للأنظمة بالغة الأهمية. ويستند هذا المعيار إلى معيار "MIL-STD-498 المعيار العسكري: تطوير البرمجيات والتوثيق"، الذي وضعته وزارة الدفاع الأمريكية.

ينطبق هذا المعيار على تطوير الأنظمة المهمة للمهمة والتي تشمل البرامج (مثل أنظمة الأجهزة والبرمجيات)، والأنظمة التي تعتمد على البرامج فقط، ومنتجات البرامج المستقلة. يمكن تطبيق هذا المعيار على المقاولين الذين يقومون بتطوير البرامج أو على الوكالات الداخلية التي تقوم بالشراء. يمكن تعديل هذا المعيار لكل فئة من البرامج التي ينطبق عليها.
هذا المعيار مستقل عن أي طريقة أو أداة محددة لتطوير البرمجيات. لا يوجد متطلب في هذا المعيار يفرض استخدام أي طريقة أو أداة معينة.
يُطلق على الإطار المستخدم لتنظيم الأنشطة البرمجية الرئيسية في عملية تطوير البرمجيات اسم نموذج دورة حياة تطوير البرمجيات.
- يجب على المطور اختيار نموذج أو نماذج دورة حياة تطوير البرمجيات المناسبة للبرمجيات التي يتم تطويرها. يمكن أن يحتوي مشروع برمجي على نماذج متعددة لدورة حياة تطوير البرمجيات لفئات مختلفة من البرمجيات المطورة.
- يجب على المطور تسجيل نموذج أو نماذج دورة حياة تطوير البرمجيات المحددة في قالب "خطة تطوير البرمجيات" المرفق.
- يجب على المطور تقديم وصف لكل نموذج دورة حياة تطوير البرمجيات الذي سيتم استخدامه في المشروع في خطة تطوير البرمجيات.
- بالنسبة لكل نموذج دورة حياة تطوير برمجيات سيتم استخدامه، يجب على المطور أن يحدد في خطة تطوير البرمجيات ما يلي:
- في أي نقطة في دورة حياة تطوير النظام سيتم استخدامه؟
- في أي الظروف سيتم استخدامه؟
- ما هي عناصر البرنامج التي يجب استخدامها
- يجب على المطور إنشاء عملية تطوير برمجيات تتوافق مع متطلبات العقد.
- ينبغي أن تتضمن عملية تطوير البرمجيات الأنشطة الرئيسية والعمليات المتكاملة التالية:
- تخطيط المشاريع والتحكم فيها
- إنشاء بيئة تطوير البرمجيات
- تحليل متطلبات النظام
- تصميم بنية النظام
- تحليل متطلبات البرمجيات
- هندسة وتصميم البرمجيات
- تنفيذ البرمجيات واختبار الوحدات
- تكامل الوحدة واختبارها
- اختبار تأهيل عناصر البرمجيات
- تكامل واختبار عناصر البرمجيات والأجهزة
- اختبار تأهيل النظام
- إعداد البرنامج للانتقال إلى العمليات
- إعداد البرنامج للانتقال إلى الصيانة
- العمليات المتكاملة:
- إدارة تكوين البرامج
- مراجعات الأقران للبرامج وتقييمات المنتجات
- ضمان جودة البرمجيات
- الإجراء التصحيحي
- المراجعات الفنية والإدارية المشتركة
- إدارة مخاطر البرمجيات
- قياس البرمجيات
- الأمن والخصوصية
- إدارة أعضاء فريق البرمجيات
- واجهة مع وكلاء IV&V للبرمجيات
- التنسيق مع المطورين الشركاء
- تحسين عمليات المشروع
قد تتداخل هذه الأنشطة المهمة، أو يتم تنفيذها بشكل متكرر، أو يتم تنفيذها بشكل مختلف. يتعلق الأمر بعناصر مختلفة من البرنامج ولا يتم تنفيذه بالضرورة بالترتيب المذكور أعلاه.
- ينبغي وصف عمليات تطوير البرمجيات الخاصة بالمطور في خطة تطوير البرمجيات.
تتضمن المتطلبات العامة لتطوير البرامج متطلبات عامة للمطورين لتلبية المتطلبات التفصيلية المحددة في هذا المعيار. تتضمن الملحق الخاص بالمعيار (الملحق H.1) متطلبات أكثر تفصيلاً.
- طرق تطوير البرمجيات: يجب على المطور استخدام طرق منهجية وموثقة لجميع أنشطة تطوير البرمجيات. ينبغي تحديد طرق تطوير البرمجيات المنهجية هذه في خطة تطوير البرمجيات.
- معايير منتجات البرمجيات: يقوم المطور بتطوير المعايير لتمثيل المتطلبات والهندسة والتصميم والترميز وحالات الاختبار وإجراءات الاختبار ونتائج الاختبار. تتم تحديد معايير تمثيل المنتج هذه في خطة تطوير البرنامج. يقوم المطور بتطبيق المعايير المحددة في خطة تطوير البرمجيات لتمثيل المتطلبات والهندسة المعمارية والتصميم والترميز وحالات الاختبار وإجراءات الاختبار ونتائج الاختبار.
- إمكانية التتبع: توفر إمكانية التتبع علاقة بين محتويات منتجين مرتبطين، على سبيل المثال، العلاقة بين كل متطلب برمجي ومكونات تصميم البرنامج التي تلبي المتطلب. تضمن إمكانية التتبع ثنائي الاتجاه وجود علاقة ثنائية الاتجاه بين محتويات منتجين مرتبطين. ومن الأمثلة على هذه العلاقة ثنائية الاتجاه إمكانية التتبع من كل متطلب برمجي إلى مكونات تصميم البرنامج التي تلبي المتطلب، وإمكانية التتبع من كل مكون تصميمي إلى متطلبات البرنامج التي يلبيها مكون التصميم. الغرض من متطلبات التتبع ثنائي الاتجاه في هذا القسم هو التتبع صعودًا وهبوطًا لضمان ما يلي:
- إثبات أن جميع المتطلبات تم تخصيصها للمكونات وتنفيذها واختبارها
- إثبات عدم وجود متطلبات إضافية
- توفير المعلومات حول تأثير التغييرات المقترحة
- توفير معلومات حول تأثير المشاكل المكتشفة
- توفير المعلومات لصيانة البرمجيات.
- منتجات برمجية قابلة لإعادة الاستخدام: يجب على المطور تحديد منتجات برمجية قابلة لإعادة الاستخدام والتي سيتم استخدامها لتلبية متطلبات العقد. ينبغي تحديد نطاق البحث عن منتج برمجي قابل لإعادة الاستخدام في خطة تطوير البرنامج. يجب على المطور تقييم منتجات البرامج القابلة لإعادة الاستخدام والتي سيتم استخدامها لتلبية متطلبات العقد. ينبغي أن تكون المعايير المستخدمة لتقييم منتج البرنامج القابل لإعادة الاستخدام كما هو محدد في خطة تطوير البرنامج. يتعين على المطور استخدام معايير التقييم الواردة في الملحق الخاص بالمعيار على الأقل لاختيار منتجات البرامج القابلة لإعادة الاستخدام (الملحق ب). قد تختلف معايير التقييم باختلاف فئات البرامج المختلفة والمتطلبات الحرجة المختلفة. يجب أن تفي منتجات البرامج القابلة لإعادة الاستخدام المحددة بمتطلبات حقوق البيانات المذكورة في العقد. يمكن استخدام منتج البرنامج القابل لإعادة الاستخدام كما هو أو يمكن تعديله واستخدامه لتلبية المتطلبات بالكامل أو جزء من المتطلبات.
تتمتع مؤسستنا، التي تحاول دعم الشركات من كل قطاع بمجموعة واسعة من دراسات الاختبار والقياس والتحليل والتقييم التي أجرتها لسنوات، بطاقم عمل قوي يتابع عن كثب التطورات في العالم في مجال العلوم والتكنولوجيا ويحسن نفسه باستمرار. وفي هذا السياق، يتم أيضًا توفير خدمات الاختبار للشركات وفقًا لمعيار "تطوير البرمجيات SMC-S-012".