استاندارد DOD-STD-2167A، با عنوان «توسعه نرمافزار سیستمهای دفاعی»، یک استاندارد وزارت دفاع آمریکا بود که در ۲۹ فوریه ۱۹۸۸ منتشر شد. این استاندارد، الزامات یکپارچهای برای توسعه نرمافزار در سراسر چرخه حیات سیستم ارائه میکرد. این نسخه، انعطافپذیری بیشتری به پیمانکاران میداد و بازنگری قابل توجهی از نسخه قبلی (DOD-STD-2167) بود که در ۴ ژوئن ۱۹۸۵ منتشر شده بود.
در ۵ دسامبر ۱۹۹۴، این استاندارد با MIL-STD-498 جایگزین شد که سه استاندارد DOD-STD-2167A، DOD-STD-7935A و DOD-STD-2168 را در یک سند ادغام کرد و به برخی از انتقادات فروشندگان پاسخ داد.
انتقادات
یکی از انتقادات اصلی به این استاندارد، گرایش آن به مدل آبشاری بود. اگرچه سند بیان میکرد که پیمانکار مسئول انتخاب روشهای توسعه نرمافزار است، اما الزام به انجام «بررسیها و ممیزیهای رسمی» باعث میشد فروشندگان پیش از آغاز اجرا، سیستم را طراحی و مستندسازی کنند.
انتقاد دیگر، تمرکز بیش از حد بر اسناد طراحی به جای استفاده از ابزارهای مهندسی نرمافزار با کمک کامپیوتر (CASE) بود. این موضوع باعث میشد تطابق اسناد طراحی با محصول نهایی دشوار شود.
پیشینه و جانشینان
استانداردهای DOD-STD-2167 و DOD-STD-2168، که به اشتباه به نامهای «MIL-STD-2167» و «MIL-STD-2168» شناخته میشدند، الزامات توسعه سیستمهای کامپیوتری نظامی را مشخص میکردند. DOD-STD-2167 به مستندسازی پروژههای نرمافزاری «مهم برای مأموریت» میپرداخت و DOD-STD-2168 استاندارد تضمین کیفیت نرمافزار بود.
نتایج این انتقادات، طراحی استاندارد جانشین MIL-STD-498 و گرایش به استانداردهای رسمی صنعت (مانند IEEE 12207) و مشخصات «بهترین روشها» بود. این استاندارد همچنین پایهای برای DO-178 در اوایل دهه ۱۹۸۰ شد که بعدها بازنگریهای متعددی را تجربه کرد.